/* Akoni — v3 system. Flat black, one panel, ten text styles, blue = signal only. */
:root{
  --bg-0:#07080A;--bg-1:#0B0D11;--bg-2:#10131A;
  --ink-0:#ECEDF0;--ink-1:#A7ACB6;--ink-2:#7C8291;
  --line-1:rgba(236,237,240,.08);--line-2:rgba(236,237,240,.14);--line-3:rgba(236,237,240,.24);
  --blue:#3D6BFF;--blue-text:#7EA0FF;--blue-tint:rgba(61,107,255,.14);--white:#FFFFFF;
  --display:"Bricolage Grotesque",system-ui,-apple-system,sans-serif;
  --text:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --container:1200px;--margin:clamp(20px,3vw,32px);--gutter:24px;
  --section:clamp(80px,8vw,120px);
  --ease-out:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{background:var(--bg-0);color:var(--ink-0);font-family:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;min-height:100vh}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--blue);color:#fff}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- tonal field (fixed, behind everything) ---------- */
.atmo{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(28,46,110,.18) 0,transparent 60%),var(--bg-0)}
.atmo canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 2s ease}
.atmo canvas.is-live{opacity:1}
.dust{position:fixed;inset:0;z-index:-1;pointer-events:none}

/* ---------- type: exactly ten styles ---------- */
h1,h2,h3{font-family:var(--display);font-weight:500;margin:0;color:var(--ink-0)}
h1{font-variation-settings:"opsz" 96;font-size:clamp(44px,5.6vw,80px);line-height:1;letter-spacing:-.03em;text-wrap:balance}
h2{font-variation-settings:"opsz" 96;font-size:clamp(32px,4vw,56px);line-height:1.06;letter-spacing:-.025em;max-width:24ch;text-wrap:balance}
h3{font-variation-settings:"opsz" 48;font-size:24px;line-height:1.2;letter-spacing:-.015em}
h4,.h4{font-family:var(--text);font-weight:500;font-size:18px;line-height:1.3;letter-spacing:-.01em;margin:0;color:var(--ink-0)}
.lead{font-size:clamp(17px,1.2vw,20px);line-height:1.5;letter-spacing:-.005em;color:var(--ink-1);max-width:640px;text-wrap:pretty}
.body{font-size:16px;line-height:1.6;color:var(--ink-1);max-width:60ch;text-wrap:pretty}
.small{font-size:14px;line-height:1.5;color:var(--ink-1)}
.label{font-family:var(--mono);font-weight:500;font-size:12px;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.mono{font-family:var(--mono);font-weight:400;font-size:13px;line-height:1.6;color:var(--ink-1)}
.micro{font-family:var(--mono);font-weight:400;font-size:12px;line-height:1.5;color:var(--ink-2)}
.ink-0{color:var(--ink-0)}.ink-1{color:var(--ink-1)}.ink-2{color:var(--ink-2)}
mark{background:var(--blue-tint);color:var(--blue-text);padding:0 .1em;border-radius:3px}

/* ---------- layout ---------- */
.container{max-width:var(--container);margin:0 auto;padding:0 var(--margin)}
.section>.container{padding-top:var(--section);padding-bottom:var(--section)}
.section--line>.container{border-top:1px solid var(--line-1)}
.section__head{max-width:calc(8/12*100%);margin-bottom:56px}
.section__head .lead{margin-top:20px;max-width:56ch}
.section__note{margin-top:24px}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}

