/* ============================================================
   Delta-Sigma, Inc. — site design system
   Palette derived from the DSI mark: ultramarine block + red Δ Σ.
   Red is reserved. It only ever marks the legacy/distorted case
   or a measured limit. It is never decoration.
   ============================================================ */

:root{
  --void:#030A16;
  --hull:#0A1A31;
  --deep:#202858;
  --signal:#3E489D;
  --beam:#9EA4CE;
  --ice:#C2C6E2;
  --pulse:#E4141B;
  --pulse-dim:#FF6A6F;
  --paper:#FFFFFF;
  --fog:#EDF2F8;
  --ink:#081426;
  --steel:#566D8A;
  --line-l:#DEE7F1;
  --line-d:rgba(194,198,226,.16);

  --r-lg:20px;
  --r-md:12px;
  --r-sm:8px;
  --maxw:1180px;

  --display:"Archivo",system-ui,sans-serif;
  --body:"IBM Plex Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;

  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--beam);outline-offset:3px;border-radius:3px}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}

h1,h2,h3{
  font-family:var(--display);
  font-stretch:112%;
  letter-spacing:-.025em;line-height:1.04;font-weight:800;
}
h1{font-stretch:118%}

/* ---------- utility type ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--signal);margin-bottom:18px;
}
.eyebrow::before{content:"";width:14px;height:2px;background:var(--pulse);flex:none}
.on-dark .eyebrow,.eyebrow.inv{color:var(--beam)}
.lede{color:var(--steel);font-size:17px;max-width:62ch}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}
.center .eyebrow{justify-content:center}
.note{font-family:var(--mono);font-size:11.5px;line-height:1.7;color:var(--steel);letter-spacing:.02em}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--display);font-stretch:108%;
  font-weight:700;font-size:14.5px;
  padding:12px 22px;border-radius:var(--r-sm);
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .18s var(--ease),box-shadow .25s var(--ease),background .2s,color .2s,border-color .2s;
}
.btn .arw{transition:transform .2s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}
.btn-signal{background:var(--signal);color:#fff;box-shadow:0 8px 22px rgba(62,72,157,.26)}
.btn-signal:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(62,72,157,.38)}
.btn-paper{background:#fff;color:var(--void);box-shadow:0 10px 30px rgba(3,10,22,.35)}
.btn-paper:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(3,10,22,.5)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(194,198,226,.4)}
.btn-ghost:hover{border-color:var(--beam);background:rgba(158,164,206,.1)}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid var(--line-l);
}
.nav-inner{display:flex;align-items:center;gap:30px;max-width:var(--maxw);margin:0 auto;padding:11px 24px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:44px;width:auto}
.nav-links{display:flex;gap:26px;margin-left:auto;font-size:14.5px;font-weight:500}
.nav-links a{opacity:.7;transition:opacity .2s;position:relative;padding:2px 0}
.nav-links a:hover{opacity:1}
.nav-links a[aria-current]{opacity:1}
.nav-links a[aria-current]::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--pulse);
}
.burger{display:none;margin-left:auto;background:none;border:0;font-size:22px;color:var(--void);cursor:pointer;padding:4px 8px}

/* ---------- sections ---------- */
.sec{padding:92px 0}
.sec-paper{background:var(--paper)}
.sec-fog{background:var(--fog)}
.sec h2{font-size:clamp(30px,4vw,46px);margin-bottom:16px}
.sec-head{max-width:64ch}

/* dark band shared by hero / talk / feature bands */
.band{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(150deg,var(--void) 0%,#08182F 52%,var(--deep) 100%);
}
.band::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(760px circle at 84% 26%,rgba(62,72,157,.34),transparent 64%);
}
.band .wrap{position:relative;z-index:2}
.band h2{font-size:clamp(28px,3.6vw,42px)}
.band .lede{color:#BFD5EA}

/* grid mesh texture for dark bands */
.mesh::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(194,198,226,.05) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(194,198,226,.05) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%);
}

