/* ══════════════════════════════════════════════════════════════════════════
   Substrate × OVO "RedSun" — impeccable lane.
   One continuous unlit field with a single warm source in it. Everything is
   transparent over the page ground; every visual event is a light placed in
   the dark. Type: Mulish (display/UI) + Inter (body), zero tracking, sentence
   case — uppercase appears exactly once, on the footer column headings.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── tokens ────────────────────────────────────────────────────────────── */
:root{
  /* ground — a green-black, not a blue-black. Substrate's dark is earth. */
  --night:      #06100b;
  --night-2:    #0a1712;
  --card:       rgba(30, 48, 37, .30);
  --card-2:     rgba(30, 48, 37, .46);
  --hair:       rgba(226, 240, 229, .075);
  --hair-2:     rgba(226, 240, 229, .10);

  /* the sun */
  --amber:      #d3841f;
  --amber-hi:   #f7c886;
  --amber-lo:   #a35c10;
  --amber-lit:  #ffe3b8;

  /* ink */
  --cream:      #f4efe4;   /* 17.6:1 on night */
  --muted:      #93a093;   /* 6.9:1  on night */
  --tert:       rgba(244, 239, 228, .62);

  --r-card: 18px;
  --r-panel: 28px;

  --ease: cubic-bezier(.25,.1,.25,1);          /* CSS `ease` — OVO's only curve */
  --ease-out: cubic-bezier(.16,.84,.34,1);

  --wrap: 1200px;
  --gut: clamp(20px, 4vw, 40px);
}

/* ── reset ─────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body,h1,h2,h3,h4,p,ul,ol,figure,form{margin:0}
ul,ol{padding:0;margin:0;list-style:none}
img,svg{display:block;max-width:100%}
button,input{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
hr{border:0;border-top:1px solid var(--hair);margin:0}

html{scroll-behavior:auto}
body{
  background:var(--night);
  color:var(--cream);
  font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;
  font-size:16px;line-height:1.45;
  letter-spacing:normal;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
/* fine grain so the flat field is never dead */
body::after{
  content:"";position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.34;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

h1,h2,h3,h4,.mark,.btn,.pill,.chip,.kicker,.stat__v,.pcard__v,.console__tabs,.foot__cols h3{
  font-family:Mulish,"Segoe UI",Helvetica,Arial,sans-serif;
}

.wrap{width:min(var(--wrap), 100% - (var(--gut) * 2));margin-inline:auto}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--amber);color:#0d1a12;padding:10px 18px;border-radius:0 0 10px 0;font-weight:600}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--amber-hi);outline-offset:3px;border-radius:4px}

/* ── type scale ────────────────────────────────────────────────────────── */
h1,h2,h3{font-weight:500;line-height:1.2;letter-spacing:normal}
.hero__h1{font-size:clamp(38px, 5.1vw, 65px);line-height:1.18;font-weight:500}
.sechead h2{font-size:clamp(29px, 3.4vw, 47px);line-height:1.2}
.row__copy h3{font-size:clamp(25px, 2.5vw, 34px);line-height:1.2}
.foot__brand h2{font-size:clamp(27px, 2.9vw, 40px);line-height:1.2;font-weight:400}
.card h3{font-size:22px;line-height:1.2;font-weight:600}
.pcard h3{font-size:18px;line-height:1.2;font-weight:600}
.member h3{font-size:22px;line-height:1.2;font-weight:600}

/* ── buttons — a sunrise inside every primary ─────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  height:44px;padding:0 20px;border-radius:999px;
  font-size:15px;font-weight:600;line-height:1;
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  position:relative;overflow:hidden;isolation:isolate;
  transition:border-color .42s var(--ease), background-color .42s var(--ease), color .42s var(--ease);
}
.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .42s var(--ease-out)}
.btn:hover svg{transform:translateX(3px)}
.btn--sm{height:40px;padding:0 17px;font-size:14.5px}
.btn--full{width:100%;justify-content:center}

.btn--primary{background-color:var(--amber);color:#0d1a12}
.btn--primary::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(circle at 50% 122%, var(--amber-hi), rgba(211,132,31,0) 76%);
  transition:transform .5s var(--ease-out), opacity .5s var(--ease);
}
.btn--primary:hover::before{transform:translateY(-16%) scale(1.15)}
.btn--primary:hover{background-color:#dd8d24}

.btn--ghost{background:rgba(226,240,229,.05);border-color:var(--hair-2);color:var(--cream)}
.btn--ghost:hover{background:rgba(226,240,229,.09);border-color:rgba(211,132,31,.42)}

/* ── header ────────────────────────────────────────────────────────────── */
.hdr{position:fixed;top:0;left:0;right:0;z-index:40;padding:0;will-change:transform;
  transition:transform .5s var(--ease-out)}
.hdr.is-hidden{transform:translateY(-118%)}
.hdr__pane{
  display:flex;align-items:center;gap:22px;
  width:min(var(--wrap), 100% - (var(--gut) * 2));margin-inline:auto;
  height:82px;padding:0;
  border:1px solid transparent;border-radius:0;background-color:transparent;
  transition:background-color .48s var(--ease), border-color .48s var(--ease),
             border-radius .48s var(--ease-out), transform .48s var(--ease-out);
  max-width:100%;
}
.hdr.is-stuck .hdr__pane{
  height:60px;padding:0 10px 0 22px;margin-top:12px;
  max-width:min(1060px, 100%);
  background-color:rgba(8,20,14,.94);
  border-color:var(--hair-2);
  border-radius:999px;
}
.mark{display:inline-flex;align-items:flex-end;gap:3px;font-size:19px;font-weight:700;line-height:1;flex:0 0 auto}
.mark__dot{width:7px;height:7px;border-radius:50%;background:var(--amber);margin-bottom:2px;
  box-shadow:0 0 12px 1px rgba(211,132,31,.75)}
.mark--lg{font-size:26px}
.mark--lg .mark__dot{width:9px;height:9px}

.hdr__nav{display:flex;gap:26px;margin-inline:auto;font-size:15px;font-family:Mulish,sans-serif;font-weight:500}
.hdr__nav a{color:var(--tert);transition:color .3s var(--ease);position:relative;padding:6px 0}
.hdr__nav a:hover,.hdr__nav a.is-current{color:var(--cream)}
.hdr__nav a::after{content:"";position:absolute;left:50%;bottom:-1px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--amber);
  transform:scale(0);transition:transform .38s var(--ease-out)}