/* ---------- components ---------- */
.surface{background:var(--bg-1);border:1px solid var(--line-2);border-radius:12px;min-width:0}
.surface--elevated{box-shadow:0 24px 64px -32px rgba(0,0,0,.8)}
.surface__row{padding:20px 24px;border-top:1px solid var(--line-1)}
.surface__row:first-child{border-top:0}
.window__bar{height:44px;padding:0 16px;border-bottom:1px solid var(--line-1);display:flex;align-items:center;justify-content:space-between;gap:16px}
.window__bar>*{display:inline-flex;align-items:center;gap:8px}
.dot{width:6px;height:6px;border-radius:50%;background:var(--line-2);flex:none;display:inline-block}
.dot--on{background:var(--blue)}
.dot--pulse{position:relative}
.dot--pulse::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--blue);animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{opacity:.7;transform:scale(.5)}100%{opacity:0;transform:scale(1.4)}}
.mark{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink-1);display:inline-block;position:relative;flex:none}
.mark::after{content:"";position:absolute;top:-2.5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--blue)}
.mark--16{width:16px;height:16px}.mark--16::after{width:5px;height:5px;margin-left:-2.5px;top:-3px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:8px;font:500 15px/1 var(--text);color:var(--ink-0);border:1px solid transparent;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}
.btn--lg{height:48px;padding:0 22px}
.btn--sm{height:36px;padding:0 14px;font-size:14px}
.btn--primary{background:var(--ink-0);color:var(--bg-0)}
.btn--primary:hover{background:var(--white)}
.btn--primary:active{transform:scale(.985)}
.btn--secondary{border-color:var(--line-2)}
.btn--secondary:hover{border-color:var(--line-3);background:rgba(236,237,240,.04)}
.btn--tertiary{padding:0 4px;color:var(--ink-1)}
.btn--tertiary:hover{color:var(--ink-0)}
.btn--tertiary span{display:inline-block;transition:transform .16s}
.btn--tertiary:hover span{transform:translateY(2px)}

.input{height:48px;border-radius:8px;background:var(--bg-1);border:1px solid var(--line-2);padding:0 16px;font:400 15px/1 var(--text);color:var(--ink-0);width:100%;min-width:0;transition:border-color .12s}
.input::placeholder{color:var(--ink-2)}
.input:focus{border-color:var(--blue);outline:0}

.chip{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--line-2);font-family:var(--mono);font-size:12px;color:var(--ink-1);white-space:nowrap}
.chip--planned{border-style:dashed;color:var(--ink-2)}
.chips{display:flex;flex-wrap:wrap;gap:8px}

.tabs{display:flex;gap:20px;height:32px;align-items:stretch}
.tab{font:500 14px/1 var(--text);color:var(--ink-2);border-bottom:2px solid transparent;padding:0 2px;display:inline-flex;align-items:center;transition:color .16s,border-color .16s}
.tab:hover{color:var(--ink-1)}
.tab.is-active{color:var(--ink-0);border-bottom-color:var(--blue)}

.steps{height:40px;display:flex;align-items:center;gap:10px;padding:0 24px;border-bottom:1px solid var(--line-1);font:500 14px/1 var(--text);color:var(--ink-2);flex-wrap:wrap}
.steps .step{display:inline-flex;align-items:center;gap:8px}
.steps .step.is-done{color:var(--ink-1)}
.steps .step.is-done::before{content:"✓";font-size:12px}
.steps .step.is-active{color:var(--ink-0)}
.steps .step.is-active::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue)}
.steps .sep{color:var(--ink-2)}

table.ledger{width:100%;border-collapse:collapse}
.ledger th{text-align:left;padding:14px 24px;border-bottom:1px solid var(--line-1);font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.ledger td{padding:24px 24px;border-top:1px solid var(--line-1);font-size:14px;line-height:1.5;color:var(--ink-1);vertical-align:top}
.ledger tr:first-child td{border-top:0}
.ledger td.mono{font-family:var(--mono);font-size:13px;color:var(--ink-1)}
.ledger td .dot{margin-right:8px;vertical-align:middle}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;height:64px;transition:background .2s,border-color .2s;border-bottom:1px solid transparent}
.nav.is-scrolled{background:rgba(7,8,10,.85);border-bottom-color:var(--line-1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.nav__brand{display:inline-flex;align-items:center;gap:10px;font:500 17px/1 var(--text);color:var(--ink-0)}
.nav__links{display:flex;gap:36px;font-size:15px;color:var(--ink-1);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.nav__links a{position:relative;padding:4px 0}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink-0);opacity:0;transition:opacity .16s}
.nav__links a:hover{color:var(--ink-0)}
.nav__links a:hover::after{opacity:1}
.nav__cta{margin-left:auto;height:40px;padding:0 18px;font-size:15px}
.nav__cta .short{display:none}

/* ---------- hero ---------- */
.hero>.container{padding-top:calc(64px + clamp(64px,8vh,96px));padding-bottom:clamp(56px,6vw,88px)}
.hero__kicker{font-size:14px;color:var(--ink-2);margin-bottom:20px}
.hero h1{max-width:calc(9/12*100%);margin-bottom:28px}
.hero .lead{max-width:720px;margin-bottom:36px}
.hero__cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:64px}

