/* =====================================================================
   AETHERO — design system v3 ("instrument")
   Zero radius. Hairline grid. Uppercase display. Mono readouts.
   ===================================================================== */

/* ============ TOKENS ============ */
:root{
  --text-xs:clamp(.6875rem,.65rem + .2vw,.75rem);
  --text-sm:clamp(.8125rem,.78rem + .2vw,.9375rem);
  --text-base:clamp(.9375rem,.9rem + .25vw,1.0625rem);
  --text-lg:clamp(1.0625rem,1rem + .5vw,1.375rem);
  --text-xl:clamp(1.375rem,1.1rem + 1.1vw,2rem);
  --text-2xl:clamp(1.75rem,1.1rem + 2.2vw,3.125rem);
  --text-3xl:clamp(2.25rem,1rem + 3.6vw,4.5rem);
  --text-hero:clamp(2.5rem,1rem + 5.2vw,6rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-full:0;
  --ease:cubic-bezier(.16,1,.3,1);
  --font-display:'Clash Grotesk','Helvetica Neue',Arial,sans-serif;
  --font-body:'Roboto','Helvetica Neue',Arial,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --content-narrow:44rem;--content-default:64rem;--content-wide:88rem;
  --gutter:clamp(var(--space-5),3.5vw,var(--space-12));
  --header-h:4rem;
}
:root,[data-theme='dark']{
  color-scheme:dark;
  --color-bg:#050607;
  --color-surface:#0a0c0e;
  --color-surface-2:#101316;
  --color-surface-3:#161a1e;
  --color-border:rgba(255,255,255,.11);
  --color-border-strong:rgba(255,255,255,.22);
  --color-text:#eef1f3;
  --color-text-muted:#8e9aa2;
  --color-text-faint:#55616a;
  --color-text-inverse:#050607;
  --color-primary:#88cde8;
  --color-primary-hover:#a9dcf0;
  --color-primary-dim:rgba(136,205,232,.14);
  --color-slate:#344e59;
  --logo-filter:brightness(0) invert(1);
  --scrim:5,6,7;
}
[data-theme='light']{
  color-scheme:light;
  --color-bg:#f2f3f1;
  --color-surface:#ffffff;
  --color-surface-2:#e9ebe8;
  --color-surface-3:#dfe2de;
  --color-border:rgba(10,14,18,.12);
  --color-border-strong:rgba(10,14,18,.26);
  --color-text:#0b0f12;
  --color-text-muted:#4d575e;
  --color-text-faint:#8a949b;
  --color-text-inverse:#f2f3f1;
  --color-primary:#156b89;
  --color-primary-hover:#0f576f;
  --color-primary-dim:rgba(21,107,137,.12);
  --color-slate:#344e59;
  --logo-filter:brightness(0) invert(.08);
  --scrim:242,243,241;
}
*{border-radius:0!important}
::selection{background:var(--color-primary);color:var(--color-text-inverse)}
body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);font-weight:300;line-height:1.55;-webkit-font-smoothing:antialiased}
strong,b{font-weight:500}

/* ============ GLOBAL FURNITURE ============ */
/* persistent vertical grid rules */
.rules{position:fixed;inset:0;z-index:0;pointer-events:none;display:none;width:min(100% - 2*var(--gutter),var(--content-wide));margin-inline:auto}
.rules span{position:absolute;top:0;bottom:0;width:1px;background:var(--color-border);opacity:.55}
.rules span:nth-child(1){left:0}.rules span:nth-child(2){left:33.333%}.rules span:nth-child(3){left:66.666%}.rules span:nth-child(4){right:0}
@media(min-width:64em){.rules{display:block}}
/* film grain */
.grain{position:fixed;inset:-50%;z-index:1000;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}
[data-theme='light'] .grain{opacity:.08;mix-blend-mode:multiply}
main,header,footer{position:relative;z-index:1}

/* ============ PRIMITIVES ============ */
.wrap{width:min(100% - 2*var(--gutter),var(--content-wide));margin-inline:auto}
.wrap--default{width:min(100% - 2*var(--gutter),var(--content-default))}
.wrap--narrow{width:min(100% - 2*var(--gutter),var(--content-narrow))}
.mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:400}
.mono--accent{color:var(--color-primary)}
.eyebrow{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}
.eyebrow::before{content:"";width:.5rem;height:.5rem;background:var(--color-primary);flex:none}
.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.015em;line-height:1.04;text-transform:none}
.display strong{font-weight:500}
h1.display{font-size:var(--text-hero);letter-spacing:-.02em;line-height:1;font-weight:300}
h2.display{font-size:var(--text-2xl)}
h3.display{font-size:var(--text-xl)}
.lede{font-size:var(--text-lg);line-height:1.45;color:var(--color-text-muted);max-width:44ch;font-weight:300;letter-spacing:0}
.muted{color:var(--color-text-muted)}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:2.75rem;padding:0 var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}
.btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}
.btn--primary:hover{background:var(--color-text);color:var(--color-text-inverse)}
.btn--ghost{border:1px solid var(--color-border-strong);color:var(--color-text)}
.btn--ghost:hover{background:var(--color-text);color:var(--color-text-inverse);border-color:var(--color-text)}
.btn svg{width:.9rem;height:.9rem;flex:none}
.link{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--color-text);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border-strong);transition:border-color .18s var(--ease),color .18s var(--ease)}
.link:hover{color:var(--color-primary);border-color:var(--color-primary)}
.link svg{width:.85rem;height:.85rem;transition:transform .18s var(--ease)}
.link:hover svg{transform:translateX(3px)}
.section{padding-block:clamp(var(--space-16),9vw,var(--space-32))}
.section--tight{padding-block:clamp(var(--space-12),6vw,var(--space-20))}
.section--line{border-top:1px solid var(--color-border)}
.section--flush{padding-top:0}

/* section head — index rail + oversized headline */
.section-head{display:grid;gap:var(--space-5);margin-bottom:clamp(var(--space-10),5vw,var(--space-16));padding-top:var(--space-5);border-top:1px solid var(--color-border-strong)}
.section-head .eyebrow{margin-bottom:var(--space-3)}
@media(min-width:60em){
  .section-head{grid-template-columns:repeat(12,1fr);column-gap:var(--space-6);align-items:end}
  .section-head>div:first-child{grid-column:1/9;display:grid;grid-template-columns:subgrid;align-items:end}
  .section-head>div:first-child .eyebrow{grid-column:1/3;margin:0;align-self:start}
  .section-head>div:first-child h2{grid-column:3/9}
  .section-head>.lede,.section-head>.link{grid-column:9/13;justify-self:stretch;align-self:end}
  .section-head>.link{justify-self:end}
}

/* frames — no border, corner ticks */
.frame{position:relative;overflow:hidden;background:#000}
.frame img,.frame video{width:100%;height:100%;object-fit:cover;display:block}
.frame--contain img{object-fit:contain}
.frame--top img{object-position:50% 0}
.ticks{position:relative}
.ticks::before,.ticks::after{content:"";position:absolute;width:.75rem;height:.75rem;border:1px solid var(--color-primary);z-index:2;pointer-events:none}
.ticks::before{top:0;left:0;border-right:0;border-bottom:0}
.ticks::after{bottom:0;right:0;border-left:0;border-top:0}
.caption{display:flex;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);margin-top:var(--space-3)}
.tabular{font-variant-numeric:tabular-nums}