.hdr__nav a:hover::after,.hdr__nav a.is-current::after{transform:scale(1)}

.hdr__end{display:flex;align-items:center;gap:16px;flex:0 0 auto}
body.nav-open .hdr__mail,
body.nav-open .hdr .btn--primary{opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}
.hdr__mail{font-size:14.5px;color:var(--tert);transition:color .3s var(--ease)}
.hdr__mail:hover{color:var(--cream)}

.burger{display:none;width:42px;height:42px;border:1px solid var(--hair-2);border-radius:999px;background:rgba(226,240,229,.05);
  flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger i{display:block;width:15px;height:1.5px;background:var(--cream);transition:transform .38s var(--ease-out), opacity .3s}
.burger[aria-expanded="true"] i:first-child{transform:translateY(3.25px) rotate(45deg)}
.burger[aria-expanded="true"] i:last-child{transform:translateY(-3.25px) rotate(-45deg)}

.mobnav{position:fixed;inset:0;z-index:35;background:var(--night);
  background-image:radial-gradient(120% 60% at 50% 104%, rgba(211,132,31,.16), rgba(211,132,31,0) 62%);
  display:flex;flex-direction:column;justify-content:center;gap:26px;padding:96px var(--gut) 48px;
  opacity:0;transition:opacity .34s var(--ease)}
.mobnav[hidden]{display:none}
.mobnav.is-open{opacity:1}
.mobnav nav{display:flex;flex-direction:column;gap:4px}
.mobnav nav a{font-family:Mulish,sans-serif;font-size:30px;font-weight:500;padding:9px 0;color:var(--cream);
  opacity:0;transform:translateY(18px)}
.mobnav.is-open nav a{opacity:1;transform:none;transition:opacity .5s var(--ease), transform .5s var(--ease-out)}
.mobnav.is-open nav a:nth-child(1){transition-delay:.05s}
.mobnav.is-open nav a:nth-child(2){transition-delay:.10s}
.mobnav.is-open nav a:nth-child(3){transition-delay:.15s}
.mobnav.is-open nav a:nth-child(4){transition-delay:.20s}
.mobnav.is-open nav a:nth-child(5){transition-delay:.25s}
.mobnav.is-open nav a:nth-child(6){transition-delay:.30s}
.mobnav .btn{align-self:flex-start}
.mobnav__foot{font-size:14px;color:var(--muted)}
.mobnav__foot a{color:var(--cream)}

/* ── the load veil ─────────────────────────────────────────────────────── */
.veil{position:fixed;inset:0;z-index:200;background:var(--night);display:grid;place-items:center;pointer-events:none}
.veil__line{display:block;width:0;height:1px;background:linear-gradient(90deg,rgba(211,132,31,0),var(--amber-hi),rgba(211,132,31,0));
  box-shadow:0 0 26px 2px rgba(211,132,31,.5)}
.veil.is-done{display:none}
/* if theme.js never runs, the veil still lifts */
.veil{animation:veilFail .5s var(--ease) 3.4s forwards}
@keyframes veilFail{to{opacity:0;visibility:hidden}}

/* ── the light that follows you ────────────────────────────────────────── */
.cursorlight{position:fixed;inset:0;z-index:6;pointer-events:none;opacity:0;transition:opacity .8s var(--ease)}
.cursorlight.is-on{opacity:1}
.cursorlight i{position:absolute;top:0;left:0;width:280px;height:280px;margin:-140px 0 0 -140px;border-radius:50%;
  background:radial-gradient(circle closest-side, rgba(211,132,31,.22), rgba(211,132,31,0) 70%);
  filter:blur(18px);will-change:transform}

/* ══ 1. HERO ═══════════════════════════════════════════════════════════ */
.hero{position:relative;height:min(1440px, 160vh);min-height:940px;overflow:hidden;isolation:isolate}

/* god rays — three white shafts raked at −30° across the top-left */
.rays{position:absolute;left:-18%;top:-36%;width:130%;height:126%;
  transform:rotate(-30deg) translate3d(calc(var(--mx, 0px) * -1.15), calc(var(--my, 0px) * -1.15), 0);
  transform-origin:42% 40%;pointer-events:none;opacity:0}
.rays i{position:absolute;top:0;display:block;
  background:linear-gradient(180deg, rgba(240,248,242,.14) 4%, rgba(240,248,242,0) 67%)}
.rays i:nth-child(1){left:15%;width:470px;height:705px;filter:blur(9px)}
.rays i:nth-child(2){left:30%;width:566px;height:800px;filter:blur(18px);opacity:.8}
.rays i:nth-child(3){left:49%;width:420px;height:618px;filter:blur(16px);opacity:.7}

/* the sun — five stacked layers, not one asset */
.sun{position:absolute;left:50%;top:38%;width:min(1200px, 128vw);aspect-ratio:1/1;
  transform:translate3d(calc(-50% + var(--mx, 0px)), var(--my, 0px), 0);
  pointer-events:none;will-change:transform}
.sun__move{position:absolute;inset:0;will-change:transform,opacity}
.sun__halo{position:absolute;left:50%;top:-9%;width:124%;height:62%;transform:translateX(-50%);
  background:radial-gradient(ellipse at 50% 100%, rgba(214,234,220,.17), rgba(214,234,220,0) 64%);
  filter:blur(30px)}
.sun__spin{position:absolute;inset:0;border-radius:50%;will-change:transform}
.sun__disc{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle closest-side at 50% 50%,
    #2a1707 0%, #3a220a 34%, #5a340f 56%, #7a4512 70%,
    #55300d 76%, #2b1a08 80%, #1c1108 88%,
    #6b3f11 90.5%, #b8701c 93%, #e8a349 95.2%, #ffdda8 97%,
    rgba(255,221,168,.5) 98.4%, rgba(255,221,168,0) 99.5%);
  box-shadow:0 0 200px 14px rgba(211,132,31,.22)}
