:root{--bg:#0b1214;--bg2:#111c1f;--fg:#f4f7f7;--muted:#8fa3a6;--accent:#35c7cb;--accent2:#ff512e;--font:system-ui,sans-serif;--hw:300;--sw:600;--ease:cubic-bezier(.22,1,.36,1);--pad:48px}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
b{font-weight:var(--sw)}
.sc-wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.sc-skip{position:absolute;left:16px;top:-80px;z-index:60;background:var(--fg);color:var(--bg);padding:12px 16px;border-radius:8px;font-size:16px;text-decoration:none}
.sc-skip:focus{top:16px}
.sc-btn{display:inline-block;text-decoration:none;font-size:16px;font-weight:var(--sw);letter-spacing:.02em;color:var(--bg);background:var(--accent);border-radius:8px;padding:14px 22px;transition:transform .5s var(--ease),box-shadow .5s var(--ease);white-space:nowrap}
.sc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px var(--accent)}
.sc-btn-lg{font-size:18px;padding:18px 30px}
.sc-ghost{font-size:15px;letter-spacing:.04em;text-decoration:none;color:var(--fg);border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:3px;transition:border-color .4s var(--ease),color .4s var(--ease)}
.sc-ghost:hover{color:var(--accent);border-color:var(--accent)}
.sc-btn:focus-visible,.sc-ghost:focus-visible,.sc-open:focus-visible,.sc-links a:focus-visible,.sc-cue:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* progress + nav */
.sc-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:50;pointer-events:none}
.sc-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transform-origin:0 50%;transform:scaleX(0)}
[dir=rtl] .sc-progress i{transform-origin:100% 50%;background:linear-gradient(-90deg,var(--accent),var(--accent2))}
.sc-nav{position:fixed;inset:0 0 auto 0;z-index:40;transition:background .6s var(--ease),backdrop-filter .6s var(--ease),border-color .6s var(--ease);border-bottom:1px solid transparent}
.sc-nav.solid{background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px);border-color:rgba(255,255,255,.08)}
.sc-nav-in{max-width:1280px;margin:0 auto;padding:0 var(--pad);height:80px;display:flex;align-items:center;gap:28px;transition:height .6s var(--ease)}
.sc-nav.solid .sc-nav-in{height:64px}
.sc-logo img{height:34px;display:block;transition:height .6s var(--ease)}
.sc-nav.solid .sc-logo img{height:28px}
.sc-links{position:relative;display:flex;gap:26px;margin-inline-start:auto;opacity:0;transform:translateY(-6px);transition:opacity .6s var(--ease),transform .6s var(--ease);pointer-events:none}
.sc-nav.solid .sc-links{opacity:1;transform:none;pointer-events:auto}
.sc-links a{font-size:13px;letter-spacing:.06em;text-decoration:none;color:var(--muted);padding:8px 0;transition:color .4s var(--ease);white-space:nowrap}
.sc-links a b{color:var(--accent);margin-inline-end:8px;font-variant-numeric:tabular-nums}
.sc-links a.on,.sc-links a:hover{color:var(--fg)}
.sc-ind{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--accent);opacity:0;transition:transform .6s var(--ease),width .6s var(--ease),opacity .4s}
.sc-nav .sc-btn{padding:11px 18px;font-size:15px;margin-inline-start:auto}
.sc-nav.solid .sc-links + .sc-btn{margin-inline-start:0}

/* hero */
.sc-hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end}
.sc-hero-media{position:absolute;inset:0;transform-origin:50% 40%;will-change:transform}
.sc-hero-media img,.sc-hero-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;object-fit:cover}
/* poster sits on top of the live scene (same box, same entrance zoom); when the scene reports its first frames,
   which match the poster frame, the poster dissolves away while the scene eases into motion */
