/* EXPLORE: ecosystem build-out additions on top of the copied ecosystem.css (the live file is untouched).
   The .eb-root replaces the .ek-takeover: the stage sits inside a page container and is scaled to fit it.
   Fonts come from the published site folder one level up. */
@font-face{font-family:Avenir;src:url('../fonts/AvenirLTProRoman.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Avenir;src:url('../fonts/AvenirLTProLight.otf') format('opentype');font-weight:300;font-display:swap}
@font-face{font-family:Avenir;src:url('../fonts/AvenirLTProMedium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:Avenir;src:url('../fonts/AvenirLTProHeavy.otf') format('opentype');font-weight:700 900;font-display:swap}
.eb-root{position:absolute;inset:0;overflow:hidden;color:#E8EEF8;font-family:Avenir,Helvetica,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
/* phone pan: the root grows to the scaled stage width and the container scrolls sideways */
.eb-root.eb-pan{position:relative;inset:auto;height:100%}
.x-stage.eb-can-pan{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.eb-root *{box-sizing:border-box;margin:0}
.eb-root .ek-stage{overflow:visible;transition:transform 1.1s cubic-bezier(.4,0,.2,1)}
.eb-root.eb-instant .ek-stage,.eb-root.eb-jump .ek-stage,.eb-root.eb-resizing .ek-stage{transition:none}
.eb-root .slash{font-weight:300;color:#739BCF}
/* chapter visibility: every chaptered element fades; the apps block also slides to its final place */
.eb-root .eb-off{opacity:0!important;pointer-events:none!important}
.eb-root .eb-on{opacity:1}
.eb-root .ek-card,.eb-root .ek-existing,.eb-root .ek-interop-pill,.eb-root .ek-cap,.eb-root .ek-band,.eb-root .ek-aud,.eb-root .eb-ct,.eb-root .eb-canon,.eb-root .eb-glv,.eb-root .eb-plv,.eb-root .ek-lines path,.eb-root .ek-lines polygon,.eb-root .ek-lines g,.eb-root svg text{transition:opacity .9s ease}
.eb-root .ek-card{transition:opacity .9s ease,box-shadow .5s ease,transform .25s ease}
.eb-root .ek-card.eb-off{transform:translateY(14px)}
.eb-root .ek-existing{transition:opacity .9s ease,border-color .15s}
.eb-root .eb-out{transition:transform 1.1s cubic-bezier(.4,0,.2,1),opacity .9s ease}
/* solid lines draw in (pathLength=1) and fade out */
.eb-root .ek-lines path.eb-draw{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.3s ease .25s,opacity .9s ease}
.eb-root .ek-lines path.eb-draw.eb-off{stroke-dashoffset:1;transition:stroke-dashoffset .01s linear .9s,opacity .9s ease}
/* instant states (reduced motion, or a jump when scrubbing): no transitions anywhere */
.eb-root.eb-instant *,.eb-root.eb-jump *,.eb-root.eb-instant .ek-lines path.eb-draw,.eb-root.eb-jump .ek-lines path.eb-draw{transition:none!important}
/* chapter titles on the stage (chapters 0 to 4); the canon lockup takes the same place at chapter 5 */
.eb-wrap{pointer-events:none}
.eb-ct,.eb-canon{position:absolute;left:72px;right:72px;top:44px}
.eb-ct-k{font-weight:500;font-size:11px;letter-spacing:.26em;color:#739BCF;line-height:normal}
.eb-ct-t{font-weight:700;font-size:46px;letter-spacing:-.02em;line-height:1.05;margin-top:16px;color:#fff;white-space:nowrap}
.eb-root.eb-notitles .eb-ct{display:none}
/* level pills above a source title (chapter 0): absolutely placed so hiding them leaves no gap */
.eb-glv{display:inline-flex;gap:6px;position:absolute;left:0;top:-26px}
.eb-glv .ek-lp{width:auto;padding:0 7px}
.eb-plv{position:absolute;left:0;right:auto;top:-26px;flex-direction:row;gap:6px;align-items:center}
.eb-plv .ek-lp{width:auto;padding:0 7px}
.eb-ct-s{margin-top:14px;font-weight:500;font-size:11px;letter-spacing:.2em;color:#8FA6C9;line-height:normal}
.eb-ct-s.eb-amber{color:#C4863B}
.eb-root.eb-hidetitle .eb-ct{opacity:0!important}
/* app chips: chapter-0 text and the deployed text cross-fade; the ek-lp keeps its place */
.eb-swap{position:relative;display:block;min-width:0}
.eb-swap>span{display:flex;flex-direction:column;transition:opacity .6s ease}
.eb-swap .eb-s1{position:absolute;left:0;top:0;opacity:0}
.eb-root .eb-out.eb-moved .eb-swap .eb-s0{opacity:0}
/* once /ARQ is there the chapter-0 subtitles (one feed, point to point, commercial only) no longer hold: fade them, keep the names */
.eb-root.eb-ch2 .eb-s0 small,.eb-root.eb-ch3 .eb-s0 small{opacity:0;transition:opacity .6s}
.eb-root .eb-s0 small{transition:opacity .6s}
.eb-root .eb-out.eb-moved .eb-swap .eb-s1{opacity:1}
/* explore mode: the cards and pills are clickable (hover lift from ecosystem.css); otherwise static */
.eb-root:not(.eb-explore) .ek-card,.eb-root:not(.eb-explore) .ek-interop-pill{pointer-events:none}
.eb-root .ek-card:hover,.eb-root .ek-card:focus-visible{transform:translateY(-3px)}
.eb-modal{position:fixed}
@media(prefers-reduced-motion:reduce){.eb-root *{transition:none!important}}
