/* ============================================================
   FAIR FOOD DATA · Site design system (system.css)
   "Blueprint console": cold console-blue accent, Host Grotesk lean,
   Spline Sans Mono data, Spectral on the certificate title only, blueprint grid.
   Single source of truth. Every page links this file.
   ============================================================ */
/* ============================================================
   FAIR FOOD DATA · Home · STEEL / blueprint console
   Living certificate (SIGNAL + RECORD) in a Palantir-grade
   blueprint field. Cold steel accent, present. Grid is a feature.
   ============================================================ */
:root{
  --bg:#0b0e14; --bg-2:#0e131b; --panel:#10151e; --panel-2:#141b25;
  --line:#222b38; --line-soft:#161d27;
  --grid-minor:rgba(126,170,210,.05); --grid-major:rgba(126,170,210,.10);
  --ink:#E9EEF4; --ink-dim:#9AA7B5; --ink-faint:#76838F;
  --wait:#E8C37A; --wait-line:#4a3d22; --wait-bg:rgba(232,195,122,.07); --wait-glow:rgba(232,195,122,.5);
  --maxw:1240px; --r:3px;
  --display:'Host Grotesk','Hanken Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;
}
/* lean display calibration (Palantir-grade neo-grotesques) */
html[data-font="host"]     {--display:'Host Grotesk',-apple-system,sans-serif;}
html[data-font="hanken"]   {--display:'Hanken Grotesk',-apple-system,sans-serif;}
html[data-font="schibsted"]{--display:'Schibsted Grotesk',-apple-system,sans-serif;}
/* cold-steel accent variants (all "present", differ in chroma/temp) */
html[data-accent="steel"]  {--accent:#9FB6C8;--accent-bright:#CBDAE7;--accent-deep:#2a3845;--accent-ink:#0b0e14;--glow:rgba(159,182,200,.40);}
html[data-accent="console"]{--accent:#79AAD0;--accent-bright:#AED4F0;--accent-deep:#21303f;--accent-ink:#0b0e14;--glow:rgba(121,170,208,.46);}
html[data-accent="ice"]    {--accent:#62C4E8;--accent-bright:#A7E3F8;--accent-deep:#143744;--accent-ink:#06121a;--glow:rgba(98,196,232,.50);}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);
  font-family:var(--display);line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
::selection{background:var(--accent);color:var(--accent-ink)}
a{color:inherit;text-decoration:none}
.mono{font-family:'Spline Sans Mono',ui-monospace,Menlo,monospace}
.serif{font-family:'Spectral',Georgia,serif}

/* ============================================================ BLUEPRINT FIELD */
.bp{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.bp .grid{position:absolute;inset:-2px;
  background-image:
    linear-gradient(var(--grid-minor) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-minor) 1px,transparent 1px),
    linear-gradient(var(--grid-major) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-major) 1px,transparent 1px);
  background-size:32px 32px,32px 32px,128px 128px,128px 128px;
  background-position:center -2px;
  -webkit-mask-image:radial-gradient(140% 110% at 72% -6%,#000 0%,#000 52%,transparent 90%);
          mask-image:radial-gradient(140% 110% at 72% -6%,#000 0%,#000 52%,transparent 90%)}
.bp .reticle{position:absolute;top:96px;right:7%;width:210px;height:210px;opacity:.22}
.bp .reticle [stroke]{stroke:var(--accent);fill:none}
.bp .reticle circle{stroke-width:1}
.bp .reticle line{stroke-width:1}
.bp .axis{position:absolute;font-family:'Spline Sans Mono',monospace;font-size:.6rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.bp .axis.a1{top:148px;left:26px;writing-mode:vertical-rl}
.bp .axis.a2{top:106px;left:24px}

.shell{position:relative;z-index:1}

/* registration brackets */
.reg{position:absolute;width:13px;height:13px;border:1.5px solid var(--accent);opacity:.5}
.reg.tl{border-right:0;border-bottom:0} .reg.tr{border-left:0;border-bottom:0}
.reg.bl{border-right:0;border-top:0}   .reg.br{border-left:0;border-top:0}

/* ============================================================ NAV + SYSBAR */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 80%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:.95rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;letter-spacing:-.02em;font-size:1.06rem}
.brand .glyph{width:22px;height:22px;flex:none;display:block}
.fbrand .brand{gap:.85rem;font-size:1.18rem}
.fbrand .glyph{width:48px;height:48px}
.brand .glyph rect{fill:var(--accent)}
.nav-links{display:flex;gap:1.6rem;font-size:.83rem;font-weight:500}
.nav-links a{color:var(--ink-dim);position:relative;padding:.2rem 0}
.nav-links a.is-here{color:var(--ink)}
.nav-links a:hover{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1.5px;background:var(--accent);transition:right .3s cubic-bezier(.16,1,.3,1)}
.nav-links a:hover::after,.nav-links a.is-here::after{right:0}
.nav-cta{font-family:'Spline Sans Mono',monospace;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  color:var(--accent-ink);background:var(--accent);padding:.55rem .9rem;border-radius:var(--r);white-space:nowrap;transition:background .15s ease}
.nav-cta:hover{background:var(--accent-bright)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);width:40px;height:36px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.menu-btn span{width:16px;height:1.5px;background:var(--ink)}

.sysbar{border-bottom:1px solid var(--line-soft);background:color-mix(in oklab,var(--bg-2) 75%,transparent)}
.sysbar-in{max-width:var(--maxw);margin:0 auto;padding:.42rem 1.6rem;display:flex;gap:0;align-items:center;flex-wrap:wrap;
  font-family:'Spline Sans Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.sysbar-in span{padding:0 .9rem;border-left:1px solid var(--line)}
.sysbar-in span:first-child{padding-left:0;border-left:0;color:var(--ink-dim)}
.sysbar .ok{color:var(--accent)}
.sysbar .ok::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:.45rem;vertical-align:middle;box-shadow:0 0 8px 0 var(--glow)}

/* ============================================================ HERO */
.hero{position:relative;max-width:var(--maxw);margin:0 auto;padding:clamp(2.6rem,6vw,5rem) 1.6rem clamp(3rem,6vw,5.5rem);
  display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.kicker{font-family:'Spline Sans Mono',monospace;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.3rem}
.kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--glow);animation:pulse 2.6s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 var(--glow)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
h1.title{font-weight:500;letter-spacing:-.03em;line-height:.97;font-size:clamp(2.8rem,6.8vw,5rem);text-wrap:balance}
h1.title .ac{color:var(--accent)}
.acc-rule{width:64px;height:2px;background:var(--accent);margin:1.4rem 0 1.3rem;box-shadow:0 0 14px -2px var(--glow)}
.lede{font-size:clamp(1.02rem,1.4vw,1.18rem);color:var(--ink-dim);max-width:46ch;line-height:1.55}
.lede b{color:var(--ink);font-weight:600}
.cta-row{margin-top:1.9rem;display:flex;flex-wrap:wrap;gap:.8rem}
.btn{font-family:'Spline Sans Mono',monospace;font-size:.8rem;font-weight:600;letter-spacing:.03em;padding:.8rem 1.2rem;border-radius:var(--r);
  cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .15s ease,border-color .15s ease;display:inline-flex;align-items:center;gap:.5rem}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-bright);transform:translateY(-1px)}
.btn-ghost{border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}

/* ============================================================ LIVING CERTIFICATE */
.cert{position:relative;background:linear-gradient(180deg,var(--panel) 0%,var(--bg-2) 100%);
  border:1px solid var(--line);border-radius:5px;box-shadow:0 30px 90px -44px #000, inset 0 1px 0 rgba(255,255,255,.04)}
.cert .ct{position:absolute;width:11px;height:11px;border:1.5px solid var(--accent);opacity:.7;z-index:2}
.cert .ct.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
.cert .ct.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}
.cert .ct.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}
.cert .ct.br{bottom:-1px;right:-1px;border-left:0;border-top:0}
.cert .guilloche{position:absolute;top:0;left:0;width:100%;height:108px;pointer-events:none;opacity:.14}
.cert .guilloche path{fill:none;stroke:var(--accent);stroke-width:.6}
.cert-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem .9rem;border-bottom:1px solid var(--line)}
.cert-head .rk{font-family:'Spline Sans Mono',monospace;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint)}
.cert-head .ttl{font-family:'Spectral',serif;font-size:1.16rem;font-weight:500;margin-top:.25rem}
.cert-head .ttl i{color:var(--ink-dim)}
.cert-head .bid{text-align:right;white-space:nowrap}
.cert-head .bid .l{font-family:'Spline Sans Mono',monospace;font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint)}
.cert-head .bid .v{font-family:'Spline Sans Mono',monospace;font-size:.95rem;font-weight:600;color:var(--accent);margin-top:.2rem}
.cert-grid{padding:.35rem 1.4rem}
.row{display:grid;grid-template-columns:8.6rem 1fr;gap:1rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--line-soft)}
.row .k{font-family:'Spline Sans Mono',monospace;font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}
.row .v{font-family:'Spline Sans Mono',monospace;font-size:.92rem;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;word-break:break-word}
.row .v .u{color:var(--ink-faint);font-size:.78em;margin-left:.25em}
.row .v.live{color:var(--accent)}
.tier{display:inline-flex;align-items:center;gap:.4rem;font-family:'Spline Sans Mono',monospace;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid var(--accent);color:var(--accent);padding:.14rem .42rem;border-radius:2px}
.chan{display:inline-flex;gap:3px;height:18px;align-items:flex-end}
.chan i{width:3px;background:var(--accent);display:block;border-radius:1px;opacity:.9;height:var(--h,40%);animation:bar 1.8s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@keyframes bar{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
.cert-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.4rem 1.25rem;border-top:1px solid var(--line)}
.sigwrap{flex:1;min-width:0}
.sigwrap .sl{font-family:'Spline Sans Mono',monospace;font-size:.58rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.2rem}
.sig{width:160px;max-width:60%;height:32px;display:block}
.sig path{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sigwrap .vm{font-family:'Spline Sans Mono',monospace;font-size:.6rem;color:var(--ink-faint);margin-top:.15rem}
.seal{width:82px;height:82px;flex:none;transform:rotate(-7deg)}
.seal .ring{fill:var(--accent-deep);stroke:var(--accent);stroke-width:1.4}
.seal .tickr,.seal .core,.seal .star path{stroke:var(--accent)}
.seal .core{fill:none;stroke-width:1.1}
.seal text{fill:var(--accent);font-family:'Spline Sans Mono',monospace;font-size:6.2px;letter-spacing:1.5px}
.status{margin:0 1.4rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem 1rem;
  border:1px solid var(--line);border-radius:var(--r);background:var(--panel-2);transition:border-color .4s ease,box-shadow .4s ease}
.status.sealed{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 36px -6px var(--glow)}
.status .s-l{display:flex;align-items:center;gap:.6rem;font-family:'Spline Sans Mono',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}
.status .s-l b{color:var(--accent);font-weight:600}
.status .s-l .led{width:8px;height:8px;border-radius:50%;background:var(--ink-faint)}
.status.sealed .s-l .led{background:var(--accent);box-shadow:0 0 10px 1px var(--glow)}
.status.wait .s-l .led{background:var(--wait);box-shadow:0 0 10px 1px var(--wait-glow)}
.status.wait .s-l b{color:var(--wait)}
.status .s-r{font-family:'Spline Sans Mono',monospace;font-size:.72rem;color:var(--ink-faint);text-align:right}
.status .s-r b{color:var(--ink);font-weight:600}

/* ============================================================ DUALITY */
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--bg-2) 80%,transparent)}
.duality{max-width:var(--maxw);margin:0 auto;padding:clamp(3rem,6vw,5rem) 1.6rem}
.sec-id{font-family:'Spline Sans Mono',monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem;display:flex;align-items:center;gap:.6rem}
.sec-id::before{content:"";width:1.7rem;height:1px;background:var(--accent)}
.duality h2{font-weight:600;letter-spacing:-.025em;line-height:1.05;font-size:clamp(1.7rem,3.4vw,2.5rem);text-wrap:balance;max-width:21ch}
.duality h2 .ac{color:var(--accent)}
.duality .sub{font-family:var(--display);font-size:1.05rem;color:var(--ink-dim);margin-top:1rem;max-width:52ch}
.recline{font-family:'Spline Sans Mono',monospace;font-size:.72rem;color:var(--ink-faint);margin:1.4rem 0 2rem}
.recline b{color:var(--accent)}
.two{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--panel)}
.col{padding:1.6rem 1.5rem;position:relative}
.col+.col{border-left:1px solid var(--line)}
.col .ch{font-family:'Spline Sans Mono',monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}
.col .ch .d{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.col h3{font-size:1.08rem;font-weight:600;letter-spacing:-.01em;margin-bottom:1.1rem}
.col dl{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem}
.col dt{font-family:'Spline Sans Mono',monospace;font-size:.74rem;color:var(--ink-dim)}
.col dd{font-family:'Spline Sans Mono',monospace;font-size:.82rem;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.col dd.live{color:var(--accent)}
.col .note{font-family:var(--display);font-size:.92rem;color:var(--ink-faint);margin-top:1.2rem;border-top:1px solid var(--line-soft);padding-top:.9rem}

/* ============================================================ CLOSER + FOOTER */
.closer{max-width:var(--maxw);margin:0 auto;padding:clamp(3rem,6vw,5rem) 1.6rem;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.closer h2{font-weight:500;letter-spacing:-.03em;font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1.02}
.closer h2 .ac{color:var(--accent)}
.closer .m{font-family:'Spline Sans Mono',monospace;font-size:.72rem;color:var(--ink-faint);text-align:right;line-height:1.8}
.foot{border-top:1px solid var(--line);max-width:var(--maxw);margin:0 auto;padding:1.5rem 1.6rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-family:'Spline Sans Mono',monospace;font-size:.72rem;color:var(--ink-faint)}

/* ============================================================ EXPANDED SECTIONS · shared wrapper */
.msec{border-top:1px solid var(--line);position:relative}
.msec.band{background:color-mix(in oklab,var(--bg-2) 82%,transparent)}
.msec-in{max-width:var(--maxw);margin:0 auto;padding:clamp(3rem,6vw,5rem) 1.6rem}
.msec h2{font-family:var(--display);font-weight:600;letter-spacing:-.025em;line-height:1.05;font-size:clamp(1.7rem,3.4vw,2.5rem);text-wrap:balance;max-width:22ch}
.msec h2 .ac{color:var(--accent)}
.msec .lede{font-family:var(--display);font-size:1.05rem;color:var(--ink-dim);margin-top:1rem;max-width:54ch;line-height:1.55}
.msec .two,.msec .s02-chain,.msec .s03-tiers,.msec .s05-layers,.msec .s06-wrap,.msec .s07-grid{margin-top:2rem}
.msec .btn{margin-top:1.8rem}

/* ============================================================ RESPONSIVE */
@media (max-width:920px){
  .nav-links,.nav-cta{display:none}
  .menu-btn{display:flex}
  .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:.2rem;background:var(--bg);border-bottom:1px solid var(--line);padding:.6rem 1.6rem 1.1rem}
  .nav-links.open a{padding:.7rem 0;border-bottom:1px solid var(--line-soft);color:var(--ink)}
  .hero{grid-template-columns:1fr;gap:2.2rem}
  .bp .reticle{display:none}
  .bp .axis{display:none}
  .two{grid-template-columns:1fr}
  .col+.col{border-left:0;border-top:1px solid var(--line)}
  .closer{flex-direction:column;align-items:flex-start}.closer .m{text-align:left}
}
@media (max-width:440px){
  .sysbar-in span:nth-child(n+4){display:none}
  .row{grid-template-columns:6.4rem 1fr}
  .cert-head{flex-direction:column}.cert-head .bid{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ============================================================ EXPANDED SECTIONS · section CSS */
.s02-chain{list-style:none;margin:2.25rem 0 0;padding:0;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel)}
.s02-stage{display:flex;flex-direction:column;gap:.6rem;padding:1.15rem 1.1rem 1.25rem;min-width:0}
.s02-glyph{width:26px;height:26px;color:var(--accent)}
.s02-glyph svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.s02-code{font-family:'Spline Sans Mono',monospace;font-size:.7rem;letter-spacing:.04em;color:var(--ink-faint)}
.s02-name{font-family:var(--display);font-weight:500;font-size:1rem;letter-spacing:-.02em;color:var(--ink);margin:0}
.s02-datum{font-family:'Spline Sans Mono',monospace;font-size:.82rem;color:var(--accent);overflow-wrap:anywhere}
.s02-sig{display:flex;align-items:center;gap:.5rem;font-family:'Spline Sans Mono',monospace;font-size:.66rem;letter-spacing:.02em;color:var(--ink-faint);margin-top:auto}
.s02-dot{flex:none;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--glow)}
.s02-tick{display:flex;align-items:center;justify-content:center;padding:0 .15rem;font-family:'Spline Sans Mono',monospace;font-size:.95rem;color:var(--accent);opacity:.45;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}
.s02-cta{margin-top:1.75rem}
.s02-bdt{margin-top:1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:1.05rem 1.3rem}
.s02-bdt-hd{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:baseline;margin-bottom:1rem}
.s02-bdt-k{font-family:'Spline Sans Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:.5rem}
.s02-bdt-k .d{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--glow)}
.s02-bdt-sub{font-family:'Spline Sans Mono',monospace;font-size:.66rem;letter-spacing:.02em;color:var(--ink-faint)}
.s02-bdt-track{display:flex;align-items:center;gap:.7rem}
.s02-bdt-pt{font-family:'Spline Sans Mono',monospace;font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);white-space:nowrap}
.s02-bdt-line{flex:1;min-width:14px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent-deep),var(--accent))}
.s02-bdt-vecs{display:flex;gap:.4rem;flex:none}
.s02-bdt-v{width:1.6rem;height:1.6rem;border:1px solid var(--accent);border-radius:2px;display:grid;place-items:center;font-family:'Spline Sans Mono',monospace;font-size:.72rem;color:var(--accent);background:var(--accent-deep)}
@media(max-width:560px){.s02-bdt-track{flex-wrap:wrap;gap:.5rem .7rem}.s02-bdt-line{display:none}}
@media(max-width:880px){
.s02-chain{grid-template-columns:1fr 1fr}
.s02-tick{display:none}
.s02-stage{border-top:1px solid var(--line-soft)}
.s02-chain>.s02-stage:nth-child(-n+2){border-top:0}
}
@media(max-width:560px){
.s02-chain{grid-template-columns:1fr}
.s02-chain>.s02-stage:nth-child(2){border-top:1px solid var(--line-soft)}
}
/* excavation: each tier steps down and darkens; depth is the composition */
.s03-ladder{list-style:none;margin:2.25rem 0 0;padding:0}
.s03-tier{display:grid;grid-template-columns:auto minmax(0,1fr) 12.5rem 5.5rem;align-items:center;gap:1.5rem;padding:1.15rem 1.4rem;border:1px solid var(--line);border-radius:var(--r);background:var(--panel-2)}
.s03-tier+.s03-tier{margin-top:-1px}
.s03-tier:nth-child(2){margin-left:6%;background:var(--panel)}
.s03-tier:nth-child(3){margin-left:12%;background:var(--bg-2)}
.s03-tier:nth-child(4){margin-left:18%;background:color-mix(in oklab,var(--bg) 90%,transparent);border-color:color-mix(in oklab,var(--accent) 30%,var(--line));box-shadow:0 0 34px -14px var(--glow)}
.s03-tier:nth-child(4) .s03-name{color:var(--accent-bright)}
.s03-chip{font-family:'Spline Sans Mono',monospace;letter-spacing:0;align-self:start;margin-top:.1rem}
.s03-body{min-width:0}
.s03-name{font-family:var(--display);font-weight:500;letter-spacing:-.02em;font-size:1.06rem;margin:0 0 .2rem;color:var(--ink)}
.s03-adds{margin:0;color:var(--ink-dim);font-size:.92rem;line-height:1.45}
.s03-use{font-family:'Spline Sans Mono',monospace;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);text-align:right}
.s03-depth{display:flex;flex-direction:column;gap:2px;width:2.6rem;margin-left:auto}
.s03-tick{width:100%;height:.36rem;border-radius:1px;background:var(--panel-2);border:1px solid var(--line)}
.s03-tick.on{background:var(--accent-deep);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.s03-tier:last-child .s03-tick.on:last-child{box-shadow:0 0 0 1px var(--accent) inset,0 0 8px var(--glow)}
@media(max-width:720px){
  .s03-tier{grid-template-columns:auto minmax(0,1fr);gap:.6rem 1rem;padding:1.1rem 1.1rem;row-gap:.55rem}
  .s03-tier:nth-child(n){margin-left:0}
  .s03-chip{grid-row:1}
  .s03-body{grid-column:2;grid-row:1}
  .s03-use{grid-column:2;grid-row:2;text-align:left}
  .s03-depth{grid-column:2;grid-row:3;margin-left:0}
}
.s05-stack{margin-top:2.5rem;display:flex;flex-direction:column;gap:0}
.s05-layer{position:relative;border:1px solid var(--line);border-bottom:none;background:var(--panel);padding:1.5rem 1.75rem;display:grid;grid-template-columns:minmax(0,200px) 1fr;gap:1.25rem 2rem;align-items:start}
.s05-layer:last-child{border-bottom:1px solid var(--line)}
.s05-l1{background:var(--panel-2);margin:0}
.s05-l2{background:var(--panel);margin:0 1.5rem}
.s05-l3{background:var(--bg-2);margin:0 3rem}
.s05-head{display:flex;flex-direction:column;gap:.4rem}
.s05-code{font-family:'Spline Sans Mono',monospace;font-size:.7rem;letter-spacing:.06em;color:var(--accent)}
.s05-l2 .s05-code{color:var(--ink-dim)}
.s05-l3 .s05-code{color:var(--ink-faint)}
.s05-name{font-family:var(--display);font-weight:500;letter-spacing:-.02em;font-size:1.35rem;color:var(--ink)}
.s05-l2 .s05-name{font-size:1.15rem;color:var(--ink-dim)}
.s05-l3 .s05-name{font-size:1rem;color:var(--ink-faint)}
.s05-prop{font-family:'Spline Sans Mono',monospace;font-size:.7rem;letter-spacing:.04em;color:var(--ink-faint);text-transform:uppercase;align-self:start;padding-top:.2rem;display:none}
.s05-tags{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}
.s05-tag{font-family:'Spline Sans Mono',monospace;font-size:.74rem;letter-spacing:.01em;color:var(--ink);border:1px solid var(--line);border-radius:var(--r);padding:.3rem .6rem;background:transparent;white-space:nowrap}
.s05-l1 .s05-tag{color:var(--ink)}
.s05-l2 .s05-tag{font-size:.7rem;color:var(--ink-dim);border-color:var(--line-soft);padding:.26rem .55rem}
.s05-l3 .s05-tag{font-size:.66rem;color:var(--ink-faint);border-color:var(--line-soft);padding:.24rem .5rem}
.s05-tag-ac{color:var(--accent-ink);background:var(--accent-deep);border-color:var(--accent);box-shadow:0 0 0 1px var(--glow)}
.s05-l2 .s05-tag.s05-tag-ac{color:var(--accent-ink);border-color:var(--accent)}
.s05-foot{margin:2rem 0 0;font-family:var(--display);font-size:.95rem;color:var(--ink-faint)}
@media (max-width:720px){
.s05-layer{grid-template-columns:1fr;gap:1rem;padding:1.25rem 1.1rem}
.s05-l2,.s05-l3{margin:0}
.s05-l2{border-top:none}
.s05-tag{white-space:normal}
}
.s06-scroll{overflow-x:auto;margin:0 0 1.75rem;border:1px solid var(--line);border-radius:var(--r)}
.s06-ledger{width:100%;min-width:680px;border-collapse:collapse;font-family:'Spline Sans Mono',monospace;font-size:.8125rem;line-height:1}
.s06-ledger thead th{text-align:left;padding:.85rem 1rem;color:var(--ink-faint);font-weight:500;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;border-bottom:1.5px solid var(--line);white-space:nowrap}
.s06-ledger tbody td{padding:.85rem 1rem;color:var(--ink-dim);border-bottom:1px solid var(--line-soft);white-space:nowrap}
.s06-ledger tbody tr:last-child td{border-bottom:none}
.s06-ledger tbody tr{transition:background .12s ease}
.s06-ledger tbody tr:hover{background:var(--panel)}
.s06-num{text-align:right;font-variant-numeric:tabular-nums}
.s06-id{color:var(--ink)}
.s06-hash{color:var(--ink-faint)}
.s06-hash-pending{font-style:italic}
.s06-st{font-weight:500;letter-spacing:.04em}
.s06-st-ok{color:var(--accent)}
.s06-st-wait{color:var(--wait)}
.s06-st-wait .led-wait{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--wait);margin-right:.5rem;vertical-align:.06em;animation:waitpulse 2.2s ease-out infinite}
@keyframes waitpulse{0%{box-shadow:0 0 0 0 var(--wait-glow)}70%{box-shadow:0 0 0 6px transparent}100%{box-shadow:0 0 0 0 transparent}}
.s07-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:34px}
.s07-pilot{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:22px 22px 8px}
.s07-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.s07-status{font-family:'Spline Sans Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px}
.s07-live{color:var(--accent)}
.s07-onboard{color:var(--ink-dim)}
.s07-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--glow)}
.s07-id{font-family:'Spline Sans Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--ink-faint)}
.s07-region{font-family:var(--display);font-weight:500;letter-spacing:-.02em;font-size:1.5rem;color:var(--ink);margin:0 0 6px}
.s07-cc{font-family:'Spline Sans Mono',monospace;font-size:.62em;letter-spacing:.1em;color:var(--ink-faint);vertical-align:.28em;margin-left:6px}
.s07-coord{font-family:'Spline Sans Mono',monospace;font-size:12px;letter-spacing:.04em;color:var(--ink-dim);padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
.s07-rows{margin:0;padding:0}
.s07-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-soft)}
.s07-row dt{font-family:'Spline Sans Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0;flex:0 0 auto}
.s07-row dd{margin:0;font-size:14px;color:var(--ink);text-align:right}
.s07-v{font-family:'Spline Sans Mono',monospace;font-size:15px;letter-spacing:.02em}
.s07-v.live{color:var(--accent)}
.s07-u{color:var(--ink-faint);font-size:11px;margin-left:2px}
@media(max-width:720px){.s07-grid{grid-template-columns:1fr}}
/* ============================================================ EXPANDED SECTIONS · generated */
.foot-full{border-top:1px solid var(--line);background:color-mix(in oklab,var(--bg-2) 80%,transparent)}
.foot-in{max-width:var(--maxw);margin:0 auto;padding:3rem 1.6rem 2.4rem}
.foot-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem}
.fbrand p{color:var(--ink-faint);font-size:.86rem;max-width:34ch;margin-top:.9rem;line-height:1.5}
.fcol h4{font-family:'Spline Sans Mono',monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.9rem;font-weight:500}
.fcol a{display:block;color:var(--ink-dim);font-size:.9rem;padding:.28rem 0;transition:color .15s}
.fcol a:hover{color:var(--accent)}
.fcol .brand{margin-bottom:.2rem}
.foot-meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.6rem;padding-top:1.3rem;border-top:1px solid var(--line-soft);font-family:'Spline Sans Mono',monospace;font-size:.7rem;color:var(--ink-faint);letter-spacing:.04em}
@media(max-width:760px){.foot-cols{grid-template-columns:1fr 1fr}.fbrand{grid-column:1 / -1}}
@media(max-width:440px){.foot-cols{grid-template-columns:1fr}}

