/* ============================================================
   SIAIOS.AI — siaios.css v1
   Ported from agenticspecialists asi.css v2 (Lane L decisive pass).
   Register: carbon + paper (OMEGABYTE family base) + a single
   SIGNAL GREEN reserved for live/verified status. Accent means
   something or it doesn't appear. Azonix = wordmark only.
   Flat color only · no gradients.
   2026-Jul-21
   ============================================================ */

@font-face{
  font-family:"Azonix";
  src:url("fonts/Azonix.otf") format("opentype");
  font-weight:normal;font-style:normal;font-display:swap;
}

:root{
  --carbon-950:#0A0C0E;
  --carbon-900:#0E1114;
  --carbon-850:#12161B;
  --carbon-800:#171C22;
  --carbon-line:rgba(199,205,214,.13);
  --paper:#F2F4F6;
  --paper-2:#E9ECF0;
  --paper-line:rgba(20,24,28,.14);
  --ink:#14181C;
  --steel:#8B95A0;
  --slate:#57616C;
  --signal:#4CC46E;
  --signal-deep:#2E8A4C;
  --signal-soft:rgba(76,196,110,.12);

  /* SIAIOS layer accents — derived from the family neutrals, no new hues.
     Atlas = permanence/memory (silver). Oculair = live/operating (steel-lit). */
  --atlas:#C7CDD6;
  --oculair:#7E8B99;

  --serif:"Source Serif 4",Georgia,serif;
  --grotesk:"Schibsted Grotesk",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --azonix:"Azonix",var(--grotesk);
  --measure:1160px;
  --pad:clamp(76px,10vw,132px);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--grotesk);
  font-size:17px;line-height:1.65;
  background:var(--carbon-900);color:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
::selection{background:var(--signal);color:var(--carbon-950)}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}

.wrap{max-width:var(--measure);margin:0 auto;padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:12px;z-index:99;background:var(--paper);color:var(--ink);padding:10px 16px;font-family:var(--mono);font-size:.76rem}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,5.4vw,3.9rem);line-height:1.06;text-wrap:balance}
h2{font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.12}
h3{font-size:clamp(1.18rem,2vw,1.4rem);line-height:1.3}
h1 em,h2 em{font-style:italic;font-weight:400;color:var(--steel)}
.on-light h1 em,.on-light h2 em{color:var(--slate)}
p.lede{font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.55;color:var(--steel);max-width:34em}
.on-light p.lede{color:var(--slate)}
.mt{margin-top:26px}

.kicker{
  font-family:var(--mono);font-size:.74rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--steel);
  display:flex;align-items:center;gap:14px;margin-bottom:26px;
}
.on-light .kicker{color:var(--slate)}
.kicker::after{content:"";flex:1;height:1px;background:var(--carbon-line)}
.on-light .kicker::after{background:var(--paper-line)}

.prov{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--steel);text-transform:uppercase}
.on-light .prov{color:var(--slate)}

.sig{color:var(--signal)}
.on-light .sig{color:var(--signal-deep)}

/* ---------- bands ---------- */
section{padding:var(--pad) 0;scroll-margin-top:78px}
.band-dark{background:var(--carbon-900);color:var(--paper)}
.band-deep{background:var(--carbon-950);color:var(--paper)}
.band-light{background:var(--paper);color:var(--ink)}
.band-light2{background:var(--paper-2);color:var(--ink)}
.on-light{color:var(--ink)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(10,12,14,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--carbon-line)}
.nav-inner{max-width:var(--measure);margin:0 auto;padding:18px clamp(20px,4vw,40px);display:flex;align-items:center;gap:clamp(22px,3.4vw,40px);flex-wrap:nowrap}
.brand{display:flex;align-items:baseline;gap:14px;text-decoration:none;line-height:1;white-space:nowrap}
.brand b{font-family:var(--azonix);font-weight:normal;font-size:.92rem;letter-spacing:.12em;text-transform:uppercase}
.brand span{font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel)}
.nav-links{display:flex;gap:clamp(18px,2.4vw,28px);margin-left:auto;align-items:center}
.nav-links a{font-size:.9rem;font-weight:500;text-decoration:none;color:var(--steel);white-space:nowrap;padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nav-links a:hover{color:var(--paper)}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap;flex:none;color:var(--paper);background:transparent;line-height:1;letter-spacing:-.005em;padding:10px 16px;border:1px solid rgba(199,205,214,.35);transition:border-color .2s,background .2s,color .2s;cursor:pointer;font-family:var(--grotesk)}
.nav-cta:hover{border-color:var(--paper);background:var(--paper);color:var(--carbon-950)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--carbon-line);color:var(--paper);font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;cursor:pointer}