/* ============ HEADER ============ */
.header{position:fixed;inset-inline:0;top:0;z-index:100;height:var(--header-h);border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-bg) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);height:100%}
.logo{display:flex;align-items:center;height:100%;overflow:visible;color:var(--color-text);flex:none}
.logo svg{height:1.125rem;width:auto}
.nav{display:none;align-items:center;gap:clamp(var(--space-5),2.4vw,var(--space-8));margin-right:auto;height:100%}
.nav a{position:relative;display:inline-flex;align-items:center;height:100%;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.005em;color:var(--color-text-muted);transition:color .18s var(--ease)}
.nav a:hover{color:var(--color-text)}
.nav a[aria-current]{color:var(--color-text)}
.nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--color-text)}
.header__actions{display:flex;align-items:center;gap:var(--space-3);flex:none}
.clock{display:none;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;color:var(--color-text-faint);white-space:nowrap;padding-right:var(--space-3);border-right:1px solid var(--color-border);margin-right:var(--space-1)}
.clock b{color:var(--color-text-muted);font-weight:500;font-variant-numeric:tabular-nums}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--color-text-muted);transition:color .18s var(--ease),background .18s var(--ease)}
.icon-btn:hover{color:var(--color-text);background:var(--color-surface-2)}
.icon-btn svg{width:1.1rem;height:1.1rem}
.header__cta{display:none;align-items:center;gap:var(--space-2);height:2.25rem;padding:0 var(--space-4);font-size:.875rem;font-weight:500;color:var(--color-text);border:1px solid var(--color-border-strong);white-space:nowrap;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}
.header__cta span{transition:transform .18s var(--ease)}
.header__cta:hover{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}
.header__cta:hover span{transform:translateX(2px)}
@media(min-width:56em){.nav{display:flex}.header__cta{display:inline-flex}.menu-toggle{display:none}}
@media(min-width:72em){.clock{display:block}}
.mobile-nav{position:fixed;inset:0;z-index:90;background:var(--color-bg);padding:calc(var(--header-h) + var(--space-8)) var(--gutter) var(--space-8);display:flex;flex-direction:column;gap:0;transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .4s var(--ease),opacity .3s var(--ease),visibility 0s .4s}
.mobile-nav[data-open]{transform:none;opacity:1;visibility:visible;transition:transform .4s var(--ease),opacity .3s var(--ease)}
.mobile-nav a{display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;letter-spacing:-.01em}
.mobile-nav a .mono{color:var(--color-primary)}
.mobile-nav .btn{margin-top:var(--space-6);align-self:flex-start;border-bottom:0}

/* ============ HERO ============ */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr);align-items:end;padding-top:calc(var(--header-h) + var(--space-8));overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2;background:#000}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
@media(max-width:63.99em){.hero__media video,.hero__media img{object-position:0% 35%}}
.hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--scrim),.25) 0%,rgba(var(--scrim),0) 30%,rgba(var(--scrim),.2) 60%,rgba(var(--scrim),.96) 100%)}
.hero__scrim::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--scrim),.6) 0%,rgba(var(--scrim),0) 55%)}
.hero__grid{display:grid;gap:var(--space-8);padding-bottom:clamp(var(--space-8),5vw,var(--space-16))}
.hero__copy{display:grid;gap:var(--space-6)}
.hero__copy h1{max-width:none}
.hero__side{display:grid;gap:var(--space-6);justify-items:start}
@media(min-width:64em){.hero__side{grid-template-columns:7fr 5fr;align-items:end}.hero__side .hero__actions{justify-self:end}}
.hero__side .lede{max-width:38ch;color:var(--color-text)}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.hero .status{color:var(--color-text);white-space:normal}
/* instrument bar */
.hud{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-bg) 70%,transparent);backdrop-filter:blur(10px)}
@media(min-width:48em){.hud{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hud .stat{padding:var(--space-5) var(--space-5) var(--space-6);border-right:1px solid var(--color-border);gap:var(--space-3)}
.hud .stat:last-child{border-right:0}
@media(max-width:47.99em){.hud .stat:nth-child(2n){border-right:0}.hud .stat:nth-child(-n+2){border-bottom:1px solid var(--color-border)}}
.stat{display:grid;gap:var(--space-1);align-content:start}
.stat__value{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-.02em;line-height:1;display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}
.stat__value small{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.08em;color:var(--color-primary);text-transform:uppercase}
.stat__label{font-size:var(--text-xs);color:var(--color-text-muted)}
.hud .stat__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;order:-1;color:var(--color-text-faint);overflow-wrap:anywhere}
.hud .stat__value{font-size:var(--text-2xl)}

/* ticker */
.ticker{overflow:hidden;border-bottom:1px solid var(--color-border);padding-block:var(--space-3);white-space:nowrap;position:relative}
.ticker__track{display:inline-flex;gap:0;animation:ticker 70s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker span{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);padding-right:var(--space-10)}
.ticker span::before{content:"";display:inline-block;width:.4rem;height:.4rem;background:var(--color-primary);margin-right:var(--space-10);vertical-align:middle}
.ticker b{color:var(--color-text);font-weight:500}
@keyframes ticker{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker__track{animation:none}}

/* page hero (interior) */
.phero{position:relative;padding-top:calc(var(--header-h) + clamp(var(--space-12),8vw,var(--space-24)));padding-bottom:clamp(var(--space-10),5vw,var(--space-16));overflow:hidden}
.phero__grid{display:grid;gap:var(--space-8)}
@media(min-width:64em){.phero__grid{grid-template-columns:8fr 4fr;align-items:end}}
.phero h1{font-size:var(--text-3xl);max-width:18ch}
.phero .lede{margin-top:var(--space-6)}
.phero__media{margin-top:var(--space-10)}
.phero__media .frame{aspect-ratio:16/9}
.phero .mono.eyebrow{margin-bottom:var(--space-6)}

/* ============ STACK ============ */
.stack{display:grid;gap:0;border-top:1px solid var(--color-border-strong)}
.layer{display:grid;grid-template-columns:auto 1fr;gap:var(--space-5);align-items:start;padding:var(--space-6) 0;border-bottom:1px solid var(--color-border);transition:background .25s var(--ease)}
@media(min-width:48em){.layer{grid-template-columns:5rem 1.1fr 1.4fr auto;align-items:center;gap:var(--space-8)}}
.layer__n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-primary);letter-spacing:.1em;padding-top:.4em}
.layer__title{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-.01em}
.layer__title span{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:0;text-transform:none;margin-top:var(--space-1)}
.layer__items{display:flex;flex-wrap:wrap;gap:var(--space-2);grid-column:2}
@media(min-width:48em){.layer__items{grid-column:auto}}
.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-strong);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}
.chip:hover{background:var(--color-text);color:var(--color-text-inverse);border-color:var(--color-text)}
.chip--soft{border-style:dashed;color:var(--color-text-muted)}
.layer .link{grid-column:2}
@media(min-width:48em){.layer .link{grid-column:auto}}

/* ============ SPLIT ============ */
.split{display:grid;gap:var(--space-10);align-items:center}
@media(min-width:60em){.split{grid-template-columns:5fr 7fr;gap:clamp(var(--space-10),6vw,var(--space-24))}.split--rev>*:first-child{order:2}.split--rev{grid-template-columns:7fr 5fr}.split--top{align-items:start}.sticky-col{position:sticky;top:calc(var(--header-h) + var(--space-8))}}
.split .frame{aspect-ratio:4/3}
.split--wide .frame{aspect-ratio:16/10}
.prose{display:grid;gap:var(--space-4);max-width:56ch}
.prose p{color:var(--color-text-muted)}
.prose strong{color:var(--color-text);font-weight:500}
.prose h2{margin-bottom:var(--space-2)}
.list{display:grid;gap:0;margin-top:var(--space-6);border-top:1px solid var(--color-border-strong)}
.list li{display:grid;grid-template-columns:5rem 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}
.list li .mono{padding-top:.25em;color:var(--color-primary)}
.list li strong{display:block;font-weight:500;color:var(--color-text)}
.list li span{color:var(--color-text-muted)}