/* ============================================================ 07 territory background (Colombia pilot) */
#pilots{position:relative;isolation:isolate;overflow:hidden}
#pilots .msec-in{position:relative;z-index:1}
.s07-bg{position:absolute;inset:0;z-index:0}
.s07-bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;
  filter:grayscale(.55) saturate(.72) contrast(1.04) brightness(.5)}
.s07-bg::before{content:"";position:absolute;inset:0;background:color-mix(in oklab,#173247 60%,transparent);mix-blend-mode:multiply}
.s07-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,var(--bg) 0%,color-mix(in oklab,var(--bg) 60%,transparent) 34%,color-mix(in oklab,var(--bg) 78%,transparent) 74%,var(--bg) 100%),
  repeating-linear-gradient(0deg,transparent 0 31px,var(--grid-minor) 31px 32px),
  repeating-linear-gradient(90deg,transparent 0 31px,var(--grid-minor) 31px 32px)}
.s07-terr{position:absolute;left:1.6rem;bottom:1.05rem;z-index:1;display:flex;align-items:center;gap:.5rem;
  font-family:'Spline Sans Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.92}
.s07-terr::before{content:"";width:1.4rem;height:1px;background:var(--accent)}
#pilots .s07-pilot{background:color-mix(in oklab,var(--panel) 88%,transparent);border-color:color-mix(in oklab,var(--accent) 16%,var(--line))}
@media(max-width:760px){.s07-grid{grid-template-columns:1fr}.s07-terr{display:none}}

/* ============================================================ HERO TERRITORY BLEND (green provenance + sober data) */
html[data-terrain="survey"]  {--tf:grayscale(.6) saturate(.55) contrast(1.05) brightness(.46);--tt:#16303f;--tto:.55}
html[data-terrain="balanced"]{--tf:grayscale(.22) saturate(.85) contrast(1.03) brightness(.54);--tt:#16303f;--tto:.34}
html[data-terrain="field"]   {--tf:grayscale(.05) saturate(.98) contrast(1.02) brightness(.62);--tt:#13262f;--tto:.20}
.hero{isolation:isolate}
.hero>div:not(.hero-bg),.hero .cert,.hero .reg{position:relative;z-index:1}
.hero-bg{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:0}
.hero-bg img,.hero-bg video{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block;filter:var(--tf)}
.hero-bg::before{content:"";position:absolute;inset:0;background:var(--tt);opacity:var(--tto);mix-blend-mode:multiply}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,var(--bg) 0%,color-mix(in oklab,var(--bg) 56%,transparent) 42%,transparent 84%),
  linear-gradient(180deg,color-mix(in oklab,var(--bg) 42%,transparent) 0%,transparent 28%,transparent 60%,var(--bg) 100%),
  repeating-linear-gradient(0deg,transparent 0 31px,var(--grid-minor) 31px 32px),
  repeating-linear-gradient(90deg,transparent 0 31px,var(--grid-minor) 31px 32px)}
@media(max-width:920px){.hero-bg::after{background:
  linear-gradient(180deg,color-mix(in oklab,var(--bg) 35%,transparent) 0%,color-mix(in oklab,var(--bg) 72%,transparent) 60%,var(--bg) 100%),
  repeating-linear-gradient(0deg,transparent 0 31px,var(--grid-minor) 31px 32px),
  repeating-linear-gradient(90deg,transparent 0 31px,var(--grid-minor) 31px 32px)}}

/* ============================================================ IMPACT PASS · doctrine monument */
.moat{position:relative;border-top:1px solid var(--line)}
.moat-in{position:relative;max-width:var(--maxw);margin:0 auto;padding:clamp(4.5rem,10vw,8rem) 1.6rem}
.moat-line{font-weight:500;letter-spacing:-.03em;line-height:1.12;font-size:clamp(1.9rem,4.4vw,3.4rem);max-width:22ch;text-wrap:balance}
.moat-line .ac{color:var(--accent)}
.moat-meta{font-family:'Spline Sans Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-top:1.7rem;display:flex;align-items:center;gap:.6rem}
.moat-meta::before{content:"";width:1.7rem;height:1px;background:var(--accent);opacity:.7}
.moat .reg{opacity:.4}

/* ============================================================ IMPACT PASS · market divergence chart */
.mkt-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1rem;margin-top:2rem}
.mkt-chart{border:1px solid var(--line);border-radius:5px;background:var(--panel);padding:1.25rem 1.4rem 1.15rem;display:flex;flex-direction:column;gap:1rem}
.mkt-hd{font-family:'Spline Sans Mono',monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.mkt-hd b{color:var(--accent);font-weight:500}
.mkt-svg{width:100%;height:auto;display:block}
.mkt-svg .gline{stroke:var(--line-soft);stroke-width:1}
.mkt-svg .axis-t{fill:var(--ink-faint);font-family:'Spline Sans Mono',monospace;font-size:11px;letter-spacing:.06em}
.mkt-svg .lbl{fill:var(--ink-dim);font-family:'Spline Sans Mono',monospace;font-size:11.5px;letter-spacing:.03em}
.mkt-svg .lbl.hi{fill:var(--accent-bright)}
.mkt-svg .p-hi{stroke:var(--accent);stroke-width:2;fill:none;filter:drop-shadow(0 0 6px var(--glow))}
.mkt-svg .p-lo{stroke:var(--ink-faint);stroke-width:1.5;fill:none;stroke-dasharray:5 5;opacity:.8}
.mkt-svg .fill-hi{opacity:.5}
.mkt-svg .dot-hi{fill:var(--accent-bright)}
.mkt-svg .split-c{stroke:var(--accent);fill:none;stroke-opacity:.55}
.mkt-cols{display:flex;flex-direction:column;gap:1rem}
.mkt-cols .col{border:1px solid var(--line);border-radius:5px;background:var(--panel)}
.mkt-cols .col.dim h3{color:var(--ink-dim)}
.mkt-cols .col.dim .ch .d{background:var(--ink-faint)}
@media(max-width:920px){.mkt-wrap{grid-template-columns:1fr}}
@media(max-width:640px){
  .mkt-svg .axis-t{font-size:17px}
  .mkt-svg .lbl{font-size:18px}
  .mkt-svg .split-t{display:none}
  .mkt-svg .lo-t{transform:translateY(-12px)}
}

/* ============================================================ IMPACT PASS · incident log */
.ilog{margin:2.6rem 0 0;border:1px solid var(--line);border-radius:5px;background:var(--panel);overflow:hidden}
.ilog-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.4rem;border-bottom:1px solid var(--line);background:var(--panel-2)}
.ilog-k{font-family:'Spline Sans Mono',monospace;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:.55rem}
.ilog-k .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--glow)}
.ilog-src{font-family:'Spline Sans Mono',monospace;font-size:.66rem;letter-spacing:.06em;color:var(--ink-faint);align-self:center}
.ilog-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr)}
.ilog-fig{padding:1.7rem 1.5rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:.5rem}
.ilog-num{font-family:'Spline Sans Mono',monospace;font-weight:600;font-size:clamp(3rem,7vw,5.2rem);line-height:1;color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-shadow:0 0 30px var(--glow)}
.ilog-cap{font-size:1rem;color:var(--ink-dim);line-height:1.45;max-width:22ch}
.ilog-lines{list-style:none;margin:0;padding:.35rem 0}
.ilog-lines li{display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:.3rem 1.1rem;padding:.9rem 1.4rem;border-top:1px solid var(--line-soft);align-items:baseline}
.ilog-lines li:first-child{border-top:0}
.ilog-lines .c{font-family:'Spline Sans Mono',monospace;color:var(--accent);font-size:.7rem;letter-spacing:.08em}
.ilog-lines .d{color:var(--ink-dim);line-height:1.5;font-size:.94rem}
.ilog-lines .d b{color:var(--ink);font-weight:500}
.ilog-lines .st{font-family:'Spline Sans Mono',monospace;font-size:.64rem;letter-spacing:.06em;color:var(--ink-faint);grid-column:2}
.ilog-foot{padding:.95rem 1.4rem;border-top:1px solid var(--line);font-size:.95rem;color:var(--ink-dim)}
.ilog-foot b{color:var(--ink);font-weight:500}
.ilog-foot a{color:var(--accent)}
@media(max-width:760px){.ilog-body{grid-template-columns:1fr}.ilog-fig{border-right:0;border-bottom:1px solid var(--line)}}