.sun__grain{position:absolute;inset:0;border-radius:50%;opacity:.5;
  background:
    radial-gradient(38% 26% at 28% 34%, rgba(0,0,0,.30), transparent 70%),
    radial-gradient(30% 20% at 71% 62%, rgba(255,222,178,.14), transparent 72%),
    radial-gradient(22% 16% at 55% 20%, rgba(0,0,0,.24), transparent 74%),
    conic-gradient(from 12deg,
      rgba(255,240,215,.05), rgba(0,0,0,.10) 11%, rgba(255,240,215,.04) 24%,
      rgba(0,0,0,.11) 39%, rgba(255,240,215,.06) 55%, rgba(0,0,0,.08) 71%,
      rgba(255,240,215,.045) 86%, rgba(255,240,215,.05) 100%);
  -webkit-mask-image:radial-gradient(circle closest-side, #000 0 72%, rgba(0,0,0,0) 96%);
  mask-image:radial-gradient(circle closest-side, #000 0 72%, rgba(0,0,0,0) 96%)}
.sun__core{position:absolute;left:50%;top:14%;width:86%;height:70%;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle closest-side, rgba(224,145,36,.9) 24%, rgba(211,132,31,0) 72%);
  filter:blur(46px);opacity:.4}
.sun__bloom{position:absolute;left:50%;top:-26%;width:110%;height:40%;transform:translateX(-50%);
  background:radial-gradient(ellipse at 50% 100%, rgba(240,163,66,.46), rgba(211,132,31,.16) 34%, rgba(211,132,31,0) 68%);
  filter:blur(26px)}
.sun__shade{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(ellipse 92% 80% at 50% 0%,
    rgba(6,16,11,0) 28%, rgba(6,16,11,.22) 54%, rgba(6,16,11,.58) 82%, rgba(6,16,11,.8) 100%)}
.sun__rim{position:absolute;inset:0;border-radius:50%;
  box-shadow:inset 0 0 0 1.4px rgba(255,240,214,.88), 0 0 70px rgba(255,196,120,.16);
  -webkit-mask-image:linear-gradient(180deg, #000 0%, rgba(0,0,0,.55) 22%, rgba(0,0,0,.2) 42%, rgba(0,0,0,0) 62%);
  mask-image:linear-gradient(180deg, #000 0%, rgba(0,0,0,.55) 22%, rgba(0,0,0,.2) 42%, rgba(0,0,0,0) 62%)}

.hero__inner{position:relative;z-index:2;padding-top:clamp(126px, 15.5vh, 186px)}
.hero__content{text-align:center;display:flex;flex-direction:column;align-items:center;will-change:transform,opacity}

.pill{display:inline-flex;align-items:center;gap:0;border-radius:999px;overflow:hidden;
  background:rgba(20,32,25,.9);border:1px solid var(--hair-2);font-size:13.5px;font-weight:600;height:30px}
.pill__a{background-color:var(--amber);background-image:radial-gradient(circle at 50% 122%, var(--amber-hi), rgba(211,132,31,0) 78%);
  color:#0d1a12;padding:0 13px;height:100%;display:inline-flex;align-items:center}
.pill__b{color:var(--cream);padding:0 14px 0 12px;display:inline-flex;align-items:center;gap:6px;font-weight:500}
.pill__b svg{width:13px;height:13px;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.hero__h1{margin-top:26px;max-width:none}
.clip{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.clip > span{display:block}
.hero__sub{margin-top:22px;max-width:56ch;color:var(--muted);font-size:16.5px;line-height:1.5}
.hero__acts{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

/* the thing standing on the horizon */
.hero__stage{position:absolute;min-width:0;left:50%;transform:translateX(-50%);top:clamp(660px, 64%, 980px);
  z-index:2;perspective:2400px;perspective-origin:50% 0%}

.console{
  position:relative;min-width:0;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg, rgba(16,28,21,.94), rgba(9,19,14,.96));
  border:1px solid var(--hair-2);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85), 0 0 120px -40px rgba(211,132,31,.35);
  transform-origin:50% 0;will-change:transform;
}
.console__bar{display:flex;align-items:center;gap:22px;padding:0 18px;height:56px;
  border-bottom:1px solid var(--hair);background:rgba(10,22,16,.7)}
.console__mark{display:inline-flex;align-items:flex-end;gap:2.5px;font-size:15px;font-weight:700;line-height:1}
.console__mark i{width:5px;height:5px;border-radius:50%;background:var(--amber);margin-bottom:2px}
.console__tabs{display:flex;gap:20px;margin-inline:auto;font-size:13.5px;font-weight:500;color:var(--tert)}
.console__tabs b{font-weight:500}
.console__tabs .is-on{color:var(--cream)}
.console__meta{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);white-space:nowrap}
.livedot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 rgba(211,132,31,.5);animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(211,132,31,.45)}70%{box-shadow:0 0 0 8px rgba(211,132,31,0)}100%{box-shadow:0 0 0 0 rgba(211,132,31,0)}}
.console__body{padding:22px}

.statrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.stat{background:var(--card);border:1px solid var(--hair);border-radius:12px;padding:16px 16px 14px}
.stat__v{font-size:clamp(28px, 2.6vw, 36px);font-weight:600;line-height:1.1;color:var(--amber-hi);font-variant-numeric:tabular-nums}
.stat__k{margin-top:5px;font-size:14px;color:var(--cream);line-height:1.35}
.stat__f{margin-top:10px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px;line-height:1.3}
.stat__f i{width:5px;height:5px;border-radius:1px;background:var(--amber);flex:0 0 auto}

.console__split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px;margin-top:14px}
.minihead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.minihead h2{font-size:14px;font-weight:600;color:var(--cream);line-height:1.2}
.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;
  font-size:11.5px;font-weight:600;line-height:1;border:1px solid var(--hair-2);color:var(--muted);
  background:rgba(226,240,229,.04);white-space:nowrap}
.chip--sim{color:#e0b382;border-color:rgba(211,132,31,.30);background:rgba(211,132,31,.09)}
.chip--sim::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber)}
.chip--client,.chip--own,.chip--prov{height:auto;min-height:26px;padding:4px 12px;font-size:12px;
  white-space:normal;line-height:1.35;max-width:100%}
.chip--client{color:#e0b382;border-color:rgba(211,132,31,.30);background:rgba(211,132,31,.09)}
.chip--own{color:var(--cream);border-color:var(--hair-2)}
.chip--prov{color:var(--muted)}

.pipe,.feed{background:var(--card);border:1px solid var(--hair);border-radius:12px;padding:14px}
.pipe__stages{display:flex;flex-direction:column;gap:9px}
.pipe__stages li{display:grid;grid-template-columns:78px minmax(0,1fr) 34px;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.pipe__stages li.is-done{color:var(--cream)}
.pipe__stages li.is-active{color:var(--amber-hi)}
.pipe__bar{height:3px;border-radius:2px;background:rgba(226,240,229,.09);overflow:hidden}
.pipe__bar i{display:block;height:100%;width:100%;background:var(--amber);border-radius:2px;transform:scaleX(0);transform-origin:left center;transition:transform .9s var(--ease)}
.pipe__pct{text-align:right;font-variant-numeric:tabular-nums;font-size:12px}

.feed__list{display:flex;flex-direction:column;gap:0}
.feed__list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;
  padding:7px 0;border-bottom:1px solid var(--hair);font-size:12.5px;color:var(--muted);line-height:1.3}
.feed__list li:last-child{border-bottom:0}
.feed__list li.is-new{animation:feedin .5s var(--ease-out) both}
@keyframes feedin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.feed__ref{color:var(--amber-hi);font-weight:600;font-variant-numeric:tabular-nums}
.feed__txt{color:var(--cream);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed__seg{color:var(--muted)}
.feed__val{font-variant-numeric:tabular-nums;color:var(--tert);white-space:nowrap}
.feed__list--tall li{padding:8.5px 0}

/* ══ 2. proof strip ════════════════════════════════════════════════════ */
.strip{position:relative;z-index:2;padding:14px 0 66px;text-align:center}
.strip__lead{color:var(--muted);font-size:15px;margin-bottom:22px}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee__track{display:flex;width:max-content;will-change:transform}
.marquee__track > span{display:inline-flex;align-items:center;gap:12px;padding:0 30px;
  font-family:Mulish,sans-serif;font-size:17px;font-weight:600;color:rgba(244,239,228,.42);white-space:nowrap}
.marquee__track > span i{width:5px;height:5px;border-radius:50%;background:rgba(211,132,31,.75);flex:0 0 auto}
.marquee__track > span em{font-style:normal;font-weight:400;font-size:14px;color:rgba(244,239,228,.28)}

/* ══ section heads ═════════════════════════════════════════════════════ */
.sechead{max-width:760px;margin:0 auto 54px;text-align:center}
.sechead--left{max-width:820px;margin-inline:0;text-align:left}
.sechead > p:not(.kicker){margin-top:16px;color:var(--muted);font-size:16.5px;line-height:1.5;max-width:64ch;margin-inline:auto}
.sechead--left > p:not(.kicker){margin-inline:0}
.kicker{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--muted);margin-bottom:18px}
.kicker i{width:7px;height:7px;border-radius:2px;background:var(--amber);box-shadow:0 0 10px rgba(211,132,31,.7)}

/* ══ 3. bento ══════════════════════════════════════════════════════════ */
.bento-sec{position:relative;z-index:2;padding:24px 0 120px}
.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:306px;gap:20px}
.card{position:relative;overflow:hidden;border-radius:var(--r-card);
  background:linear-gradient(180deg, rgba(30,48,37,.34), rgba(20,34,26,.22));
  border:1px solid var(--hair);
  transition:border-color .7s var(--ease);will-change:transform}
.card:hover{border-color:rgba(211,132,31,.26)}
.card__lamp{position:absolute;inset:0;opacity:0;pointer-events:none;
  transition:opacity .7s var(--ease);
  background:radial-gradient(120% 92% at 50% 0%, rgba(211,132,31,.22), rgba(211,132,31,.06) 42%, rgba(211,132,31,0) 70%)}
.card:hover .card__lamp,.card:focus-within .card__lamp,
.pcard:hover .card__lamp,.pcard:focus-within .card__lamp,
.stage:hover .card__lamp,.stage:focus-within .card__lamp{opacity:1}
/* the lamp is light in the room, never a film over the text */
.pcard .card__lamp,.stage .card__lamp{z-index:1}
.card__pad{position:relative;z-index:2;padding:26px 26px 0}
.card__pad--end{padding:0 26px 26px}
.card__tag{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:11px}
.card__tag::before{content:"";width:5px;height:5px;border-radius:1px;background:var(--amber)}
.card h3{margin-bottom:9px}
.card p{color:var(--muted);font-size:14.5px;line-height:1.45;max-width:34ch}

.card--a{grid-column:1/5;grid-row:1}
.card--b{grid-column:5/9;grid-row:1}
.card--c{grid-column:1/9;grid-row:2}
.card--d{grid-column:9/13;grid-row:1/3;display:flex;flex-direction:column;justify-content:space-between}

/* cropped, over-scaled fragments bleeding out of their own bounds.
   Each drifts with the pointer at its own rate — depth by differential speed. */
.frag{position:absolute;z-index:1;pointer-events:none;
  transform:translate3d(calc(var(--mx, 0px) * var(--k, 0)), 0, 0)}
.frag--ledger{left:26px;right:-72px;bottom:-64px;--k:-.34}
.frag--tile{--k:-.66}
.frag--tree{--k:-.5}
.frow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;
  height:38px;padding:0 12px;margin-bottom:7px;border-radius:9px;
  background:rgba(18,30,23,.86);border:1px solid var(--hair);font-size:12.5px;color:var(--muted)}