/* ============ PRODUCT CATALOG (rows) ============ */
.pgrid{display:grid;gap:0;border-top:1px solid var(--color-border-strong);counter-reset:cat}
.pcard{display:grid;grid-template-columns:1fr;gap:var(--space-5);padding:var(--space-6) 0;border-bottom:1px solid var(--color-border);position:relative;counter-increment:cat;transition:background .25s var(--ease)}
.pcard::before{content:counter(cat,decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;color:var(--color-primary)}
@media(min-width:60em){
  .pcard{grid-template-columns:4rem 22rem minmax(0,1fr);gap:var(--space-8);align-items:start;padding:var(--space-8) 0}
  .pcard:hover{background:linear-gradient(90deg,var(--color-surface-2),transparent)}
  .pcard__body{grid-template-columns:minmax(0,1fr) 16rem;grid-template-rows:auto auto 1fr;column-gap:var(--space-10)}
  .pcard__title,.pcard__body p,.pcard .link{grid-column:1}
  .pcard__specs{grid-column:2;grid-row:1/4}
}
.pcard__media{aspect-ratio:4/3;background:#000;overflow:hidden;position:relative}
.pcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.pcard:hover .pcard__media img{transform:scale(1.04)}
.pcard__badge{position:absolute;top:0;left:0;padding:var(--space-1) var(--space-2);background:var(--color-primary);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-inverse);font-weight:500}
.pcard__body{display:grid;gap:var(--space-3);align-content:start}
.pcard__title{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-.01em}
.pcard__title span{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted);letter-spacing:0;text-transform:none;margin-top:var(--space-1)}
.pcard__body p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:52ch}
.pcard__specs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}
@media(min-width:60em){.pcard__specs{grid-template-columns:1fr;gap:var(--space-4);border-top:0;border-left:1px solid var(--color-border);padding:0 0 0 var(--space-6);align-self:stretch}}
.pcard__specs .stat__value{font-size:var(--text-lg)}
.pcard .link{justify-self:start;margin-top:var(--space-2)}
.pcard--stretch{grid-column:1/-1}

/* ============ SPEC CARDS ============ */
.specs{display:grid;gap:0;border-top:1px solid var(--color-border-strong)}
@media(min-width:48em){.specs{grid-template-columns:repeat(3,1fr)}}
.spec{padding:var(--space-8) var(--space-6) var(--space-8) 0;display:grid;gap:var(--space-4);align-content:start;border-bottom:1px solid var(--color-border)}
@media(min-width:48em){.spec{border-right:1px solid var(--color-border);padding-inline:var(--space-6)}.spec:first-child{padding-left:0}.spec:nth-child(3n){border-right:0}}
.spec__big{font-family:var(--font-display);font-weight:400;font-size:var(--text-3xl);letter-spacing:-.03em;line-height:.95}
.spec__big small{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--color-primary);letter-spacing:.05em;margin-left:var(--space-2);text-transform:uppercase}
.spec h3{font-size:var(--text-base);font-weight:400;letter-spacing:-.005em;font-family:var(--font-display)}
.spec ul{display:grid;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}
.spec li{font-size:var(--text-sm);color:var(--color-text-muted);display:grid;grid-template-columns:auto 1fr;gap:var(--space-3)}
.spec li::before{content:"/";color:var(--color-primary);font-family:var(--font-mono)}

/* ============ FEATURE COLUMNS ============ */
.cols{display:grid;gap:var(--space-8);border-top:1px solid var(--color-border-strong);padding-top:var(--space-6)}
@media(min-width:48em){.cols{grid-template-columns:repeat(2,1fr)}}
@media(min-width:72em){.cols--3{grid-template-columns:repeat(3,1fr)}}
.col h3{font-size:var(--text-base);font-weight:400;margin-bottom:var(--space-3);font-family:var(--font-display);letter-spacing:-.005em}
.col .mono{display:block;margin-bottom:var(--space-4);color:var(--color-primary)}
.col p{font-size:var(--text-sm);color:var(--color-text-muted)}
.col ul{display:grid;gap:var(--space-2);margin-top:var(--space-4)}
.col li{font-size:var(--text-sm);color:var(--color-text-muted);padding-left:var(--space-5);position:relative}
.col li::before{content:"";position:absolute;left:0;top:.7em;width:var(--space-3);height:1px;background:var(--color-primary)}

/* ============ MISSIONS ============ */
.missions{display:grid;gap:0;border-top:1px solid var(--color-border-strong);counter-reset:m}
@media(min-width:60em){.missions{grid-template-columns:repeat(3,1fr)}}
.mission{display:grid;gap:var(--space-5);align-content:start;padding:var(--space-6) 0;border-bottom:1px solid var(--color-border);position:relative;counter-increment:m}
@media(min-width:60em){.mission{padding:var(--space-8) var(--space-6) var(--space-8) 0;border-right:1px solid var(--color-border);border-bottom:0}.mission+.mission{padding-left:var(--space-6)}.mission:last-child{border-right:0;padding-right:0}}
.mission .frame{aspect-ratio:3/2}
.mission__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4)}
.mission__head h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-.01em}
.mission__head h3::before{content:"M-0" counter(m) " ";font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;color:var(--color-primary);display:block;margin-bottom:var(--space-2);font-weight:400}
.mission p{font-size:var(--text-sm);color:var(--color-text-muted)}
.mission dl{display:grid;grid-template-columns:5rem 1fr;gap:var(--space-2) var(--space-4);font-size:var(--text-xs);padding-top:var(--space-4);border-top:1px solid var(--color-border)}
.mission dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}
.mission dd{color:var(--color-text)}
.status{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}
.status::before{content:"";width:.45rem;height:.45rem;background:var(--color-text-faint);flex:none}
.status--live::before{background:#5ad18a;box-shadow:0 0 0 3px rgba(90,209,138,.2)}
.status--next::before{background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-dim);animation:blink 2.4s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}

/* ============ APPLICATIONS ============ */
.apps{display:grid;gap:1px;background:var(--color-border);border:1px solid var(--color-border);grid-template-columns:repeat(2,1fr)}
@media(min-width:48em){.apps{grid-template-columns:repeat(3,1fr)}}
@media(min-width:72em){.apps{grid-template-columns:repeat(4,1fr)}}
.app{padding:var(--space-6) var(--space-5);background:var(--color-bg);display:grid;gap:var(--space-3);align-content:start;min-height:12rem;transition:background .2s var(--ease),color .2s var(--ease)}
.app .mono{color:var(--color-primary)}
.app h3{font-size:var(--text-base);font-weight:400;font-family:var(--font-display);letter-spacing:-.005em;margin-top:auto}
.app p{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5}
.app:hover{background:var(--color-text);color:var(--color-text-inverse)}
.app:hover p,.app:hover .mono{color:var(--color-text-inverse)}

/* ============ LOGO WALL ============ */
.logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--color-border);border:1px solid var(--color-border)}
@media(min-width:64em){.logos{grid-template-columns:repeat(8,minmax(0,1fr))}}
.logos li{display:flex;align-items:center;justify-content:center;aspect-ratio:2.4/1;padding:var(--space-5);background:var(--color-bg);min-width:0;overflow:hidden}
.logos img{max-height:1.75rem;width:auto;max-width:72%;filter:var(--logo-filter);opacity:.6;transition:opacity .2s var(--ease)}
.logos li:hover img{opacity:1}