/* ---------- buttons ---------- */
.btn{display:inline-block;text-decoration:none;font-weight:700;font-size:1rem;padding:16px 30px;border:1px solid transparent;transition:all .2s;cursor:pointer;font-family:var(--grotesk)}
.btn-solid{background:var(--paper);color:var(--carbon-950);border-color:var(--paper)}
.btn-solid:hover{background:transparent;color:var(--paper)}
.on-light .btn-solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.on-light .btn-solid:hover{background:transparent;color:var(--ink)}
.btn-ghost{background:transparent;color:var(--paper);border-color:rgba(199,205,214,.3)}
.btn-ghost:hover{border-color:var(--paper)}
.on-light .btn-ghost{color:var(--ink);border-color:var(--paper-line)}
.on-light .btn-ghost:hover{border-color:var(--ink)}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:38px}

/* ---------- hero ---------- */
.hero{padding:clamp(84px,11vw,140px) 0 var(--pad)}
.hero-grid{display:grid;grid-template-columns:minmax(0,6.6fr) minmax(0,5.4fr);gap:clamp(36px,5vw,68px);align-items:center}
.hero .prov{margin-top:34px}

/* ---------- roster (hero proof panel) ---------- */
.roster{border:1px solid var(--carbon-line);background:var(--carbon-850)}
.roster-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--carbon-line);font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.roster-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:15px 18px;border-bottom:1px solid var(--carbon-line)}
.roster-row:last-of-type{border-bottom:none}
.roster-row .who b{font-family:var(--mono);font-size:.82rem;letter-spacing:.1em;font-weight:500}
.roster-row .who span{display:block;font-size:.84rem;color:var(--steel);margin-top:2px}
.roster-row .st{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);white-space:nowrap}
.roster-foot{padding:13px 18px;border-top:1px solid var(--carbon-line);font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);line-height:1.7}

/* ---------- definition grid ---------- */
.defs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--carbon-line);border:1px solid var(--carbon-line)}
.def{background:var(--carbon-900);padding:28px 26px}
.band-deep .def{background:var(--carbon-950)}
.def .n{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--steel);text-transform:uppercase;display:block;margin-bottom:14px}
.def h3{font-size:1.08rem;margin-bottom:8px;font-family:var(--grotesk);font-weight:700}
.def p{font-size:.92rem;color:var(--steel);line-height:1.55}
.def:first-child .n{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--paper);letter-spacing:0;text-transform:none;margin-bottom:10px}

/* ---------- the two layers (Atlas / Oculair) ---------- */
.layers{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.6vw,26px)}
.layer{border:1px solid var(--paper-line);background:var(--paper-2);display:flex;flex-direction:column}
.layer.atlas{border-top:2px solid var(--slate)}
.layer.oculair{border-top:2px solid var(--signal-deep)}
.layer-body{padding:clamp(24px,3.4vw,34px)}
.layer .role{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);display:block;margin-bottom:12px}
.layer h3{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.8rem);margin-bottom:12px}
.layer p{color:var(--slate);font-size:.96rem}
.layer ul{list-style:none;margin-top:20px;border-top:1px solid var(--paper-line)}
.layer li{padding:11px 0;border-bottom:1px solid var(--paper-line);font-size:.9rem;color:var(--slate)}
.layer li:last-child{border-bottom:none}
.layer li b{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);display:block;margin-bottom:2px;font-weight:500}
.shot{border-top:1px solid var(--paper-line);background:var(--carbon-950);margin-top:auto}
.shot img{width:100%;display:block}
.shot figcaption{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);padding:11px 16px;border-top:1px solid var(--carbon-line)}