/* ============================================================ IMPACT PASS · territory band (physical anchor) */
.terr{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:min(54vh,540px);display:flex;align-items:flex-end}
.terr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:grayscale(.5) saturate(.72) contrast(1.04) brightness(.52);z-index:0}
.terr::before{content:"";position:absolute;inset:0;background:color-mix(in oklab,#173247 55%,transparent);mix-blend-mode:multiply;z-index:1}
.terr::after{content:"";position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,var(--bg) 0%,color-mix(in oklab,var(--bg) 45%,transparent) 24%,transparent 58%,color-mix(in oklab,var(--bg) 80%,transparent) 100%),
  repeating-linear-gradient(0deg,transparent 0 31px,var(--grid-minor) 31px 32px),
  repeating-linear-gradient(90deg,transparent 0 31px,var(--grid-minor) 31px 32px)}
.terr-meta{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(6rem,15vw,9rem) 1.6rem 2.2rem}
.terr-k{font-family:'Spline Sans Mono',monospace;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:.55rem}
.terr-k .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--glow)}
.terr-line{font-weight:500;letter-spacing:-.025em;line-height:1.08;font-size:clamp(1.7rem,3.6vw,2.6rem);max-width:24ch;margin:.9rem 0 .8rem;text-wrap:balance;text-shadow:0 2px 26px rgba(0,0,0,.6)}
.terr-datum{font-family:'Spline Sans Mono',monospace;font-size:.72rem;letter-spacing:.05em;color:var(--ink-dim)}
.terr .cta-row{margin-top:1.4rem}