.frame{overflow:hidden}
.frame__body{display:grid;grid-template-columns:320px minmax(0,1fr)}
.pane__head{height:56px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line-1)}
.frame__signals{border-right:1px solid var(--line-1)}
.sig{display:grid;grid-template-columns:6px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 16px;margin:6px 8px 0;border-radius:8px;min-height:64px;transition:background .24s}
.sig .dot{margin-top:7px}
.sig.is-sel{background:var(--bg-2)}
.sig__type{display:block;font-size:14px;line-height:1.5;color:var(--ink-0)}
.sig__detail{display:block;font-size:14px;line-height:1.5;color:var(--ink-2)}
.sig__age{font-family:var(--mono);font-size:12px;color:var(--ink-2);padding-top:3px}
.sigline{display:none;padding:12px 24px;border-bottom:1px solid var(--line-1);font-size:14px;color:var(--ink-1)}
.fields{padding:24px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px 16px;align-items:start}
.fields .label{padding-top:4px}
.field__before{font-size:14px;line-height:1.5;color:var(--ink-2);margin-bottom:6px}
.field__after{font-size:14px;line-height:1.5;color:var(--ink-0)}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;font-family:var(--mono);font-size:13px;line-height:1.6;color:var(--ink-1)}
.kv b{font-weight:400;color:var(--ink-2)}
.frame__foot{border-top:1px solid var(--line-1);padding:16px 24px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px 16px;align-items:start}
.frame__foot .label{padding-top:3px}
.frame__foot .small{display:block}
.frame__foot .small+.small{margin-top:4px}
.w{display:inline-block;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}
html.motion .frame.is-armed .w,html.motion .demo.is-armed .w{opacity:0;transform:translateY(4px)}
.fade{transition:opacity .24s}
html.motion .frame.is-armed .fade{opacity:0}

/* ---------- built-on strip (typographic wordmarks, no logos) ---------- */
.strip{display:flex;align-items:center;gap:28px;margin-top:28px;height:44px}
.strip__lbl{flex:none;white-space:nowrap}
.strip__mask{flex:1;min-width:0;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.strip__track{display:flex;align-items:center;width:max-content;animation:strip 80s linear infinite}
.strip:hover .strip__track{animation-play-state:paused}
.strip__track span{font:500 16px/1 var(--text);letter-spacing:-.01em;color:var(--ink-1);white-space:nowrap;padding:0 26px;display:inline-flex;align-items:baseline;gap:8px}
.strip__track span small{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.strip__track span.is-planned{color:var(--ink-2)}
.strip__track i{width:4px;height:4px;border-radius:50%;background:var(--line-3);flex:none}
@keyframes strip{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.strip__track{animation:none}}
html:not(.motion) .strip__track{animation:none}

/* ---------- found (SEO + GEO) ---------- */
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter);align-items:stretch}
.two .surface{display:flex;flex-direction:column}
.panel__body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.serp__url{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.serp__title{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.serp__title .micro{white-space:nowrap}
.answer{max-width:52ch;color:var(--ink-0);font-size:14px;line-height:1.6}
.sources{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line-1);flex-wrap:wrap}
.cite{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--ink-1)}
.earn{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.earn__row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:20px 24px;border-top:1px solid var(--line-1)}
.earn__row:nth-child(-n+2){border-top:0}
.earn__row:nth-child(odd){border-right:1px solid var(--line-1)}
.earn__row .label{padding-top:4px}
.earn__row .small{margin-top:4px}

/* ---------- signals ---------- */
.sigtypes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.sigtypes>div{padding:20px;border-left:1px solid var(--line-1)}
.sigtypes>div:first-child{border-left:0}
.sigtypes .dot{margin-bottom:14px;display:block}
.sigtypes .small{margin-top:6px;color:var(--ink-2)}
.log{margin-top:24px;overflow:hidden}
.log colgroup col:nth-child(1){width:150px}.log colgroup col:nth-child(2){width:22%}.log colgroup col:nth-child(3){width:30%}.log colgroup col:nth-child(5){width:160px}
.log td.mono{white-space:nowrap}
.cards-log{display:none}

/* ---------- loop strip ---------- */
.loop__strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gutter);border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1);padding:32px 0}
.loop__strip h3{margin:0 0 8px}
.loop__strip .small{max-width:28ch}

