/* ========= HERO ========= */
.hero{
  padding-top:clamp(2.75rem, 5.5vw, 5rem);
  padding-bottom:clamp(2.5rem, 5vw, 3.5rem);
}

.hero-grid{
  display:grid;
  grid-template-columns:1.25fr .95fr;
  gap:clamp(2rem, 4vw, 4rem);
  align-items:start;
}
@media (max-width: 980px){
  .hero-grid{ grid-template-columns:1fr; }
}

.hero .label.label--dot{
  margin-bottom:0;
}
.hero h1.hero-title{
  display:block;
  margin:1.15rem 0 1.65rem;
  line-height:1.08;
  letter-spacing:-0.035em;
  color:var(--btn-text);
  font-size:clamp(2.35rem, 5vw, 4.2rem);
  font-weight:300;
  max-width:18ch;
}
.hero-title--triad{
  max-width:14ch;
  line-height:1.06;
  letter-spacing:-0.04em;
}
.hero-triad__line{
  display:block;
}
.hero-triad__line + .hero-triad__line{
  margin-top:.06em;
}
.hero-title__main{
  display:block;
  line-height:1.11;
}
.hero-title__line{
  display:block;
  color:var(--btn-text);
}
.hero-title__line--punch{
  line-height:1.14;
  overflow:visible;
}
.hero-title__line--punch em{
  font-style:italic;
  font-variation-settings:"opsz" 144, "SOFT" 100;
  overflow:visible;
}
.hero-title__kicker{
  display:block;
  position:relative;
  margin-top:clamp(.9rem, 1.75vw, 1.35rem);
  font-family:var(--font-disp);
  font-size:clamp(1.25rem, 2.35vw, 1.9rem);
  font-weight:400;
  font-style:italic;
  font-variation-settings:"opsz" 144, "SOFT" 90;
  letter-spacing:-0.02em;
  line-height:1.22;
  color:var(--btn-text);
}
.hero-title__kicker::after{
  content:"";
  position:absolute;
  inset:auto 0 -4px 0;
  height:2px;
  background:var(--gradient-route);
  opacity:.35;
}
@media (max-width:640px){
  .hero h1.hero-title{
    margin:1rem 0 1.4rem;
  }
  .hero-title__main{
    line-height:1.12;
  }
  .hero-title__kicker{
    margin-top:.85rem;
    font-size:clamp(1.1rem, 4vw, 1.4rem);
    line-height:1.28;
  }
}

.hero-lede{
  max-width:52ch;
  font-size:1.15rem;
  color:var(--ink-2);
  margin-bottom:2.4rem;
}

.hero-cta{ display:flex; gap:1.1rem 1.75rem; flex-wrap:wrap; align-items:center; margin-bottom:1.75rem; }

.hero-mandate.metrics{
  margin-top:0;
  margin-bottom:2.5rem;
  max-width:52ch;
}
@media (max-width:768px){
  .hero-mandate.metrics{ max-width:none; }
}

.audience-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(0, 1fr);
  gap:0;
  align-items:stretch;
  border:1px solid var(--line);
  background:var(--surface);
}
.audience-layout .audience-card--lead{
  border-right:1px solid var(--line);
  border-bottom:0;
  min-height:100%;
}
.audience-secondary{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:
    linear-gradient(180deg, rgba(10,10,11,.35) 0%, transparent 42%),
    var(--bg);
}
.audience-secondary__head{
  padding:1.35rem 1.35rem .85rem;
  border-bottom:1px solid var(--line);
}
.audience-secondary__label{
  margin:0;
  font-family:var(--font-mono);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mute);
  line-height:1.45;
}
.audience-secondary__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  flex:1;
  align-content:stretch;
}
.audience-mini{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:1.15rem 1.2rem 1.1rem;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-width:0;
}
.audience-mini:nth-child(2n){
  border-right:0;
}
.audience-mini:nth-last-child(-n+2){
  border-bottom:0;
}
.audience-mini .label{
  display:block;
  margin-bottom:.55rem;
}
.audience-mini p{
  flex:1;
  margin:0 0 .85rem;
  font-size:.84rem;
  line-height:1.55;
  color:var(--ink-2);
}
.audience-mini .row-cta{
  margin-top:auto;
  font-size:.78rem;
}
@media (max-width:1040px){
  .audience-layout{
    grid-template-columns:1fr;
  }
  .audience-layout .audience-card--lead{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
}
@media (max-width:640px){
  .audience-secondary__grid{
    grid-template-columns:1fr;
  }
  .audience-mini{
    border-right:0;
  }
  .audience-mini:not(:last-child){
    border-bottom:1px solid var(--line);
  }
  .audience-mini:nth-last-child(-n+2){
    border-bottom:1px solid var(--line);
  }
  .audience-mini:last-child{
    border-bottom:0;
  }
}

.audience-card--lead{
  border-color:var(--line-hot);
  background:linear-gradient(180deg, var(--wash-gold-2), transparent 55%);
}
.audience-card--lead .audience-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.25rem;
}

.chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .72rem;
  border:1px solid var(--line);
  background:var(--surface);
  font-family:var(--font-mono);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--ink-2);
}
.chip::before{
  content:"";
  width:5px; height:5px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--ok-dim), var(--route-plum), var(--sig));
  display:inline-block;
}

/* --- Instrument / dashboard card --- */
.instrument{
  position:relative;
  background:
    linear-gradient(180deg, var(--wash-gold-2), transparent 40%),
    linear-gradient(125deg, rgba(45,106,95,.03), transparent 55%),
    var(--surface);
  border:1px solid var(--line);
  overflow:hidden;
}
.instrument::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(rgba(255,255,255,.015) 1px, transparent 1px) 0 0 / 100% 24px;
  pointer-events:none;
}
.instrument-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.7rem 1rem;
  border-bottom:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--mute);
  background:var(--bg-2);
}
.instrument-head .lights{ display:flex; gap:.4rem; }
.instrument-head .lights i{
  width:8px; height:8px; border-radius:50%;
  background:var(--line-hot);
}
.instrument-head .lights i.live{ background:var(--ok); box-shadow:0 0 6px var(--ok); animation:pulse 2s infinite; }

/* Ledger preview (replaces terminal) */
.ledger{
  padding:1rem 0 0;
  font-family:var(--font-mono);
  font-size:.76rem;
  color:var(--ink-2);
  min-height:340px;
}
.ledger-col-head{
  display:grid;
  grid-template-columns:68px 1.15fr 1.1fr .85fr 70px;
  gap:.6rem;
  padding:.4rem 1.1rem .75rem;
  font-size:.6rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mute);
  border-bottom:1px solid var(--line);
}
.ledger-row{
  display:grid;
  grid-template-columns:68px 1.15fr 1.1fr .85fr 70px;
  gap:.6rem;
  padding:.72rem 1.1rem;
  border-bottom:1px solid var(--line-2);
  align-items:center;
  font-size:.72rem;
  color:var(--ink-2);
}
.ledger-row:last-child{ border-bottom:0; }
.ledger-row .ts{ color:var(--mute); }
.ledger-row .wid{ color:var(--ink); }
.ledger-row .env{ color:var(--ink-2); }
.ledger-row .sig{ color:var(--ok); letter-spacing:0; }
.ledger-row .sig.warn{ color:var(--sig); }
.ledger-row .verify{
  font-size:.58rem;
  color:var(--ok);
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:right;
}
.ledger-row.delay-1{ animation:lrowin .5s .3s both; }
.ledger-row.delay-2{ animation:lrowin .5s .55s both; }
.ledger-row.delay-3{ animation:lrowin .5s .8s both; }
.ledger-row.delay-4{ animation:lrowin .5s 1.05s both; }
.ledger-row.delay-5{ animation:lrowin .5s 1.3s both; }
@keyframes lrowin{
  from{ opacity:0; transform:translateY(3px); }
  to  { opacity:1; transform:none; }
}

.instrument-foot{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.68rem;
}
.instrument-foot div{
  padding:.85rem 1rem;
  border-right:1px solid var(--line);
  color:var(--mute);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.instrument-foot div:last-child{ border-right:0; }
.instrument-foot b{
  display:block;
  color:var(--ink);
  font-weight:500;
  font-size:.85rem;
  letter-spacing:0;
  text-transform:none;
  margin-top:.15rem;
}

/* --- Interactive demo controls --- */
.instrument-demo-bar{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  padding:.75rem 1rem;
  border-bottom:1px solid var(--line);
  background:var(--bg-2);
}
.demo-btn{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.5rem .85rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  cursor:pointer;
}
.demo-btn:disabled{ opacity:.45; cursor:not-allowed; }
.demo-stage{
  margin-left:auto;
  font-family:var(--font-mono);
  font-size:.6rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--mute);
}
.demo-stage.is-active{ color:var(--ok); }
.ledger-row.is-sealing .verify{ color:var(--sig); animation:demo-pulse 1s ease-in-out infinite; }
.ledger-row.is-new{
  background:linear-gradient(90deg, rgba(184,146,78,.08), rgba(45,106,95,.05));
  animation:lrowin .45s ease both;
}
.ledger-row.is-verified .verify{ color:var(--ok); text-shadow:0 0 12px rgba(109,181,162,.45); }
@keyframes demo-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.45; } }
.instrument-status{
  padding:.7rem 1rem;
  border-top:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.06em;
  color:var(--ok);
  background:rgba(45,106,95,.06);
  animation:lrowin .35s ease both;
}
.instrument-status[hidden]{ display:none; }
.instrument.is-autoplaying .demo-stage{
  color:var(--sig);
  animation:demo-pulse 2s ease-in-out infinite;
}
.instrument.is-autoplaying .demo-btn:not(:disabled){
  pointer-events:none;
  opacity:.85;
}

