/* Ocury site v2: reference build. Tokens from DESIGN.md v3. Warm palette only. No glass, no blur cards, no box shadows. */
/* PP Mori + PP Editorial New (Pangram Pangram, licensed by the owner). Drop the files in media/fonts/ under any of these names. */
@font-face{font-family:'PP Mori';font-weight:400;font-style:normal;font-display:swap;
  src:url(media/fonts/PPMori-Regular.woff2) format('woff2'),url(media/fonts/PPMori-Regular.woff) format('woff'),url(media/fonts/PPMori-Regular.otf) format('opentype')}
@font-face{font-family:'PP Mori';font-weight:600;font-style:normal;font-display:swap;
  src:url(media/fonts/PPMori-SemiBold.woff2) format('woff2'),url(media/fonts/PPMori-SemiBold.woff) format('woff'),url(media/fonts/PPMori-SemiBold.otf) format('opentype')}
@font-face{font-family:'PP Editorial New';font-weight:400;font-style:italic;font-display:swap;
  src:url(media/fonts/PPEditorialNew-Italic.woff2) format('woff2'),url(media/fonts/PPEditorialNew-Italic.woff) format('woff'),url(media/fonts/PPEditorialNew-Italic.otf) format('opentype')}
:root{
  /* fonts: swap here only. Headlines + figures = display 600; body/UI = body 400; one accent phrase per heading = accent italic 400 */
  --font-display:'PP Mori','Inter',system-ui,sans-serif;
  --font-body:'PP Mori','Inter',system-ui,sans-serif;
  --font-accent:'PP Editorial New','Instrument Serif',Georgia,serif;

  --night:#080404; --black:#000;
  --wine-900:#2A0C11; --wine-800:#460D18; --wine-700:#5E101F; --wine-500:#840C26;
  --crimson:#A3142B; --crimson-hover:#B71C35; --crimson-press:#8C1024;
  --coral:#DE4D52; --rose:#ED737B; --hot:#FF6B7A; --peach:#FABA9D; --blush:#FDD9D6; --frame:#FFF4F3;
  --ink:#FFFFFF; --ink-soft:#E9DDDF; --ink-muted:#B8A2A7;
  --on-frame:#190B0C; --on-frame-muted:#6B5A5D;
  --hair:#2E1A1E; --hair-2:rgba(255,255,255,.12); --hair-frame:#EBD3D0;

  --r-frame:32px; --r-media:20px;
  --pad:40px; --maxw:1360px;
  --ease-out:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:var(--night);color:var(--ink);-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;background:var(--night)}
img,video,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,h4,p,ol,ul,figure,blockquote{margin:0;padding:0}
ol,ul{list-style:none}
::selection{background:var(--crimson);color:#fff}
:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--ink-muted)}
.wrap{position:relative;z-index:4;width:100%;max-width:calc(var(--maxw) + var(--pad)*2);margin:0 auto;padding:0 var(--pad)}

/* ---------- type ---------- */
.h1,.h2,.h3,.fig,.counter__fig,.months__fig,.tile__big,.proof b,.mini__big b,.pv__big,.launch-total__fig,.follow__h{font-family:var(--font-display);font-weight:600;letter-spacing:-.03em}
.h1{font-size:clamp(48px,7.222vw,104px);line-height:.98;max-width:none;margin:28px 0 22px}
.h2{font-size:clamp(40px,5vw,72px);line-height:1;max-width:14ch;text-wrap:balance}
em.acc{font-family:var(--font-accent);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1em}
.h3{font-size:clamp(24px,2.3vw,34px);font-weight:600;line-height:1.1;letter-spacing:-.02em}
.sub{font-size:clamp(17px,1.35vw,19px);line-height:1.5;color:var(--ink-soft);max-width:46ch;margin-top:18px;text-wrap:pretty}
.sub b{color:#fff;font-weight:600}
.label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink-soft);padding:7px 14px;border:1px solid rgba(255,255,255,.28);border-radius:99px;margin-bottom:22px}
.eyebrow{display:block;font-size:14px;font-weight:500;color:var(--hot);margin-bottom:12px}
.split .line-mask,.split-mask{padding-bottom:.14em;margin-bottom:-.14em}
.fig,.counter__fig,.tile__big,.proof b,[data-count]{font-variant-numeric:tabular-nums lining-nums}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-weight:500;white-space:nowrap;font-size:15px;height:48px;padding:0 22px;transition:background-color .15s,border-color .15s,color .15s,transform .1s;overflow:hidden;isolation:isolate}
.btn .arr{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease-out)}
.btn--primary{background:var(--crimson);color:#fff}
.btn--primary::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,220,210,.38) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease-out);z-index:-1}
.btn--ghost{border:1px solid rgba(255,255,255,.55);color:#fff}
.btn--frame{border:1px solid rgba(25,11,12,.25);color:var(--on-frame);min-width:84px}
.btn--sm{height:40px;padding:0 18px;font-size:14px}
.btn--lg{height:56px;padding:0 28px;font-size:18px}
@media (hover:hover) and (pointer:fine){
  .btn--primary:hover{background:var(--crimson-hover)}
  .btn--primary:hover::after{transform:translateX(120%)}
  .btn:hover .arr{transform:translateX(4px)}
  .btn--ghost:hover{border-color:#fff}
  .btn--frame:hover{border-color:var(--on-frame)}
}
.btn:active{transform:scale(.97)}

/* ---------- veil (first paint) ---------- */
.veil{position:fixed;inset:0;z-index:100;background:var(--night);display:grid;place-items:center;pointer-events:none}
.veil img{width:56px;opacity:.9;animation:veilPulse 1.2s ease-in-out infinite alternate}
@keyframes veilPulse{from{opacity:.35;transform:scale(.96)}to{opacity:.9;transform:scale(1)}}
.is-ready .veil{opacity:0;transition:opacity .8s ease .1s}
.no-js .veil,.rm .veil{display:none}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;gap:32px;height:76px;padding:0 max(var(--pad),calc((100vw - var(--maxw))/2));transition:background-color .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.is-solid{background:var(--night);border-bottom-color:var(--hair)}
.nav__logo img{height:28px;width:auto}
.nav__links{display:flex;gap:30px;margin-left:auto;font-size:14px;font-weight:500}
.nav__links a{position:relative;opacity:.86}
.nav__links a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease-out)}
@media (hover:hover){.nav__links a:hover{opacity:1}.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}}
.nav__menu{display:none;font-size:15px;font-weight:500;height:40px;padding:0 6px}
.sheet{position:fixed;inset:0;z-index:59;background:var(--night);display:flex;flex-direction:column;justify-content:center;gap:18px;padding:0 24px;font-family:var(--font-display);font-size:34px;font-weight:600}
.sheet[hidden]{display:none}

/* ---------- shared stage / scenes ---------- */
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.gl-slot{position:absolute;inset:0;z-index:1;pointer-events:none}
.gl-slot canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.scene{position:relative;overflow:hidden}
.scene__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
.scene::before,.scene::after{content:'';position:absolute;left:0;right:0;height:220px;z-index:1;pointer-events:none}
.scene::before{top:0;background:linear-gradient(var(--night),rgba(8,4,4,0))}
.scene::after{bottom:0;background:linear-gradient(rgba(8,4,4,0),var(--night))}
.sec-head{max-width:760px}