/* ---------- language / demo ---------- */
.demo .window__bar{height:auto;min-height:44px;padding:8px 16px;flex-wrap:wrap}
.demo__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.demo__col{padding:32px;min-width:0}
.demo__col+.demo__col{border-left:1px solid var(--line-1)}
.demo__colhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;min-height:36px}
.demo .field{margin-bottom:20px}
.demo .field .label{display:block;margin-bottom:8px}
.demo .field__before{margin:0;font-size:15px}
.demo .field__after{font-size:15px}
.demo__why{border-top:1px solid var(--line-1);padding-top:16px;margin-top:8px;font-size:14px;color:var(--ink-2)}
.demo__review{font-size:14px;color:var(--ink-2);padding:12px 0}

/* ---------- visuals: loop diagram, chart, map, rail arrows ---------- */
.loopviz{display:block;width:100%;height:auto;margin-bottom:-8px}
.chart{margin-bottom:24px;position:relative}
.chart__plot{position:relative}
.chart__end{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--ink-1);box-shadow:0 0 0 3px var(--bg-0)}
.chart__end--live{background:var(--blue)}
.chart__end--live::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--blue);opacity:0}
html.motion .chart__end--live::after{animation:pulse 2.4s ease-out infinite}
.loop__cap{display:block;text-align:center;margin:6px 0 24px}
.chart__head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.chart__legend{display:flex;gap:20px}
.chart__legend .small{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2)}
.sw{width:14px;height:2px;display:inline-block}.sw--ink{background:var(--ink-1)}.sw--blue{background:var(--blue)}
.chart svg{display:block;width:100%;height:220px}
.chart__marks{position:relative;height:20px;margin-top:8px}
.chart__marks .micro{position:absolute;transform:translateX(-100%);white-space:nowrap}
.geo{display:grid;grid-template-columns:5fr 7fr;gap:var(--gutter);align-items:start;margin-bottom:56px}
.geo__text{padding-top:8px}
.geo__map{max-width:520px;justify-self:end;width:100%}
.geo__rows{display:flex;flex-direction:column;margin-top:20px}
.geo__rows>div{display:grid;grid-template-columns:14px 120px 1fr;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line-1)}
.geo__rows>div:last-child{border-bottom:1px solid var(--line-1)}
.geo__text>.label{display:block}
.geo__text .small{color:var(--ink-2)}
.geo__text p.small{margin-top:10px}
.dot--ring{background:transparent;border:1.5px solid var(--blue);width:7px;height:7px}
.geo__map svg{display:block;width:100%;height:auto}
.map__dot{fill:var(--ink-2);opacity:.45}
.map__city{fill:var(--ink-1)}
.map__city--lagos{fill:var(--blue)}
.map__city--abuja{fill:var(--bg-0);stroke:var(--blue);stroke-width:2}
.map__label{font-family:var(--text);font-size:14px;fill:var(--ink-2)}
.map__label--on{fill:var(--ink-0);font-size:15px}
.map__ping{fill:none;stroke:var(--blue);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ping 2.4s ease-out infinite}
@keyframes ping{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
.loopviz__runner{fill:var(--blue)}
.surface{transition:border-color .24s var(--ease-out)}
.two .surface:hover,.log:hover,.demo:hover{border-color:var(--line-3)}
.rail>div{position:relative}
.rail>div:not(:last-child)::after{content:"›";position:absolute;right:-5px;top:36px;font-size:16px;line-height:1;color:var(--ink-2)}
.rail__gpu{box-shadow:inset 0 2px 0 var(--blue)}

/* ---------- plain typographic grids (no boxes) ---------- */
.plain{display:grid;gap:40px var(--gutter);margin-top:56px}
.plain--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.plain--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.plain .label{display:block;margin-bottom:14px}
.plain h4{margin-bottom:8px}
.plain .small{max-width:34ch}
.plain--why{margin-top:56px;padding-top:40px;border-top:1px solid var(--line-1)}
.plain--why>.label{display:block}
.rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1)}
.rail>div{padding:32px 24px 28px 0;margin-right:24px;border-right:1px solid var(--line-1);display:flex;flex-direction:column;gap:8px}
.rail>div:last-child{border-right:0;margin-right:0}
.rail .label{margin-bottom:6px}
.rail .small{max-width:30ch}
.rail__on{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:6px}
.rail__on .label{display:inline-flex;align-items:center;gap:8px;margin:0}
.runs{margin-top:48px;display:flex;flex-direction:column;gap:14px}
.runs .micro{max-width:70ch}