/* ========= Hero terminal recording ========= */
.hero-visual-stack{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.hero-terminal-panel{
  border:1px solid var(--line);
  background:var(--surface);
  overflow:hidden;
}
.hero-terminal-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.65rem 1rem;
  border-bottom:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.64rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--mute);
  background:var(--bg-2);
}
.ht-rec-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--sig);
  box-shadow:0 0 8px var(--sig);
  animation:demo-pulse 1.8s ease-in-out infinite;
}
.hero-terminal-viewport{
  position:relative;
  min-height:200px;
  max-height:220px;
  background:#0a0a0b;
}
.hero-terminal-video{
  display:none;
  width:100%;
  height:auto;
  max-height:220px;
  min-height:200px;
  object-fit:cover;
  background:#0a0a0b;
}
.hero-terminal-video.is-active{ display:block; }
.hero-terminal{
  margin:0;
  padding:1rem 1.1rem 1.1rem;
  min-height:200px;
  max-height:220px;
  overflow:auto;
  font-family:var(--font-mono);
  font-size:.72rem;
  line-height:1.55;
  background:#0a0a0b;
  color:var(--ink-2);
}
.hero-terminal.is-hidden{ display:none; }
.hero-terminal-cta{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
  pointer-events:none;
}
.hero-terminal-book{
  pointer-events:auto;
  padding:.65rem 1.15rem;
  font-size:.68rem;
  box-shadow:0 8px 32px rgba(0,0,0,.55);
}
.ht-line{ margin-bottom:.35rem; white-space:pre-wrap; word-break:break-word; }
.ht-prompt{ color:var(--ink); }
.ht-out{ color:var(--mute); }
.ht-ok{ color:var(--ok); }

.instrument-compact .ledger{ min-height:0; padding-top:.5rem; }
.instrument-compact .ledger-row{ padding:.55rem 1.1rem; font-size:.68rem; }
.instrument-compact .instrument-demo-bar{ padding:.6rem 1rem; }


/* ========= Hero terminal recording ========= */
.visual-break{
  position:relative;
  z-index:6;
  padding:clamp(2.75rem, 6vw, 4.25rem) 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(255,255,255,.03) inset;
}
.visual-break-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
}