/* ============ NEWS ============ */
.news{display:grid;gap:0;border-top:1px solid var(--color-border-strong)}
.news__item{display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-6);padding:var(--space-5) 0;border-bottom:1px solid var(--color-border);align-items:center;transition:background .2s var(--ease)}
.news__item:hover{background:linear-gradient(90deg,var(--color-surface-2),transparent)}
.news__item .mono{grid-column:1/-1}
.news__item h3{font-size:var(--text-base);font-weight:400}
.news__item h3 .muted{font-size:var(--text-sm)}
.news__item svg{width:1rem;height:1rem;color:var(--color-text-faint)}
.news__item:hover svg{color:var(--color-primary)}
@media(min-width:48em){.news__item{grid-template-columns:11rem 1fr auto}.news__item .mono{grid-column:auto}}
.news-feature{display:grid;gap:var(--space-6)}
@media(min-width:60em){.news-feature{grid-template-columns:7fr 5fr}}
.news-feature .frame{aspect-ratio:16/9}
.news-feature__body{display:grid;gap:var(--space-4);align-content:end}
.news-feature h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-.01em}
.news-feature p{color:var(--color-text-muted)}

/* ============ FAQ ============ */
.faq{display:grid;border-top:1px solid var(--color-border-strong)}
.faq details{border-bottom:1px solid var(--color-border)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-5) 0;cursor:pointer;list-style:none;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-mono);color:var(--color-primary);font-size:var(--text-lg);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .faq__body{padding-bottom:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm);max-width:70ch}

/* ============ PRICING ============ */
.plans{display:grid;gap:1px;background:var(--color-border);border:1px solid var(--color-border)}
@media(min-width:60em){.plans{grid-template-columns:repeat(3,1fr)}}
.plan{padding:var(--space-8) var(--space-6);background:var(--color-bg);display:grid;gap:var(--space-5);align-content:start}
.plan--hi{background:var(--color-surface-2)}
.plan h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-.01em}
.plan h3 span{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:0;text-transform:none;margin-top:var(--space-1)}
.plan__price{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);letter-spacing:-.03em;line-height:1}
.plan__price small{display:block;font-family:var(--font-mono);font-weight:400;font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:var(--space-2)}
.plan ul{display:grid;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border)}
.plan li{font-size:var(--text-sm);color:var(--color-text-muted);display:grid;grid-template-columns:auto 1fr;gap:var(--space-3)}
.plan li::before{content:"/";color:var(--color-primary);font-family:var(--font-mono)}
.plan .btn{justify-self:start}
.plan__note{font-size:var(--text-xs);color:var(--color-text-faint)}
.toggle{display:inline-flex;border:1px solid var(--color-border-strong)}
.toggle button{padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}
.toggle button[aria-pressed="true"]{background:var(--color-text);color:var(--color-text-inverse)}

/* ============ QUOTES ============ */
.quotes{display:grid;gap:1px;background:var(--color-border);border:1px solid var(--color-border)}
@media(min-width:60em){.quotes{grid-template-columns:repeat(2,1fr)}}
.quote{padding:var(--space-8);background:var(--color-bg);display:grid;gap:var(--space-5)}
.quote p{font-size:var(--text-lg);line-height:1.35;font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}
.quote footer{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}

/* ============ FULL BLEED ============ */
.bleed{position:relative;min-height:80vh;display:grid;align-items:end;overflow:hidden;isolation:isolate;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.bleed>img,.bleed>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.bleed::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,6,7,.15) 0%,rgba(5,6,7,.3) 35%,rgba(5,6,7,.94) 100%)}
.bleed .wrap{padding-block:clamp(var(--space-10),6vw,var(--space-20))}
.bleed .display,.bleed .lede,.bleed .mono,.bleed .stat__value,.bleed .stat__label{color:#eef1f3}
.bleed .lede{color:#b9c3ca}
.bleed .mono--accent{color:#88cde8}
.bleed--tall{min-height:100svh}
.bleed__grid{display:grid;gap:var(--space-8);align-items:end}
@media(min-width:60em){.bleed__grid{grid-template-columns:7fr 5fr}}
.bleed__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.3)}
.bleed__stats .stat{padding-top:var(--space-4);padding-right:var(--space-4)}
.bleed__stats .stat__value{font-size:var(--text-xl)}
.bleed .giant{font-family:var(--font-display);font-weight:400;font-size:clamp(4rem,14vw,15rem);letter-spacing:-.04em;line-height:.85;color:#eef1f3}
.bleed .giant small{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:#88cde8;display:block;margin-top:var(--space-4)}

/* ============ GALLERY ============ */
.gallery{display:grid;gap:1px;grid-template-columns:repeat(2,1fr);background:var(--color-border);border:1px solid var(--color-border)}
@media(min-width:48em){.gallery{grid-template-columns:repeat(4,1fr)}.gallery .g-wide{grid-column:span 2}.gallery .g-tall{grid-row:span 2}}
.gallery .frame{aspect-ratio:1}
.gallery .g-wide.frame{aspect-ratio:2/1}
@media(min-width:48em){.gallery .g-tall.frame{aspect-ratio:auto;height:100%}}

/* ============ CTA ============ */
.cta{padding-block:clamp(var(--space-16),9vw,var(--space-32));border-top:1px solid var(--color-border);position:relative;overflow:hidden}
.cta__grid{display:grid;gap:var(--space-10)}
@media(min-width:60em){.cta__grid{grid-template-columns:7fr 5fr;align-items:end}}
.cta h2{font-size:var(--text-3xl)}
.contacts{display:grid;gap:0;border-top:1px solid var(--color-border-strong)}
@media(min-width:40em){.contacts{grid-template-columns:1fr 1fr}}
.contact{display:grid;gap:var(--space-2);padding:var(--space-5) var(--space-5) var(--space-5) 0;font-size:var(--text-sm);border-bottom:1px solid var(--color-border)}
@media(min-width:40em){.contact+.contact{border-left:1px solid var(--color-border);padding-left:var(--space-5)}}
.contact a{color:var(--color-text);transition:color .18s var(--ease)}
.contact a:hover{color:var(--color-primary)}
.contact .muted{font-size:var(--text-xs)}

/* ============ FOOTER ============ */
.footer{border-top:1px solid var(--color-border);padding-block:var(--space-12) var(--space-6);font-size:var(--text-sm)}
.footer__grid{display:grid;gap:var(--space-10)}
@media(min-width:60em){.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer h4{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-4);font-weight:400}
.footer ul{display:grid;gap:var(--space-2)}
.footer a{color:var(--color-text-muted);transition:color .18s var(--ease)}
.footer a:hover{color:var(--color-text)}
.footer__brand p{color:var(--color-text-muted);max-width:36ch}
.footer .logo{display:none}
.footer .footer__mark{display:block;margin-top:var(--space-16);padding-top:var(--space-8);border-top:1px solid var(--color-border);color:var(--color-text)}
.footer__mark svg{width:100%;height:auto;display:block}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border);color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}

/* ============ COMPARISON TABLE ============ */
.cmp-wrap{overflow-x:auto;border-top:1px solid var(--color-border-strong);-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:56rem;border-collapse:collapse;font-size:var(--text-sm)}
.cmp th,.cmp td{padding:var(--space-4) var(--space-5) var(--space-4) 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}
.cmp th+th,.cmp th+td,.cmp td+td{padding-left:var(--space-5);border-left:1px solid var(--color-border)}
.cmp thead th{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);letter-spacing:-.01em;padding-block:var(--space-5)}
.cmp thead th span{display:block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;color:var(--color-text-muted);letter-spacing:.08em;margin-top:var(--space-1)}
.cmp thead th:first-child{vertical-align:bottom}
.cmp tbody th{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:400;white-space:nowrap;width:9rem}
.cmp td{color:var(--color-text)}
.cmp tbody tr:hover td{background:var(--color-surface-2)}
.cmp td:nth-child(3){background:color-mix(in oklab,var(--color-primary) 5%,transparent)}