/* ---------- receipt strip ---------- */
.receipt{border:1px solid var(--carbon-line);background:var(--carbon-950);font-family:var(--mono);font-size:.82rem;line-height:1.85;overflow:hidden}
.receipt-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--carbon-line);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.receipt-body{padding:24px 20px;color:var(--steel);white-space:pre-wrap;word-break:break-word;overflow-x:auto}
.receipt-body b{color:var(--paper);font-weight:500}
.receipt-foot{padding:13px 20px;border-top:1px solid var(--carbon-line);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--carbon-line);border:1px solid var(--carbon-line);margin-top:clamp(28px,4vw,44px)}
.on-light .stats{background:var(--paper-line);border-color:var(--paper-line)}
.stat{background:var(--carbon-900);padding:30px 26px}
.band-deep .stat{background:var(--carbon-950)}
.on-light .stat{background:var(--paper)}
.stat b{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.6rem);display:block;line-height:1.1}
.stat .lbl{font-size:.95rem;color:var(--steel);margin-top:6px;display:block}
.on-light .stat .lbl{color:var(--slate)}
.stat .prov{display:block;margin-top:14px;font-size:.62rem}

/* ---------- agents ---------- */
.agent-lead{border:1px solid var(--carbon-line);border-top:2px solid var(--signal);background:var(--carbon-850);padding:clamp(28px,4vw,40px);margin-bottom:clamp(14px,2vw,22px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,44px);align-items:start}
.agent-lead .ord{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.4rem);line-height:1;color:var(--steel)}
.agent-lead .role{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);display:block;margin-bottom:10px}
.agent-lead h3{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,1.9rem);margin-bottom:10px}
.agent-lead p{color:var(--steel);font-size:1rem;max-width:52em}
.agent-lead .truth{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--signal)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,22px)}
.gallery .agent:last-child:nth-child(odd){grid-column:1/-1}
.agent{border:1px solid var(--carbon-line);background:var(--carbon-850);padding:26px 26px 22px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s}
.agent:hover{border-color:rgba(199,205,214,.34)}
.agent:hover .role{color:var(--paper)}
.agent .role{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.agent h3{font-family:var(--serif);font-size:1.3rem}
.agent p{color:var(--steel);font-size:.95rem;flex:1}
.agent .truth{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);border-top:1px solid var(--carbon-line);padding-top:12px}
.agent .truth.sig{color:var(--signal)}

/* ---------- method flow ---------- */
.flow{border-top:1px solid var(--paper-line)}
.flow-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:clamp(18px,4vw,56px);padding:22px 0;border-bottom:1px solid var(--paper-line);align-items:baseline}
.flow-row .ph{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.flow-row .ph small{display:block;font-size:.62rem;color:var(--slate);letter-spacing:.1em;margin-top:3px;font-weight:400}
.flow-row p{color:var(--slate);font-size:.95rem}

/* ---------- engagement rows ---------- */
.rows{border-top:1px solid var(--carbon-line)}
.row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:clamp(18px,4vw,56px);padding:clamp(28px,4vw,44px) 0;border-bottom:1px solid var(--carbon-line)}
.row .fig{font-family:var(--mono);font-size:.85rem;color:var(--steel);padding-top:6px}
.row h3{margin-bottom:10px}
.row p{color:var(--steel);max-width:56em}
.row .tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--carbon-line);color:var(--steel)}

/* ---------- two-col editorial ---------- */
.cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,80px);align-items:start}
.sticky-head{position:sticky;top:110px}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--paper-line);max-width:900px}
.faq details{border-bottom:1px solid var(--paper-line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-family:var(--serif);font-size:clamp(1.05rem,2vw,1.25rem);font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:1.1rem;color:var(--slate);flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--slate);font-size:.96rem;padding-bottom:24px;max-width:60em}