.controls-open{
  margin-top:var(--section-stack-gap);
  padding:1.1rem 1.15rem;
  border:1px solid var(--line);
  background:var(--bg);
}
.controls-open .label{ display:block; margin-bottom:.35rem; }
.controls-open h3{
  font-family:var(--font-disp);
  font-weight:400;
  font-size:1.35rem;
  letter-spacing:-0.02em;
  margin:0 0 .55rem;
  line-height:1.2;
}
.controls-open p{
  color:var(--ink-2);
  font-size:.88rem;
  line-height:1.45;
  margin:0 0 .85rem;
}
.controls-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.75rem;
  margin-bottom:.85rem;
}
.controls-links .row-cta{
  max-width:100%;
}
.controls-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.85rem;
  margin-top:var(--section-stack-gap);
}
.controls-actions .row-cta{
  max-width:100%;
  align-self:flex-start;
}
.controls-metrics.metrics,
.hero-mandate.metrics{
  width:100%;
  border:1px solid var(--line);
  border-bottom:1px solid var(--line);
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.controls-metrics.metrics{
  margin-top:.15rem;
}
.controls-metrics.metrics > div,
.hero-mandate.metrics > div{
  padding:1rem .85rem;
}
.hero-mandate.metrics > div{
  border-bottom:0;
}
.controls-metrics.metrics > div:nth-child(2n),
.hero-mandate.metrics > div:nth-child(2n){
  border-right:0;
}
.controls-metrics.metrics > div:nth-child(-n+4){
  border-bottom:1px solid var(--line);
}
.controls-metrics.metrics > div:nth-child(5){
  grid-column:1 / -1;
  border-right:0;
  border-bottom:0;
}
.controls-metrics .v,
.hero-mandate.metrics .v{
  font-size:clamp(1.35rem, 2.5vw, 1.75rem);
  font-variant-numeric:tabular-nums;
}
.controls-metrics .l,
.hero-mandate.metrics .l{
  font-size:.58rem;
  letter-spacing:.12em;
  margin-top:.45rem;
}
.controls-metrics > div::before,
.hero-mandate.metrics > div::before{
  top:.65rem;
  right:.65rem;
  font-size:.52rem;
}
@media (max-width:900px){
  .controls-metrics.metrics,
  .hero-mandate.metrics{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:768px){
  .hero-mandate.metrics{
    grid-template-columns:1fr;
  }
  .hero-mandate.metrics > div{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .hero-mandate.metrics > div:last-child{
    border-bottom:0;
  }
}
.controls-open pre{
  margin:0;
  padding:1rem 1.05rem;
  border:1px solid var(--line-hot);
  background:var(--surface);
  font-family:var(--font-mono);
  font-size:.66rem;
  line-height:1.55;
  color:var(--ok);
  overflow:auto;
}

/* Alternating section bands — rhythm without noise */
section.section--band{
  background:
    linear-gradient(180deg, rgba(19,19,23,.72) 0%, rgba(10,10,11,.15) 88%),
    var(--bg);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  box-shadow:inset 3px 0 0 rgba(45,106,95,.45);
}
section.section--band + section{
  border-top:0;
}

.flow-rail{
  display:flex;
  align-items:center;
  gap:0;
  width:100%;
  justify-content:center;
  flex-wrap:wrap;
}
.flow-step{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.45rem;
  padding:.5rem 1rem;
  font-family:var(--font-mono);
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--mute);
}
.flow-step b{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.35rem;height:2.35rem;
  border:1px solid var(--line-hot);
  border-radius:50%;
  font-size:.72rem;
  color:var(--sig);
  background:var(--bg);
  box-shadow:0 0 0 4px rgba(184,146,78,.08);
}
.flow-arrow{ color:var(--sig); opacity:.45; font-size:.8rem; padding:0 .35rem; }

/* ========= Proof strip (hero footer) ========= */
.hero .proof-strip{
  margin-top:clamp(3rem, 6vw, 5rem);
  border-top:1px solid var(--line);
  background:linear-gradient(180deg, var(--wash-gold-2), transparent 70%);
}
.proof-strip__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
}
.proof-strip__item{
  padding:1.35rem 1.5rem;
  border-right:1px solid var(--line);
  position:relative;
}
.proof-strip__item:last-child{ border-right:0; }
.proof-strip__tag{
  position:absolute;
  top:.85rem;
  right:.9rem;
  font-family:var(--font-mono);
  font-size:.58rem;
  color:var(--mute-2);
  letter-spacing:.1em;
}
.proof-strip__item strong{
  display:block;
  font-family:var(--font-mono);
  font-size:.68rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--ink);
}
.proof-strip__item p{
  margin:.55rem 0 0;
  max-width:34ch;
  font-size:.88rem;
  line-height:1.55;
  color:var(--ink-2);
}
.proof-strip__link{
  margin-top:.85rem;
  font-size:.78rem;
}
.proof-strip__links{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1.1rem;
  margin-top:.85rem;
}
.proof-strip__links .row-cta{
  font-size:.78rem;
}
@media (max-width:768px){
  .proof-strip__grid{ grid-template-columns:1fr; }
  .proof-strip__item{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .proof-strip__item:last-child{ border-bottom:0; }
}

/* ========= Metric ribbon ========= */
.metrics-band{
  padding:clamp(2.5rem, 5vw, 4rem) 0;
}
.metrics-band .metrics{
  margin-top:0;
}
.metrics{
  margin-top:clamp(3rem, 6vw, 5rem);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(6, 1fr);
}
.metrics--five{
  grid-template-columns:repeat(5, 1fr);
}
.metrics > div{
  padding:1.5rem 1.25rem;
  border-right:1px solid var(--line);
  position:relative;
}
.metrics > div:last-child{ border-right:0; }
.metrics .v{
  font-family:var(--font-disp);
  font-weight:300;
  font-size:clamp(1.9rem, 3vw, 2.6rem);
  line-height:1;
  letter-spacing:-0.03em;
  color:var(--ink);
}
.metrics .v small{
  font-family:var(--font-mono);
  font-size:.65rem;
  color:var(--sig);
  margin-left:.25rem;
  vertical-align:middle;
}
.metrics .l{
  margin-top:.6rem;
  font-family:var(--font-mono);
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--mute);
  line-height:1.4;
}
.metrics > div::before{
  content:attr(data-n);
  position:absolute;
  top:.85rem; right:.9rem;
  font-family:var(--font-mono);
  font-size:.58rem;
  color:var(--mute-2);
  letter-spacing:.1em;
}
@media (max-width: 900px){ .metrics{ grid-template-columns:repeat(3,1fr); }
  .metrics > div:nth-child(3n){ border-right:0; }
  .metrics > div:nth-child(-n+3){ border-bottom:1px solid var(--line); }
  .metrics--five > div:nth-child(4),
  .metrics--five > div:nth-child(5){
    border-bottom:0;
  }
  .metrics--five > div:nth-child(5){ border-right:0; }
}
@media (max-width: 560px){ .metrics{ grid-template-columns:repeat(2,1fr); }
  .metrics > div{ border-right:1px solid var(--line)!important; border-bottom:1px solid var(--line); }
  .metrics > div:nth-child(2n){ border-right:0!important; }
}