/* ---------- stack / pipeline ---------- */
.pipe{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);align-items:stretch}
.stage{display:flex;flex-direction:column;padding:24px;gap:10px}
.stage h4{margin-top:4px}
.stage .small{color:var(--ink-1)}
.stage__on{margin-top:auto;padding-top:16px;border-top:1px solid var(--line-1);display:flex;flex-direction:column;gap:8px}
.stage__on .label{display:inline-flex;align-items:center;gap:8px}
.pipe__arrow{display:flex;align-items:center;justify-content:center;position:relative;color:var(--ink-2)}
.pipe__arrow::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line-2)}
.pipe__arrow span{position:relative;background:var(--bg-0);font-size:14px;line-height:1;padding:2px 1px}
.stack__panels{margin-top:24px;display:grid;grid-template-columns:1.2fr 1fr;gap:var(--gutter)}
.stack__panels .surface{display:flex;flex-direction:column}
.stack__panels h4{padding:20px 24px 16px}
.why__row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:16px 24px;border-top:1px solid var(--line-1)}
.why__row .label{padding-top:4px}
.where__row{padding:16px 24px;border-top:1px solid var(--line-1);display:flex;flex-direction:column;gap:12px}
.where__foot{margin-top:auto;padding:16px 24px;border-top:1px solid var(--line-1)}