.sc-hero-media picture{position:absolute;inset:0;z-index:1;pointer-events:none}
.sc-hero-poster,.sc-hero-media iframe{animation:sc-kb 7s var(--ease) both}
.sc-hero-media.live .sc-hero-poster{opacity:0;transition:opacity 1.3s cubic-bezier(.45,0,.25,1) .1s}
@media (min-width:901px){.sc-hero-media iframe,.sc-hero-media .sc-hero-poster{left:14%;top:-7%}[dir=rtl] .sc-hero-media iframe,[dir=rtl] .sc-hero-media .sc-hero-poster{left:-14%}}
@keyframes sc-kb{from{transform:scale(1.06)}to{transform:scale(1)}}
.sc-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 82%,transparent) 22%,color-mix(in srgb,var(--bg) 20%,transparent) 52%,transparent 70%),linear-gradient(90deg,color-mix(in srgb,var(--bg) 70%,transparent) 0%,transparent 55%)}
[dir=rtl] .sc-scrim{background:linear-gradient(0deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 82%,transparent) 22%,color-mix(in srgb,var(--bg) 20%,transparent) 52%,transparent 70%),linear-gradient(-90deg,color-mix(in srgb,var(--bg) 70%,transparent) 0%,transparent 55%)}
.sc-hero-copy{position:relative;z-index:2;width:100%;padding-bottom:clamp(64px,11vh,120px);pointer-events:none;will-change:transform,opacity}
.sc-hero-copy a{pointer-events:auto}
.sc-eyebrow{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:var(--sw);margin-bottom:20px}
.sc-hero h1{font-size:clamp(42px,6vw,96px);line-height:1.02;font-weight:var(--hw);letter-spacing:-.03em;max-width:12.5em;text-wrap:balance}
.sc-hero p{margin-top:24px;max-width:38em;color:color-mix(in srgb,var(--fg) 78%,var(--muted));font-size:19px;text-shadow:0 1px 18px var(--bg)}
.sc-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}
.sc-cue{position:absolute;z-index:3;inset-inline-end:var(--pad);bottom:40px;display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.sc-cue i{position:relative;width:1px;height:56px;background:rgba(255,255,255,.18);overflow:hidden}
.sc-cue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--accent);animation:sc-cue 2.2s var(--ease) infinite}
@keyframes sc-cue{0%{top:-40%}70%,100%{top:100%}}
/* staggered entrance */
.sc-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.sc-words .wi{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease);transition-delay:calc(.25s + var(--i) * 70ms)}
.sc-loaded .sc-words .wi{transform:none}
.sc-in{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(.2s + var(--i) * 90ms)}
.sc-loaded .sc-in{opacity:1;transform:none}

/* pieces */
.sc-piece{position:relative;padding-top:120px;padding-bottom:40px}
.sc-head{position:relative;display:grid;grid-template-columns:110px 1fr auto;gap:10px 24px;align-items:baseline;margin-bottom:34px}
.sc-bignum{position:absolute;inset-inline-start:-.06em;top:-.62em;font-size:clamp(120px,15vw,220px);font-weight:var(--sw);line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--accent) 35%,transparent);pointer-events:none;z-index:-1;will-change:transform;opacity:.7}
.sc-num{font-size:13px;letter-spacing:.2em;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:var(--sw)}
.sc-head h2{font-size:clamp(30px,3.4vw,46px);line-height:1.1;font-weight:var(--hw);letter-spacing:-.015em}
.sc-head p{grid-column:2;color:var(--muted);max-width:40em}
.sc-open{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:3px;transition:color .4s var(--ease),border-color .4s var(--ease)}
.sc-open:hover{color:var(--accent);border-color:var(--accent)}
.sc-rise .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.sc-rise .wi{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease);transition-delay:calc(var(--i) * 60ms)}
.sc-rise.in .wi{transform:none}
.sc-reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--d,0) * 110ms + .1s)}
.sc-reveal.in{opacity:1;transform:none}
.sc-tilt{perspective:1600px}
.sc-frame{position:relative;aspect-ratio:16/9;width:100%;border-radius:10px;overflow:hidden;background:var(--bg2);border:1px solid rgba(255,255,255,.08);
  clip-path:inset(14% 9% 14% 9% round 18px);transform:scale(.94) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));opacity:.4;
  transition:clip-path 1.4s var(--ease),transform 1.4s var(--ease),opacity 1.2s var(--ease),box-shadow .8s var(--ease);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.sc-tilt.in .sc-frame{clip-path:inset(0 0 0 0 round 10px);transform:scale(1) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));opacity:1}