/* ---------- Sally band ---------- */
.sally{border:1px solid var(--carbon-line);background:var(--carbon-850);padding:clamp(32px,5vw,60px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(28px,5vw,60px);align-items:center}
.sally-note{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-top:18px;line-height:1.9}

/* ---------- footer ---------- */
.foot{background:var(--carbon-950);border-top:1px solid var(--carbon-line);padding:56px 0}
.foot-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}
.foot .brand{margin-bottom:16px}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{font-size:.88rem;color:var(--steel);text-decoration:none}
.foot-links a:hover{color:var(--paper)}
.foot-legal{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.foot-legal img{height:18px;width:auto;mix-blend-mode:screen}

/* ---------- reveal motion ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

[hidden]{display:none!important}

/* ---------- responsive ---------- */
@media(max-width:920px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--carbon-950);border-bottom:1px solid var(--carbon-line);flex-direction:column;align-items:flex-start;gap:0;padding:8px clamp(20px,4vw,40px) 22px}
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 0;width:100%;border-bottom:1px solid var(--carbon-line)}
  .nav-links .nav-cta{margin-top:14px;width:100%;padding:14px 16px}
  .nav-toggle{display:inline-block}
}
@media(max-width:900px){
  .hero-grid,.layers,.gallery,.cols,.sally{grid-template-columns:1fr}
  .defs{grid-template-columns:1fr}
  .sticky-head{position:static}
  .agent-lead{grid-template-columns:1fr;gap:16px}
  .flow-row,.row{grid-template-columns:1fr;gap:10px}
}

/* ============================================================
   SIAIOS.AI — v2 CAPABILITY LAYER  (2026-Jul-25)
   Added for the product-tour rebuild. Same register: carbon +
   paper, flat color only, signal green reserved for verified.
   No new hues, no gradients.
   ============================================================ */

/* ---------- hero surface panel ---------- */
.surface{border:1px solid var(--carbon-line);background:var(--carbon-850)}
.surface-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--carbon-line);font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.surface-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--carbon-line)}
.surface-row:last-of-type{border-bottom:none}
.surface-row b{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;font-weight:500;color:var(--paper)}
.surface-row span.sub{display:block;font-size:.8rem;color:var(--steel);margin-top:3px;font-family:var(--grotesk);letter-spacing:0}
.surface-row .st{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);white-space:nowrap}
.surface-foot{padding:13px 18px;border-top:1px solid var(--carbon-line);font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);line-height:1.75}

/* ---------- capability modules ---------- */
.caps{border-top:1px solid var(--carbon-line);margin-top:clamp(30px,4vw,48px)}
.on-light .caps{border-top-color:var(--paper-line)}
.cap{display:grid;grid-template-columns:minmax(0,6.4fr) minmax(0,5.6fr);gap:clamp(28px,4.6vw,64px);padding:clamp(38px,5vw,62px) 0;border-bottom:1px solid var(--carbon-line);align-items:start}
.on-light .cap{border-bottom-color:var(--paper-line)}
.cap-head{display:flex;align-items:baseline;gap:16px;margin-bottom:16px}
.cap-ord{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--steel);flex:none}
.cap .role{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.on-light .cap .role{color:var(--slate)}
.cap h3{font-family:var(--serif);font-size:clamp(1.45rem,2.7vw,2rem);margin-bottom:14px;line-height:1.18}
.cap .what{font-size:1rem;color:var(--steel);max-width:46em}
.on-light .cap .what{color:var(--slate)}
.cap-does{list-style:none;margin-top:22px;border-top:1px solid var(--carbon-line)}
.on-light .cap-does{border-top-color:var(--paper-line)}
.cap-does li{padding:11px 0;border-bottom:1px solid var(--carbon-line);font-size:.93rem;color:var(--steel);display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:baseline}
.on-light .cap-does li{border-bottom-color:var(--paper-line);color:var(--slate)}
.cap-does li::before{content:"—";font-family:var(--mono);color:var(--steel);opacity:.6}
.cap-who{margin-top:20px;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);line-height:1.8}
.on-light .cap-who{color:var(--slate)}
.cap-who b{color:var(--paper);font-weight:500}
.on-light .cap-who b{color:var(--ink)}