/* ---------- hero ---------- */
.hero{padding:96px 0 88px;min-height:600px;display:flex;align-items:center}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(38px,5.4vw,64px);font-weight:900;max-width:15ch}
.hero .kicker{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ice);margin-bottom:22px;display:flex;align-items:center;gap:10px;
}
.hero .kicker b{color:#fff;font-weight:500}
.hero .kicker i{width:5px;height:5px;border-radius:50%;background:var(--pulse);font-style:normal;flex:none}
.hero p.sub{color:#C6DAEE;font-size:17px;max-width:52ch;margin:24px 0 30px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:36px}
.hero-tags span{
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;
  color:var(--ice);border:1px solid rgba(194,198,226,.26);
  background:rgba(8,24,47,.5);border-radius:var(--r-sm);padding:6px 11px;
}

/* page hero (interior pages) */
.hero-page{padding:84px 0 76px}
.hero-page h1{font-size:clamp(34px,4.8vw,54px);font-weight:900;max-width:17ch}
.hero-page .rule{width:220px;max-width:55%;height:2px;background:linear-gradient(90deg,var(--pulse) 0 42px,var(--beam) 42px,rgba(158,164,206,0));margin:22px 0 22px}
.hero-page p{color:#C6DAEE;font-size:16.5px;max-width:60ch}

/* ---------- platform cards ---------- */
.plats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:52px}
.plat{
  border:1px solid var(--line-l);border-radius:var(--r-lg);overflow:hidden;
  background:var(--paper);display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
}
.plat:hover{transform:translateY(-5px);border-color:rgba(62,72,157,.4);box-shadow:0 22px 54px rgba(8,20,38,.12)}
.plat-art{position:relative;aspect-ratio:16/8;background:var(--void);overflow:hidden}
.plat-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.plat:hover .plat-art img{transform:scale(1.04)}
.plat-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,10,22,.05),rgba(3,10,22,.5))}
.plat-tag{
  position:absolute;left:14px;top:14px;z-index:2;
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;background:rgba(62,72,157,.9);border-radius:var(--r-sm);padding:5px 10px;
}
.plat-body{padding:26px 26px 28px;flex:1;display:flex;flex-direction:column}
.plat-body h3{font-size:23px;margin-bottom:6px}
.plat-body .sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin-bottom:14px}
.plat-body p{color:var(--steel);font-size:15px;margin-bottom:18px}
.plat-body .lnk{margin-top:auto;font-family:var(--display);font-weight:700;font-size:14px;color:var(--signal);display:inline-flex;gap:8px;align-items:center}
.plat-body .lnk:hover{gap:12px}

/* ---------- capability list ---------- */
.caps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-l);border:1px solid var(--line-l);border-radius:var(--r-lg);overflow:hidden;margin-top:48px}
.cap{background:var(--paper);padding:30px 26px;transition:background .25s}
.cap:hover{background:#FAFCFE}
.cap h3{font-size:17px;margin-bottom:9px}
.cap p{color:var(--steel);font-size:14px}
.cap .m{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--signal);display:block;margin-bottom:13px}
.sec-fog .caps{background:var(--line-l)}
.sec-fog .cap{background:var(--paper)}