.sc-tilt.in.hot .sc-frame{transition:clip-path 1.4s var(--ease),transform .5s var(--ease),opacity 1.2s var(--ease),box-shadow .8s var(--ease);box-shadow:0 50px 100px -40px color-mix(in srgb,var(--accent) 35%,rgba(0,0,0,.6))}
.sc-frame iframe,.sc-frame > img{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;object-fit:cover}
.sc-frame iframe{opacity:0;transition:opacity 1s var(--ease)}
.sc-frame.live iframe{opacity:1}
.sc-glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.07),transparent 45%);opacity:0;transition:opacity .6s var(--ease)}
.sc-tilt.hot .sc-glare{opacity:1}

/* key figures */
.sc-figs{padding:120px 0 40px}
.sc-figs-grid{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:0;border-top:1px solid rgba(255,255,255,.12)}
.sc-figs-grid[data-n="5"] .sc-fig-val,.sc-figs-grid[data-n="6"] .sc-fig-val{font-size:clamp(40px,4.9vw,76px)}
.sc-fig-pre{display:inline-block;font-size:.72em;font-weight:var(--hw);vertical-align:.08em;margin-inline-end:.04em;opacity:.75}
@media (max-width:1100px){.sc-figs-grid[data-n="5"],.sc-figs-grid[data-n="6"]{grid-template-columns:repeat(3,1fr)}.sc-figs-grid[data-n="5"] .sc-fig:nth-child(n+4){border-top:1px solid rgba(255,255,255,.08)}}
.sc-fig{padding:34px 24px 10px 0;border-inline-end:1px solid rgba(255,255,255,.08)}
.sc-fig:last-child{border:0}
.sc-fig-note{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:var(--sw);min-height:1.6em}
.sc-fig-val{font-size:clamp(46px,6vw,88px);line-height:1.05;font-weight:var(--sw);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:8px 0 10px;background:linear-gradient(180deg,var(--fg),color-mix(in srgb,var(--fg) 55%,var(--accent)));-webkit-background-clip:text;background-clip:text;color:transparent}
.sc-fig-lab{color:var(--muted);font-size:16px;max-width:16em}
.sc-fig-lab b{color:var(--fg);font-weight:var(--sw)}
.sc-figs-src{margin-top:22px;font-size:13px;color:var(--muted)}

/* marquee */
.sc-marquee{margin:120px 0 0;padding:26px 0;border-block:1px solid rgba(255,255,255,.1);overflow:hidden;opacity:0;transition:opacity 1.2s var(--ease)}
.sc-marquee.in{opacity:1}
.sc-mq-track{display:flex;width:max-content;align-items:center;gap:40px;animation:sc-mq 46s linear infinite}
[dir=rtl] .sc-mq-track{animation-name:sc-mq-r}
.sc-calm .sc-mq-track{animation-duration:80s}
.sc-mq-track span{font-size:clamp(34px,4.6vw,64px);font-weight:var(--hw);letter-spacing:-.02em;white-space:nowrap;line-height:1.1}
.sc-mq-track span b{color:var(--accent)}
.sc-mq-track i{width:12px;height:12px;background:var(--accent2);display:block;flex:none;transform:rotate(45deg)}
@keyframes sc-mq{to{transform:translateX(-50%)}}
@keyframes sc-mq-r{to{transform:translateX(50%)}}

/* closing */
.sc-end{position:relative;margin-top:120px;min-height:86vh;display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:hidden;border-top:1px solid rgba(255,255,255,.1);
  background:radial-gradient(ellipse 70% 60% at 50% 30%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%)}
