/* Home: stock-style ticker + "in flight" scene */
.tkr{background:#050912;border-top:1px solid rgba(143,170,230,.14);border-bottom:2px solid var(--red,#c8102e);overflow:hidden;position:relative;display:flex;align-items:stretch;color:#fff}
.tkr-lbl{flex:none;display:flex;align-items:center;gap:8px;padding:0 18px;background:var(--red,#c8102e);font:800 .78rem Inter,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;z-index:2}
.tkr-lbl i{width:8px;height:8px;border-radius:50%;background:#fff;animation:tkp 1.4s ease-in-out infinite}
@keyframes tkp{50%{opacity:.25}}
.tkr-w{overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tkr-t{display:flex;width:max-content;animation:tkm 20s linear infinite;padding:13px 0}
.tkr:hover .tkr-t{animation-play-state:paused}
@keyframes tkm{to{transform:translateX(-50%)}}
.tkr-t span{display:flex;align-items:center;gap:10px;padding:0 30px;font:700 .95rem 'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;white-space:nowrap;border-right:1px solid rgba(143,170,230,.2)}
.tkr-t span b{color:#2ee59d;font-size:.8em}
.tkr-t span em{font-style:normal;color:#8fa0bf;font-size:.78em;letter-spacing:.1em}
@media (prefers-reduced-motion:reduce){.tkr-t{animation:none;overflow-x:auto}.tkr-lbl i{animation:none}}
.flysec{background:#050912;color:#fff;padding:clamp(40px,6vw,80px) 0}
.flysec .wrap{max-width:1100px}
.flysec h2{margin:6px 0 6px;font-size:clamp(1.6rem,3.4vw,2.5rem)}
.flysec p.sub{color:#b9c6e2;margin:0 0 18px;max-width:60ch}
.flyframe{position:relative;border:1px solid rgba(143,170,230,.25);border-radius:6px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.flyframe canvas{display:block;width:100%;height:auto;background:#0b1030}
.flyframe .flybtn{position:absolute;right:14px;top:14px;background:rgba(5,9,20,.78);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:3px;padding:10px 16px;font:700 .85rem Inter,Arial,sans-serif;cursor:pointer}
.flyframe .flybtn:hover,.flyframe .flybtn:focus-visible{background:var(--red,#c8102e);border-color:var(--red,#c8102e);outline:2px solid #fff;outline-offset:2px}
.flysec .fine{font-size:.74rem;color:#8da0c8;margin-top:10px}

/* v7.24: the ticker must be visible on first load. The hero gives up the ticker's height so both fit in the first screen. */
body .hero2{min-height:calc(100vh - 104px - 56px);min-height:calc(100svh - 104px - 56px)}
@media(max-width:760px){body .hero2{min-height:calc(100vh - 72px - 52px);min-height:calc(100svh - 72px - 52px)}}

/* hero launch button (v7.28) */
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 0}
.nx-launch,.nx-ghost{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 26px;border-radius:8px;font:800 1rem Inter,Arial,sans-serif;letter-spacing:.03em;text-decoration:none}
.nx-launch{background:#e42030;color:#fff;box-shadow:0 8px 28px rgba(228,32,48,.5);position:relative;overflow:hidden;animation:nxpulse 2.4s ease-in-out infinite}
.nx-launch i{font-style:normal;transition:transform .2s}.nx-launch:hover i{transform:translateX(5px)}
.nx-launch::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:nxsheen 3.2s ease-in-out infinite}
.nx-ghost{border:1.5px solid rgba(255,255,255,.7);color:#fff;background:rgba(5,9,18,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.nx-ghost:hover{background:#fff;color:#0b1733}
@keyframes nxpulse{0%,100%{box-shadow:0 8px 28px rgba(228,32,48,.5)}50%{box-shadow:0 8px 40px rgba(228,32,48,.85)}}
@keyframes nxsheen{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@media(prefers-reduced-motion:reduce){.nx-launch,.nx-launch::after{animation:none}}
@media(max-width:760px){.nx-launch,.nx-ghost{flex:1 1 100%;justify-content:center}}

/* v7.47: second ticker, opposite direction, agency names. Hero gives up the height of both tickers. */
.tkr2{border-top:0;background:#0b1226}
.tf-lbl{background:#f5b301;color:#0b1226}.tf-lbl i{background:#0b1226}
.tkr2 .tkr-t{animation:tkr 22s linear infinite}
@keyframes tkr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.tkr2:hover .tkr-t{animation-play-state:paused}
.tkr2 .tkr-t span{color:#ffe8a3;font-family:Inter,Arial,sans-serif;font-weight:800;letter-spacing:.08em;text-transform:none;gap:10px;transform-origin:50% 60%;transition:transform .2s cubic-bezier(.3,2.4,.5,1),filter .2s;will-change:transform}
.tf-m{font-style:normal;flex:none;min-width:34px;height:28px;padding:0 7px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c),#0b1226 170%);color:#fff;font:800 .68rem Inter,Arial,sans-serif;letter-spacing:.04em;box-shadow:0 0 0 1px rgba(255,255,255,.2) inset}
.tkr2 .tkr-t span.hot{transform:scale(1.4);color:#fff;filter:drop-shadow(0 0 10px #f5b301);z-index:3;position:relative}
.tkr2 .tkr-t span.hot .tf-m{box-shadow:0 0 0 1px #fff inset,0 0 14px var(--c)}
body .hero2{min-height:calc(100vh - 104px - 118px);min-height:calc(100svh - 104px - 118px)}
@media(max-width:760px){body .hero2{min-height:calc(100vh - 72px - 108px);min-height:calc(100svh - 72px - 108px)}}
@media(prefers-reduced-motion:reduce){.tkr2 .tkr-t{animation:none}.tkr2 .tkr-t span{transition:none}}

.tkr2 .tf-logo{display:block;height:30px!important;width:auto!important;max-width:none!important;background:#fff;border-radius:7px;padding:3px 6px;flex:none}

/* v7.53: slimmer, cleaner tickers; readable speed (about 190 px per second) */
body .tkr{background:linear-gradient(180deg,#0a1226,#070d1c);border-top:1px solid rgba(143,170,230,.16);border-bottom:1px solid rgba(143,170,230,.12)}
body .tkr2{background:linear-gradient(180deg,#0c1530,#08101f);border-top:0;border-bottom:2px solid var(--red,#c8102e)}
body .tkr .tkr-lbl{padding:0 14px;font-size:.68rem;letter-spacing:.2em;min-width:104px;justify-content:flex-start;box-shadow:6px 0 14px rgba(0,0,0,.35)}
body .tkr2 .tkr-lbl{background:linear-gradient(180deg,#ffc21a,#e8a400);color:#101830}
body .tkr .tkr-t{padding:8px 0}
body .tkr .tkr-t span{padding:0 16px;gap:8px;font:800 .78rem Inter,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#eaf0ff;border-right:1px solid rgba(143,170,230,.14)}
body .tkr .tkr-t span em{font:600 .62rem Inter,Arial,sans-serif;letter-spacing:.1em;color:#8da0c8;text-transform:uppercase}
body .tkr .tkr-t span .tk-ic{width:24px;height:24px;border-radius:7px}
body .tkr .tkr-t span .tk-ic svg{width:15px;height:15px}
body .tkr2 .tkr-t span{color:#eaf0ff;font-size:.78rem;letter-spacing:.06em}
body .tkr2 .tf-m{min-width:30px;height:24px;font-size:.6rem}
body .tkr2 .tf-logo{height:24px!important;padding:2px 5px;border-radius:6px}
body .tkr .tkr-t span.hot,body .tkr2 .tkr-t span.hot{transform:scale(1.2);filter:drop-shadow(0 0 8px rgba(255,255,255,.35));color:#fff}
body .tkr .tkr-t{animation-duration:12.5s}
body .tkr2 .tkr-t{animation-duration:10s}
body .hero2{min-height:calc(100vh - 104px - 92px);min-height:calc(100svh - 104px - 92px)}
@media(max-width:760px){body .hero2{min-height:calc(100vh - 72px - 88px);min-height:calc(100svh - 72px - 88px)}}

/* v7.54: robust, slim, crisp (no blur filters on moving items) */
body .tkr{background:#0a1124;border-top:1px solid #1d2a4d;border-bottom:1px solid #1d2a4d}
body .tkr2{background:#0d1731;border-top:0;border-bottom:3px solid var(--red,#c8102e)}
body .tkr .tkr-lbl{min-width:96px;padding:0 12px;font:900 .64rem Inter,Arial,sans-serif;letter-spacing:.2em;box-shadow:none}
body .tkr .tkr-t{padding:7px 0;backface-visibility:hidden;-webkit-font-smoothing:antialiased}
body .tkr .tkr-t span{padding:0 15px;gap:7px;font:800 .76rem Inter,Arial,sans-serif;letter-spacing:.07em;color:#fff;border-right:1px solid #24345e;will-change:auto;filter:none}
body .tkr .tkr-t span em{display:none}
body .tkr .tkr-t span .tk-ic{width:22px;height:22px;border-radius:6px}
body .tkr .tkr-t span .tk-ic svg{width:14px;height:14px}
body .tkr2 .tf-m{min-width:28px;height:22px;border-radius:6px;font-size:.58rem}
body .tkr2 .tf-logo{height:22px!important;border-radius:5px;padding:2px 5px;image-rendering:auto}
body .tkr .tkr-t span.hot,body .tkr2 .tkr-t span.hot{transform:scale(1.16);filter:none;text-shadow:0 0 10px rgba(255,255,255,.55);will-change:auto}
body .tkr .tkr-t span.hot .tk-ic,body .tkr2 .tkr-t span.hot .tf-m{box-shadow:0 0 0 1px #fff inset}
body .hero2{min-height:calc(100vh - 104px - 76px);min-height:calc(100svh - 104px - 76px)}
@media(max-width:760px){body .hero2{min-height:calc(100vh - 72px - 74px);min-height:calc(100svh - 72px - 74px)}}

/* v7.56: the item in the middle pops, the top ticker is slower */
@keyframes tkpop{0%{transform:scale(1)}55%{transform:scale(1.6)}100%{transform:scale(1.42)}}
body .tkr .tkr-t span.hot,body .tkr2 .tkr-t span.hot{transform:scale(1.42);animation:tkpop .38s cubic-bezier(.2,1.3,.4,1) both;z-index:5;position:relative;text-shadow:0 0 12px rgba(255,255,255,.6);background:#1a2a5c;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 6px 16px rgba(0,0,0,.45);border-radius:10px}
@media(prefers-reduced-motion:reduce){body .tkr .tkr-t span.hot,body .tkr2 .tkr-t span.hot{animation:none}}
body .tkr .tkr-t{animation-duration:24s}
body .tkr2 .tkr-t{animation-duration:20s}

/* v7.57: no growing. The middle item only lights up, so it never overlaps its neighbors. */
body .tkr .tkr-t span.hot,body .tkr2 .tkr-t span.hot{transform:none!important;animation:none!important;background:transparent;box-shadow:inset 0 -2px 0 #fff;border-radius:0;text-shadow:0 0 10px rgba(255,255,255,.7);z-index:1}
body .tkr2 .tf-round{border-radius:50%;padding:1px;width:24px!important;height:24px!important;object-fit:contain}
body .hero2{min-height:calc(100vh - 104px - 86px);min-height:calc(100svh - 104px - 86px)}
@media(max-width:760px){body .hero2{min-height:calc(100vh - 72px - 84px);min-height:calc(100svh - 72px - 84px)}}