/* ---------- stat strip ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line-l);border:1px solid var(--line-l);border-radius:var(--r-lg);overflow:hidden}
.stat{background:var(--paper);padding:28px 22px}
.stat b{display:block;font-family:var(--display);font-stretch:118%;font-size:clamp(24px,2.8vw,34px);font-weight:900;letter-spacing:-.035em;color:var(--void);line-height:1}
.stat span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);display:block;margin-top:10px}
.band .stats{background:var(--line-d);border-color:var(--line-d)}
.band .stat{background:rgba(8,24,47,.5)}
.band .stat b{color:#fff}
.band .stat span{color:var(--ice);opacity:.75}

/* ---------- rack-unit ruler (signature #2) ---------- */
.racks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:44px}
.rack{border:1px solid var(--line-d);border-radius:var(--r-lg);background:rgba(8,24,47,.45);padding:20px;display:flex;flex-direction:column}
.rack.win{border-color:rgba(158,164,206,.55);background:rgba(62,72,157,.14);box-shadow:0 0 0 1px rgba(158,164,206,.2),0 20px 48px rgba(3,10,22,.4)}
.rack-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}
.rack-h .u{font-family:var(--display);font-stretch:118%;font-weight:900;font-size:30px;letter-spacing:-.04em;line-height:1}
.rack.win .rack-h .u{color:var(--beam)}
.rack-h .who{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ice);opacity:.75;text-align:right}
.rack-vis{display:flex;gap:14px;align-items:flex-end;flex:1}
.rack-bar{width:26px;flex:none;border-radius:3px;background:linear-gradient(180deg,rgba(194,198,226,.3),rgba(194,198,226,.12));border:1px solid rgba(194,198,226,.28);position:relative}
.rack.win .rack-bar{background:linear-gradient(180deg,var(--beam),var(--signal));border-color:rgba(158,164,206,.6);box-shadow:0 0 18px rgba(158,164,206,.45)}
.rack-photo{flex:1;border-radius:var(--r-md);overflow:hidden;border:1px solid rgba(194,198,226,.16);background:#fff}
.rack-photo img{width:100%;height:190px;object-fit:contain;background:#fff}
.rack-foot{margin-top:14px;font-size:13.5px;color:#BFD5EA}
.rack-foot b{color:#fff;font-family:var(--display);font-weight:700}

/* ---------- tables ---------- */
.table-wrap{border:1px solid var(--line-l);border-radius:var(--r-lg);overflow:hidden;background:var(--paper);margin-top:26px}
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12.5px}
thead th{
  text-align:left;padding:14px 18px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--signal);background:var(--fog);font-weight:500;border-bottom:1px solid var(--line-l);white-space:nowrap;
}
tbody td{padding:13px 18px;border-bottom:1px solid var(--line-l);color:var(--steel);white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr{transition:background .2s}
tbody tr:hover{background:#FAFCFE}
tbody td:first-child{color:var(--void);font-weight:500}
tbody td.hi{color:var(--signal);font-weight:500}
.band .table-wrap{border-color:var(--line-d);background:rgba(8,24,47,.4)}
.band thead th{background:rgba(62,72,157,.22);color:var(--beam);border-bottom-color:var(--line-d)}
.band tbody td{border-bottom-color:var(--line-d);color:#BFD5EA}
.band tbody tr:hover{background:rgba(62,72,157,.12)}
.band tbody td:first-child{color:#fff}
.band tbody td.hi{color:var(--beam)}

/* ---------- product rows (platforms page) ---------- */
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px;align-items:center}
.row.flip .row-art{order:-1}
.row h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:0}
.row .rule{width:110px;height:3px;background:var(--pulse);border-radius:3px;margin:18px 0 20px}
.row p{color:var(--steel);font-size:15.5px;margin-bottom:20px;max-width:54ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.chip{
  font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--signal);
  background:rgba(62,72,157,.07);border:1px solid rgba(62,72,157,.2);
  border-radius:var(--r-sm);padding:6px 11px;white-space:nowrap;
}
.shot{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line-l);box-shadow:0 22px 54px rgba(8,20,38,.14)}
.shot img{width:100%;height:100%;object-fit:contain;background:#fff}
.shot.dark{background:#02060E;border-color:rgba(194,198,226,.18)}
.shot.dark img{background:#02060E}
.shot .cap{
  position:absolute;left:14px;bottom:12px;z-index:2;
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:rgba(3,10,22,.78);backdrop-filter:blur(6px);
  border:1px solid rgba(194,198,226,.2);border-radius:var(--r-sm);padding:5px 10px;
}

/* ---------- proof gallery ---------- */
.proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.proof figure{border:1px solid var(--line-d);border-radius:var(--r-lg);overflow:hidden;background:rgba(8,24,47,.45)}
.proof img{width:100%;height:230px;object-fit:contain;background:#02060E}
.proof figcaption{padding:16px 18px;font-size:13.5px;color:#BFD5EA}
.proof figcaption b{display:block;font-family:var(--display);font-weight:700;font-size:14.5px;color:#fff;margin-bottom:5px}

/* ---------- catalog map (svg scatter) ---------- */
.map{border:1px solid var(--line-l);border-radius:var(--r-lg);background:var(--paper);padding:26px 24px 18px;margin-top:26px}
.map svg{width:100%;height:auto;display:block;overflow:visible}
.map-key{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-l)}
.map-key span{font-family:var(--mono);font-size:10.5px;color:var(--steel);display:inline-flex;align-items:center;gap:7px}
.map-key i{width:9px;height:9px;border-radius:2px;flex:none;font-style:normal}

/* ---------- logo wall ---------- */
.wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line-l);border:1px solid var(--line-l);border-radius:var(--r-lg);overflow:hidden;margin-top:44px}
.wall a,.wall div{
  background:var(--paper);aspect-ratio:5/3;display:grid;place-items:center;padding:22px 18px;
  transition:background .25s;position:relative;min-width:0;overflow:hidden;
}
.wall img{
  width:100%;height:100%;object-fit:contain;
  filter:grayscale(1) contrast(.92) opacity(.62);
  transition:filter .3s var(--ease),transform .3s var(--ease);
}
.wall a:hover,.wall div:hover{background:#FAFCFE}
.wall a:hover img,.wall div:hover img{filter:none;transform:scale(1.05)}
.wall figcaption{
  position:absolute;left:0;right:0;bottom:6px;text-align:center;
  font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--steel);opacity:0;transition:opacity .25s;pointer-events:none;
}
.wall a:hover figcaption,.wall div:hover figcaption{opacity:.8}

/* ---------- program vignettes ---------- */
.progs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:44px}
.prog{
  border:1px solid var(--line-l);border-radius:var(--r-lg);background:var(--paper);padding:28px;
  transition:transform .28s var(--ease),box-shadow .28s,border-color .28s;
}
.prog:hover{transform:translateY(-4px);border-color:rgba(62,72,157,.35);box-shadow:0 18px 44px rgba(8,20,38,.1)}
.prog .k{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.prog .k span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal)}
.prog .k .yr{color:var(--steel);margin-left:auto}
.prog h3{font-size:19px;margin-bottom:9px}
.prog p{color:var(--steel);font-size:14.5px}
.prog .metric{
  margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-l);
  font-family:var(--mono);font-size:11.5px;color:var(--void);letter-spacing:.02em;
}
.prog .metric b{color:var(--signal)}

/* ---------- timeline ---------- */
.tl{margin-top:44px;border-left:2px solid var(--line-l);padding-left:0}
.tl-item{position:relative;padding:0 0 34px 30px}
.tl-item::before{
  content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:3px;
  background:var(--paper);border:2px solid var(--signal);
}
.tl-item.mark::before{background:var(--pulse);border-color:var(--pulse)}
.tl-item:last-child{padding-bottom:0}
.tl-item .yr{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--signal);display:block;margin-bottom:6px}
.tl-item h3{font-size:17px;margin-bottom:6px}
.tl-item p{color:var(--steel);font-size:14.5px;max-width:60ch}

/* ---------- contact ways ---------- */
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.way{
  border:1px solid var(--line-l);border-radius:var(--r-lg);background:var(--paper);padding:30px;
  display:flex;flex-direction:column;
  transition:transform .28s var(--ease),box-shadow .28s,border-color .28s;
}
.way:hover{transform:translateY(-5px);border-color:rgba(62,72,157,.45);box-shadow:0 20px 48px rgba(8,20,38,.1)}
.way .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--signal);margin-bottom:14px}
.way h3{font-size:20px;margin-bottom:10px}
.way h3 a:hover{color:var(--signal)}
.way p{color:var(--steel);font-size:14.5px}
.info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:44px;padding-top:38px;border-top:1px solid var(--line-l)}
.info .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--signal);margin-bottom:10px}
.info p{color:var(--steel);font-size:14.5px}
.info strong{color:var(--void);font-weight:600}