.frow .fbadge{font-weight:600;color:var(--cream);font-size:11.5px}
.frow .fval{font-variant-numeric:tabular-nums;color:var(--cream)}
.frow.is-hot{background-color:var(--amber);background-image:radial-gradient(circle at 30% 130%, var(--amber-hi), rgba(211,132,31,0) 74%);
  border-color:transparent;color:#2a1a07}
.frow.is-hot .fbadge,.frow.is-hot .fval{color:#12200f}

.frag--tile{left:34px;right:-56px;bottom:-14px;--k:-.66}
.tile{border-radius:12px;background:rgba(18,30,23,.9);border:1px solid var(--hair);padding:13px 14px 8px;color:var(--amber-hi)}
.tile__top{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.tile__v{margin-top:6px;font-family:Mulish,sans-serif;font-size:27px;font-weight:600;color:var(--cream);font-variant-numeric:tabular-nums;line-height:1.1}
.tile__spark{width:100%;height:42px;margin-top:2px;color:var(--amber)}

.frag--tree{right:-40px;bottom:-26px;width:330px;--k:-.5}
.tree{border-radius:12px 0 0 0;background:rgba(16,28,21,.92);border:1px solid var(--hair);border-right:0;border-bottom:0;padding:14px 16px 22px;font-size:13px;color:var(--muted)}
.tree__h{display:flex;align-items:center;gap:8px;color:var(--cream);font-weight:600;margin-bottom:10px}
.tree__h i{width:14px;height:14px;border-radius:4px;background-color:var(--amber);background-image:radial-gradient(circle at 50% 130%, var(--amber-hi), rgba(211,132,31,0) 76%)}
.tree__i{padding:5px 0 5px 22px;position:relative}
.tree__i::before{content:"";position:absolute;left:7px;top:12px;width:7px;height:1px;background:var(--hair-2)}
.tree__i.is-on{color:var(--cream)}
.tree__i.is-on::after{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1.5px;border-radius:1px;background:var(--amber)}
.tree__sub{padding:5px 0 5px 40px;position:relative;font-size:12.5px}
.tree__sub::before{content:"";position:absolute;left:26px;top:12px;width:7px;height:1px;background:var(--hair-2)}
.spark{position:absolute;background:var(--amber-lit);border-radius:1px;
  clip-path:polygon(50% 0%, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0% 50%, 39% 39%);
  box-shadow:0 0 16px 2px rgba(255,227,184,.5)}
.spark--1{width:26px;height:26px;right:104px;top:-14px}
.spark--2{width:14px;height:14px;right:150px;top:26px;opacity:.7}

/* the ray-fan — the motif at card scale */
.fan{position:relative;height:56%;min-height:150px;overflow:hidden;
  transform:translate3d(calc(var(--mx, 0px) * -.8), 0, 0)}
.fan > i{position:absolute;left:50%;bottom:34%;width:78px;height:96%;margin-left:-39px;
  background:linear-gradient(180deg, rgba(224,138,30,0) 0%, rgba(224,138,30,.55) 52%, #f0a83c 100%);
  clip-path:polygon(50% 100%, 0 0, 100% 0);transform-origin:50% 100%}
.fan > i:nth-child(1){transform:rotate(-34deg) scaleX(.7);opacity:.55}
.fan > i:nth-child(2){transform:rotate(-17deg) scaleX(.9);opacity:.75}
.fan > i:nth-child(3){transform:rotate(0deg) scaleX(1.05)}
.fan > i:nth-child(4){transform:rotate(17deg) scaleX(.9);opacity:.75}
.fan > i:nth-child(5){transform:rotate(34deg) scaleX(.7);opacity:.55}
.fan__tile{position:absolute;left:50%;bottom:16%;width:88px;height:88px;margin-left:-44px;border-radius:22px;
  background:linear-gradient(180deg, rgba(28,44,34,.98), rgba(14,26,19,.98));
  border:1px solid var(--hair-2);display:grid;place-items:center;color:var(--amber-lit);
  box-shadow:0 18px 40px -14px rgba(0,0,0,.9), 0 0 44px -6px rgba(211,132,31,.45)}
.fan__tile svg{width:40px;height:40px}

/* ══ 4. alternating rows ═══════════════════════════════════════════════ */
.rows-sec{position:relative;z-index:2;padding:40px 0 110px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px, 5vw, 84px);align-items:center;
  padding:clamp(40px, 5vw, 70px) 0}
.row__copy .chip{margin-bottom:18px}
.row__copy h3{margin-bottom:16px;max-width:20ch}
.row__copy p{color:var(--muted);font-size:16px;line-height:1.55;max-width:48ch;margin-bottom:12px}
.row__act{margin:22px 0 26px}
.checks{display:flex;flex-direction:column;gap:0}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:start;padding:11px 0;
  font-size:15.5px;color:var(--cream);line-height:1.42}
.checks--tight li{padding:8px 0;font-size:14px;color:var(--tert)}
.checks .tick{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;flex:0 0 auto;margin-top:1px;
  background-color:var(--amber);background-image:radial-gradient(circle at 50% 128%, var(--amber-hi), rgba(211,132,31,0) 76%)}
.checks .tick svg{width:12px;height:12px;fill:none;stroke:#12200f;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.checks--tight .tick{width:18px;height:18px;border-radius:6px;margin-top:0}
.checks--tight .tick svg{width:10px;height:10px}

.row__art{will-change:transform,opacity}
.art{position:relative;aspect-ratio:545/645;max-width:545px;margin-inline:auto;width:100%;
  border-radius:22px;overflow:hidden;border:1px solid var(--hair);
  background:radial-gradient(120% 90% at 50% 108%, #1d1206 0%, #0c1610 52%, #070f0b 100%)}
.art::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;
  background:linear-gradient(rgba(6,16,11,0), var(--night) 84%)}

.art--rings > span{position:absolute;left:50%;top:46%;border-radius:50%;transform:translate(-50%,-50%);
  border:1px solid rgba(211,132,31,.30);aspect-ratio:1/1}
.art--rings > span:nth-child(1){width:158%;border-color:rgba(211,132,31,.20)}
.art--rings > span:nth-child(2){width:114%;border-color:rgba(211,132,31,.34)}
.art--rings > span:nth-child(3){width:78%;border-color:rgba(232,150,40,.58);
  box-shadow:0 0 80px -10px rgba(211,132,31,.5), inset 0 0 110px -26px rgba(232,150,40,.85)}
.art--rings > span:nth-child(4){width:46%;border-color:rgba(255,224,178,.8);
  background:radial-gradient(circle closest-side, rgba(232,150,40,.5), rgba(211,132,31,0) 78%);
  box-shadow:0 0 70px -6px rgba(211,132,31,.65)}
.art__tick{position:absolute;left:50%;top:46%;width:11px;height:11px;border-radius:2px;
  transform:translate(-50%,-50%);
  background:var(--amber-lit);box-shadow:0 0 26px 4px rgba(255,227,184,.8)}
.art__label{position:absolute;left:26px;bottom:24px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;max-width:60%}
.art__label b{display:block;order:1;font-family:Mulish,sans-serif;font-size:16px;font-weight:600;color:var(--cream)}
.art__label span{display:block;order:2;position:static;margin-top:3px;border:0;transform:none;border-radius:0;font-size:13px;color:var(--muted)}

.art--stack{perspective:1000px}
.art--stack .slab{position:absolute;left:10%;right:10%;height:74px;border-radius:12px;
  background:linear-gradient(180deg, rgba(26,42,32,.96), rgba(15,27,20,.96));
  border:1px solid var(--hair-2);padding:15px 18px;
  transform-style:preserve-3d;
  box-shadow:0 22px 40px -22px rgba(0,0,0,.9)}
.art--stack .slab span{display:block;font-family:Mulish,sans-serif;font-size:15px;font-weight:600;color:var(--cream)}
.art--stack .slab em{display:block;margin-top:3px;font-style:normal;font-size:12.5px;color:var(--muted)}
.art--stack .slab[data-i="0"]{top:9%;  transform:rotateX(33deg) rotateZ(-9deg) translateZ(0px)  scale(.9)}
.art--stack .slab[data-i="1"]{top:26%; transform:rotateX(33deg) rotateZ(-9deg) translateZ(24px) scale(.93)}
.art--stack .slab[data-i="2"]{top:43%; transform:rotateX(33deg) rotateZ(-9deg) translateZ(48px) scale(.96)}
.art--stack .slab[data-i="3"]{top:60%; transform:rotateX(33deg) rotateZ(-9deg) translateZ(72px) scale(.99)}
.art--stack .slab[data-i="4"]{top:77%; transform:rotateX(33deg) rotateZ(-9deg) translateZ(96px) scale(1.02)}
.art--stack .slab.is-lit{background-color:var(--amber);
  background-image:radial-gradient(circle at 40% 140%, var(--amber-hi), rgba(211,132,31,0) 78%);
  border-color:rgba(255,216,164,.6);box-shadow:0 26px 60px -18px rgba(211,132,31,.55)}
.art--stack .slab.is-lit span{color:#12200f}
.art--stack .slab.is-lit em{color:rgba(18,32,15,.72)}

/* ══ 5. proof cards ════════════════════════════════════════════════════ */
.proof-sec{position:relative;z-index:2;padding:40px 0 116px}
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;perspective:1300px}
.pcard{position:relative;overflow:hidden;border-radius:var(--r-card);padding:26px 24px;
  background:linear-gradient(180deg, rgba(30,48,37,.32), rgba(20,34,26,.2));
  border:1px solid var(--hair);transition:border-color .7s var(--ease);will-change:transform,opacity}
.pcard:hover{border-color:rgba(211,132,31,.28)}
.pcard.is-lead{border-color:rgba(211,132,31,.5);padding:34px 26px;margin-top:-18px;
  background:linear-gradient(180deg, rgba(38,58,44,.42), rgba(20,34,26,.24))}
.pcard > *{position:relative;z-index:2}
.pcard__flag{display:inline-flex;height:24px;align-items:center;padding:0 11px;border-radius:999px;margin-bottom:14px;
  background-color:var(--amber);background-image:radial-gradient(circle at 50% 128%, var(--amber-hi), rgba(211,132,31,0) 76%);
  color:#12200f;font-size:11.5px;font-weight:700}
.pcard__v{font-family:Mulish,sans-serif;font-size:40px;font-weight:500;line-height:1.05;color:var(--cream);font-variant-numeric:tabular-nums}
.pcard.is-lead .pcard__v{font-size:52px;color:var(--amber-hi)}
.pcard__k{margin-top:7px;font-size:14px;color:var(--muted);line-height:1.4}
.pcard h3{margin-top:20px}
.pcard__d{margin-top:9px;font-size:14.5px;color:var(--muted);line-height:1.5}
.pcard__acts{margin:20px 0 18px}
.pcard__src{margin-top:16px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* ══ 6. the light zone ═════════════════════════════════════════════════ */
.team-sec{position:relative;z-index:2;padding:20px 0 120px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.member__plate{position:relative;aspect-ratio:360/460;border-radius:16px;overflow:hidden;background:#e8e0cf;
  transition:transform .7s var(--ease-out)}
.member__plate img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
/* three unrelated objects out of one still: bare stone, the green sheet,
   the gilded edge of the stack — the light row must not read as one tile. */
.member__plate[data-crop="0"] img{object-position:6% 84%;transform:scale(2.3);filter:saturate(.72) brightness(1.06)}
.member__plate[data-crop="1"] img{object-position:34% 70%;transform:scale(3) rotate(-90deg);filter:saturate(1.18)}
.member__plate[data-crop="2"] img{object-position:56% 46%;transform:scale(3.4);filter:saturate(1.06) brightness(1.04)}
.member:hover .member__plate[data-crop="0"] img{transform:scale(2.4)}
.member:hover .member__plate[data-crop="1"] img{transform:scale(3.12) rotate(-90deg)}
.member:hover .member__plate[data-crop="2"] img{transform:scale(3.55)}
.member__n{position:absolute;left:14px;top:12px;font-family:Mulish,sans-serif;font-size:13px;font-weight:700;color:#3a3226;
  background:rgba(255,255,255,.55);border-radius:6px;padding:3px 8px}
.member__arrow{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
  background:rgba(18,30,22,.86);transition:background-color .5s var(--ease)}
.member__arrow svg{width:15px;height:15px;fill:none;stroke:var(--cream);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.member:hover .member__arrow{background-color:var(--amber)}
.member:hover .member__arrow svg{stroke:#12200f}
.member h3{margin-top:20px}
.member__role{margin-top:6px;font-size:15px;color:var(--amber-hi)}
.member__proof{margin-top:10px;font-size:14.5px;color:var(--muted);line-height:1.45}
.member__own{margin-top:6px;font-size:14.5px;color:var(--tert)}

/* ══ 7. CTA ════════════════════════════════════════════════════════════ */
.cta-sec{position:relative;z-index:2;padding:0 0 110px}
.ctapanel{position:relative;overflow:hidden;border-radius:var(--r-panel);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:40px;align-items:center;
  min-height:520px;padding:clamp(34px, 4vw, 62px);
  border:1px solid var(--hair-2);background-color:#08130d;
  background-image:linear-gradient(180deg, rgba(6,16,11,.90) 0%, rgba(6,16,11,.42) 52%, rgba(6,16,11,.88) 100%),
                   url("../../shared/assets/ovo/hero.webp");
  background-size:cover,cover;background-position:center,center 62%;
  will-change:transform,opacity}
.ctapanel > *{position:relative;z-index:2}
.ctapanel__copy{max-width:520px}
.ctapanel__copy h2{font-size:clamp(28px, 3.3vw, 47px);line-height:1.2;margin-bottom:16px}
.ctapanel__copy > p{color:var(--muted);font-size:16.5px;line-height:1.5;max-width:44ch}
.fuse{display:flex;align-items:center;gap:0;margin-top:28px;max-width:460px;position:relative;flex-wrap:wrap}
.fuse input{flex:1 1 200px;height:52px;border-radius:999px 0 0 999px;border:1px solid var(--hair-2);border-right:0;
  background:rgba(10,22,16,.88);padding:0 20px;font-size:15px;color:var(--cream);min-width:0}
.fuse input::placeholder{color:rgba(244,239,228,.42)}
.fuse input:focus{outline:none;border-color:rgba(211,132,31,.5)}
.fuse .btn{height:52px;border-radius:0 999px 999px 0;padding:0 22px}
.fuse__msg{flex:1 0 100%;margin-top:11px;font-size:13.5px;color:var(--amber-hi);min-height:18px}
.ctapanel__alt{margin-top:18px;font-size:14.5px;color:var(--muted)}
.ctapanel__alt a{color:var(--cream);border-bottom:1px solid rgba(211,132,31,.5);padding-bottom:1px}
.ctapanel__art{position:relative;margin-right:clamp(-64px, -4vw, -28px)}
.console--wide{transform:none}
.console--wide .minihead{justify-content:flex-start;gap:14px}
.console--wide .console__meta{padding-right:34px}
.ctapanel__set{position:absolute;left:0;right:0;bottom:-34px;height:210px;z-index:1;
  background:radial-gradient(62% 100% at 50% 100%, rgba(240,163,66,.72), rgba(211,132,31,0) 76%);
  filter:blur(26px)}

/* ══ footer ════════════════════════════════════════════════════════════ */
.foot{position:relative;z-index:2;padding:0 0 34px;border-top:1px solid var(--hair)}
.foot__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding:70px 0 56px}
.foot__brand h2{margin-top:26px;max-width:16ch}
.foot__brand p{margin-top:18px;color:var(--muted);font-size:15px;line-height:1.6;max-width:52ch}
.foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.foot__cols h3{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--cream);margin-bottom:16px}
.foot__cols a{display:block;padding:6px 0;font-size:15px;color:var(--tert);transition:color .3s var(--ease)}
.foot__cols a:hover{color:var(--cream)}
.foot__bar{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding-top:22px;border-top:1px solid var(--hair);font-size:13.5px;color:var(--muted)}

/* ══ motion defaults — everything settles if JS never runs ═════════════ */
[data-fade],[data-lift],[data-swing],[data-drift]{opacity:1}
html.js-motion [data-fade],
html.js-motion [data-lift],
html.js-motion [data-swing],
html.js-motion [data-drift]{opacity:0}
/* the line masks start hidden by opacity, never by transform — GSAP would
   parse a CSS transform as the element's base offset and never clear it */
html.js-motion .clip > span{opacity:0}
html.js-motion .hero__content{opacity:0}

/* ══ responsive ════════════════════════════════════════════════════════ */
@media (max-width:1080px){
  .hdr__nav{gap:18px;font-size:14px}
  .hdr__mail{display:none}
  .bento{grid-auto-rows:auto}
  .card--a,.card--b{grid-column:span 6;min-height:290px}
  .card--c{grid-column:1/13;grid-row:auto;min-height:300px}
  .card--d{grid-column:1/13;grid-row:auto;min-height:420px}
  .frag--tree{right:-20px}
  .team{grid-template-columns:repeat(2,1fr)}
  .member:last-child{grid-column:span 2;max-width:50%}
  .ctapanel{grid-template-columns:1fr;gap:34px}
  .ctapanel__art{margin-right:clamp(-90px,-6vw,-30px)}
}

@media (max-width:900px){
  .hdr__nav{display:none}
  .burger{display:flex}
  .hdr.is-stuck .hdr__pane{max-width:100%;padding:0 10px 0 18px}
  .row{grid-template-columns:1fr;gap:34px}
  .row--flip .row__art{order:2}
  .row--flip .row__copy{order:1}
  .proof{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
  .pcard.is-lead{margin-top:0}
  .console__split{grid-template-columns:minmax(0,1fr)}
  .foot__top{grid-template-columns:1fr;gap:40px}
}

@media (max-width:640px){
  :root{--gut:20px}
  /* mobile is art-directed, not shrunk: the copy goes left, the sun crests in
     flow just above the console, and the console runs the full column. */
  .hero{height:auto;min-height:0;padding-bottom:66px;display:flex;flex-direction:column}
  .hero__inner{padding-top:112px;order:1}
  .hero__content{text-align:left;align-items:flex-start}
  .hero__h1{max-width:none}
  .hero__acts{justify-content:flex-start;width:100%}
  .hero__acts .btn{flex:1 1 100%;justify-content:center}
  .sun{order:2;position:relative;left:auto;top:auto;transform:none;
    width:184vw;margin:56px 0 calc(-184vw + 168px) -42vw}
  .hero__stage{order:3;position:relative;left:auto;transform:none;top:auto;
    width:min(var(--wrap), 100% - (var(--gut) * 2));perspective:1200px}
  .rays{opacity:0!important}
  .statrow{grid-template-columns:1fr}
  .stat{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:baseline}
  .stat__v{font-size:30px}
  .stat__k{margin-top:0}
  .stat__f{grid-column:1/-1;margin-top:8px}
  .console__tabs{display:none}
  .console__body{padding:16px}
  .console__bar{padding:0 14px;height:50px}
  .bento{gap:16px}
  .card--a,.card--b{grid-column:1/13;grid-row:auto;min-height:300px}
  .card--d{min-height:400px}
  .frag--ledger{left:18px;right:-90px}
  .frag--tile{left:18px;right:-70px}
  /* no room to overlay the tree on the copy — it drops into flow below it,
     still cropped off the card's bottom-right corner. */
  .card--c{display:flex;flex-direction:column;min-height:0}
  .card--c .card__pad{flex:0 0 auto}
  .frag--tree{position:relative;left:auto;right:auto;bottom:auto;top:auto;
    width:auto;margin:20px 0 0 34px;--k:0}
  .ctapanel__art .console__body{padding-right:46px}
  .team{grid-template-columns:1fr;max-width:380px;margin-inline:auto}
  .member:last-child{grid-column:auto;max-width:none}
  .sechead{margin-bottom:38px;text-align:left}
  .sechead > p:not(.kicker){margin-inline:0}
  .ctapanel{padding:30px 22px 40px;min-height:0}
  .ctapanel__art{margin-right:-46px;margin-left:-10px}
  .fuse input{flex:1 1 100%;border-radius:999px;border-right:1px solid var(--hair-2)}
  .fuse .btn{border-radius:999px;margin-top:10px;width:100%;justify-content:center}
  .foot__cols{grid-template-columns:1fr 1fr}
  .bento-sec,.rows-sec,.proof-sec,.team-sec{padding-bottom:84px}
}

/* ══ reduced motion — the page loses nothing ═══════════════════════════ */
@media (prefers-reduced-motion: reduce){
  html.js-motion [data-fade],
  html.js-motion [data-lift],
  html.js-motion [data-swing],
  html.js-motion [data-drift],
  html.js-motion .hero__content{opacity:1!important;transform:none!important}
  html.js-motion .clip > span{transform:none!important}
  .rays{opacity:1}
  .veil{display:none}
  .cursorlight{display:none}
  .livedot{animation:none}
  .marquee__track{transform:none!important}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* ══════════════════════════════════════════════════════════════════════════
   Sub-pages — the same world, a shorter horizon
   ══════════════════════════════════════════════════════════════════════════ */
.hero--sub{height:min(880px, 94vh);min-height:660px}
.hero--sub .sun{top:64%;width:min(1320px, 142vw)}
.hero--sub .hero__inner{padding-top:clamp(130px, 16.5vh, 190px)}
.hero--sub .hero__h1{font-size:clamp(34px, 4.3vw, 56px)}
.hero--sub .hero__sub{max-width:58ch}

.console--flat{margin-bottom:clamp(44px, 6vw, 84px)}
.minihead--gap{margin-top:20px}
.pipe__stages--tall li{padding:3px 0}

/* numbered cards */
.pcard__n{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;
  font-family:Mulish,sans-serif;font-size:12.5px;font-weight:700;color:var(--amber-hi)}
.pcard__n::before{content:"";width:6px;height:6px;border-radius:1px;background:var(--amber)}
.pcard--step h3{margin-top:0;font-size:20px}
.pcard--step .pcard__d{margin-top:10px}
.proof--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dotmark{display:inline-block;width:5px;height:5px;border-radius:1px;background:var(--amber)}

/* ── the four stages ──────────────────────────────────────────────────── */
.stages-sec{position:relative;z-index:2;padding:26px 0 110px}
.stages{display:flex;flex-direction:column}
.stage{position:relative;display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);
  gap:clamp(26px, 5vw, 78px);padding:clamp(28px, 3.2vw, 44px) clamp(18px, 2.2vw, 30px);
  border-top:1px solid var(--hair);overflow:hidden;
  transition:border-color .7s var(--ease)}
.stage:last-child{border-bottom:1px solid var(--hair)}
.stage:hover{border-color:rgba(211,132,31,.28)}
.stage > *{position:relative;z-index:2}
.stage__n{display:inline-flex;align-items:center;gap:8px;
  font-family:Mulish,sans-serif;font-size:12.5px;font-weight:700;color:var(--amber-hi)}
.stage__n::before{content:"";width:6px;height:6px;border-radius:1px;background:var(--amber)}
.stage__id h3{margin-top:14px;font-size:clamp(26px, 2.6vw, 34px);line-height:1.15}
.stage__t{margin-top:9px;font-size:14px;color:var(--muted)}
.stage__body h4{font-family:Mulish,sans-serif;font-size:21px;font-weight:600;line-height:1.25;margin-bottom:13px}
.stage__body > p{color:var(--muted);font-size:16px;line-height:1.55;max-width:62ch;margin-bottom:14px}
.stage__keep{margin-top:4px;padding-top:16px;border-top:1px solid var(--hair);
  color:var(--cream);font-size:15px;line-height:1.5;max-width:62ch}
.stage__keep span{display:inline-block;margin-right:10px;vertical-align:1px;
  font-family:Mulish,sans-serif;font-size:11.5px;font-weight:700;color:#12200f;border-radius:999px;padding:3px 10px;
  background-color:var(--amber);background-image:radial-gradient(circle at 50% 128%, var(--amber-hi), rgba(211,132,31,0) 76%)}

/* ── the operating chain ──────────────────────────────────────────────── */
.chain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;position:relative}
.chain::before{content:"";position:absolute;left:5px;right:5px;top:16px;height:1px;
  background:linear-gradient(90deg, rgba(211,132,31,0), rgba(211,132,31,.5) 12%, rgba(211,132,31,.5) 88%, rgba(211,132,31,0))}
.chain li{position:relative;padding-top:46px}
.chain li::before{content:"";position:absolute;left:0;top:11px;width:11px;height:11px;border-radius:50%;
  background-color:var(--amber);box-shadow:0 0 0 6px var(--night), 0 0 20px 2px rgba(211,132,31,.55)}
.chain__n{display:block;margin-bottom:9px;font-family:Mulish,sans-serif;font-size:12px;font-weight:700;color:var(--muted)}
.chain h3{font-size:18px;font-weight:600;margin-bottom:9px}
.chain p{font-size:14.5px;color:var(--muted);line-height:1.5}

@media (max-width:1080px){
  .proof--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chain{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}
  .chain::before{display:none}
}
@media (max-width:900px){
  .stage{grid-template-columns:1fr;gap:20px}
  .stage__id{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
  .stage__id h3{margin-top:0}
  .stage__t{margin-top:0}
}
@media (max-width:640px){
  .hero--sub{height:auto;min-height:0}
  .hero--sub .sun{width:184vw;margin:56px 0 calc(-184vw + 176px) -42vw}
  .proof--4{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
  .chain{grid-template-columns:1fr;row-gap:26px}
  .stages-sec{padding-bottom:84px}
}