/* ========= §01 mandate grid (2×2) ========= */
.mandate-panel{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.mandate-panel > .spec-sheet-head{
  margin:0;
}
.mandate-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.25rem;
  align-items:stretch;
  width:100%;
}
.mandate-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:clamp(18rem, 38vw, 22rem);
  padding:1.5rem 1.4rem 1.25rem;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--surface);
  box-sizing:border-box;
  transition:
    background var(--dur) var(--ease),
    border-color var(--dur) var(--ease);
}
.mandate-card:hover{
  border-color:rgba(184, 146, 78, .35);
  background:linear-gradient(135deg, rgba(45,106,95,.04), rgba(184,146,78,.03)), var(--surface);
}
.mandate-card__num{
  position:absolute;
  top:1.15rem;
  right:1.2rem;
  font-family:var(--font-mono);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.12em;
  color:var(--sig);
}
.mandate-card__head{
  padding-right:2rem;
  margin-bottom:.85rem;
}
.mandate-card__head .label{
  display:block;
  margin-bottom:.55rem;
}
.mandate-card__head h3{
  font-family:var(--font-disp);
  font-weight:400;
  font-size:clamp(1.15rem, 2vw, 1.4rem);
  letter-spacing:-0.02em;
  line-height:1.15;
  color:var(--btn-text);
  margin:0;
}
.mandate-card__body{
  flex:1;
  margin:0;
  font-size:.88rem;
  line-height:1.58;
  color:var(--ink-2);
}
.mandate-card__foot{
  margin-top:auto;
  padding-top:.9rem;
  border-top:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.6rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--sig);
}
@media (max-width:720px){
  .mandate-grid{
    grid-template-columns:1fr;
    gap:1rem;
  }
  .mandate-card{
    min-height:0;
  }
}

/* ========= Control spec sheet (§04 mapping) ========= */
.pipeline{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  border:1px solid var(--line);
  background:var(--surface);
}
@media (max-width: 1100px){ .pipeline{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 640px){ .pipeline{ grid-template-columns:1fr; } }
.stage{
  padding:1.7rem 1.4rem 1.9rem;
  border-right:1px solid var(--line);
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:360px;
}
.stage:last-child{ border-right:0; }
@media (max-width: 1100px){
  .stage{ border-right:1px solid var(--line); border-bottom:1px solid var(--line); min-height:0; }
  .stage:nth-child(2n){ border-right:0; }
  .stage:nth-last-child(-n+2){ border-bottom:0; }
  .stage:last-child{ border-right:0; }
}
@media (max-width: 640px){
  .stage{ border-right:0; border-bottom:1px solid var(--line); }
  .stage:last-child{ border-bottom:0; }
}
.stage::after{
  content:"â†’";
  position:absolute;
  right:-10px; top:50%;
  transform:translateY(-50%);
  width:20px; height:20px;
  background:var(--bg);
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono);
  font-size:.65rem;
  color:var(--sig);
  z-index:2;
}
.stage:last-child::after{ display:none; }
@media (max-width: 1100px){ .stage::after{ display:none; } }

