/* ================================================================
   ELIXAX — The Forward-Deployed AI Company
   Palantir gravity × UST clarity · Attestria green discipline
   ================================================================ */

:root{
  --black:      #0A0F14;
  --ink:        #101820;
  --ink-2:      #182430;
  --panel:      rgba(24,36,48,.55);
  --paper:      #FFFFFF;
  --gray:       #F4F6F8;
  --line:       #DCE2E8;
  --line-soft:  #EBEFF2;
  --line-dark:  rgba(255,255,255,.09);
  --muted:      #5C6B77;
  --muted-dk:   #8FA3B3;
  --blue:       #2F6DB5;
  --sky:        #378add;
  --teal:       #7ED8D4;
  --health:     #177A72;
  --green:      #3E7D2C;
  --green-dk:   #2F5D20;
  --green-md:   #5C9B3F;
  --green-lt:   #A8D88F;
  --green-bg:   #EDF5E8;
  --green-ln:   #C7DDBB;
  --red:        #e24b4a;
  --amber:      #ef9f27;

  --serif: "Newsreader", Georgia, serif;
  --sans:  "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;
  --mono:  "IBM Plex Mono", ui-monospace, Consolas, monospace;

  --r: 3px;
  --wrap: 1180px;
}

*{ box-sizing:border-box; margin:0; padding:0 }
html{ scroll-behavior:smooth }
body{
  font-family:var(--sans); font-size:16px; line-height:1.6;
  color:var(--ink); background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
::selection{ background:var(--green-ln); color:var(--ink) }

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 28px }

h1,h2,h3{ font-family:var(--serif); font-weight:400; line-height:1.06; letter-spacing:-.015em }
h1 em, h2 em{ font-style:italic; color:var(--green) }
.hero h1 em, .section-dark h2 em, .contact h2 em{ color:var(--green-lt) }
b{ font-weight:600 }

/* ---------- atoms ---------- */
.kicker{
  font-family:var(--mono); font-size:11px; font-weight:500;
  letter-spacing:.22em; color:var(--muted-dk);
  display:flex; align-items:center; gap:10px; margin-bottom:20px;
}
.kicker.dark{ color:var(--muted) }
.kicker-dot{ width:8px; height:8px; background:var(--green-md); border-radius:1px; flex-shrink:0 }

.mono-tag{
  font-family:var(--mono); font-size:10.5px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
}
.mono-tag.dim{ color:var(--muted-dk) }