/* ---------- callout ---------- */
.callout{
  margin-top:32px;border:1px solid rgba(228,20,27,.3);border-left:3px solid var(--pulse);
  background:rgba(228,20,27,.04);border-radius:var(--r-md);padding:22px 24px;
}
.callout h3{font-size:15.5px;margin-bottom:7px}
.callout p{color:var(--steel);font-size:14px;max-width:74ch}
.band .callout{border-color:rgba(228,20,27,.4);background:rgba(228,20,27,.1)}
.band .callout p{color:#BFD5EA}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--r-lg);overflow:hidden;box-shadow:0 26px 64px rgba(8,20,38,.18)}
.split-art{position:relative;min-height:420px;background:linear-gradient(160deg,var(--deep),var(--void));overflow:hidden}
.split-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;mix-blend-mode:screen}
.split-art::after{content:"";position:absolute;inset:0;background:radial-gradient(460px circle at 45% 50%,rgba(62,72,157,.4),transparent 70%)}
.split-fig{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:36px}
.split-fig b{font-family:var(--display);font-stretch:122%;font-weight:900;font-size:clamp(54px,7vw,84px);color:#fff;letter-spacing:-.045em;line-height:.92;text-align:center}
.split-fig b small{display:block;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--beam);margin-top:16px}
.split-body{background:var(--hull);color:#fff;padding:50px 44px;display:flex;flex-direction:column;justify-content:center}
.split-body h2{color:#fff;font-size:clamp(26px,3.2vw,38px);margin-bottom:14px}
.split-body p{color:#B5CDE4;font-size:15px;margin-bottom:12px;max-width:46ch}
.split-body .btn{align-self:flex-start;margin-top:18px}

/* ---------- talk band ---------- */
.talk{padding:80px 0}
.talk .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}
.talk h2{max-width:15ch}
.talk p{color:#BFD5EA;font-size:16px;max-width:44ch;margin-bottom:26px}

/* ---------- footer ---------- */
footer{background:var(--void);color:#fff;padding:62px 0 28px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:36px;margin-bottom:44px}
.foot-brand img{height:33px;width:auto;margin-bottom:18px}
.foot-brand p{color:#7E99B8;font-size:13.5px;max-width:34ch}
.foot-col .foot-h{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ice);margin-bottom:16px;font-weight:500}
.foot-col a,.foot-col p{display:block;color:#7E99B8;font-size:13.5px;margin-bottom:9px;transition:color .2s}
.foot-col a:hover{color:var(--beam)}
.foot-bot{display:flex;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--line-d);font-family:var(--mono);font-size:10.5px;color:#7E99B8;flex-wrap:wrap}

/* ---------- reveal ---------- */
.rv{min-width:0;opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:#fff;border-bottom:1px solid var(--line-l);
    flex-direction:column;gap:0;padding:8px 24px 16px;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:11px 0;opacity:1;border-bottom:1px solid var(--line-l)}
  .nav-links a[aria-current]::after{display:none}
  .nav-links a[aria-current]{color:var(--signal)}
  .burger{display:block}
  .brand img{height:34px}
  .nav > .nav-inner{position:relative}
  .nav .btn{display:none}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero h1{max-width:none}
  .plats,.caps,.proof,.progs,.ways,.info,.row,.split,.talk .wrap{grid-template-columns:minmax(0,1fr)}
  .row{gap:36px}
  .row.flip .row-art{order:0}
  .split-art{min-height:300px}
  .racks{grid-template-columns:minmax(0,1fr)}
  .rack-photo img{height:220px}
  .wall{grid-template-columns:repeat(4,minmax(0,1fr))}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .sec,.talk{padding:60px 0}
  .hero{padding:64px 0;min-height:0}
  .hero-page{padding:60px 0 52px}
  .wall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stats,.foot-grid{grid-template-columns:minmax(0,1fr)}
  .split-body{padding:38px 26px}
  .plat-body{padding:24px}
  .foot-bot{flex-direction:column;gap:8px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}

/* wall: trailing note cell fills the last row without inheriting logo-cell sizing */
.wall .wall-note{
  grid-column:span 3;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;
  padding:24px 22px;text-align:center;
}
.wall .wall-note p{max-width:52ch}
@media(max-width:1020px){.wall .wall-note{grid-column:span 4}}
@media(max-width:640px){.wall .wall-note{grid-column:span 3}}


/* ---------- hero art ----------
   The image is dark at the left where the headline sits — mean rgb(5,16,28)
   against the site's void at rgb(3,10,22), so it joins the page rather than
   sitting on it. The scrim is weighted left so type stays clear of the circuit
   detail, and lifts toward the right so the HUD ring reads on its own. */
.hero-art{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:72% center;display:block}
.hero-art::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(3,10,22,.95) 0%,rgba(3,10,22,.88) 32%,rgba(3,10,22,.58) 60%,rgba(3,10,22,.40) 100%),
    linear-gradient(180deg,rgba(3,10,22,.45) 0%,rgba(3,10,22,0) 26%,rgba(3,10,22,0) 68%,rgba(3,10,22,.72) 100%);
}
.hero .wrap{position:relative;z-index:2}
@media(max-width:900px){
  .hero-art img{object-position:64% center}
  .hero-art::after{background:linear-gradient(180deg,rgba(3,10,22,.86) 0%,rgba(3,10,22,.80) 55%,rgba(3,10,22,.92) 100%)}
}

/* v1.2.0: brand line under the footer blurb */
.foot-tagline{margin-top:10px;font-weight:600;letter-spacing:.01em;}

/* v1.3.0: hero closer line, pillar 2x2 grid, four-door row, platform tiles */
.hero .sub2{font-size:15px;color:rgba(226,230,246,.82);max-width:64ch;margin-top:12px}
.caps.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
.caps.doors{grid-template-columns:repeat(4,minmax(0,1fr))}
.plat2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:48px}
.plat{background:var(--signal);border-radius:var(--r-lg);padding:38px 30px;color:#fff;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.plat img{width:min(340px,82%);height:auto}
.plat h3{color:#fff;margin:0;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.plat p{color:rgba(255,255,255,.88);font-size:14.5px;max-width:46ch}
.plat .btn{margin-top:8px}
@media(max-width:960px){.caps.doors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.plat2{grid-template-columns:1fr}.caps.pillars{grid-template-columns:1fr}}
@media(max-width:560px){.caps.doors{grid-template-columns:1fr}}