.stage .num{
  font-family:var(--font-mono);
  font-size:.68rem;
  color:var(--mute);
  letter-spacing:.15em;
  margin-bottom:1.2rem;
  display:flex;
  justify-content:space-between;
}
.stage .num b{ color:var(--sig); font-weight:500; }
.stage h3{
  font-family:var(--font-disp);
  font-weight:400;
  font-size:1.45rem;
  letter-spacing:-0.02em;
  line-height:1.15;
  margin-bottom:.8rem;
}
.stage p{ color:var(--mute); font-size:.88rem; margin-bottom:1.2rem; }
.stage .control{
  margin-top:auto;
  padding:.75rem .85rem;
  background:var(--bg);
  border:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.66rem;
  line-height:1.55;
  color:var(--ink-2);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.stage .control .c-head{
  display:block;
  color:var(--mute);
  font-size:.58rem;
  letter-spacing:.14em;
  margin-bottom:.35rem;
}
.stage .control .c-item{
  display:block;
  color:var(--ok);
  letter-spacing:.06em;
  text-transform:none;
  font-size:.7rem;
}

/* ========= Execution rooms ========= */
.rooms{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
}
@media (max-width: 900px){ .rooms{ grid-template-columns:1fr; } }
.room{
  padding:2.2rem 1.8rem;
  border-right:1px solid var(--line);
  background:var(--surface);
  position:relative;
}
.room:last-child{ border-right:0; }
@media (max-width: 900px){
  .room{ border-right:0; border-bottom:1px solid var(--line); }
  .room:last-child{ border-bottom:0; }
}
.room.featured{
  background:
    linear-gradient(180deg, rgba(184,146,78,.07), transparent 42%),
    linear-gradient(120deg, rgba(45,106,95,.04), transparent 50%),
    var(--surface);
}
.room.featured::before{
  content:"For classified programs";
  position:absolute;
  top:-.7rem; left:1.4rem;
  padding:.25rem .55rem;
  background:var(--gradient-route);
  color:var(--on-route);
  font-family:var(--font-mono);
  font-size:.6rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.room .code-head{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family:var(--font-mono);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--mute);
  margin-bottom:1.2rem;
}
.room .code-head .price{ color:var(--ink); }
.room h3{
  font-family:var(--font-disp);
  font-weight:400;
  font-size:2rem;
  letter-spacing:-0.025em;
  line-height:1;
}
.room .sub{ color:var(--mute); font-size:.9rem; margin:.8rem 0 1.6rem; min-height:3.2em; }
.room .spec{ border-top:1px solid var(--line); margin-top:1rem; }
.room .spec div{
  display:flex; justify-content:space-between; gap:1rem;
  padding:.72rem 0;
  border-bottom:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.7rem;
}
.room .spec div:last-child{ border-bottom:0; }
.room .spec div span:first-child{
  color:var(--mute);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.64rem;
}
.room .spec div span:last-child{ color:var(--ink); text-align:right; }

/* ========= Execution diagram ========= */
.diagram-wrap{
  margin-top:2.5rem;
  padding:2rem;
  border:1px solid var(--line);
  background:
    radial-gradient(ellipse at 50% 50%, var(--wash-gold-2), transparent 58%),
    radial-gradient(ellipse at 0% 0%, rgba(45,106,95,.05), transparent 45%),
    radial-gradient(ellipse at 100% 100%, rgba(90,77,122,.06), transparent 42%),
    var(--bg-2);
  position:relative;
}
.diagram-wrap::before{
  content:"FIG.01 â€” provenance chain Â· submitter â†’ auditor";
  position:absolute;
  top:.85rem; left:1rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  color:var(--mute);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.diagram-wrap svg{ display:block; width:100%; height:auto; margin-top:1.2rem; }

/* ========= Control mapping datasheet ========= */
.datasheet{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:var(--section-body-gap);
  align-items:start;
}
@media (max-width:900px){ .datasheet{ grid-template-columns:1fr; } }

.spec-sheet{
  border:1px solid var(--line);
  background:var(--surface);
}
.spec-sheet-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:.85rem 1.2rem;
  border-bottom:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.64rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--mute);
  background:var(--bg-2);
}
.spec-row{
  display:grid;
  grid-template-columns:170px 1fr 110px;
  gap:1rem;
  padding:1rem 1.2rem;
  border-bottom:1px solid var(--line);
  align-items:baseline;
}
.spec-row:last-child{ border-bottom:0; }
.spec-row .label{
  font-family:var(--font-mono);
  font-size:.64rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--mute);
  line-height:1.5;
}
.spec-row .label b{
  display:block;
  color:var(--ink-2);
  font-weight:500;
  font-size:.7rem;
  letter-spacing:.08em;
  margin-bottom:.2rem;
}
.spec-row .val{ color:var(--ink); font-size:.9rem; line-height:1.45; }
.spec-row .val b{ font-weight:500; color:var(--ink); }
.spec-row .status{
  font-family:var(--font-mono);
  font-size:.6rem;
  color:var(--ok);
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  text-align:right;
}
@media (max-width:640px){
  .spec-row{ grid-template-columns:1fr; gap:.35rem; }
  .spec-row .status{ text-align:left; }
}

/* ========= Pricing table ========= */
.price-anchor{
  margin:0 0 var(--section-intro-gap);
  padding:1.2rem 1.4rem;
  border:1px dashed var(--line-hot);
  background:linear-gradient(90deg, rgba(45,106,95,.04), rgba(184,146,78,.03));
  font-family:var(--font-mono);
  font-size:.78rem;
  color:var(--ink-2);
  letter-spacing:.02em;
}
.price-anchor b{ color:var(--ink); font-weight:500; }