/* outcome panel */
.outcome{border:1px solid var(--carbon-line);background:var(--carbon-850);position:sticky;top:104px}
.on-light .outcome{border-color:var(--paper-line);background:var(--paper-2)}
.outcome-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--carbon-line);font-family:var(--mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--steel)}
.on-light .outcome-head{border-bottom-color:var(--paper-line);color:var(--slate)}
.outcome-body{padding:22px 18px}
.outcome-body p{font-family:var(--mono);font-size:.82rem;line-height:1.75;color:var(--paper)}
.on-light .outcome-body p{color:var(--ink)}
.outcome-body p + p{margin-top:16px;padding-top:16px;border-top:1px solid var(--carbon-line)}
.on-light .outcome-body p + p{border-top-color:var(--paper-line)}
.outcome-body .lab{display:block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:7px}
.on-light .outcome-body .lab{color:var(--slate)}
.outcome-foot{padding:12px 18px;border-top:1px solid var(--carbon-line);font-family:var(--mono);font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;color:var(--steel);line-height:1.7}
.on-light .outcome-foot{border-top-color:var(--paper-line);color:var(--slate)}
.outcome .shot{margin-top:0;border-top:1px solid var(--carbon-line)}

.badge{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--carbon-line);color:var(--steel);white-space:nowrap}
.on-light .badge{border-color:var(--paper-line);color:var(--slate)}
.badge.verified{color:var(--steel);border-color:var(--carbon-line)}
.on-light .badge.verified{color:var(--slate);border-color:var(--paper-line)}

/* ---------- boundaries grid ---------- */
.bounds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--carbon-line);border:1px solid var(--carbon-line);margin-top:clamp(28px,4vw,44px)}
.bound{background:var(--carbon-900);padding:28px 26px}
.band-deep .bound{background:var(--carbon-950)}
.bound .n{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);display:block;margin-bottom:12px}
.bound h3{font-family:var(--grotesk);font-weight:700;font-size:1.05rem;margin-bottom:8px}
.bound p{font-size:.92rem;color:var(--steel);line-height:1.6}

/* ---------- honest limits ---------- */
.limits{border-top:1px solid var(--carbon-line);margin-top:clamp(26px,3.6vw,40px)}
.limits li{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:15px 0;border-bottom:1px solid var(--carbon-line);font-size:.95rem;color:var(--steel);align-items:baseline}
.limits li::before{content:"NOT CLAIMED";font-family:var(--mono);font-size:.58rem;letter-spacing:.13em;color:var(--steel);opacity:.75;white-space:nowrap;padding-top:2px}
.limits li b{color:var(--paper);font-weight:500}

/* ---------- implementation journey ---------- */
.steps{border-top:1px solid var(--paper-line);margin-top:clamp(28px,4vw,44px)}
.step{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,auto);gap:clamp(18px,3.4vw,48px);padding:26px 0;border-bottom:1px solid var(--paper-line);align-items:start}
.step .ph{font-family:var(--mono);font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;font-weight:500}
.step .ph small{display:block;font-size:.62rem;color:var(--slate);letter-spacing:.1em;margin-top:4px;font-weight:400}
.step p{color:var(--slate);font-size:.95rem}
.step .gate{font-family:var(--mono);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--slate);border:1px solid var(--paper-line);padding:5px 10px;white-space:nowrap;align-self:start}

/* ---------- fit / not fit ---------- */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.6vw,26px);margin-top:clamp(28px,4vw,44px)}
.fit-col{border:1px solid var(--paper-line);background:var(--paper-2);padding:clamp(24px,3.2vw,32px)}
.fit-col.no{background:transparent}
.fit-col h3{font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:18px;font-weight:500}
.fit-col ul{list-style:none;border-top:1px solid var(--paper-line)}
.fit-col li{padding:12px 0;border-bottom:1px solid var(--paper-line);font-size:.94rem;color:var(--slate)}
.fit-col li:last-child{border-bottom:none}

@media(max-width:900px){
  .cap{grid-template-columns:1fr;gap:26px}
  .outcome{position:static}
  .bounds,.fit{grid-template-columns:1fr}
  .step{grid-template-columns:1fr;gap:10px}
  .step .gate{justify-self:start}
}

/* ============================================================
   QA REMEDIATION — 2026-Jul-25 (independent front-end audit)
   Contrast, focus, mobile receipt integrity, sticky safety.
   ============================================================ */

/* S2 — steel ordinals failed 2.77:1 on paper */
.on-light .cap-ord{color:var(--slate)}
/* N12 — decorative bullet on light band */
.on-light .cap-does li::before{color:var(--slate)}