/* ---------- 1. hero ---------- */
.hero{position:relative;height:225vh}
.hero__stage{background:var(--night)}
.hero__sky,.hero__sky>*{position:absolute;inset:0}
.hero__sky img,.hero__sky video{width:100%;height:100%;object-fit:cover;object-position:50% 100%}
.hero__sky{transform-origin:50% 100%;will-change:transform}
.hero__night{opacity:0}
.hero__dim{background:var(--night);opacity:0}
.hero__flare{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(34% 16% at 67% 74%,rgba(255,214,190,.85),rgba(255,107,122,.4) 38%,rgba(163,20,43,0) 72%),radial-gradient(70% 9% at 67% 75%,rgba(255,150,130,.35),rgba(255,107,122,0) 70%)}
.mark-still{position:absolute;z-index:1;pointer-events:none;display:none}
.hero__mark-still{width:min(52vw,760px);left:70%;top:40%;transform:translate(-50%,-50%)}
.hero__ridge{position:absolute;inset:0;width:100%;height:102.5%;object-fit:cover;object-position:50% 100%;z-index:2;pointer-events:none;will-change:transform}
.hero__ember{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(40% 12% at 67% 79%,rgba(255,107,122,.55),rgba(222,77,82,.2) 45%,rgba(163,20,43,0) 75%)}
.hero__shade{position:absolute;left:0;right:0;bottom:0;height:46%;z-index:3;pointer-events:none;background:linear-gradient(rgba(8,4,4,0) 0%,rgba(8,4,4,.72) 42%,var(--night) 78%)}
.hero__content{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-top:96px}
.hero__copy{margin:auto 0 0;padding-bottom:clamp(28px,5vh,64px)}
.badge{display:inline-flex;align-items:center;gap:12px;background:var(--blush);color:var(--on-frame);border-radius:20px;padding:7px 16px 7px 7px;font-size:14px;line-height:1.2}
.badge img{width:40px;height:40px;border-radius:50%}
.badge__who b{font-weight:500}.badge__who span{color:var(--on-frame-muted);margin-left:4px}
.badge__div{width:1px;height:24px;background:var(--hair-frame)}
.badge__status{display:inline-flex;align-items:center;gap:8px;font-weight:500}
.dot{width:8px;height:8px;border-radius:50%;background:var(--crimson);display:inline-block;position:relative}
.dot::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--crimson);animation:ping 2s var(--ease-out) infinite}
@keyframes ping{from{transform:scale(.5);opacity:1}to{transform:scale(1.9);opacity:0}}
.hero__sub{font-size:clamp(17px,1.389vw,20px);line-height:1.45;max-width:560px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hair-2)}
.cell{padding:26px 24px 6px 0;min-width:0}
.cell+.cell{border-left:1px solid var(--hair-2);padding-left:28px}
.fig{font-size:clamp(44px,5.834vw,84px);line-height:1;font-weight:600;letter-spacing:-.04em;display:flex;align-items:baseline;white-space:nowrap}
.fig i{font-style:normal;color:var(--hot)}
.lab{font-size:15px;color:rgba(255,255,255,.72);margin-top:10px;max-width:24ch}
.src{font-size:13px;color:rgba(255,255,255,.5);margin:16px 0 26px}
.scroll-cue{position:absolute;right:var(--pad);bottom:30px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px;letter-spacing:.08em;color:rgba(255,255,255,.55);writing-mode:vertical-rl}
.scroll-cue span{width:1px;height:46px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.7));animation:cue 2.2s ease-in-out infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* odometer */
.odo-d{display:inline-block;height:1em;overflow:hidden;line-height:1;vertical-align:top}
.odo-d>span{display:flex;flex-direction:column;align-items:center}
.odo-d>span>span{height:1em;line-height:1}
.odo-s{display:inline-block}