.price-roi{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  margin:0 0 var(--section-intro-gap);
  border:1px solid var(--line);
  background:var(--surface);
}
.price-roi__item{
  padding:1.15rem 1.25rem;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:.45rem;
}
.price-roi__item:last-child{ border-right:0; }
.price-roi__stat{
  font-family:var(--font-disp);
  font-size:clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight:300;
  letter-spacing:-0.02em;
  line-height:1;
  color:var(--sig);
}
.price-roi__unit{
  font-family:var(--font-mono);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--mute);
}
.price-roi__copy{
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.03em;
  line-height:1.5;
  color:var(--mute);
}
@media (max-width:820px){
  .price-roi{ grid-template-columns:1fr; }
  .price-roi__item{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .price-roi__item:last-child{ border-bottom:0; }
}

.price-table{
  border:1px solid var(--line);
  background:var(--surface);
}
.price-head, .price-row{
  display:grid;
  grid-template-columns:1.1fr 1fr 1.4fr 1fr;
  gap:1rem;
  padding:1.2rem 1.5rem;
  border-bottom:1px solid var(--line);
  align-items:center;
}
.price-row:last-child{ border-bottom:0; }
.price-head{
  background:var(--bg-2);
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mute);
}
.price-row .name{
  font-family:var(--font-disp);
  font-size:1.5rem;
  letter-spacing:-0.02em;
  line-height:1;
}
.price-row .price{
  font-family:var(--font-mono);
  color:var(--ink);
  font-size:.88rem;
}
.price-row .price small{ display:block; color:var(--mute); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; margin-top:.3rem; }
.price-row .target{ color:var(--ink-2); font-size:.86rem; line-height:1.5; }
.price-head > div:last-child,
.price-row .act{
  justify-self:end;
  text-align:right;
}
.price-row .act{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-width:0;
}
@media (max-width:820px){
  .price-head{ display:none; }
  .price-row{ grid-template-columns:1fr; gap:.55rem; padding:1.4rem 1.2rem; }
  .price-row .act{ text-align:left; }
}

/* ========= Audience ========= */
.audience{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  align-items:stretch;
  border:1px solid var(--line);
  max-width:100%;
}
@media (max-width:1040px){
  .audience{ grid-template-columns:minmax(0, 1fr); }
}
.audience-card{
  padding:1.75rem 1.5rem 1.5rem;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:0;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  background:var(--surface);
}
.audience-card > *{
  min-width:0;
  max-width:100%;
}
.audience-card:last-child{ border-right:0; }
@media (max-width:1040px){
  .audience-card{ border-right:0; border-bottom:1px solid var(--line); }
  .audience-card:last-child{ border-bottom:0; }
}
.audience-card__head{
  margin-bottom:1rem;
}
.audience-card__head h4{
  font-family:var(--font-disp);
  font-weight:400;
  font-size:clamp(1.05rem, 1.8vw, 1.22rem);
  letter-spacing:-0.015em;
  line-height:1.25;
  margin:.55rem 0 0;
  color:var(--btn-text);
}
.audience-card .label{
  display:block;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}
.audience-hook{
  font-family:var(--font-mono);
  font-size:.68rem;
  color:var(--sig);
  letter-spacing:.03em;
  line-height:1.55;
  margin:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.audience-card__body{
  color:var(--mute);
  font-size:.88rem;
  line-height:1.55;
  margin:0 0 1.15rem;
  max-width:100%;
  overflow-wrap:break-word;
}
.audience-deadline{
  margin-bottom:1rem;
  padding:1rem 1.05rem;
  background:
    linear-gradient(135deg, rgba(184,146,78,.08), rgba(45,106,95,.05)),
    var(--bg);
  border:1px solid rgba(184,146,78,.22);
  border-left:3px solid var(--sig);
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.audience-deadline .countdown-row{
  flex-wrap:wrap;
  row-gap:.25rem;
  margin-top:0;
}
.audience-deadline .days{
  font-family:var(--font-disp);
  font-size:clamp(1.75rem, 4vw, 2.15rem);
  font-weight:300;
  color:var(--sig);
  line-height:1;
}
.audience-deadline-copy{
  margin:.75rem 0 0;
  font-size:.82rem;
  line-height:1.45;
  color:var(--ink-2);
}
.audience-proof{
  margin-bottom:1.15rem;
  padding:.85rem .95rem;
  background:var(--bg);
  border:1px solid var(--line);
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.audience-proof .label{ display:block; margin-bottom:.45rem; }
.audience-proof p{
  font-size:.84rem;
  line-height:1.5;
  color:var(--ink-2);
  margin:0;
  overflow-wrap:break-word;
}
.audience-meta{
  margin:0 0 1.25rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.audience-meta__row{
  display:grid;
  grid-template-columns:5.5rem minmax(0, 1fr);
  gap:.65rem 1rem;
  align-items:start;
}
@media (max-width:480px){
  .audience-meta__row{ grid-template-columns:1fr; gap:.25rem; }
}
.audience-meta dt{
  font-family:var(--font-mono);
  font-size:.58rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--mute);
  margin:0;
}
.audience-meta dd{
  font-family:var(--font-mono);
  font-size:.64rem;
  line-height:1.55;
  letter-spacing:.03em;
  color:var(--ink-2);
  margin:0;
  overflow-wrap:break-word;
}
.audience-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.85rem;
  margin-top:auto;
  padding-top:.75rem;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.audience-actions .row-cta{
  max-width:100%;
}
@media (max-width:1100px){
  .audience-card{ padding:1.45rem 1.2rem 1.25rem; }
}

.audience-expand{
  margin-top:var(--section-stack-gap);
  padding:1.25rem 1.4rem 1.15rem;
  border:1px solid var(--line);
  background:var(--bg);
}
.audience-expand__label{
  margin:0 0 .85rem;
  font-family:var(--font-mono);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mute);
}
.audience-expand__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.audience-expand__list li{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem 1rem;
  font-size:.9rem;
  line-height:1.55;
  color:var(--ink-2);
}
.audience-expand__list strong{
  color:var(--btn-text-hover);
  font-weight:500;
}
.audience-expand__list .row-cta{
  margin-left:auto;
  flex-shrink:0;
}
@media (max-width:640px){
  .audience-expand__list li{
    flex-direction:column;
    align-items:flex-start;
    gap:.5rem;
  }
  .audience-expand__list .row-cta{
    margin-left:0;
  }
  .hero h1.hero-title{
    max-width:none;
  }
  .hero-title--triad{
    font-size:clamp(2rem, 8vw, 3.25rem);
  }
}

/* ========= Access — three doors ========= */
.access{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);
  gap:var(--section-body-gap);
  align-items:start;
}
@media (max-width:900px){ .access{ grid-template-columns:minmax(0, 1fr); } }
.access-aside{
  min-width:0;
}
.access-aside .lede{
  max-width:42ch;
}
.access-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:0;
}