/* ---------- team ---------- */
.team__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.team__intro{grid-column:span 4}
.team__intro h2{margin-bottom:20px}
.team__intro .body{max-width:36ch;margin-bottom:24px}
.team__intro .micro{display:block;max-width:36ch}
.people{grid-column:span 8;border-top:1px solid var(--line-1)}
.people__row{display:grid;grid-template-columns:56px 1.1fr 1.4fr auto;gap:var(--gutter);padding:28px 0;border-bottom:1px solid var(--line-1);align-items:start}
.photo{width:56px;height:56px;border-radius:8px;background:var(--bg-2);border:1px solid var(--line-1);display:grid;place-items:center;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo .mark{opacity:.4}
.people__name{display:block}
.people__role{display:block;margin-top:4px;color:var(--ink-2)}
.people__bio{max-width:44ch}
.people__link{color:var(--ink-1);white-space:nowrap}
.people__link:hover{color:var(--ink-0)}

/* ---------- faq ---------- */
.faq{display:grid;grid-template-columns:4fr 8fr;gap:var(--gutter);align-items:start}
.faq__intro h2{margin-bottom:20px}
.faq__list{margin:0;border-top:1px solid var(--line-1)}
.faq__item{padding:24px 0;border-bottom:1px solid var(--line-1);display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.faq__item h3{font-family:var(--text);font-weight:500;font-size:18px;line-height:1.3;letter-spacing:-.01em;margin:0}
.faq__item p{max-width:64ch}
@media (max-width:1023px){.faq{grid-template-columns:minmax(0,1fr)}}

/* ---------- access ---------- */
.access__form{display:flex;gap:12px;max-width:480px;margin-top:36px}
.access__note{margin-top:16px;color:var(--ink-2);max-width:56ch}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line-1)}
.footer .container{padding:64px var(--margin) 32px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.footer__brand{grid-column:1/6}
.footer__brand .nav__brand{margin-bottom:12px}
.footer__legal{grid-column:6/10}
.footer__contact{grid-column:10/13}
.footer .small{display:block;color:var(--ink-2)}
.footer .small a:hover{color:var(--ink-0)}
.footer__bottom{grid-column:1/13;border-top:1px solid var(--line-1);padding-top:20px;margin-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- legal pages ---------- */
.legal{max-width:720px;margin:0 auto;padding:calc(64px + 64px) var(--margin) 96px}
.legal h1{font-size:clamp(36px,4vw,56px);margin-bottom:12px}
.legal .micro{display:block;margin-bottom:40px}
.legal h2{font-size:22px;letter-spacing:-.02em;margin:36px 0 10px;max-width:none}
.legal p,.legal li{color:var(--ink-1);line-height:1.6;font-size:16px}
.legal ul{list-style:disc;padding-left:20px}
.legal a{color:var(--blue-text)}

html:not(.motion) #replay{display:none}

/* ---------- reveal (only when motion allowed + gsap) ---------- */
html.has-gsap [data-reveal]{opacity:0;transform:translateY(16px)}
html.has-gsap{scroll-behavior:auto} /* CSS smooth scroll breaks ScrollTrigger measurement; anchors scroll via JS */

/* ---------- responsive ---------- */
@media (max-width:1247px){:root{--container:100%}}
@media (max-width:1023px){
  .section__head{max-width:100%}
  .nav__links{position:static;transform:none;margin-left:auto;margin-right:8px;gap:24px}
  .frame__body{grid-template-columns:minmax(0,1fr)}
  .frame__signals{display:none}
  .sigline{display:block}
  .loop__strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .loopviz{display:none}
  .geo{grid-template-columns:minmax(0,1fr)}
  .rail>div::after{display:none}
  .rail__gpu{box-shadow:inset 2px 0 0 var(--blue);padding-left:16px}
  .plain--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rail>div{border-right:0;margin-right:0;border-bottom:1px solid var(--line-1)}
  .rail>div:nth-last-child(-n+1){border-bottom:0}
  .pipe{grid-template-columns:minmax(0,1fr)}
  .pipe__arrow{height:24px}
  .pipe__arrow::before{left:50%;right:auto;top:0;bottom:0;width:1px;height:auto}
  .pipe__arrow span{transform:rotate(90deg)}
  .stack__panels{grid-template-columns:minmax(0,1fr)}
  .sigtypes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sigtypes>div{border-left:0;border-top:1px solid var(--line-1)}
  .sigtypes>div:nth-child(-n+2){border-top:0}
  .sigtypes>div:nth-child(even){border-left:1px solid var(--line-1)}
  .team__intro,.people{grid-column:1/13}
}
@media (max-width:767px){
  .nav{height:56px}
  .nav__links{display:none}
  .section>.container{padding-top:80px;padding-bottom:80px}
  .section__head{margin-bottom:48px}
  .hero>.container{padding-top:calc(56px + 48px)}
  .hero h1{max-width:100%;line-height:1.02}
  .hero h1 br{display:none}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn--primary{width:100%}
  .hero__cta .btn--tertiary{align-self:flex-start}
  .frame{margin:0 calc(-1*var(--margin) + 12px)}
  .strip{gap:16px}
  .strip__lbl{display:none}
  .fields{grid-template-columns:minmax(0,1fr);gap:8px 0}
  .fields .label{padding-top:0;margin-top:8px}
  .frame__foot{grid-template-columns:minmax(0,1fr)}
  .two{grid-template-columns:minmax(0,1fr)}
  .earn{grid-template-columns:minmax(0,1fr)}
  .earn__row{border-right:0!important}
  .earn__row:nth-child(2){border-top:1px solid var(--line-1)}
  .sigtypes{grid-template-columns:minmax(0,1fr)}
  .sigtypes>div{border-left:0!important;border-top:1px solid var(--line-1)}
  .sigtypes>div:first-child{border-top:0}
  .log table{display:none}
  .cards-log{display:block}
  .cards-log>div{padding:20px 24px;border-top:1px solid var(--line-1)}
  .cards-log>div:first-child{border-top:0}
  .cards-log .kv{margin-top:10px;font-family:var(--text);font-size:14px}
  .cards-log .kv b{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
  .plain--4,.plain--3,.rail{grid-template-columns:minmax(0,1fr)}
  .chart svg{height:160px}
  .map__label:not(.map__label--on){display:none}
  .plain{gap:32px}
  .loop__strip{grid-template-columns:minmax(0,1fr);gap:0;padding:0}
  .loop__strip>div{padding:24px 0;border-top:1px solid var(--line-1)}
  .loop__strip>div:first-child{border-top:0}
  .demo__cols{grid-template-columns:minmax(0,1fr)}
  .demo__col{padding:24px}
  .demo__col+.demo__col{border-left:0;border-top:1px solid var(--line-1)}
  .demo__colhead{flex-direction:column;align-items:flex-start}
  .demo__colhead .btn{width:100%}
  .tabs{overflow-x:auto;scrollbar-width:none;max-width:100%}
  .tabs::-webkit-scrollbar{display:none}
  .people__row{grid-template-columns:56px minmax(0,1fr)}
  .people__bio,.people__link{grid-column:1/-1}
  .access__form{flex-direction:column}
  .footer .container{grid-template-columns:minmax(0,1fr)}
  .footer__brand,.footer__legal,.footer__contact,.footer__bottom{grid-column:1/-1}
}
@media (max-width:479px){
  .nav__cta .long{display:none}.nav__cta .short{display:inline}
}