/* ============ REVEAL ============ */
.reveal{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .js .reveal.is-in{opacity:1;transform:none}
  .js .reveal[data-delay="1"]{transition-delay:.08s}.js .reveal[data-delay="2"]{transition-delay:.16s}.js .reveal[data-delay="3"]{transition-delay:.24s}
}

/* ============ UTIL ============ */
.two-up{display:grid;gap:1px;background:var(--color-border)}
@media(min-width:48em){.two-up{grid-template-columns:1fr 1fr}}
.two-up .frame{aspect-ratio:16/10}
.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border)}
@media(min-width:48em){.stat-row{grid-template-columns:repeat(4,1fr)}}
.stat-row .stat{padding:var(--space-6) var(--space-5) var(--space-6) 0;border-right:1px solid var(--color-border)}
.stat-row .stat+.stat{padding-left:var(--space-5)}
.stat-row .stat:last-child{border-right:0}
@media(max-width:47.99em){.stat-row .stat:nth-child(2n){border-right:0;padding-left:var(--space-5)}.stat-row .stat:nth-child(2n+1){padding-left:0}.stat-row .stat:nth-child(-n+2){border-bottom:1px solid var(--color-border)}}
.stat-row .stat__value{font-size:var(--text-2xl)}
.tagline-strip{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-8);padding-block:var(--space-4);border-block:1px solid var(--color-border)}
.grid-bg{background-image:linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:6rem 6rem;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}
.skip-link{border-radius:0}
/* hero imagery is always black — keep hero typography light in both themes */
.hero{--scrim:5,6,7;color:#eef1f3}
.hero .lede,.hero .status{color:#eef1f3}
[data-theme='light'] .hero .btn--ghost{border-color:rgba(255,255,255,.4);color:#eef1f3}
[data-theme='light'] .hero .btn--ghost:hover{background:#eef1f3;color:#050607}
[data-theme='light'] .hero .status--next::before{background:#88cde8}

/* ============ SDC ============ */
.frame--light{background:#eef0ee}
.frame--light img{object-fit:contain}
.frame--contain{display:grid;place-items:center}
.frame--contain img{width:100%;height:100%;object-fit:contain}
.stat-row--2{grid-template-columns:repeat(2,1fr)}
@media(min-width:48em){.stat-row--2{grid-template-columns:repeat(2,1fr)}.stat-row--2 .stat:nth-child(2n){border-right:0;padding-left:var(--space-5)}.stat-row--2 .stat:nth-child(2n+1){padding-left:0;border-right:1px solid var(--color-border)}.stat-row--2 .stat:nth-child(-n+2){border-bottom:1px solid var(--color-border)}}
.stat-row--2 .stat__value{font-size:var(--text-xl)}
.path{display:grid;gap:1px;background:var(--color-border);border:1px solid var(--color-border)}
@media(min-width:48em){.path{grid-template-columns:repeat(2,1fr)}}
@media(min-width:72em){.path{grid-template-columns:repeat(4,1fr)}}
.path__step{background:var(--color-bg);padding:var(--space-6) var(--space-5) var(--space-8);display:grid;gap:var(--space-3);align-content:start;min-height:20rem;position:relative}
.path__step .mono{color:var(--color-primary)}
.path__n{font-family:var(--font-display);font-weight:400;font-size:clamp(3.5rem,6vw,6rem);letter-spacing:-.04em;line-height:.9;margin-block:var(--space-2) var(--space-3)}
.path__step h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em;font-size:var(--text-base)}
.path__step p{font-size:var(--text-sm);color:var(--color-text-muted)}
.path__val{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-border);font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-.02em;display:flex;align-items:baseline;gap:var(--space-2)}
.path__val small{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}
.density{margin-top:var(--space-10);display:grid;gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid var(--color-border-strong)}
.density__row{display:grid;grid-template-columns:11rem 1fr 9rem;gap:var(--space-4);align-items:center;font-size:var(--text-sm)}
@media(max-width:47.99em){.density__row{grid-template-columns:1fr auto}.density__row .density__bar{grid-column:1/-1;order:3}}
.density__bar{height:1.25rem;width:var(--w);background:var(--color-surface-3);position:relative;transition:width 1.2s var(--ease)}
.density__bar--hi{background:var(--color-primary)}
.density__row .tabular{text-align:right;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em}
.density__note{margin-top:var(--space-2);color:var(--color-text-faint)}
.torus-wrap{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-6);color:var(--color-text)}
.torus{width:100%;height:auto;display:block}
.cmp thead th a{color:var(--color-primary)}
/* box family */
.boxes{display:grid;gap:1px;background:var(--color-border);border:1px solid var(--color-border)}
@media(min-width:48em){.boxes{grid-template-columns:repeat(2,1fr)}}
@media(min-width:72em){.boxes{grid-template-columns:repeat(4,1fr)}}
.box{background:var(--color-bg);padding:var(--space-6) var(--space-5) var(--space-6);display:grid;gap:var(--space-3);align-content:start;min-height:22rem;color:var(--color-text);transition:background .2s var(--ease)}
a.box:hover{background:var(--color-surface-2)}
.box--hi{background:color-mix(in oklab,var(--color-primary) 6%,var(--color-bg))}
.box__code{color:var(--color-primary);font-size:var(--text-sm);letter-spacing:.08em}
.box h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em;font-size:var(--text-base);margin-top:var(--space-2)}
.box p{font-size:var(--text-sm);color:var(--color-text-muted)}
.box dl{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-border);display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);font-size:var(--text-xs)}
.box dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}
.box dd{color:var(--color-text)}

/* ============ partner marquee ============ */
.marquee{display:grid;border-bottom:1px solid var(--color-border);position:relative}
@media(min-width:64em){.marquee{grid-template-columns:11rem 1fr}}
.marquee__label,.backed__label{display:flex;align-items:center;padding:var(--space-4) var(--gutter);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint);border-bottom:1px solid var(--color-border)}
.backed__label{color:rgba(238,241,243,.5);border-color:rgba(238,241,243,.14)}
@media(min-width:64em){.marquee__label,.backed__label{border-bottom:0;border-right:1px solid var(--color-border)}.backed__label{border-right-color:rgba(238,241,243,.14)}}
.marquee__viewport{overflow:hidden;padding-block:var(--space-5);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee__track{display:flex;align-items:center;gap:clamp(var(--space-10),6vw,var(--space-16));width:max-content;animation:marquee 60s linear infinite;list-style:none;margin:0;padding:0}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee li{flex:none;display:flex;align-items:center}
.marquee img{height:1.75rem;width:auto;max-width:10rem;object-fit:contain;filter:var(--logo-filter);opacity:.55;transition:opacity .2s var(--ease)}
.marquee li:hover img{opacity:1}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee__track{animation:none}}
/* ============ distribution modules ============ */
.pcard__media--light{background:#eef0ee}
.pcard__media--light img{object-fit:contain;padding:var(--space-4)}
.dgrid{display:grid;gap:1px;background:var(--color-border);border:1px solid var(--color-border)}
@media(min-width:64em){.dgrid{grid-template-columns:repeat(2,1fr)}}
.dcard{background:var(--color-bg);display:grid;grid-template-rows:auto 1fr}
.dcard__media{aspect-ratio:16/9;background:#000;overflow:hidden;border-bottom:1px solid var(--color-border)}
.dcard__media img{width:100%;height:100%;object-fit:cover;display:block}
.dcard__media--diagram{background:var(--color-surface);display:grid;place-items:center;padding:var(--space-4);color:var(--color-text)}
.dcard__media--diagram svg{width:100%;height:100%}
.dcard__body{padding:var(--space-6) var(--space-6) var(--space-8);display:grid;gap:var(--space-4);align-content:start}
.dcard__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.dcard__head .mono{color:var(--color-primary);font-size:var(--text-sm);letter-spacing:.1em}
.dcard h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em;font-size:var(--text-lg)}
.dcard p{color:var(--color-text-muted);font-size:var(--text-sm);max-width:60ch}
.dcard__specs{display:grid;grid-template-columns:7rem 1fr;gap:0;border-top:1px solid var(--color-border);margin-top:var(--space-2)}
.dcard__specs dt,.dcard__specs dd{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-xs)}
.dcard__specs dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}
.dcard__specs dd{color:var(--color-text)}
.logos img[src*="dragonfly"],.logos img[src*="/zes"],.logos img[src*="/ti."],.logos img[src*="/stm."]{max-height:2.75rem}
.marquee img[src*="dragonfly"],.marquee img[src*="/zes"],.marquee img[src*="/ti."],.marquee img[src*="/stm."]{height:2.5rem}
/* ============ labelled logo lines ============ */
.logo-lines{display:grid;gap:var(--space-8)}
.logo-line{display:grid;gap:var(--space-4);align-items:center}
@media(min-width:48em){.logo-line{grid-template-columns:11rem 1fr}.logo-line .eyebrow{margin:0}}
@media(min-width:40em){.logos--auto{grid-template-columns:repeat(var(--cols),minmax(0,1fr))}}
@media(min-width:64em){.logos--auto{grid-template-columns:repeat(var(--cols),13rem);width:max-content;max-width:100%}}