.sc-particles{position:absolute;inset:0;width:100%;height:100%;display:block}
.sc-end-in{position:relative;z-index:2;padding-bottom:110px;pointer-events:none}
.sc-end-in a{pointer-events:auto}
.sc-end h2{font-size:clamp(36px,5vw,76px);font-weight:var(--hw);line-height:1.06;letter-spacing:-.025em;margin-bottom:38px}
.sc-foot{padding-top:28px;padding-bottom:40px;color:var(--muted);font-size:14px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08)}
.sc-attr{flex-basis:100%;font-size:12px;opacity:.75}

/* mobile */
@media (max-width:900px){.sc-links{display:none}.sc-nav .sc-btn{margin-inline-start:auto}}
@media (max-width:760px){
  :root{--pad:22px}
  body{font-size:17px}
  .sc-nav-in{height:66px}.sc-nav.solid .sc-nav-in{height:58px}.sc-logo img{height:28px}.sc-nav .sc-btn{padding:10px 14px;font-size:14px}
  .sc-hero{height:auto;min-height:max(600px,100svh);padding-top:42svh}
  .sc-hero-media{bottom:auto;height:70svh}
  .sc-scrim{background:linear-gradient(0deg,var(--bg) 0%,var(--bg) 30%,color-mix(in srgb,var(--bg) 55%,transparent) 50%,transparent 68%)}
  [dir=rtl] .sc-scrim{background:linear-gradient(0deg,var(--bg) 0%,var(--bg) 30%,color-mix(in srgb,var(--bg) 55%,transparent) 50%,transparent 68%)}
  .sc-hero-copy{padding-bottom:84px}
  .sc-hero h1{font-size:clamp(36px,10.5vw,52px)}
  .sc-hero p{font-size:15.5px;line-height:1.5;margin-top:14px}
  .sc-actions{margin-top:22px;gap:20px}
  .sc-cue{bottom:22px;inset-inline-end:22px}.sc-cue i{height:36px}.sc-cue span{display:none}
  .sc-piece{padding-top:84px}
  .sc-head{grid-template-columns:1fr;gap:10px}.sc-head p{grid-column:1}
  .sc-bignum{font-size:110px;top:-.5em}
  .sc-frame{aspect-ratio:4/5}
  .sc-figs{padding-top:84px}
  .sc-figs-grid{grid-template-columns:1fr 1fr}
  .sc-fig{padding:24px 14px 12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .sc-figs-grid[data-n] {grid-template-columns:1fr 1fr}
  .sc-fig:nth-child(2n){border-inline-end:0}
  .sc-fig:last-child:nth-child(odd){grid-column:1/-1;border-inline-end:0}
  .sc-fig-val{font-size:44px}.sc-fig-lab{font-size:14px}
  .sc-marquee{margin-top:84px;padding:18px 0}.sc-mq-track{gap:26px}
  .sc-end{min-height:78vh;margin-top:84px}.sc-end-in{padding-bottom:80px}
}
@media (pointer:coarse){.sc-hero-media iframe{pointer-events:none}}

/* reduced motion: no transforms, parallax, marquee or tilt; content appears with a short fade */
.sc-reduced{scroll-behavior:auto}
.sc-reduced .sc-words .wi,.sc-reduced .sc-rise .wi{transform:none;transition:none}
.sc-reduced .sc-in,.sc-reduced .sc-reveal{transform:none;transition:opacity .4s linear}
.sc-reduced .sc-frame{clip-path:none;transform:none;opacity:1;transition:none}
.sc-reduced .sc-hero-poster,.sc-reduced .sc-hero-media iframe{animation:none}
.sc-reduced .sc-mq-track{animation:none}
.sc-reduced .sc-cue i::after{animation:none;top:0;height:100%}
.sc-reduced .sc-btn:hover{transform:none}
.sc-ltr{display:inline-block}