.doors{
  display:flex;
  flex-direction:column;
  gap:0;
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:var(--shadow-panel);
}
.door{
  padding:1.35rem 1.4rem;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:2.25rem minmax(0, 1fr) minmax(0, 9.5rem);
  gap:1rem 1.15rem;
  align-items:center;
  transition:background .25s ease;
  width:100%;
  min-width:0;
  text-align:left;
  cursor:pointer;
  font:inherit;
  color:inherit;
  background:var(--surface);
  appearance:none;
  -webkit-appearance:none;
}
.door:last-child{ border-bottom:0; }
.door:hover{
  background:linear-gradient(90deg, rgba(45,106,95,.05), rgba(184,146,78,.04));
}
.door:focus-visible{
  outline:2px solid var(--sig-2);
  outline-offset:-2px;
}
.door-n{
  font-family:var(--font-mono);
  font-size:.7rem;
  color:var(--sig);
  font-weight:500;
  letter-spacing:.14em;
}
.door-body{
  min-width:0;
}
.door-body h4{
  font-family:var(--font-disp);
  font-weight:400;
  font-size:1.2rem;
  letter-spacing:-0.015em;
  margin:0 0 .35rem;
  line-height:1.15;
}
.door-body p{
  color:var(--mute);
  font-size:.86rem;
  line-height:1.5;
  margin:0;
  overflow-wrap:break-word;
}
/* §06 pricing row hover · §07 door row hover */
.price-row:hover .act .row-cta{
  color:var(--ink);
}
.price-row:hover .act .row-cta::after{
  transform:scaleX(1);
}
.price-row:hover .act .row-cta .arr{
  transform:translateX(3px);
}
.door .row-cta{
  pointer-events:none;
  justify-self:end;
  align-self:center;
  min-width:0;
  max-width:9.5rem;
  text-align:right;
}
.door:hover .row-cta{
  color:var(--ink);
}
.door:hover .row-cta::after{
  transform:scaleX(1);
}
.door:hover .row-cta .arr{
  transform:translateX(3px);
}
.price-row .act .row-cta{
  justify-content:flex-end;
  max-width:11rem;
}
.access-main .form{
  margin-top:1.25rem;
}
.access-main .form.open{
  margin-top:1.25rem;
}
@media (max-width:820px){
  .door{
    grid-template-columns:2.25rem minmax(0, 1fr);
    gap:.75rem 1rem;
    padding:1.25rem 1.15rem;
  }
  .door .row-cta{
    grid-column:2;
    justify-self:start;
    text-align:left;
    max-width:100%;
  }
  .door .row-cta::after{
    transform-origin:left;
  }
  .price-row .act .row-cta{
    justify-content:flex-start;
    max-width:100%;
  }
}


/* Mobile — preserve hero terminal + ledger; horizontal scroll when narrow */
@media (max-width: 768px) {
  .instrument-compact .ledger {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .instrument-compact .ledger-col-head,
  .instrument-compact .ledger-row {
    min-width: 520px;
  }
}