/* ============ backed by strip (hero) ============ */
.backed{position:relative;z-index:2;display:grid;border-top:1px solid rgba(238,241,243,.18);background:rgba(5,6,7,.78);color:#eef1f3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
@media(min-width:64em){.backed{grid-template-columns:11rem 1fr}}
.backed__row{list-style:none;margin:0;padding:var(--space-4) var(--gutter);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4) var(--space-6);align-items:center}
@media(min-width:40em){.backed__row{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:64em){.backed__row{display:flex;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-5)}}
.backed__row li{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}
.backed,.backed__row{min-width:0;max-width:100%}
.backed__row img{height:1.375rem;width:auto;max-width:min(8.5rem,100%);object-fit:contain;filter:brightness(0) invert(1);opacity:.6;transition:opacity .2s var(--ease)}
.backed__row li:hover img{opacity:1}
.backed__row img[src*="triple-impact"],.backed__row img[src*="oshaughnessy"],.backed__row img[src*="inv-neo"],.backed__row img[src*="inv-1517"]{height:2.125rem}
.logos img[src*="/nsf"],.marquee img[src*="/nsf"]{max-height:2.75rem;height:2.5rem}

/* ============ news articles ============ */
.phero--article .wrap{display:grid;gap:var(--space-6)}
.article__back{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}
.article__back:hover{color:var(--color-text)}
.article__head{display:grid;gap:var(--space-4);max-width:62rem}
.display--article{font-size:clamp(1.75rem,1.1rem + 2.6vw,3.25rem);line-height:1.05;text-transform:none;letter-spacing:-.015em}
.article{display:grid;gap:var(--space-8)}
@media(min-width:64em){.article{grid-template-columns:16rem minmax(0,1fr);gap:var(--space-10)}}
.article__aside{display:grid;gap:var(--space-5);align-content:start;font-size:var(--text-sm)}
@media(min-width:64em){.article__aside{position:sticky;top:calc(var(--header-h) + var(--space-6))}}
.article__meta{display:grid;gap:var(--space-3);margin:0;border-top:1px solid var(--color-border-strong)}
.article__meta div{display:grid;gap:var(--space-1);padding-top:var(--space-3);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}
.article__meta dt{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}
.article__meta dd{margin:0;color:var(--color-text)}
.article__meta a,.article__links a{display:inline-flex;align-items:center;gap:.4em;color:var(--color-text)}
.article__meta a svg,.article__links a svg{width:.85rem;height:.85rem;color:var(--color-text-faint);flex:none}
.article__links{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}
.article__links a{color:var(--color-text-muted)}
.article__links a:hover{color:var(--color-text)}
.article__lockup{aspect-ratio:1;max-width:14rem}
.article__lockup img,.frame--light img{object-fit:contain}
.frame--light{background:#fff}
.article__body{display:grid;gap:var(--space-8);min-width:0}
.article__lead{aspect-ratio:16/9;margin:0}
.article__lead--src{aspect-ratio:21/9}
.article__lead--src img{object-fit:contain;background:#000;padding:var(--space-8)}
.article__lead.frame--light{aspect-ratio:21/9}
.article__lead.frame--light img{padding:var(--space-6)}
.article__prose{display:grid;gap:var(--space-5);max-width:68ch;font-size:var(--text-md,1.0625rem);line-height:1.6}
.article__prose p{color:var(--color-text-muted)}
.article__prose h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em;font-size:var(--text-lg);margin-top:var(--space-4)}
.article__prose ul{margin:0;padding-left:1.1em;color:var(--color-text-muted);display:grid;gap:var(--space-2)}
.article__prose a{color:var(--color-text);text-decoration:underline;text-underline-offset:.2em;text-decoration-color:var(--color-border-strong)}
.article__prose a:hover{text-decoration-color:var(--color-primary)}
.article__prose blockquote{margin:var(--space-2) 0;padding:var(--space-5) var(--space-6);border-left:2px solid var(--color-primary);background:var(--color-surface-2);font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);line-height:1.3;color:var(--color-text)}
.article__prose blockquote cite{display:block;margin-top:var(--space-4);font-family:var(--font-mono);font-style:normal;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint)}
.article__end{color:var(--color-text-faint);letter-spacing:.3em}
.article__media{display:grid;gap:var(--space-8);margin-top:var(--space-10)}
.article__video{margin:0;display:grid;background:var(--color-bg);border:1px solid var(--color-border)}
.article__video video{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#000}
.article__video figcaption{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);border-top:1px solid var(--color-border)}
.article__gallery{grid-auto-flow:dense}
.article__pn{display:grid;gap:1px;background:var(--color-border);border:1px solid var(--color-border)}
@media(min-width:48em){.article__pn{grid-template-columns:1fr 1fr}}
.article__pn-link,.article__pn>span{display:grid;gap:var(--space-2);padding:var(--space-5) var(--space-6);background:var(--color-bg);color:var(--color-text)}
.article__pn-link .mono{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}
.article__pn-link:hover{background:var(--color-surface-2)}
.article__pn-link--r{text-align:right}