.lede{ font-size:18px; color:#B6C6D4; max-width:56ch }

.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:12.5px; font-weight:600; letter-spacing:.06em;
  padding:14px 24px; border-radius:var(--r); text-decoration:none;
  border:1px solid transparent; cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.btn:hover{ transform:translateY(-1px) }
.btn-solid{ background:var(--green); color:#fff }
.btn-solid:hover{ background:var(--green-dk); box-shadow:0 6px 24px rgba(62,125,44,.35) }
.btn-ghost{ color:#EAF1F6; border-color:var(--line-dark) }
.btn-ghost:hover{ border-color:var(--green-lt); color:var(--green-lt) }
.btn-outline-light{ color:#EAF1F6; border-color:rgba(255,255,255,.25); justify-content:center }
.btn-outline-light:hover{ border-color:var(--green-lt); color:var(--green-lt) }
.btn-bright{ background:#EAF1F6; color:var(--ink) }
.btn-bright:hover{ box-shadow:0 6px 24px rgba(234,241,246,.25) }

.viz-live{
  font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--green-lt);
  display:inline-flex; align-items:center; gap:7px;
}
.viz-live i{ width:7px; height:7px; border-radius:50%; background:var(--green-lt); animation:blink 1.6s ease-in-out infinite }
@keyframes blink{ 0%,100%{opacity:1} 50%{opacity:.25} }

.tag{
  display:inline-block; font-family:var(--mono); font-size:9.5px; font-weight:700;
  letter-spacing:.12em; padding:4px 10px; border-radius:var(--r); border:1px solid;
}
.tag-blue{ background:#EAF1F9; color:var(--blue); border-color:#BCD2E8 }
.tag-teal{ background:#E7F5F3; color:var(--health); border-color:#BEE2DD }
.tag-plain{ background:var(--gray); color:var(--muted); border-color:var(--line) }

/* ---------- motion primitives ---------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1) }
.reveal.in{ opacity:1; transform:none }
.d1{ transition-delay:.08s } .d2{ transition-delay:.16s } .d3{ transition-delay:.24s } .d4{ transition-delay:.32s }

.progress{
  position:fixed; top:0; left:0; right:0; height:2px; z-index:300;
  background:linear-gradient(90deg, var(--green-md), var(--green-lt));
  transform-origin:0 50%; transform:scaleX(0); pointer-events:none;
}

.hl{ display:block; overflow:hidden; padding-bottom:.08em; margin-bottom:-.08em }
.hl-in{ display:inline-block; transform:translateY(115%); animation:hlUp 1.05s .15s cubic-bezier(.16,.8,.24,1) forwards }
.hl-in.d{ animation-delay:.32s }
@keyframes hlUp{ to{ transform:translateY(0) } }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none }
  .hl-in{ transform:none; animation:none }
  .strip-track{ animation:none !important }
  .progress, #net{ display:none }
  [data-words] span{ opacity:1 !important; transform:none !important }
}

/* ================================================================
   NAV
   ================================================================ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:200;
  background:rgba(10,15,20,.55); backdrop-filter:blur(16px);
  border-bottom:1px solid transparent; color:#fff;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), background .3s, border-color .3s;
}
.nav.scrolled{ background:rgba(10,15,20,.92); border-bottom-color:var(--line-dark) }
.nav.hidden{ transform:translateY(-100%) }
.nav-inner{
  max-width:var(--wrap); margin:0 auto; padding:0 28px;
  display:flex; align-items:center; gap:34px; height:66px;
}
.brand{ display:flex; align-items:center; gap:11px; text-decoration:none; color:#fff }
.brand-word{
  font-family:var(--sans); font-size:14px; font-weight:600;
  letter-spacing:.34em; color:#C9D6E4; text-transform:lowercase;
}
.nav-links{ display:flex; gap:28px; margin-left:auto }
.nav-links a{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.72); text-decoration:none; padding:6px 0; position:relative;
  transition:color .18s;
}
.nav-links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:var(--green-lt); transition:right .25s ease;
}
.nav-links a:hover{ color:var(--green-lt) }
.nav-links a:hover::after{ right:0 }
.nav-cta{ padding:10px 18px }
.nav-burger{ display:none; background:none; border:none; cursor:pointer; padding:8px; margin-left:auto }
.nav-burger span{ display:block; width:20px; height:2px; background:#fff; margin:4px 0 }

/* ================================================================
   HERO — full viewport, canvas network
   ================================================================ */
.hero{
  position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:center;
  background:linear-gradient(#070B10, var(--black) 46%); color:#EAF1F6;
  padding:140px 0 0; overflow:hidden;
}
#net{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.9 }
.hero-bg{
  position:absolute; inset:-12% 0; pointer-events:none; will-change:transform;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 90% 80% at 60% 12%, #000 25%, transparent 72%);
}
.hero-vignette{
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 120% 90% at 50% 110%, rgba(7,11,16,.9), transparent 55%);
}
.hero-inner{ position:relative; width:100%; padding-bottom:40px }
.hero h1{ font-size:clamp(52px, 7.6vw, 110px); margin:0 0 34px; color:#fff }
.hero h1 em{ white-space:nowrap }
.hero-cols{
  display:flex; gap:56px; align-items:flex-end; justify-content:space-between; flex-wrap:wrap;
}
.hero .lede{ margin:0 }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap }

.hero-meta{ position:relative; border-top:1px solid var(--line-dark); margin-top:64px }
.hero-meta-inner{
  display:flex; align-items:center; gap:26px; padding:16px 28px; flex-wrap:wrap;
}
.scroll-cue{ margin-left:auto; animation:cue 2.4s ease-in-out infinite }
@keyframes cue{ 0%,100%{opacity:.5; transform:translateY(0)} 50%{opacity:1; transform:translateY(3px)} }

/* ticker */
.ticker{
  position:relative; overflow:hidden; padding:14px 0;
  background:var(--black); border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark);
}
.strip-track{ display:flex; align-items:center; gap:32px; width:max-content; animation:marquee 32s linear infinite }
.strip-track span{ font-family:var(--mono); font-size:11px; letter-spacing:.3em; color:var(--muted-dk); white-space:nowrap }
.strip-track i{ color:var(--green-md); font-style:normal; font-size:10px }
@keyframes marquee{ to{ transform:translateX(-33.333%) } }

/* ================================================================
   MANIFESTO — word-by-word
   ================================================================ */
.manifesto{ background:var(--black); color:#EAF1F6; padding:150px 0 }
.manifesto-line{
  font-family:var(--serif); font-size:clamp(28px, 3.6vw, 46px); font-weight:300;
  line-height:1.32; max-width:24em;
}
.manifesto-line span{
  display:inline-block; opacity:.08; transform:translateY(8px);
  transition:opacity .5s ease, transform .5s ease;
}
.manifesto-line.in span{ opacity:1; transform:none }
.manifesto-line .neg{ color:var(--muted-dk); text-decoration:line-through; text-decoration-color:var(--red); text-decoration-thickness:2px }
.manifesto-line .pos{ font-style:italic; color:var(--green-lt) }

/* ================================================================
   STATS BAND
   ================================================================ */
.stats{ background:var(--black); color:#fff; border-top:1px solid var(--line-dark); padding:0 }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr) }
.stat{
  padding:54px 26px 50px; border-right:1px solid var(--line-dark);
  display:flex; flex-direction:column; gap:12px;
}
.stat:first-child{ padding-left:28px }
.stat:last-child{ border-right:none }
.stat b{ font-family:var(--serif); font-weight:300; font-size:clamp(44px,4.6vw,68px); line-height:1; color:#fff }
.stat b .dn{ font-style:normal; font-size:.35em; color:var(--green-lt); vertical-align:.5em; margin-left:6px }
.stat .mono-tag{ max-width:24ch }

/* ================================================================
   SECTIONS
   ================================================================ */
.section{ padding:130px 0 }
.section-light{ background:var(--paper) }
.section-gray{ background:var(--gray) }
.section-dark{ background:var(--black); color:#EAF1F6; position:relative; overflow:hidden }
.section-dark::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 70% 60% at 20% 0%, #000 20%, transparent 70%);
}

.section-head{
  display:grid; grid-template-columns:120px 1fr; gap:24px;
  margin-bottom:64px; align-items:start;
}
.section-no{
  font-family:var(--serif); font-size:64px; font-weight:300; line-height:.9;
  color:transparent; -webkit-text-stroke:1px var(--line); padding-top:6px;
}
.section-no.light{ -webkit-text-stroke:1px rgba(255,255,255,.18) }
.section-head h2{ font-size:clamp(34px, 4.2vw, 54px); margin-bottom:18px }
.section-dark .section-head h2{ color:#fff }
.section-sub{ font-size:17px; color:var(--muted); max-width:64ch }
.section-dark .section-sub{ color:#A9BBC9 }

/* ================================================================
   01 SERVICES — editorial rows
   ================================================================ */
.svc-list{ border-top:1px solid var(--line) }
.svc-row{
  display:grid; grid-template-columns:110px 1fr 60px; gap:30px; align-items:start;
  padding:44px 0; border-bottom:1px solid var(--line);
  text-decoration:none; color:inherit; position:relative;
  transition:background .25s ease, padding .25s ease;
}
.svc-row:hover{ background:linear-gradient(90deg, #F7FAF5, transparent 70%); padding-left:18px }
.svc-no{
  font-family:var(--serif); font-size:52px; font-weight:300; line-height:1;
  color:transparent; -webkit-text-stroke:1px #C4CDD4; transition:all .25s ease; padding-top:4px;
}
.svc-row:hover .svc-no{ color:var(--green); -webkit-text-stroke:1px var(--green) }
.svc-body h3{ font-size:30px; margin-bottom:12px }
.svc-body p{ font-size:15px; color:var(--muted); max-width:72ch; margin-bottom:16px }
.svc-tags{ letter-spacing:.1em }
.svc-arrow{
  font-size:26px; color:#C4CDD4; justify-self:end; padding-top:14px;
  transition:transform .25s ease, color .25s ease;
}
.svc-row:hover .svc-arrow{ transform:translateX(8px); color:var(--green) }

/* ================================================================
   02 METHOD
   ================================================================ */
.method-wrap{ position:relative; margin-bottom:56px }
.method-line{ position:absolute; top:8px; left:0; right:0; height:1px; background:var(--line) }
.method-line span{
  display:block; height:1px; width:0; background:var(--green);
  transition:width 1.6s cubic-bezier(.2,.7,.2,1);
}
.method-wrap.in .method-line span{ width:100% }
.method{
  list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:26px;
  counter-reset:step; padding-top:34px;
}
.method-step{ position:relative }
.method-step::before{
  content:""; position:absolute; top:-30px; left:0; width:9px; height:9px;
  background:var(--green); border-radius:1px;
}
.method-no{ color:var(--green); display:block; margin-bottom:12px }
.method-step h3{ font-size:23px; margin-bottom:9px }
.method-step p{ font-size:13.5px; color:var(--muted) }

/* opportunity table */
.table-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:18px }
.table-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; gap:12px; flex-wrap:wrap }
.table-head .mono-tag:first-child{ color:var(--ink) }
.table-scroll{ overflow-x:auto }
table{ width:100%; border-collapse:collapse; font-size:13.5px; min-width:760px }
thead{ background:#F6F9FC }
th{
  font-family:var(--mono); font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase;
  text-align:left; color:var(--muted); padding:9px 12px; border-bottom:1px solid var(--line); white-space:nowrap;
}
td{ padding:12px; color:#26313B; border-bottom:1px solid var(--line-soft); vertical-align:top }
tbody tr:last-child td{ border-bottom:none }
tbody tr{ transition:background .15s }
tbody tr:hover{ background:#FAFBFC }
.t-right{ text-align:right }
.pill{
  display:inline-block; font-family:var(--mono); font-size:10.5px; font-weight:600;
  padding:3px 10px; border-radius:var(--r); letter-spacing:.08em;
}
.p-red{ background:#fcebeb; color:#a32d2d }
.p-amber{ background:#faeeda; color:#854f0b }
.p-gray{ background:var(--gray); color:var(--muted) }

/* ================================================================
   03 PLATFORM — terminal
   ================================================================ */
.platform-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:14px; position:relative }
.terminal{
  background:var(--panel); border:1px solid var(--line-dark); border-radius:var(--r);
  overflow:hidden; backdrop-filter:blur(4px);
}
.term-bar{
  display:flex; align-items:center; gap:14px;
  padding:12px 18px; border-bottom:1px solid var(--line-dark); background:rgba(10,15,20,.5);
}
.term-dots{ display:inline-flex; gap:6px }
.term-dots i{ width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.14) }
.term-bar .viz-live{ margin-left:auto }
.ledger-row{
  display:grid; grid-template-columns:44px 1fr auto; gap:16px; align-items:start;
  padding:17px 20px; border-bottom:1px solid rgba(255,255,255,.06);
  position:relative; transition:background .15s;
}
.ledger-row::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:var(--green-md); transform:scaleY(0); transform-origin:top; transition:transform .3s ease;
}
.ledger-row:hover{ background:rgba(255,255,255,.03) }
.ledger-row:hover::before{ transform:scaleY(1) }
.ledger-no{ font-family:var(--mono); font-size:11px; color:var(--muted-dk); padding-top:3px }
.ledger-row b{ font-family:var(--serif); font-size:19px; font-weight:500; color:#fff }
.ledger-row p{ font-size:13px; color:var(--muted-dk); margin-top:3px; max-width:52ch }
.ledger-state{
  font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:.12em;
  padding:4px 10px; border-radius:var(--r); white-space:nowrap; margin-top:3px;
}
.ledger-state.ok{ background:rgba(62,125,44,.18); color:#9CD57F; border:1px solid rgba(62,125,44,.4) }
.ledger-state.warn{ background:rgba(239,159,39,.14); color:#F4C069; border:1px solid rgba(239,159,39,.35) }
.ledger-state.accent{ background:rgba(126,216,212,.12); color:var(--teal); border:1px solid rgba(126,216,212,.35) }
.term-foot{
  padding:13px 20px; color:var(--green-lt); border-top:1px solid var(--line-dark);
  background:rgba(10,15,20,.5); min-height:44px; letter-spacing:.06em; text-transform:none;
}
.type-line::after{ content:"▌"; animation:blink 1s step-end infinite }

.platform-side{ display:flex; flex-direction:column; gap:14px }
.platform-side blockquote{
  background:var(--panel); border:1px solid var(--line-dark); border-radius:var(--r);
  padding:30px 28px; flex:1;
}
.platform-side blockquote p{
  font-family:var(--serif); font-size:23px; font-weight:300; font-style:italic;
  line-height:1.45; color:#EAF1F6; margin-bottom:18px;
}
.side-stats{
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line-dark); border-radius:var(--r); overflow:hidden;
}
.side-stats > div{
  padding:16px 14px; background:var(--panel); border-right:1px solid var(--line-dark);
  display:flex; flex-direction:column; gap:3px;
}
.side-stats > div:last-child{ border-right:none }
.side-stats b{ font-family:var(--serif); font-size:24px; font-weight:500; color:#fff; line-height:1 }
.side-stats span{ font-size:11px; color:var(--muted-dk); line-height:1.4 }

/* ================================================================
   04 PRODUCTS
   ================================================================ */
.product{
  display:grid; grid-template-columns:1.6fr 1fr; gap:0;
  border:1px solid var(--line); border-radius:var(--r);
  margin-bottom:16px; overflow:hidden; background:var(--paper);
  transition:box-shadow .25s ease, border-color .25s ease;
}
.product:hover{ box-shadow:0 24px 70px rgba(16,24,32,.12); border-color:#C9D3DA }
.product-alt{ grid-template-columns:1fr 1.6fr }
.p-infra{ border-top:4px solid var(--blue) }
.p-health{ border-top:4px solid #33A398 }
.p-infra .product-cols h4{ color:var(--blue) }
.p-health .product-cols h4{ color:var(--health) }
.product-main{ padding:48px 44px }
.product-main > .tag{ margin-bottom:18px }
.product-title{ display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:16px }
.product-wm{ font-family:var(--serif); font-size:38px; font-weight:400; color:var(--ink) }
.product-wm b{ font-weight:700 }
.product-lede{ font-size:16.5px; color:var(--muted); max-width:60ch; margin-bottom:28px }
.product-cols{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-bottom:28px }
.product-cols h4{ margin-bottom:10px }
.card-list{ list-style:none }
.card-list li{
  font-size:13px; color:#26313B; padding:8px 0 8px 22px; position:relative;
  border-top:1px solid var(--line-soft);
}
.card-list li::before{
  content:"✦"; position:absolute; left:2px; top:8px; font-size:10px; color:var(--green-md);
}
.chip-row{ display:flex; gap:8px; flex-wrap:wrap }
.chip{
  font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:.08em;
  padding:4px 10px; border-radius:var(--r); border:1px solid;
}
.chip-green{ background:var(--green-bg); color:var(--green); border-color:var(--green-ln) }
.chip-blue{ background:#EAF1F9; color:var(--blue); border-color:#BCD2E8 }
.chip-plain{ background:var(--gray); color:var(--muted); border-color:var(--line) }

.product-rail{
  background:var(--black); position:relative; padding:44px 34px;
  display:flex; flex-direction:column; justify-content:center;
}
.product-rail::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:34px 34px;
}
.rail-node{
  position:relative; background:var(--ink-2); border:1px solid var(--line-dark); border-radius:var(--r);
  padding:12px 16px; display:flex; flex-direction:column; gap:2px;
}
.rail-node .mono-tag{ color:#EAF1F6; font-size:11px; letter-spacing:.06em; text-transform:none; line-height:1.5 }
.rail-node em{ font-style:normal; font-family:var(--mono); font-size:9.5px; color:var(--muted-dk) }
.rail-node.mid{ border-color:#41566A }
.rail-node.impact{ background:rgba(226,75,74,.10); border-color:rgba(226,75,74,.55) }
.rail-node.impact .mono-tag{ color:#F4A9A0 }
.rail-node.q{ background:rgba(255,255,255,.05) }
.rail-node.a{ background:rgba(126,216,212,.08); border-color:rgba(126,216,212,.45) }
.rail-node.a .mono-tag{ color:var(--teal) }
.rail-edge{
  width:1px; height:26px; margin-left:26px; position:relative;
  background:var(--muted-dk); overflow:visible;
}
.rail-edge::before{
  content:""; position:absolute; left:0; top:0; width:1px; height:8px;
  background:#fff; opacity:.9; animation:pulse-down 1.8s linear infinite;
}
.rail-edge::after{ content:"▼"; position:absolute; bottom:-4px; left:-4.5px; font-size:8px; color:var(--muted-dk) }
.rail-edge.warn{ background:linear-gradient(var(--muted-dk), var(--red)) }
.rail-edge.warn::after{ color:var(--red) }
.rail-edge.teal{ background:linear-gradient(var(--muted-dk), var(--teal)) }
.rail-edge.teal::after{ color:var(--teal) }
@keyframes pulse-down{ 0%{ transform:translateY(-8px); opacity:0 } 30%{ opacity:.9 } 100%{ transform:translateY(26px); opacity:0 } }
.rail-caption{ margin-top:20px; text-align:center; position:relative }
.product-note{ text-align:center; margin-top:38px }

/* ================================================================
   05 PRINCIPLES
   ================================================================ */
.section-principles::before{ mask-image:radial-gradient(ellipse 70% 60% at 85% 100%, #000 20%, transparent 70%) }
.principles{
  display:grid; grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line-dark); border-radius:var(--r); overflow:hidden;
}
.principle{
  padding:34px 28px 38px; border-right:1px solid var(--line-dark);
  background:rgba(24,36,48,.4); transition:background .25s;
}
.principle:hover{ background:rgba(24,36,48,.9) }
.principle:last-child{ border-right:none }
.principle .mono-tag{ color:var(--green-lt); display:block; margin-bottom:20px }
.principle h3{ font-size:22px; color:#fff; margin-bottom:10px }
.principle p{ font-size:13.5px; color:var(--muted-dk) }

/* ================================================================
   CONTACT
   ================================================================ */
.contact{
  position:relative; background:var(--black); color:#EAF1F6;
  padding:150px 0; text-align:center; overflow:hidden;
  border-top:1px solid var(--line-dark);
}
.contact-glow{
  position:absolute; left:50%; bottom:-320px; transform:translateX(-50%);
  width:900px; height:600px; pointer-events:none;
  background:radial-gradient(ellipse, rgba(92,155,63,.13), rgba(62,125,44,.07) 45%, transparent 70%);
}
.contact-inner{ position:relative }
.contact .kicker{ justify-content:center }
.contact h2{ font-size:clamp(32px, 4.4vw, 52px); color:#fff; margin-bottom:18px }
.contact .lede{ margin:0 auto 38px }
.contact .hero-actions{ justify-content:center }

/* ================================================================
   FOOTER — enterprise
   ================================================================ */
.footer{
  position:relative; background:#070B10; color:#C9D6E4;
  padding:80px 0 0; border-top:1px solid var(--line-dark); overflow:hidden;
}
.footer-grid{
  position:relative; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:40px; padding-bottom:64px; z-index:1;
}
.footer-brand p{ font-size:13.5px; color:var(--muted-dk); margin:16px 0 14px; max-width:34ch }
.footer-col{ display:flex; flex-direction:column; gap:12px }
.footer-col .mono-tag{ margin-bottom:6px }
.footer-col a{
  font-size:13.5px; color:#B6C6D4; text-decoration:none; width:fit-content;
  border-bottom:1px solid transparent; transition:color .18s, border-color .18s;
}
.footer-col a:hover{ color:var(--green-lt); border-color:var(--green-lt) }
.footer-fine{
  position:relative; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding-top:22px; padding-bottom:26px; border-top:1px solid var(--line-dark); z-index:1;
}
.footer-wm{
  position:relative; font-family:var(--sans); font-weight:700; letter-spacing:.02em;
  font-size:clamp(110px, 17vw, 260px); line-height:.78; text-align:center;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.07);
  transform:translateY(18%); pointer-events:none; user-select:none;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 1020px){
  .hero h1{ font-size:clamp(46px, 9.4vw, 84px) }
  .hero-cols{ flex-direction:column; align-items:flex-start; gap:30px }
  .stats-grid{ grid-template-columns:1fr 1fr }
  .stat{ border-bottom:1px solid var(--line-dark) }
  .stat:nth-child(2n){ border-right:none }
  .svc-row{ grid-template-columns:70px 1fr 40px; gap:18px }
  .svc-no{ font-size:38px }
  .method{ grid-template-columns:1fr 1fr; gap:34px 26px }
  .platform-grid{ grid-template-columns:1fr }
  .product, .product-alt{ grid-template-columns:1fr }
  .product-rail{ order:2; padding:34px 28px }
  .principles{ grid-template-columns:1fr 1fr }
  .principle{ border-bottom:1px solid var(--line-dark) }
  .section-head{ grid-template-columns:1fr; gap:8px }
  .section-no{ font-size:44px }
  .footer-grid{ grid-template-columns:1fr 1fr }
}
@media (max-width: 720px){
  .nav-links, .nav-cta{ display:none }
  .nav-burger{ display:block }
  .nav.open .nav-links{
    display:flex; flex-direction:column; position:absolute; top:66px; left:0; right:0;
    background:var(--black); border-bottom:1px solid var(--line-dark);
    padding:18px 28px 24px; gap:16px;
  }
  .hero{ padding-top:110px }
  .hero-meta-inner{ gap:14px }
  .scroll-cue{ display:none }
  .stats-grid{ grid-template-columns:1fr }
  .stat{ border-right:none }
  .svc-row{ grid-template-columns:1fr; gap:10px }
  .svc-no{ padding-top:0 }
  .svc-arrow{ display:none }
  .method{ grid-template-columns:1fr }
  .product-cols{ grid-template-columns:1fr }
  .product-main{ padding:32px 24px }
  .principles{ grid-template-columns:1fr }
  .principle{ border-right:none }
  .side-stats{ grid-template-columns:1fr }
  .side-stats > div{ border-right:none; border-bottom:1px solid var(--line-dark) }
  .side-stats > div:last-child{ border-bottom:none }
  .footer-grid{ grid-template-columns:1fr; gap:28px }
  .section{ padding:84px 0 }
  .manifesto{ padding:100px 0 }
}