/* ---------- 3. work ---------- */
.work{padding:150px 0 140px}
.counters{display:grid;grid-template-columns:1.25fr 1fr 1fr;margin-top:56px;border-top:1px solid var(--hair-2);border-bottom:1px solid var(--hair-2)}
.counter{position:relative;padding:30px 28px 26px;min-width:0}
.counter:first-child{padding-left:0}
.counter+.counter{border-left:1px solid var(--hair-2)}
.counter__top{display:flex;align-items:flex-end;gap:16px}
.counter__fig{font-size:clamp(52px,5vw,76px);line-height:.9;font-weight:600}
.counter__lab{font-size:14px;line-height:1.35;color:var(--ink-muted);padding-bottom:6px}
.counter__lab b{color:#fff;font-weight:600}
.chart{position:relative;margin-top:24px;height:112px}
.chart svg{width:100%;height:100%;overflow:visible}
.chart__note{position:absolute;right:0;bottom:-22px;font-size:12px;color:var(--ink-muted)}
.bar21{fill:rgba(255,255,255,.22);transition:fill .2s}
.bar21.is-top{fill:var(--hot)}
.bar21.is-hl{fill:#fff}
.counter__tip{position:absolute;left:28px;right:28px;bottom:-14px;transform:translateY(100%);font-size:13px;line-height:1.35;color:var(--ink-soft);opacity:0;transition:opacity .2s;pointer-events:none;z-index:5}
.counter__tip b{color:#fff;font-weight:600}
.counter:first-child .counter__tip{left:0}
.counter.is-tip .counter__tip{opacity:1}
.seg-bar{display:flex;height:44px;gap:3px;margin-top:22px}
.seg{position:relative;height:100%;border-radius:6px;background:var(--c,#fff);transform-origin:left;min-width:6px;cursor:default;transition:filter .2s,transform .3s var(--ease-out)}
.seg:hover{filter:brightness(1.18);transform:translateY(-3px)}
.seg-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px;font-size:12px;color:var(--ink-muted)}
.seg-legend span{display:inline-flex;align-items:center;gap:6px}
.seg-legend i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.tl-axis{stroke:rgba(255,255,255,.22);stroke-width:1}
.tl-tick{fill:var(--ink-muted);font:500 10px var(--font-body)}
.tl-dot{fill:var(--coral);fill-opacity:.85;stroke:var(--night);stroke-width:1.5;transition:fill .2s}
.tl-dot:hover,.tl-dot.is-hl{fill:#fff}
.tl-stem{stroke:rgba(255,107,122,.4);stroke-width:1}

.months{margin-top:72px;position:relative}
.months__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.months__fig{font-size:clamp(44px,4.4vw,64px);font-weight:600;line-height:1}
.months__lab{font-size:15px;color:var(--ink-muted);margin-left:8px}
.months__story{font-family:var(--font-accent);font-style:italic;font-size:28px;font-weight:400;color:var(--peach);letter-spacing:-.01em}
.months__chart{position:relative;height:260px;margin-top:24px}
.months__chart svg{width:100%;height:100%;overflow:visible}
.mbar{fill:url(#mgrad);transition:opacity .2s}
.mbar.is-peak{fill:url(#mgradHot)}
.mbar.is-partial{fill:url(#mhatch)}
.months__chart:hover .mbar{opacity:.5}
.months__chart .mbar.is-hl{opacity:1}
.mlab{fill:var(--ink-muted);font:500 12px var(--font-body);text-anchor:middle}
.mval{fill:#fff;font:600 15px var(--font-display);text-anchor:middle;letter-spacing:-.01em}
.mval.is-peak{fill:var(--hot)}
.mline{fill:none;stroke:var(--peach);stroke-width:1.5;stroke-dasharray:3 4;opacity:.55}
.mgrid{stroke:rgba(255,255,255,.08)}
.months__tip{position:absolute;top:0;left:0;padding:8px 12px;background:var(--frame);color:var(--on-frame);border-radius:12px;font-size:13px;line-height:1.3;pointer-events:none;opacity:0;transform:translate(-50%,-110%);transition:opacity .15s;white-space:nowrap}
.months__tip b{font-family:var(--font-display);font-weight:600;font-size:16px;display:block}
.months__note{font-size:13px;color:var(--ink-muted);margin-top:14px}

.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:80px}
.card{--rx:0deg;--ry:0deg;--ty:0px;--mx:50%;--my:50%;position:relative;display:flex;flex-direction:column;background:var(--frame);color:var(--on-frame);border-radius:var(--r-frame);padding:12px 12px 22px;grid-column:span 4;transform:perspective(900px) translateY(var(--ty)) rotateX(var(--rx)) rotateY(var(--ry));will-change:transform}
.card.is-live{transition:transform .5s var(--ease-out)}
.card--1{grid-column:span 7;grid-row:span 2}
.card--2,.card--3{grid-column:span 5}
.card__media{position:relative;aspect-ratio:5/2;border-radius:var(--r-media);overflow:hidden;background:var(--wine-900)}
.card--1 .card__body{flex:1}
.card__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:auto;border-top:1px solid var(--hair-frame);padding-top:16px}
.card__kpis div{padding:0 14px;border-left:1px solid var(--hair-frame)}
.card__kpis div:first-child{padding-left:0;border-left:0}
.card__kpis b{display:block;font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.card__kpis span{font-size:12.5px;color:var(--on-frame-muted)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out)}
.card__glare{position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,244,243,.38),rgba(255,244,243,0) 55%);opacity:0;transition:opacity .3s;mix-blend-mode:soft-light;pointer-events:none}
.card__type{position:absolute;left:12px;top:12px;font-size:12px;font-weight:500;color:#fff;background:rgba(8,4,4,.62);padding:5px 10px;border-radius:99px}
.card__body{padding:18px 10px 0;display:flex;flex-direction:column;gap:14px}
.card__title{font-family:var(--font-display);font-weight:600;font-size:20px;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
.card--1 .card__title{font-size:30px;max-width:18ch}
.card__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card__views{display:flex;align-items:baseline;gap:8px}
.card__views b{font-family:var(--font-display);font-weight:600;font-size:34px;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.card--1 .card__views b{font-size:64px}
.card__views span{font-size:14px;color:var(--on-frame-muted)}
.chip{font-size:13px;font-weight:500;border-radius:99px;padding:6px 12px;background:var(--blush);color:var(--on-frame)}
.reach{display:flex;flex-direction:column;gap:8px}
.reach__bar{display:flex;height:8px;border-radius:99px;background:#F3E2DF;overflow:hidden;width:100%}
.reach__bar i{display:block;height:100%;transform-origin:left}
.reach__bar .a{background:var(--crimson)}
.reach__bar .q{background:var(--rose)}
.reach__lab{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--on-frame-muted)}
.reach__lab b{color:var(--on-frame);font-weight:600}
.card__stats{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--on-frame-muted);border-top:1px solid var(--hair-frame);padding-top:14px}
.card__stats b{color:var(--on-frame);font-weight:600}
@media (hover:hover) and (pointer:fine){
  .card.is-live:hover{transition:transform .12s linear;--ty:-4px}
  .card:hover .card__media img{transform:scale(1.045)}
  .card:hover .card__glare{opacity:1}
}
.work__foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;flex-wrap:wrap}
.launch-total{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.launch-total__fig{font-size:clamp(36px,3.4vw,52px);font-weight:600;line-height:1;color:#fff}
.launch-total__lab{font-size:14px;line-height:1.4;color:var(--ink-muted)}
.launch-total__key{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft)}
.launch-total__key i{width:12px;height:8px;border-radius:4px;display:inline-block}
.launch-total__key i.a{background:var(--crimson)}.launch-total__key i.q{background:var(--rose);margin-left:10px}
.ribbon{margin-top:56px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ribbon__track{display:flex;gap:16px;width:max-content}
.rib{display:flex;flex-direction:column;width:340px;flex:none;border-radius:var(--r-media);overflow:hidden;background:var(--wine-900);border:1px solid var(--hair)}
.rib img{aspect-ratio:5/2;object-fit:cover;width:100%;transition:transform .6s var(--ease-out)}
.rib span{padding:12px 14px;font-size:13px;line-height:1.35;color:var(--ink-soft);display:flex;gap:10px;align-items:baseline}
.rib b{font-family:var(--font-display);font-weight:600;color:#fff;font-size:18px;letter-spacing:-.02em}
@media (hover:hover){.rib:hover img{transform:scale(1.05)}}
.more-link{display:inline-flex;align-items:center;gap:8px;margin-top:28px;font-size:16px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:3px}
.more-link .arr{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .3s var(--ease-out)}
.more-link:hover .arr{transform:translateX(4px)}

/* ---------- 4. audience ---------- */
.audience{position:relative}
.aud__intro{position:relative;height:210vh}
.aud__stage{background:#000}
.aud__poster,.aud__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;transform-origin:50% 70%}
.aud__poster{opacity:0}
.aud__vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(var(--night) 0%,rgba(8,4,4,0) 22%,rgba(8,4,4,0) 70%,var(--night) 100%),radial-gradient(70% 60% at 30% 40%,rgba(8,4,4,.55),rgba(8,4,4,0) 70%)}
.aud__head{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;padding-top:40px;padding-bottom:160px}
.acct{display:inline-flex;align-items:center;gap:16px;align-self:flex-start;background:var(--frame);color:var(--on-frame);border-radius:24px;padding:14px 22px 14px 14px;margin-top:36px}
.acct img{width:56px;height:56px;border-radius:50%}
.acct__h{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.01em;line-height:1.1}
.acct__n{font-size:15px;color:var(--on-frame-muted)}
.acct__n b{color:var(--on-frame);font-weight:600}
.acct__asof{font-size:12px;color:var(--on-frame-muted);border-left:1px solid var(--hair-frame);padding-left:16px;margin-left:4px}
.aud__body{position:relative;padding:40px 0 150px;overflow:hidden}
.aud__bodybg{opacity:.55;object-position:50% 0}
.aud__body::after{content:'';position:absolute;inset:auto 0 0;height:240px;background:linear-gradient(rgba(8,4,4,0),var(--night));z-index:1;pointer-events:none}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.tile{position:relative;background:#120809;border:1px solid var(--hair);border-radius:var(--r-media);padding:24px;overflow:hidden;min-width:0}
.tile header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.tile__k{font-size:14px;font-weight:500;color:var(--ink-soft)}
.tile__meta,.tile__foot{font-size:12px;color:var(--ink-muted)}
.tile__foot{margin-top:14px}
.tile__live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-muted)}
.tile__live i{width:6px;height:6px;border-radius:50%;background:var(--hot)}
.tile__big{display:flex;align-items:baseline;gap:12px;font-size:clamp(44px,4.4vw,64px);line-height:1;font-weight:600}
.tile__big small{font-family:var(--font-body);font-size:15px;font-weight:400;letter-spacing:0;color:var(--ink-muted)}
.tile__sub{font-size:15px;line-height:1.45;color:var(--ink-soft);margin-top:12px}
.tile__sub b{color:#fff;font-weight:600}
.to{color:var(--hot)}
.bento{grid-template-areas:"g g g g g g g r r r r r" "g g g g g g g s s s s s" "c c c c c m m m m m m m" "c c c c c k k k k k k k" "p p p p p p p p p p p p"}
.tile--growth{grid-area:g;display:flex;flex-direction:column}
.tile--ring{grid-area:r}
.tile--countries{grid-area:c}
.tile--saves{grid-area:s}
.tile--streak{grid-area:k}
.tile--median{grid-area:m}
.tile--proof{grid-area:p;display:grid;grid-template-columns:repeat(4,1fr);padding:0;background:transparent;border:0;border-top:1px solid var(--hair-2);border-bottom:1px solid var(--hair-2);border-radius:0}
.growth{position:relative;flex:1;min-height:220px;margin-top:20px}
.growth svg{width:100%;height:100%;overflow:visible}
.g-area{fill:url(#ggrad)}
.g-line{fill:none;stroke:var(--hot);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.g-pt{fill:var(--night);stroke:var(--hot);stroke-width:1.4}
.g-end{fill:var(--hot)}
.g-pulse{fill:none;stroke:var(--hot);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:gpulse 1.8s var(--ease-out) infinite}
@keyframes gpulse{from{transform:scale(1);opacity:1}to{transform:scale(3.4);opacity:0}}
.g-axis{fill:var(--ink-muted);font:500 11px var(--font-body)}
.g-grid{stroke:rgba(255,255,255,.07)}
.g-cross{stroke:rgba(255,255,255,.35);stroke-dasharray:2 3}
.growth__tip{position:absolute;top:0;left:0;padding:6px 10px;background:var(--frame);color:var(--on-frame);border-radius:10px;font-size:12px;line-height:1.25;pointer-events:none;opacity:0;transform:translate(-50%,-120%);white-space:nowrap;transition:opacity .15s}
.growth__tip b{font-family:var(--font-display);font-size:15px;display:block}
.ring{position:relative;width:180px;height:180px;margin:0 auto}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:16}
.ring__bg{stroke:rgba(255,255,255,.1)}
.ring__fg{stroke:var(--hot);stroke-linecap:round;stroke-dasharray:527.8;stroke-dashoffset:33.3}
.ring__c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring__c b{font-family:var(--font-display);font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1}
.ring__c span{font-size:12px;color:var(--ink-muted);margin-top:4px}
.tile--ring{display:grid;grid-template-columns:180px 1fr;gap:6px 26px;align-items:center}
.tile--ring header{grid-column:1/-1;margin-bottom:4px}
.tile--ring .tile__sub{margin:0;font-size:17px}
.cbars{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.cbars li{display:grid;grid-template-columns:118px 1fr 48px;align-items:center;gap:12px;font-size:14px}
.cbars .cn{color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbars .cb{height:10px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.cbars .cb i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--crimson),var(--hot));transform-origin:left}
.cbars li:first-child .cb i{background:linear-gradient(90deg,var(--coral),var(--peach))}
.cbars .cv{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}
.vs{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.vs__row{display:grid;grid-template-columns:84px 1fr auto;gap:12px;align-items:center;font-size:14px}
.vs__lab{color:var(--ink-soft)}
.vs__bar{height:16px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden}
.vs__bar i{display:block;height:100%;border-radius:6px;transform-origin:left}
.vs__row--a .vs__bar i{background:var(--hot);width:100%}
.vs__row--b .vs__bar i{background:rgba(255,255,255,.4);width:70.17%}
.vs b{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.streak{display:grid;grid-template-columns:repeat(21,1fr);gap:5px;margin-top:18px}
.streak i{aspect-ratio:1;border-radius:3px;background:rgba(255,255,255,.08)}
.streak i.on{background:var(--hot)}
.med{display:flex;align-items:flex-end;gap:28px;height:150px;margin-top:6px}
.med__col{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1;height:100%;justify-content:flex-end}
.med__bar{flex:1;display:flex;align-items:flex-end}
.med__bar i{display:block;width:100%;border-radius:8px 8px 2px 2px;transform-origin:bottom}
.med__col--a .med__bar i{height:100%;background:linear-gradient(var(--hot),var(--crimson))}
.med__col--b .med__bar i{height:2px;min-height:2px;background:rgba(255,255,255,.55)}
.med b{font-family:var(--font-display);font-weight:600;font-size:26px;letter-spacing:-.02em;line-height:1}
.med span{font-size:13px;color:var(--ink-muted)}
.tile--median{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px}
.tile--median header{grid-column:1/-1}
.tile--median .tile__sub{align-self:end;font-size:17px}
.proof{padding:26px 24px 22px}
.proof+.proof{border-left:1px solid var(--hair-2)}
.proof:first-child{padding-left:0}
.proof b{display:block;font-size:clamp(36px,3.4vw,52px);font-weight:600;line-height:1}
.proof span{display:block;margin-top:8px;font-size:14px;color:var(--ink-muted)}

.followed{margin-top:110px}
.followed__head{display:grid;grid-template-columns:1fr;max-width:820px}
.followed__head .h3{font-size:clamp(30px,3.2vw,46px);font-weight:600;letter-spacing:-.03em;line-height:1.05}
.followed__head .sub{margin-top:12px}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}
.fol{display:grid;grid-template-columns:52px 1fr;gap:4px 14px;align-items:center;padding:14px 16px 14px 14px;border:1px solid var(--hair);border-radius:var(--r-media);background:#0F0708;transition:border-color .25s,background-color .25s,transform .4s var(--ease-out);min-width:0}
.fol img{grid-row:span 2;width:52px;height:52px;border-radius:50%;object-fit:cover;transition:transform .4s var(--ease-out);filter:grayscale(.15)}
.fol__n{font-weight:600;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:8px;align-items:baseline}
.fol__n small{font-weight:500;font-size:12px;color:var(--hot)}
.fol__r{font-size:12.5px;line-height:1.3;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (hover:hover){.fol:hover{border-color:var(--crimson);background:#1A0A0D;transform:translateY(-4px)}.fol:hover img{transform:scale(1.08)}}
.fnote{font-size:12px;color:var(--ink-muted);margin-top:16px}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:90px}
.mini{position:relative;background:var(--frame);color:var(--on-frame);border-radius:var(--r-frame);padding:26px 26px 22px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
.mini header{display:flex;align-items:center;gap:12px}
.mini header img{width:44px;height:44px;border-radius:50%}
.mini header b{display:block;font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.01em;line-height:1.1}
.mini header span{font-size:13px;color:var(--on-frame-muted)}
.mini__logo{width:44px;height:44px;border-radius:50%;background:var(--on-frame);display:grid;place-items:center}
.mini__logo img{width:26px!important;height:26px!important;border-radius:0!important}
.mini__logo--lens{background:var(--crimson);position:relative}
.mini__logo--lens i{width:18px;height:18px;border-radius:50%;border:2px solid #fff;position:relative}
.mini__logo--lens i::after{content:'';position:absolute;width:8px;height:2px;background:#fff;right:-7px;bottom:-3px;transform:rotate(45deg)}
.mini__pulse{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--crimson);font-weight:500}
.mini__pulse i{width:7px;height:7px;border-radius:50%;background:var(--crimson);animation:blink 1.4s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.mini blockquote{font-family:var(--font-accent);font-style:italic;font-size:26px;line-height:1.15;font-weight:400;letter-spacing:-.005em;text-wrap:pretty}
.mini__big{display:flex;align-items:baseline;gap:12px}
.mini__big b{font-size:60px;line-height:.9;font-weight:600;letter-spacing:-.04em}
.mini__big span{font-size:15px;color:var(--on-frame-muted)}
.mini__facts{margin-top:auto;border-top:1px solid var(--hair-frame)}
.mini__facts li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair-frame);font-size:14px}
.mini__facts li:last-child{border-bottom:0}
.mini__facts span{color:var(--on-frame-muted)}
.mini__facts b{font-weight:600;text-align:right}
.mini__spark{display:flex;align-items:flex-end;gap:5px;height:56px}
.mini__spark i{flex:1;background:var(--crimson);border-radius:4px 4px 1px 1px;transform-origin:bottom}
.mini__spark i:first-child{background:var(--coral)}
.feed{position:relative;display:flex;flex-direction:column;gap:8px;overflow:hidden;border-radius:14px;border:1px solid var(--hair-frame);padding:10px 12px;background:#FFF9F8}
.feed__row{display:grid;grid-template-columns:22px 1fr;grid-template-rows:6px 6px;gap:5px 10px;align-items:center}
.feed__row i{grid-row:span 2;width:22px;height:22px;border-radius:50%;background:#F1D6D2}
.feed__row span{height:6px;border-radius:3px;background:#F1DEDB}
.feed__row span+span{width:62%}
.feed__row:nth-child(2) span+span{width:44%}
.feed__scan{position:absolute;left:0;right:0;top:0;height:30px;background:linear-gradient(rgba(163,20,43,0),rgba(163,20,43,.16) 80%,var(--crimson) 80%,var(--crimson) 84%,rgba(163,20,43,0) 84%);animation:feedscan 2.6s cubic-bezier(.6,0,.4,1) infinite}
@keyframes feedscan{0%{transform:translateY(-30px)}100%{transform:translateY(110px)}}

/* ---------- 5. partners ---------- */
.partners{position:relative;padding:180px 0 150px;color:var(--on-frame);overflow:hidden;background:#F6C7B6}
.partners__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.partners::before,.partners::after{content:'';position:absolute;left:0;right:0;height:180px;z-index:1;pointer-events:none}
.partners::before{top:0;background:linear-gradient(var(--night),rgba(8,4,4,0))}
.partners::after{bottom:0;background:linear-gradient(rgba(8,4,4,0),var(--night))}
.sec-head--ink .h2{color:var(--on-frame)}
.sec-head--ink .sub{color:#3E2427}
.sec-head--ink .sub b{color:var(--on-frame)}
.ledger{margin-top:56px;border-top:1px solid rgba(25,11,12,.18)}
.ledger__head{display:grid;grid-template-columns:300px 1fr 150px 150px;gap:24px;padding:12px 20px;font-size:12px;font-weight:500;color:#5A3A3E;letter-spacing:.02em}
.lrow{position:relative;display:grid;grid-template-columns:300px 1fr 150px 150px;gap:24px;align-items:center;padding:18px 20px;border-bottom:1px solid rgba(25,11,12,.16);isolation:isolate}
.lrow::before{content:'';position:absolute;inset:4px 0;background:var(--frame);border-radius:20px;z-index:-1;opacity:0;transform:scaleY(.6);transition:opacity .35s var(--ease-out),transform .45s var(--ease-out)}
.lrow::after{content:'';position:absolute;left:20px;right:20px;bottom:-1px;height:2px;background:var(--crimson);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}
.lrow__brand{display:flex;align-items:center;gap:14px;min-width:0}
.lrow__brand img{width:44px;height:44px;border-radius:12px;object-fit:cover;filter:grayscale(1) contrast(1.1);transition:filter .4s,transform .4s var(--ease-out)}
.lrow__brand b{display:block;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.1}
.lrow__brand small{display:block;font-size:12.5px;color:#5A3A3E;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow__what{font-size:15px;line-height:1.4;color:#2B1517}
.lrow__what em{font-style:normal;font-weight:600;display:inline-block;margin-right:8px;color:var(--crimson)}
.lrow__res{font-size:14px;color:#5A3A3E}
.lrow__res b{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--on-frame);margin-right:4px;font-variant-numeric:tabular-nums}
.lrow__go{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;font-size:14px;font-weight:500}
.lrow__go .arr{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .35s var(--ease-out)}
@media (hover:hover){
  .lrow:hover::before{opacity:1;transform:scaleY(1)}
  .lrow:hover::after{transform:scaleX(1)}
  .lrow:hover .lrow__brand img{filter:none;transform:scale(1.06) rotate(-3deg)}
  .lrow:hover .lrow__go .arr{transform:translateX(5px)}
}
.lrow.is-hover::before{opacity:1;transform:scaleY(1)}
.lrow.is-hover::after{transform:scaleX(1)}
.lrow.is-hover .lrow__brand img{filter:none;transform:scale(1.06) rotate(-3deg)}
.lmarquee{margin-top:44px;display:flex;flex-direction:column;gap:12px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.lmarquee__row{display:flex;gap:12px;width:max-content}
.lcard{display:flex;align-items:center;gap:12px;padding:10px 20px 10px 10px;border-radius:18px;background:rgba(255,244,243,.62);border:1px solid rgba(25,11,12,.1);flex:none;transition:background-color .3s}
.lcard img{width:40px;height:40px;border-radius:10px;filter:grayscale(1);transition:filter .3s}
.lcard b{display:block;font-family:var(--font-display);font-weight:600;font-size:17px;line-height:1.1}
.lcard small{font-size:12px;color:#5A3A3E}
@media (hover:hover){.lcard:hover{background:var(--frame)}.lcard:hover img{filter:none}}

/* ---------- 6. services ---------- */
.services{padding:160px 0 150px}
.svc-grid{display:grid;grid-template-columns:4fr 8fr;gap:48px;align-items:start}
.svc-left{position:sticky;top:130px}
.svc-left .btn{margin-top:32px}
.svc-list{border-top:1px solid var(--hair-2)}
.svc{position:relative;display:grid;grid-template-columns:64px 1fr 1fr 48px;align-items:center;gap:16px;padding:30px 20px 30px 16px;border-bottom:1px solid var(--hair-2);isolation:isolate;transition:opacity .35s;overflow:hidden}
.svc__fill{position:absolute;inset:0;background:var(--crimson);transform:scaleX(0);transform-origin:left;z-index:-1}
.svc__num{font-size:14px;color:var(--ink-muted);font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,monospace}
.svc__title{position:relative;display:block;height:1.15em;overflow:hidden;font-family:var(--font-display);font-size:clamp(26px,2.5vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.svc__title span{display:block;transition:transform .55s var(--ease-out)}
.svc__desc{font-size:16px;color:var(--ink-soft)}
.svc__arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;justify-self:end}
.svc__arrow svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease-out)}
.svc-list.is-hovering .svc{opacity:.26}
.svc-list.is-hovering .svc.is-on{opacity:1}
.svc.is-on .svc__title span{transform:translateY(-100%)}
.svc.is-on .svc__num{color:#fff}
.svc.is-on .svc__desc{color:#fff}
.svc.is-on .svc__arrow{background:#fff;border-color:#fff}
.svc.is-on .svc__arrow svg{stroke:var(--crimson);transform:rotate(-45deg)}
.svc-preview{position:fixed;left:0;top:0;width:320px;height:220px;z-index:30;pointer-events:none;opacity:0;transform:scale(.6)}
.svc-preview__win{position:relative;width:100%;height:100%;border-radius:var(--r-media);overflow:hidden;background:var(--frame)}
.pv{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:var(--on-frame)}
.pv--img img{position:absolute;inset:0;width:100%;height:62%;object-fit:cover}
.pv__cap{position:relative;display:flex;align-items:baseline;gap:10px}
.pv__cap b,.pv__big{font-family:var(--font-display);font-weight:600;font-size:40px;letter-spacing:-.03em;line-height:1}
.pv__cap span,.pv span{font-size:13px;line-height:1.3;color:var(--on-frame-muted)}
.pv--text,.pv--chart,.pv--streak{background:var(--frame);justify-content:flex-start;gap:6px}
.pv--lens{background:var(--crimson);color:#fff}.pv--lens span{color:rgba(255,255,255,.82)}.pv--lens .pv__eyebrow{color:var(--blush)}
.pv__eyebrow{font-size:12px;font-weight:600;color:var(--crimson);margin-bottom:6px}
.pv__big{font-size:64px}
.pv__bars{display:flex;align-items:flex-end;gap:4px;height:56px;margin-top:auto}
.pv__bars i{flex:1;background:#E8C3BE;border-radius:3px 3px 0 0}
.pv__bars i.hl{background:var(--crimson)}
.pv__grid{display:grid;grid-template-columns:repeat(21,1fr);gap:3px;margin-top:auto}
.pv__grid i{aspect-ratio:1;border-radius:2px;background:var(--crimson)}

/* ---------- 7. lens ---------- */
.lens{padding:170px 0 170px;min-height:100vh}
.lens__bg{object-position:70% 50%}
.lens__grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center}
.lens__facts{display:flex;gap:28px;margin-top:40px;border-top:1px solid var(--hair-2);padding-top:22px;flex-wrap:wrap}
.lens__facts li{display:flex;flex-direction:column}
.lens__facts b{font-family:var(--font-display);font-weight:600;font-size:30px;letter-spacing:-.02em;line-height:1}
.lens__facts span{font-size:13px;color:var(--ink-muted);margin-top:6px}
.lens__left .btn{margin-top:30px}
.lens__right{perspective:1200px}
.dash-wrap{position:relative;margin-right:calc(-1 * var(--pad) - 60px)}
.dash{position:relative;background:var(--frame);color:var(--on-frame);border-radius:24px;padding:14px 18px 20px;font-size:13px;transform-origin:50% 100%;overflow:hidden}
.dash__bar{display:flex;align-items:center;gap:18px;padding-bottom:12px;border-bottom:1px solid var(--hair-frame)}
.dash__dots{display:flex;gap:6px}.dash__dots i{width:10px;height:10px;border-radius:50%;background:#E9C9C6}.dash__dots i:first-child{background:var(--crimson)}
.dash__tabs{display:flex;gap:4px}
.dash__tabs span{padding:6px 12px;border-radius:99px;color:var(--on-frame-muted);font-weight:500;transition:background-color .3s,color .3s}
.dash__tabs span.is-on{background:var(--blush);color:var(--crimson)}
.dash__live{margin-left:auto;display:inline-flex;gap:6px;align-items:center;font-weight:600;color:var(--crimson)}
.dash__live i{width:7px;height:7px;border-radius:50%;background:var(--crimson);animation:blink 1.4s infinite}
.dash__body{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;padding-top:16px}
.dash h4{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.01em;margin-bottom:12px}
.drows{position:relative;display:flex;flex-direction:column;gap:6px}
.drows li{display:grid;grid-template-columns:24px 1fr 52px;grid-template-rows:auto auto;column-gap:10px;row-gap:5px;align-items:center;padding:7px 8px;border-radius:12px;position:relative;background:transparent;transition:background-color .3s}
.drows li.is-click{background:var(--blush)}
.drows__n{grid-row:span 2;width:22px;height:22px;border-radius:7px;background:#F6E1DE;color:var(--crimson);display:grid;place-items:center;font-weight:600;font-size:11px}
.drows__t{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drows__v{grid-row:span 2;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.drows__bar{height:5px;border-radius:99px;background:#F3E2DF;overflow:hidden;grid-column:2}
.drows__bar i{display:block;height:100%;width:var(--w);background:var(--crimson);border-radius:99px;transform-origin:left}
.drows__chip{position:absolute;right:68px;top:6px;font-size:10.5px;font-weight:600;color:#fff;background:var(--crimson);border-radius:99px;padding:2px 8px;opacity:0}
.dash__chart{border:1px solid var(--hair-frame);border-radius:16px;padding:12px 14px 10px}
.dash__chart h4{font-size:14px;margin-bottom:6px}
.dash__chart svg{width:100%;height:130px;overflow:visible}
.dgrid line{stroke:#F0DEDB;stroke-width:1}
.darea{fill:rgba(163,20,43,.08)}
.dline{fill:none;stroke:var(--crimson);stroke-width:2.2;stroke-linecap:round}
.ddot{fill:var(--crimson)}
.dash__days{display:flex;justify-content:space-between;font-size:10.5px;color:var(--on-frame-muted);margin-top:4px}
.dash__kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.kpi{border:1px solid var(--hair-frame);border-radius:14px;padding:10px 12px}
.kpi span{display:block;font-size:11px;color:var(--on-frame-muted)}
.kpi b{display:block;font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}
.dash__tip{position:absolute;left:0;top:0;background:var(--on-frame);color:#fff;border-radius:12px;padding:9px 12px;font-size:12px;line-height:1.3;max-width:200px;opacity:0;pointer-events:none;z-index:3}
.dash__tip b{display:block;color:var(--hot);font-weight:600;margin-bottom:2px}
.dash__cursor{position:absolute;left:0;top:0;width:22px;height:22px;z-index:4;fill:var(--on-frame);stroke:#fff;stroke-width:1.4;opacity:0}
.tag-illus{position:absolute;right:calc(var(--pad) + 76px);top:-14px;z-index:5;font-size:12px;font-weight:600;color:var(--on-frame);background:var(--blush);border:1px solid var(--hair-frame);border-radius:99px;padding:6px 12px}

/* ---------- 8. system ---------- */
.system{position:relative;height:240vh}
.system__stage{background:var(--night)}
.system__plate{position:absolute;left:-4%;top:-4%;width:108%;height:108%;max-width:none;object-fit:cover;object-position:60% 55%;will-change:transform}
.system__tint{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,4,4,.86) 0%,rgba(8,4,4,.55) 34%,rgba(8,4,4,.12) 60%,rgba(8,4,4,.2) 100%),linear-gradient(var(--night),rgba(8,4,4,0) 18%,rgba(8,4,4,0) 80%,var(--night))}
.system__copy{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;pointer-events:none}
.system__copy>*{pointer-events:auto}
.system__copy .h2{max-width:11ch}
.system__copy .label{align-self:flex-start}
.agents{margin-top:40px;max-width:420px;border-top:1px solid var(--hair-2)}
.agents li{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--hair-2);font-size:17px;color:var(--ink-soft);transition:color .3s,padding .4s var(--ease-out)}
.agents li b{color:#fff;font-weight:600}
.agents__n{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--hot);border:1px solid rgba(255,107,122,.5);border-radius:6px;padding:3px 6px}
.agents li.is-on{padding-left:10px;color:#fff}
.agents li.is-on .agents__n{background:var(--hot);color:var(--night)}
.blabels{position:absolute;inset:0;z-index:3;pointer-events:none}
.blabel{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;white-space:nowrap;color:#fff;background:rgba(8,4,4,.86);border:1px solid rgba(255,107,122,.45);padding:6px 12px 6px 8px;border-radius:99px;opacity:0;will-change:transform}
.blabel i{width:7px;height:7px;border-radius:50%;background:var(--hot);box-sizing:content-box;border:3px solid rgba(255,107,122,.25)}
.speedo{position:absolute;right:var(--pad);bottom:36px;z-index:4;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.08em;color:var(--ink-muted)}
.speedo i{width:120px;height:2px;background:rgba(255,255,255,.12);display:block;overflow:hidden}
.speedo b{display:block;height:100%;width:100%;background:var(--hot);transform-origin:left;transform:scaleX(.08)}
.streaks-css{position:absolute;inset:0;z-index:1;pointer-events:none;display:none;overflow:hidden}
.streaks-css i{position:absolute;height:1px;width:30vw;background:linear-gradient(90deg,rgba(250,186,157,0),rgba(250,186,157,.8));animation:streak var(--d,1.6s) linear infinite;animation-delay:var(--dl,0s);opacity:.6}
@keyframes streak{from{transform:translateX(-40vw)}to{transform:translateX(140vw)}}

/* ---------- 9. contact ---------- */
.contact{position:relative;height:190vh;background:var(--night)}
.contact__stage{background:#0a0405}
.contact__plate,.contact__fg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 100%;pointer-events:none}
.contact__plate{z-index:0}
.contact__fg{z-index:2}
.contact__stage::before{content:'';position:absolute;left:0;right:0;top:0;height:200px;background:linear-gradient(var(--night),rgba(8,4,4,0));z-index:3;pointer-events:none}
.contact__limb{position:absolute;z-index:2;left:var(--sx,69%);top:var(--sy,64%);width:86%;height:16%;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;opacity:.25;background:radial-gradient(closest-side,rgba(255,226,206,.95),rgba(255,140,120,.5) 32%,rgba(222,77,82,.16) 62%,rgba(163,20,43,0))}
.contact__sun{position:absolute;z-index:0;left:var(--sx,69%);top:var(--sy,64%);width:70vh;height:70vh;transform:translate(-50%,-62%);pointer-events:none;mix-blend-mode:screen;display:none;background:radial-gradient(closest-side,rgba(255,246,236,1),rgba(255,206,178,.9) 18%,rgba(250,140,118,.55) 36%,rgba(190,52,58,.22) 62%,rgba(163,20,43,0))}
.contact__mark-still{width:min(58vh,46vw);left:var(--sx,69%);top:calc(var(--sy,64%) - 24vh);transform:translate(-50%,-50%)}
.contact__grid{position:absolute;inset:0;z-index:4;display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center;padding-top:96px;padding-bottom:6vh}
.contact__left{max-width:560px}
.contact__left .cframe{margin-top:32px;justify-self:start;width:100%}
.contact__left .h2{max-width:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;max-width:440px}
.chips span{font-size:14px;font-weight:500;border:1px solid rgba(255,255,255,.55);border-radius:99px;padding:8px 14px}
.cframe{--glow:0;position:relative;width:min(100%,560px);background:var(--frame);color:var(--on-frame);border-radius:var(--r-frame);padding:10px 30px;overflow:hidden;isolation:isolate}
.cframe__glow{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--glow);background:radial-gradient(90% 70% at 30% -10%,rgba(250,186,157,.95),rgba(253,217,214,.4) 40%,rgba(255,244,243,0) 70%)}
.cframe::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,rgba(255,107,122,0),var(--hot),rgba(255,107,122,0));opacity:var(--glow)}
.crow{display:grid;grid-template-columns:1fr auto;grid-template-areas:"k k" "v b";gap:6px 16px;align-items:center;padding:22px 0}
.crow+.crow{border-top:1px solid var(--hair-frame)}
.crow__k{grid-area:k;display:flex;gap:10px;align-items:baseline;font-size:14px}
.crow__k b{font-weight:600}.crow__k span{color:var(--on-frame-muted)}
.crow__v{grid-area:v;font-family:var(--font-display);font-weight:600;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;line-height:1.1;overflow-wrap:anywhere}
.crow__btns{grid-area:b;display:flex;gap:8px}
.crow__btns .btn{height:44px;padding:0 18px;font-size:14px}

/* ---------- 10–11. follow + footer ---------- */
.follow{position:relative;z-index:4;background:var(--night);border-top:1px solid var(--hair)}
.follow__row{display:flex;align-items:center;gap:28px;padding-top:44px;padding-bottom:44px;flex-wrap:wrap}
.follow__h{font-size:30px;font-weight:600;letter-spacing:-.02em}
.follow__who{font-size:15px;color:var(--ink-soft);margin-left:auto}
.footer{position:relative;z-index:4;background:var(--night);border-top:1px solid var(--hair);padding:80px 0 40px}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.footer__logo{height:30px;width:auto}
.footer__col{display:flex;flex-direction:column;gap:10px;font-size:14px}
.footer__col b{font-weight:600;margin-bottom:4px}
.footer__col a{color:var(--ink-soft)}
.footer__base{display:flex;justify-content:space-between;gap:16px;margin-top:64px;font-size:13px;color:var(--ink-muted);flex-wrap:wrap}

/* ---------- global fx ---------- */
.embers{position:fixed;inset:0;width:100%;height:100%;z-index:40;pointer-events:none;opacity:0;transition:opacity .8s}
.embers.is-on{opacity:var(--emb,1)}
.grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:90;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.6 -.4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .9s steps(5) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-6%,4%)}40%{transform:translate(4%,-6%)}60%{transform:translate(-3%,-3%)}80%{transform:translate(6%,5%)}100%{transform:translate(0,0)}}

/* reveal defaults (JS sets them; without JS everything shows) */
.js:not(.rm) .reveal{opacity:0}

/* figures: PP Mori SemiBold, -0.04em */
.fig,.counter__fig,.months__fig,.tile__big,.proof b,.mini__big b,.pv__big,.pv__cap b,.launch-total__fig,.card__views b,.card__kpis b,.lrow__res b,.kpi b,.lens__facts b,.ring__c b,.med b,.vs b,.rib b{font-weight:600;letter-spacing:-.04em}
/* still-mark fallback (phones, reduced motion): warm grade + a halo so it sits in the sky */
.mark-still{filter:sepia(.1) saturate(1.15) hue-rotate(-6deg) drop-shadow(0 0 14px rgba(255,150,128,.38)) drop-shadow(0 0 48px rgba(222,77,82,.34))}

/* ---------- reduced motion ---------- */
.rm .hero{height:auto}
.rm .hero__stage{position:relative;height:100vh}
.rm .mark-still{display:block}
.rm .aud__intro{height:auto}
.rm .aud__stage{position:relative;height:100vh}
.rm .aud__poster{opacity:1}
.rm .aud__video{display:none}
.rm .system{height:auto}.rm .system__stage{position:relative;height:100vh}
.rm .contact{height:auto}.rm .contact__stage{position:relative;height:100vh;min-height:760px}
.rm .contact__sun{display:block}
.rm .grain,.rm .embers{display:none}
.rm .scroll-cue span,.rm .dot::after,.rm .feed__scan,.rm .g-pulse{animation:none}
.rm .cframe{--glow:.8}
.rm .blabel{display:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- phone fallback (no WebGL) ---------- */
.nogl .mark-still{display:block}
.nogl .streaks-css{display:block}
.nogl .contact__sun{display:block;animation:sunpulse 5s ease-in-out infinite}
@keyframes sunpulse{0%,100%{opacity:.88;transform:translate(-50%,-62%) scale(1)}50%{opacity:1;transform:translate(-50%,-62%) scale(1.06)}}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .counters{grid-template-columns:1fr 1fr}
  .counter:nth-child(3){grid-column:span 2;border-left:0;border-top:1px solid var(--hair-2);padding-left:0}
  .cards{grid-template-columns:repeat(2,1fr)}
  .card,.card--1,.card--2,.card--3{grid-column:span 1;grid-row:auto}
  .card--1{grid-column:span 2}
  .card--1 .card__media{aspect-ratio:5/2;flex:none;min-height:0}
  .bento{grid-template-columns:repeat(6,1fr);grid-template-areas:"g g g g g g" "r r r s s s" "c c c m m m" "c c c k k k" "p p p p p p"}
  .card__kpis{grid-template-columns:repeat(2,1fr);row-gap:12px}
  .fgrid{grid-template-columns:repeat(3,1fr)}
  .ledger__head,.lrow{grid-template-columns:240px 1fr 120px 120px}
  .lens__grid{grid-template-columns:1fr}
  .dash-wrap{margin-right:0}
  .tag-illus{right:20px}
}
@media (max-width:767px){
  :root{--pad:20px;--r-frame:24px}
  body{font-size:17px}
  .nav{height:64px;gap:12px}
  .nav__links{display:none}
  .nav .btn{margin-left:auto}
  .nav__menu{display:block}
  .h1{font-size:46px;max-width:9ch}
  .h2{font-size:38px}
  .hero{height:auto}
  .hero__stage{position:relative;height:auto;min-height:100svh;overflow:hidden}
  .hero__sky{bottom:auto;height:100svh}
  .hero__sky img{object-position:50% 50%}
  .hero__ridge,.hero__video,.hero__night{display:none}
  .hero__shade{height:auto;top:52svh;bottom:0;background:linear-gradient(rgba(8,4,4,0),var(--night) 22svh)}
  .hero__mark-still{width:78vw;left:50%;top:27svh}
  .hero__content{padding-top:56svh;justify-content:flex-start}
  .hero__copy{margin:0}
  .badge{font-size:13px;flex-wrap:wrap}
  .ctas .btn{flex:1}
  .strip{grid-template-columns:1fr 1fr;margin-top:20px}
  .cell{padding:20px 12px 16px 0}
  .cell+.cell{padding-left:16px}
  .cell:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--hair-2)}
  .cell:nth-child(4){border-top:1px solid var(--hair-2)}
  .fig{font-size:44px}
  .lab{font-size:14px}
  .scroll-cue{display:none}
  .work{padding:96px 0 88px}
  .counters{grid-template-columns:1fr}
  .counter,.counter:nth-child(3){grid-column:auto;padding:24px 0;border-left:0!important}
  .counter+.counter{border-top:1px solid var(--hair-2)}
  .counter__tip{display:none}
  .months__chart{height:200px}
  .mval{font-size:11px}
  .mlab{font-size:9px}
  .cards{grid-template-columns:1fr;gap:14px;margin-top:48px}
  .card,.card--1{grid-column:auto}
  .card--1 .card__title{font-size:24px}
  .card--1 .card__views b{font-size:44px}
  .rib{width:260px}
  .aud__intro{height:auto}
  .aud__stage{position:relative;height:auto;min-height:100svh}
  .aud__poster{opacity:1}
  .aud__video{display:none}
  .aud__head{position:relative;inset:auto;min-height:100svh;padding-top:120px;padding-bottom:64px;justify-content:flex-end}
  .acct{flex-wrap:wrap}
  .acct__asof{border:0;padding:0;margin:0;width:100%}
  .bento{grid-template-columns:1fr;grid-template-areas:"g" "r" "s" "c" "m" "k" "p"}
  .streak{grid-template-columns:repeat(9,1fr)}
  .badge__div{display:none}
  .badge{gap:8px 10px}
  .tile--ring{grid-template-columns:1fr}
  .tile--median{grid-template-columns:1fr}
  .tile--proof{grid-template-columns:1fr 1fr}
  .proof:nth-child(3){border-left:0;padding-left:0}
  .proof:nth-child(n+3){border-top:1px solid var(--hair-2)}
  .proof{padding:20px 12px}
  .fgrid{grid-template-columns:1fr}
  .trio{grid-template-columns:1fr}
  .partners{padding:110px 0 100px}
  .ledger__head{display:none}
  .lrow{grid-template-columns:1fr auto;gap:10px 16px;padding:18px 4px}
  .lrow__what{grid-column:1/-1}
  .lrow__go{display:none}
  .lrow__res{grid-row:1;grid-column:2}
  .services{padding:96px 0 88px}
  .svc-grid{grid-template-columns:1fr;gap:32px}
  .svc-left{position:relative;top:0}
  .svc{grid-template-columns:40px 1fr 40px;padding:22px 4px}
  .svc__desc{grid-column:2/3;font-size:14px}
  .svc__arrow{grid-row:1;grid-column:3;width:36px;height:36px}
  .svc-preview{display:none}
  .lens{padding:100px 0}
  .dash-wrap{overflow:hidden;border-radius:20px}
  .dash{width:720px;transform-origin:0 0}
  .lens__facts{gap:18px}
  .system{height:auto}
  .system__stage{position:relative;height:100svh}
  .system__copy{justify-content:flex-end;padding-bottom:64px}
  .system__tint{background:linear-gradient(rgba(8,4,4,.2),rgba(8,4,4,.5) 45%,rgba(8,4,4,.92) 75%),linear-gradient(var(--night),rgba(8,4,4,0) 18%)}
  .speedo{display:none}
  .contact{height:auto}
  .contact__stage{position:relative;height:auto;min-height:100svh}
  .contact__plate,.contact__fg{height:62svh;object-position:75% 100%}
  .contact__sun{width:80vw;height:80vw}
  .contact__mark-still,.nogl .contact__mark-still{width:60vw;top:calc(var(--sy,40%) - 13svh)}
  .contact__limb{height:9%}
  .contact__grid{position:relative;inset:auto;grid-template-columns:1fr;padding-top:60svh;padding-bottom:64px;gap:28px}
  .contact__left{padding-bottom:0}
  .cframe{padding:4px 20px;justify-self:stretch}
  .crow{grid-template-columns:1fr;grid-template-areas:"k" "v" "b"}
  .crow__btns .btn{flex:1;height:48px}
  .follow__who{margin-left:0}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__logo{grid-column:1/-1}
}