/* ============ compute scale ladder ============ */
.scale__head{display:grid;gap:var(--space-8);margin-bottom:var(--space-10)}
@media(min-width:64em){.scale__head{grid-template-columns:7fr 5fr;gap:var(--space-12);align-items:end}}
.scale__quote{margin:0;padding:0;border:0}
.scale__quote .display{font-size:clamp(1.5rem,1rem + 2.2vw,2.75rem);line-height:1.1;text-transform:none;letter-spacing:-.01em}
.scale__quote footer{margin-top:var(--space-5);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}
.scale__head .hero__actions{margin-top:var(--space-2);flex-wrap:wrap}
.scale{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--color-border);border:1px solid var(--color-border)}
@media(min-width:48em){.scale{grid-template-columns:repeat(5,minmax(0,1fr))}}
.scale li{position:relative;display:grid;gap:var(--space-2);align-content:end;padding:var(--space-5);padding-top:calc(var(--space-6) + 11rem);background:var(--color-bg);min-width:0;overflow:hidden}
.scale__bar{position:absolute;left:var(--space-5);right:var(--space-5);top:var(--space-5);height:10rem;background:linear-gradient(180deg,transparent 0,transparent calc(100% - var(--h)),var(--color-primary) calc(100% - var(--h)));opacity:.85;-webkit-mask-image:repeating-linear-gradient(180deg,#000 0 6px,transparent 6px 8px);mask-image:repeating-linear-gradient(180deg,#000 0 6px,transparent 6px 8px)}
.scale li::before{content:"";position:absolute;left:var(--space-5);right:var(--space-5);top:var(--space-5);height:10rem;border-bottom:1px solid var(--color-border-strong)}
.scale__step{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}
.scale__value{font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,1rem + 1.4vw,2.25rem);line-height:1;letter-spacing:-.01em}
.scale__value small{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;margin-left:.4em;color:var(--color-text-muted)}
.scale__name{font-size:var(--text-sm);color:var(--color-text-muted)}
.scale .link{font-size:var(--text-sm)}

.logos--text li{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em;font-size:var(--text-base);color:var(--color-text-muted);text-align:center;aspect-ratio:2.4/1}
.logos--text li:hover{color:var(--color-text)}

/* ============ v4 typographic refresh (lighter, sentence case) ============ */
.btn{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;text-transform:none;font-weight:400;min-height:2.75rem;padding:0 var(--space-5)}
.link{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;text-transform:none;font-weight:400}
.nav a{font-weight:300;font-size:.9375rem}
.header__cta{font-weight:400;font-size:.875rem}
.mobile-nav a{font-family:var(--font-display);font-weight:400;text-transform:none;letter-spacing:-.01em}
.chip{font-weight:300}
.stat__value{font-weight:400}
.spec__big,.plan__price,.path__n,.scale__value{font-weight:300}
.pcard__title,.mission__head h3,.layer__title,.news-feature h3,.plan h3{font-size:var(--text-lg)}
h3.display{font-weight:400}
.app h3,.spec h3,.col h3,.path__step h3,.box h3,.dcard h3,.logos--text li{font-size:var(--text-lg);font-weight:400;letter-spacing:-.01em}
.cmp thead th{font-weight:400}
.quote p{font-weight:300;font-size:var(--text-xl);line-height:1.3}
.article__prose{font-weight:300}
.prose p,.col p,.pcard p,.mission p,.app p{font-weight:300}
.contact a{font-weight:300}

/* ============ v4 components: tiles (hover-reveal), spotlight, cta media ============ */
.tiles{display:grid;gap:var(--space-4);grid-template-columns:1fr}
@media(min-width:40em){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64em){.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}}
.tile{position:relative;display:flex;flex-direction:column;min-height:24rem;padding:var(--space-10) var(--space-6) var(--space-8);border:1px solid var(--color-border);color:var(--color-text);overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-2) 100%);transition:border-color .5s var(--ease)}
.tile:nth-child(1){background:linear-gradient(180deg,#0a0b0c 0%,#17191b 100%)}
.tile:nth-child(2){background:linear-gradient(180deg,#07090c 0%,#0f1a22 100%)}
.tile:nth-child(3){background:linear-gradient(180deg,#07080a 0%,#141a20 100%)}
.tile:nth-child(4){background:linear-gradient(180deg,#07090b 0%,#10161b 100%)}
[data-theme='light'] .tile:nth-child(n){background:linear-gradient(180deg,#fff 0%,#e7eaec 100%)}
@media(min-width:64em){.tile{min-height:44rem;padding:var(--space-12) var(--space-6) var(--space-10)}}
.tile:hover{border-color:var(--color-border-strong)}
.tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0;transition:opacity .7s cubic-bezier(.4,0,.2,1),transform 1.4s var(--ease);transform:scale(1.04)}
.tile:hover .tile__img,.tile:focus-visible .tile__img{opacity:.45;transform:none}
.tile::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(var(--scrim),.45) 0%,rgba(var(--scrim),.15) 40%,rgba(var(--scrim),.9) 100%);opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1)}
.tile:hover::after{opacity:1}
.tile__icon{display:block;width:3rem;height:3rem;color:var(--color-text);margin-bottom:var(--space-10);transition:transform .7s cubic-bezier(.4,0,.2,1),color .4s}
.tile__icon svg{width:100%;height:100%;display:block}
.tile:hover .tile__icon{transform:rotate(90deg);color:var(--color-primary)}
.tile__body h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-.01em;margin-bottom:var(--space-4)}
.tile__body p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6;max-width:30ch;transition:color .4s}
.tile:hover .tile__body p{color:var(--color-text)}
.tile__foot{margin-top:auto;padding-top:var(--space-10);display:grid;gap:var(--space-4)}
.tile__foot>span{font-family:var(--font-display);font-weight:400;font-size:var(--text-base);letter-spacing:-.005em}
.tile__foot ul{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);list-style:none;margin:0;padding:0}
.tile__foot li{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:.4em}
.tile__foot li::before{content:"↗";color:var(--color-primary);font-family:var(--font-body)}

/* apps: image reveal on hover + spotlight */
.app{position:relative;overflow:hidden;isolation:isolate}
.app__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0;transform:scale(1.05);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform 1.2s var(--ease)}
.app::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(var(--scrim),.6) 0%,rgba(var(--scrim),.92) 100%);opacity:0;transition:opacity .6s}
.app:hover .app__img{opacity:.55;transform:none}
.app:hover::after{opacity:1}
.app:hover{background:transparent}
.app:hover p{color:var(--color-text)}

/* spotlight (cursor-following highlight) */
.spot{--mx:50%;--my:50%}
.spot__glow{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .4s var(--ease);
  background:radial-gradient(28rem circle at var(--mx) var(--my),color-mix(in oklab,var(--color-primary) 16%,transparent),transparent 45%)}
.spot:hover>.spot__glow{opacity:1}
.spot>*{position:relative;z-index:2}
.spot>.spot__glow{position:absolute;z-index:1}
.spot>.app__img,.spot>.tile__img{position:absolute;z-index:0}
.pcard.spot,.mission.spot,.dcard.spot,.plan.spot,.box.spot{position:relative;overflow:hidden}