/* S6 — verified badge needed 4.5:1 at small size on paper-2 */
.on-light .badge.verified{color:#22683A;border-color:rgba(34,104,58,.45)}

/* S7 — focus ring was 2.01:1 on paper; signal-deep clears 3:1 */
.on-light :focus-visible{outline-color:var(--signal-deep)}

/* N11 — "NOT CLAIMED" label lift to 4.5:1 */
.limits li::before{opacity:.92}

/* S5 — panel headers must wrap before they clip */
.receipt-head,.surface-head,.outcome-head{flex-wrap:wrap;row-gap:6px}

/* S4 — sticky outcome panel must never exceed the sticky viewport */
@media(min-width:901px){
  .outcome{max-height:calc(100vh - 128px);overflow-y:auto}
}

/* N23 — harden mono blocks against future long tokens */
.outcome-body p{overflow-wrap:break-word}

/* S3 — the receipt is column-aligned fixed-width text. On mobile keep it
   intact and scroll it horizontally rather than wrapping it into nonsense. */
@media(max-width:900px){
  /* container clips; the mono block scrolls inside it, so the column
     alignment survives without widening the page */
  .receipt{overflow:hidden}
  .receipt-body{white-space:pre;word-break:normal;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
}

/* S9 — nav overflowed at 360-390px once the descriptor is counted */
@media(max-width:480px){
  .brand span{display:none}
}

/* Measured 2026-07-25: the nowrap "NOT CLAIMED" label held a 75px floor and
   pushed the document to 465px at a 390px viewport. Stack it on narrow. */
.limits li{min-width:0}
@media(max-width:620px){
  .limits li{grid-template-columns:1fr;gap:7px}
  .limits li::before{white-space:normal}
}

/* ------------------------------------------------------------
   RENDER FIX — 2026-Jul-25, found in local render before deploy.
   .cap-does li and .limits li were grid containers, so any inline
   <b> inside them was promoted to a grid item and broke onto its
   own cell mid-sentence. Move the marker out of flow instead.
   ------------------------------------------------------------ */
.cap-does li{display:block;position:relative;padding:11px 0 11px 24px}
.cap-does li::before{position:absolute;left:0;top:11px}
.cap-does li b{display:inline;font-family:var(--mono);font-size:.82em;letter-spacing:.04em}

.limits li{display:block;position:relative;padding:15px 0 15px 118px}
.limits li::before{position:absolute;left:0;top:18px}
@media(max-width:620px){
  .limits li{padding-left:0;padding-top:14px}
  .limits li::before{position:static;display:block;margin-bottom:5px}
}

/* ------------------------------------------------------------
   VISUAL REVIEW REMEDIATION — 2026-Jul-25 (independent critique)
   ------------------------------------------------------------ */

/* B1 — `.nav-links a{padding:4px 0}` out-specified `.nav-cta{padding:10px 16px}`,
   so the CTA rendered as glyphs jammed against a 1px box in every frame. */
.nav-links a.nav-cta{padding:11px 20px;margin-left:6px}

/* B2 — the first problem card used a serif-italic label while the other two
   used mono, which knocked the three headings off a shared baseline. */
.def:first-child .n{font-family:var(--mono);font-style:normal;font-size:.68rem;
  color:var(--steel);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}

/* S6 — translucent header let light bands bleed a seam through the nav */
.nav{background:var(--carbon-950)}

/* S1 — hero display type needs a wider column and a shorter max to rag well.
   MUST stay inside a min-width query: this rule sits later in the file than the
   max-width:900px collapse, so unscoped it wins at every width and the hero
   never stacks on mobile. Found in live render at 390px, 2026-07-25. */
@media(min-width:901px){
  .hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
}
.hero h1{font-size:clamp(2.4rem,4.4vw,3.35rem)}

/* Belt and braces: re-assert the mobile stack last, so no later rule can
   silently reintroduce a two-column hero on a phone. */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr}
}

/* S4 — evidence micro-labels were ~9px light-grey-on-light-grey; they carry
   the narrative, so they need size and contrast */