/* ============================================================ IMPACT PASS · rails anchoring flow */
.rails-flow{margin-top:2.2rem;border:1px solid var(--line);border-radius:5px;background:var(--panel);padding:1.7rem 1.8rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.7rem}
.rails-node{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.rails-node svg{width:46px;height:46px;margin-bottom:.6rem;display:block}
.rails-nk{font-weight:500;font-size:1.02rem;letter-spacing:-.01em;color:var(--ink)}
.rails-nd{font-family:'Spline Sans Mono',monospace;font-size:.68rem;letter-spacing:.05em;color:var(--ink-faint)}
.rails-link{display:flex;flex-direction:column;align-items:center;gap:.6rem;min-width:0}
.rails-hash{font-family:'Spline Sans Mono',monospace;font-size:.72rem;letter-spacing:.04em;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rails-wire{width:100%;height:2px;border-radius:1px;background:repeating-linear-gradient(90deg,var(--accent) 0 7px,transparent 7px 14px);background-size:14px 2px;opacity:.55;animation:railsflow 1.1s linear infinite}
@keyframes railsflow{to{background-position:14px 0}}
.rails-anchor{font-family:'Spline Sans Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
@media(max-width:680px){.rails-flow{grid-template-columns:1fr;gap:1.2rem}}

/* ============================================================ IMPACT PASS · pilots footnotes */
.s07-pb{margin-top:1.9rem;max-width:62ch;color:var(--ink-dim);font-size:.96rem;line-height:1.6}
.s07-pb+.s07-pb{margin-top:.6rem}
.s07-pb a{color:var(--accent)}