/* cta with imagery */
.cta{border-top:0;color:#eef1f3}
.cta .lede,.cta .contact .muted{color:#c3cbd1}
.cta .contact a{color:#eef1f3}
.cta .contacts{border-top-color:rgba(255,255,255,.3)}
.cta .contact,.cta .contact+.contact{border-color:rgba(255,255,255,.14)}
.cta .btn--ghost{border-color:rgba(255,255,255,.4);color:#eef1f3}
.cta .btn--ghost:hover{background:#eef1f3;color:#050607;border-color:#eef1f3}
.cta .btn--primary{background:#88cde8;color:#050607}
.cta .btn--primary:hover{background:#fff}
.cta .eyebrow{color:#c3cbd1}
.cta__media{position:absolute;inset:0;z-index:0}
.cta__media img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block}
.cta__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,7,.82) 0%,rgba(5,6,7,.5) 45%,rgba(5,6,7,.12) 100%),linear-gradient(180deg,rgba(5,6,7,.55) 0%,rgba(5,6,7,.05) 40%,rgba(5,6,7,.55) 100%)}
.cta .cta__grid{position:relative;z-index:1}

/* blur reveal + split text (React Bits-style) */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
  .js .reveal.is-in{filter:blur(0)}
  .js .splitw .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
  .js .splitw .w>span{display:inline-block;transform:translateY(110%);opacity:0;filter:blur(4px);transition:transform .9s var(--ease),opacity .7s var(--ease),filter .7s var(--ease);transition-delay:var(--d,0s)}
  .js .splitw.is-in .w>span{transform:none;opacity:1;filter:blur(0)}
}
.bleed .lede{color:#dfe5e9}

/* ============ grid overlay (Scanway-style hairline grid over imagery) ============ */
.cta,.hero,.bleed{--grid-c:rgba(255,255,255,.075);--grid-s:7.5rem}
.cta::before,.hero::before,.bleed::before,.tile .tile__grid{content:"";position:absolute;inset:-1px;pointer-events:none;z-index:1;
  background-image:linear-gradient(var(--grid-c) 1px,transparent 1px),linear-gradient(90deg,var(--grid-c) 1px,transparent 1px);
  background-size:var(--grid-s) var(--grid-s);background-position:center top;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.55) 60%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.55) 60%,rgba(0,0,0,0) 100%)}
.hero::before{z-index:-1;-webkit-mask-image:radial-gradient(120% 90% at 70% 30%,rgba(0,0,0,.9),rgba(0,0,0,0) 70%);mask-image:radial-gradient(120% 90% at 70% 30%,rgba(0,0,0,.9),rgba(0,0,0,0) 70%)}
.bleed::before{z-index:-1}
.cta::before{z-index:0}
@media (prefers-reduced-motion:no-preference){
  .hero::before{animation:griddrift 60s linear infinite}
  @keyframes griddrift{from{background-position:0 0}to{background-position:var(--grid-s) var(--grid-s)}}
}
.tile .tile__grid{inset:0;z-index:0;--grid-c:rgba(255,255,255,.06);--grid-s:4.5rem;opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1);-webkit-mask-image:none;mask-image:none}
.tile:hover .tile__grid{opacity:1}
[data-theme='light'] .tile .tile__grid{--grid-c:rgba(10,14,18,.08)}
.cta .cta__grid{z-index:2}
.cta__media::after{background:linear-gradient(90deg,rgba(5,6,7,.78) 0%,rgba(5,6,7,.42) 45%,rgba(5,6,7,.06) 100%),linear-gradient(180deg,rgba(5,6,7,.5) 0%,rgba(5,6,7,.05) 40%,rgba(5,6,7,.5) 100%)}
.cta__media img{object-position:50% 50%}

/* ============ gridpanel (Scanway-style hairline grid + cursor reticle over imagery) ============ */
.gridpanel{--cell:clamp(4.25rem,7.4vw,6.875rem);--gline:rgba(255,255,255,.2)}
.gp__grid{position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:linear-gradient(var(--gline) 1px,transparent 1px),linear-gradient(90deg,var(--gline) 1px,transparent 1px);
  background-size:var(--cell) var(--cell);background-position:0 0;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.55) 40%,#000 75%);mask-image:linear-gradient(90deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.55) 40%,#000 75%)}
.gp__reticle{position:absolute;left:0;top:0;width:var(--cell);height:var(--cell);border:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(5,6,7,.25),inset 0 0 0 1px rgba(5,6,7,.15);pointer-events:none;z-index:2;opacity:0;
  transform:translate(var(--rx,0px),var(--ry,0px));transition:transform .55s var(--ease),opacity .6s var(--ease)}
.gridpanel.is-in .gp__reticle,.cta .gp__reticle{opacity:1}
.cta::before{display:none}
.cta__media .gp__grid{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.4) 45%,#000 80%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.4) 45%,#000 80%)}
.cta .contacts{background:rgba(5,6,7,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:var(--space-2) var(--space-5) var(--space-2);border-top-color:rgba(255,255,255,.35)}
.cta .contact{padding-right:var(--space-4)}

/* banner */
.banner{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(20rem,44vw,32rem);display:grid;align-content:start;padding:clamp(var(--space-6),4.5vw,var(--space-12));color:#eef1f3;border:1px solid var(--color-border)}
.banner__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.02);transition:transform 6s var(--ease)}
.banner:hover .banner__img{transform:scale(1.06)}
.banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,6,7,.82) 0%,rgba(5,6,7,.42) 42%,rgba(5,6,7,0) 72%),linear-gradient(180deg,rgba(5,6,7,.25) 0%,rgba(5,6,7,0) 40%,rgba(5,6,7,.55) 100%)}
.banner__copy{position:relative;z-index:3;max-width:40rem}
.banner .eyebrow{color:#c3cbd1}
.banner__title{font-size:clamp(1.9rem,1rem + 3vw,3.75rem);font-weight:300;line-height:1.05;letter-spacing:-.015em;max-width:16ch}
.banner__btn{position:absolute;right:clamp(var(--space-6),4.5vw,var(--space-12));bottom:clamp(var(--space-6),4.5vw,var(--space-12));z-index:3}
.banner .btn--primary{background:#88cde8;color:#050607}
.banner .btn--primary:hover{background:#fff}
@media(max-width:40em){.banner{min-height:22rem;padding-bottom:5.5rem}.banner__btn{right:var(--space-6);left:var(--space-6);bottom:var(--space-6)}}

/* reactive canvas backgrounds in page heroes */
.phero--fx{isolation:isolate}
.phero--fx>.fx{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.phero--fx>.wrap{position:relative;z-index:1}
.article__update{display:flex;gap:var(--space-4);align-items:baseline;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border-strong);border-left:2px solid var(--color-primary);font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-6)}
.article__update .mono{color:var(--color-primary);flex:none}
.marquee+.backed{border-top:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);backdrop-filter:none;-webkit-backdrop-filter:none}
.marquee+.backed .backed__label{color:var(--color-text-muted);border-color:var(--color-border)}
.marquee+.backed .backed__row img{filter:var(--logo-filter)}
/* emphasis swap: partners strip is the prominent one, backed-by recedes */
.marquee{background:var(--color-surface-2)}
.marquee__label{color:var(--color-text)}
.marquee img{opacity:.9}
.marquee+.backed{background:var(--color-bg)}
.marquee+.backed .backed__label{color:var(--color-text-faint)}
.marquee+.backed .backed__row img{opacity:.45}
.marquee+.backed .backed__row li:hover img{opacity:.9}
/* numbers panel (image-backed stats) */
.numbers{position:relative;overflow:hidden;background:#000;color:#eef1f3;min-height:36rem;height:100%;border:1px solid var(--color-border)}
.numbers>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;opacity:.55;filter:saturate(.55) brightness(.9)}
.numbers::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,6,7,.55),rgba(5,6,7,.25) 50%,rgba(5,6,7,.6))}
.numbers .gp__grid{opacity:.7}
.numbers__body{position:relative;z-index:2;padding:clamp(var(--space-8),5vw,var(--space-12))}
.numbers__body h3{font-size:clamp(2rem,1rem + 2.4vw,3rem);font-weight:300;line-height:1.05;margin:0 0 var(--space-6)}
.numbers__body ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-6)}
.numbers__body li{display:grid;gap:var(--space-1)}
.numbers__body li>span:last-child{font-size:var(--text-sm);color:rgba(238,241,243,.78);font-weight:300}
.numbers__v{font-family:var(--font-display);font-weight:300;font-size:clamp(2.25rem,1.2rem + 3vw,3.5rem);line-height:1;letter-spacing:-.01em}
.numbers__v small{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;margin-left:.5em;vertical-align:.9em;color:rgba(238,241,243,.7)}

/* gridpanel: cursor cell fill + faster reticle while hovering */
.gp__cell{position:absolute;left:0;top:0;width:var(--cell);height:var(--cell);background:rgba(136,205,232,.16);box-shadow:inset 0 0 0 1px rgba(136,205,232,.35);pointer-events:none;z-index:1;opacity:0;transform:translate(var(--rx,0px),var(--ry,0px));transition:transform .16s var(--ease),opacity .35s var(--ease)}
.gridpanel.is-hover .gp__cell{opacity:1}
.gridpanel.is-hover .gp__reticle{transition-duration:.16s,.6s}
.numbers.is-in .gp__reticle{opacity:1}