.outcome-body .lab{font-size:.66rem}
.on-light .outcome-body .lab{color:#4A535D}
.on-light .outcome-foot{color:#4A535D;font-size:.63rem}
.on-light .outcome-head{color:#4A535D}
.on-light .badge.verified{border-color:rgba(34,104,58,.55)}

/* S5 — NOT CLAIMED rows ran ~115ch and produced a one-word widow */
.limits li{max-width:78ch}
.limits li::before{color:#98A1AB;opacity:1}

/* S9 — the disqualifying column read as an afterthought next to a filled panel */
.fit-col.no{background:var(--paper-2)}
.fit-col{display:flex;flex-direction:column}
.fit-col ul{flex:1}

/* P4 — a two-line phase label pushed its row off the shared baseline */
.step .ph{min-height:2.9em}
@media(max-width:900px){.step .ph{min-height:0}}

/* S7 — CTA card right column was 430px of dead space */
.sally-agenda{border:1px solid var(--carbon-line);padding:20px 22px;margin-bottom:22px}
.sally-agenda span{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel);margin-bottom:12px}
.sally-agenda li{list-style:none;font-size:.9rem;color:var(--steel);padding:7px 0;
  border-top:1px solid var(--carbon-line)}
.sally-cta-col{min-width:296px}
@media(max-width:900px){.sally-cta-col{min-width:0}}

/* ── Serena video stage (2026-07-25) ────────────────────────────────────────
   The real Tavus CVI surface. When live it holds actual <video> elements driven
   by the Daily call object. When it is not live it says so in words and never
   mimics presence. The start button lives in .vbar, which ships with the hidden
   attribute and is only revealed by a live health read. */
.vstage{position:relative;aspect-ratio:16/10;background:#000;border:1px solid var(--carbon-line);
  overflow:hidden;display:flex;align-items:center;justify-content:center}
.vstage[data-mode="off"]{background:linear-gradient(180deg,#141414,#000)}
.vstage .vmsg{padding:24px 28px;text-align:center;max-width:46ch;color:var(--steel);
  font-size:.95rem;line-height:1.6}
.vstage .vmsg b{color:var(--paper);display:block;margin-bottom:8px}
.vstage video{width:100%;height:100%;object-fit:cover;display:block}
.vlive{position:absolute;top:12px;left:12px;display:flex;gap:7px;align-items:center;
  background:rgba(0,0,0,.66);border:1px solid var(--carbon-line);border-radius:999px;
  padding:5px 12px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--paper)}
.vlive i{width:7px;height:7px;border-radius:50%;background:#e0533d;display:block}
.vbar{display:flex;gap:12px;align-items:center;margin-top:16px;flex-wrap:wrap}
.vnote{font-family:var(--mono);font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--steel)}

/* SIAIOS intake: restrained, dark, and a single working path—not a card wall. */
.intake-block,.human-step{border-top:1px solid var(--carbon-line);padding-top:24px}
.intake-title{display:flex;align-items:baseline;gap:16px;margin-bottom:12px}
.intake-title span{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--steel)}
.intake-title h3{font-family:var(--serif);font-size:clamp(1.5rem,2.8vw,2rem);font-weight:400}
.intake-block>p,.human-step>p,.serena-intro{color:var(--steel);max-width:58ch;margin-bottom:24px}
.intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.intake-block label{display:grid;gap:8px;font-family:var(--mono);font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;color:var(--steel);margin-bottom:16px}
.intake-block input,.intake-block textarea{width:100%;border:1px solid var(--carbon-line);border-radius:0;background:var(--carbon-850);color:var(--paper);padding:12px 14px;font:inherit;font-family:var(--grotesk);font-size:1rem;letter-spacing:0;text-transform:none;line-height:1.45;resize:vertical}
.intake-block input:focus,.intake-block textarea:focus{outline:1px solid var(--paper);outline-offset:2px}
.intake-block label.email-copy{display:flex;align-items:center;gap:10px;font-family:var(--grotesk);font-size:.88rem;letter-spacing:0;text-transform:none;color:var(--steel)}
.intake-block label.email-copy input{width:auto;padding:0;accent-color:var(--paper)}
.form-note{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--steel);margin-top:14px;line-height:1.7}
.form-note[data-state="error"]{color:#e3aaa0}.form-note[data-state="ok"]{color:var(--paper)}
@media(max-width:620px){.intake-grid{grid-template-columns:1fr}}
