/* ============================================================
   KERDIXO - Operator's Cockpit design system (shared)
   Teal world · single rationed mint signal · serif + mono + Inter
   ============================================================ */
:root{
  --carbon:#06140F; --carbon-2:#0A1E18; --carbon-3:#0D2A22; --carbon-4:#10342A;
  --line:rgba(124,255,178,.13); --line-2:rgba(124,255,178,.07);
  --grid-minor:rgba(124,255,178,.045); --grid-major:rgba(124,255,178,.085);
  --paper:#F4EFE4; --paper-2:#EBE5D6; --paper-ink:#0A1712; --paper-muted:#5B6862;
  --paper-body:#39463F; --paper-body-2:#41433F; --paper-accent:#0A7A45;
  --ink:#E9F3EE; --ink-2:#BCCFC7; --muted:#8DA59B; --muted-2:#789188;
  --mint:#7CFFB2;            /* THE signal - live / acting / learning. Rationed. */
  --incident:#FF6B5C;        /* red == a real incident. Rare. */
  --button-ink:#04130D; --mint-hover:#9AFFC4;
  --vault-a:#081A14; --vault-slot:rgba(4,12,9,.55);
  --white:#FFFFFF; --google-ink:#1F1F1F; --google-line:#DADCE0;
  --footer-bg:#05100B; --black:rgb(0,0,0);
  --serif:'Spectral',Georgia,'Times New Roman',serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --sans:'Inter',system-ui,sans-serif;
  --maxw:1180px;

  /* ---- TYPE SCALE (role-named; collapses the old ~34 sizes) ---- */
  --t-micro:10px;   /* mono micro-labels, captions  (was 9.5/10/10.5) */
  --t-label:11px;   /* mono labels, eyebrows, nav    (was 11/11.5)     */
  --t-meta:12px;    /* mono meta, small UI           (was 12/12.5)     */
  --t-fine:13px;    /* card body, fine print         (was 13/13.5)     */
  --t-body:14px;    /* default small body, tables    (was 14/14.5)     */
  --t-body-lg:15px; /* denser body / legal           (was 15/15.5)     */
  --t-base:16px;    /* body default                                    */
  --t-md:17px;      /* footer tagline, sub-lede                        */
  --t-lede:19px;    /* lede / hero sub               (was 18/19)       */
  --t-xl:21px;      /* small serif headings, brand   (was 20/21)       */
  --t-num:25px;     /* instrument numerals           (was 25/26)       */
  --t-num-lg:30px;  /* larger instrument numerals                      */
  --t-display:54px; /* big in-panel metric                             */
  --t-h1:clamp(44px,6.4vw,82px);
  --t-hero:clamp(46px,6.8vw,86px);
  --t-h2:clamp(33px,4.4vw,54px);
  --t-h3:clamp(24px,3vw,34px);
  --t-dash:clamp(28px,3.6vw,44px);
  --t-glow:clamp(66px,12vw,128px);      /* the one number allowed to glow */
  --t-bento-hero:clamp(46px,6vw,76px);
  --t-cofh:clamp(21px,2.3vw,28px);
  --t-pullq:clamp(22px,2.8vw,30px);
  --t-catline:clamp(20px,2.3vw,26px);
  --t-closer:clamp(38px,5.5vw,70px);
  --t-closer-sm:clamp(34px,5vw,60px);
  --t-closer-lg:clamp(40px,6vw,76px);

  /* ---- SPACING SCALE (4px base) + named structural tokens ---- */
  --sp-1:4px;  --sp-2:8px;  --sp-3:12px; --sp-4:16px; --sp-5:20px;
  --sp-6:24px; --sp-7:28px; --sp-8:32px; --sp-9:36px; --sp-10:40px;
  --sp-12:48px; --sp-14:56px; --sp-16:64px;
  --sp-section:92px;   /* vertical section rhythm */
  --gutter:14px;       /* common grid gutter      */
  --wrap-pad:32px;     /* page side padding (.wrap) */

  /* ---- RADIUS (3 steps + pill + circle, + tiny chart-cell) ---- */
  --r-2xs:2px;     /* chart cells, redaction bars */
  --r-sm:6px;      /* buttons, chips, small UI    (was 3-8) */
  --r-md:12px;     /* cards, panels               (was 10/11/12/14) */
  --r-lg:16px;     /* large cards                 */
  --r-pill:20px;   /* pills */
  --r-circle:50%;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--carbon);color:var(--ink);font-family:var(--sans);font-size:var(--t-base);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* ---- SIGNATURE BLUEPRINT GRID ---- */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  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;
}
body::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='128' height='128'><g stroke='rgba(124,255,178,0.28)' stroke-width='1'><line x1='123' y1='128' x2='133' y2='128'/><line x1='128' y1='123' x2='128' y2='133'/><line x1='-5' y1='128' x2='5' y2='128'/><line x1='0' y1='123' x2='0' y2='133'/></g></svg>");
  background-size:128px 128px;opacity:.9;
  mask-image:radial-gradient(ellipse 130% 70% at 50% 0%,var(--black) 30%,transparent 85%);
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--wrap-pad);position:relative;z-index:1}
a{color:inherit;text-decoration:none}
.mono{font-family:var(--mono)} .serif{font-family:var(--serif)}
a:focus-visible,.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-140%);min-height:44px;background:var(--mint);color:var(--button-ink);border-radius:var(--r-sm);padding:10px 14px;font-family:var(--mono);font-size:var(--t-meta);font-weight:600;letter-spacing:.04em;display:inline-flex;align-items:center}
.skip-link:focus-visible{transform:none;outline:2px solid var(--paper);outline-offset:3px}
.emph{color:var(--mint)}
.signal{color:var(--mint)}

.eyebrow{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:500}
.eyebrow .dot{color:var(--muted)}
.lbl{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* STATUS SYSTEM - one signal, ring = containment, red = incident */
.sdot{display:inline-block;width:8px;height:8px;border-radius:var(--r-circle);background:var(--mint);position:relative;vertical-align:middle}
/* live pulse via a transform/opacity ripple (compositor-friendly) instead of animating box-shadow */
.sdot.live::after{content:"";position:absolute;inset:0;border-radius:var(--r-circle);background:rgba(124,255,178,.5);opacity:0;animation:pulseRing 2.4s infinite;pointer-events:none}
.sdot.guard{background:transparent;border:1.6px solid var(--mint);width:9px;height:9px}
.sdot.inc{background:var(--incident)}
@keyframes pulseRing{0%{transform:scale(1);opacity:.55}70%{transform:scale(3.25);opacity:0}100%{transform:scale(3.25);opacity:0}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(124,255,178,.5)}70%{box-shadow:0 0 0 9px rgba(124,255,178,0)}100%{box-shadow:0 0 0 0 rgba(124,255,178,0)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto}}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;background:rgba(6,20,15,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:15px 32px;display:flex;align-items:center;gap:var(--sp-7)}
.brand{display:flex;align-items:center;gap:11px;min-height:44px;font-family:var(--serif);font-weight:500;letter-spacing:-.005em;font-size:var(--t-xl);color:var(--paper)}
.brand .mark{position:relative;width:18px;height:18px;border:1.6px solid var(--mint);border-radius:var(--r-circle);box-sizing:border-box;flex:0 0 auto}
.brand .mark::before{content:"";position:absolute;top:50%;left:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:var(--r-circle);background:var(--mint);box-shadow:0 0 8px var(--mint);animation:pulse 2.4s infinite}
.nav-toggle{display:none;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--ink);font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.nav-links{display:flex;gap:var(--sp-6);margin-left:18px}
.nav-links a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.08em;color:var(--ink-2);text-transform:uppercase;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--mint)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:18px}
.status-pill{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--mono);font-size:var(--t-label);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.btn{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.06em;padding:10px 18px;min-height:44px;border-radius:var(--r-sm);border:1px solid var(--line);transition:all .2s;cursor:pointer;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}
.btn:hover{border-color:var(--mint);color:var(--mint)}
.btn.primary{background:var(--mint);color:var(--button-ink);border-color:var(--mint);font-weight:600}
.btn.primary:hover{background:var(--mint-hover);box-shadow:0 0 24px rgba(124,255,178,.35);color:var(--button-ink)}
.btn.sm{padding:8px 14px;font-size:var(--t-label)}
@media(max-width:880px){.nav-in{flex-wrap:wrap;gap:var(--sp-3) 14px}.nav-toggle{display:inline-flex;margin-left:auto}.nav-links{display:none;order:3;width:100%;margin-left:0;padding-top:12px;border-top:1px solid var(--line);gap:0;overflow-x:visible;flex-direction:column}.nav.nav-open .nav-links{display:flex}.nav-links a{width:100%;border-bottom:1px solid var(--line-2)}.nav-right{display:none;width:100%;margin-left:0;order:4}.nav.nav-open .nav-right{display:flex}.nav-right .btn{width:100%}.status-pill{display:none}}

/* SECTIONS / type */
section{padding:var(--sp-section) 0;position:relative}
section.solid{z-index:1}
.sec-eyebrow{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:22px}
.sec-eyebrow::after{content:"";flex:1;height:1px;background:var(--line)}
.h1{font-family:var(--serif);font-weight:500;font-size:var(--t-h1);line-height:1.07;letter-spacing:-.015em;color:var(--paper)}
.h1 em{font-style:italic;color:var(--mint)}
.h2{font-family:var(--serif);font-weight:500;font-size:var(--t-h2);line-height:1.1;letter-spacing:-.01em;color:var(--paper);max-width:20ch}
.h2 .emph{color:var(--mint)}
.h3{font-family:var(--serif);font-weight:500;font-size:var(--t-h3);line-height:1.1;color:var(--paper)}
.h3 .emph{color:var(--mint)}
.lede{font-size:var(--t-lede);color:var(--ink-2);max-width:62ch;margin-top:22px;line-height:1.6}
.muted{color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
/* description column centers against the heading in [eyebrow+heading | description] splits */
.two-col>div:first-child:has(.sec-eyebrow)~div:not(:has(.sec-eyebrow)){align-self:center}
@media(max-width:880px){.two-col{grid-template-columns:1fr;gap:var(--sp-8)}.two-col>div:first-child:has(.sec-eyebrow)~div:not(:has(.sec-eyebrow)){align-self:start}}

/* INTERIOR PAGE HERO */
.phero.wrap{padding:84px 32px 18px;padding-left:32px;padding-right:32px}
.phero .eyebrow{margin-bottom:18px}
.phero .sub{font-size:var(--t-lede);color:var(--ink-2);max-width:62ch;margin:24px 0 0;line-height:1.55}
.phero .cta-row{display:flex;gap:var(--gutter);margin-top:var(--sp-8);align-items:center;flex-wrap:wrap}
.phero .audit-line{margin-top:26px;font-family:var(--serif);font-style:italic;font-size:var(--t-xl);color:var(--mint);display:flex;align-items:center;gap:10px}
.phero .audit-line::before{content:"";width:34px;height:1px;background:var(--mint)}
@media(max-width:880px){.phero.wrap{padding:48px 32px 8px;padding-left:32px;padding-right:32px}}

/* COCKPIT (home) */
.cockpit{background:linear-gradient(180deg,rgba(13,42,34,.9),rgba(10,30,24,.92));border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:0 30px 80px -40px rgba(0,0,0,.85)}
.cockpit-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(124,255,178,.03)}
.cockpit-head .t{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase}
.cockpit-badge{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;color:var(--mint);background:rgba(124,255,178,.1);border:1px solid rgba(124,255,178,.25);padding:5px 10px;border-radius:var(--r-pill);text-transform:uppercase}
.cockpit-kpis{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.cockpit-kpis .k{padding:16px;border-right:1px solid var(--line)}
.cockpit-kpis .k:last-child{border-right:none}
.cockpit-kpis .v{font-family:var(--mono);font-size:var(--t-num);color:var(--ink);line-height:1}
.cockpit-kpis .v.live{color:var(--mint);text-shadow:0 0 26px rgba(124,255,178,.32)}
.cockpit-kpis .c{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:7px}
@media(max-width:360px){.cockpit-kpis{grid-template-columns:1fr}.cockpit-kpis .k{border-right:none;border-bottom:1px solid var(--line);padding:13px 16px}.cockpit-kpis .k:last-child{border-bottom:none}}
.cockpit-status{display:flex;align-items:center;gap:9px;padding:12px 18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cockpit-status .mint{color:var(--mint)}
.hero{padding:74px 0 26px}
.hero.wrap{padding-left:32px;padding-right:32px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero h1{font-family:var(--serif);font-weight:500;font-size:var(--t-hero);line-height:1.08;letter-spacing:-.015em;margin:20px 0 0;color:var(--paper)}
.hero h1 em{font-style:italic;color:var(--mint)}
.hero .sub{font-size:var(--t-lede);color:var(--ink-2);max-width:520px;margin:24px 0 0;line-height:1.55}
.hero .cta-row{display:flex;gap:var(--gutter);margin-top:30px;align-items:center;flex-wrap:wrap}
.audit-line{margin-top:26px;font-family:var(--serif);font-style:italic;font-size:var(--t-xl);color:var(--mint);display:flex;align-items:center;gap:10px}
.audit-line::before{content:"";width:34px;height:1px;background:var(--mint);display:inline-block}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:38px}.hero{padding:44px 0 18px}}

/* streaming feed (cockpit + live) */
.feed{padding:4px 0;max-height:236px;overflow:hidden}
.feed:not(.tall){-webkit-mask-image:linear-gradient(180deg,#000 74%,transparent);mask-image:linear-gradient(180deg,#000 74%,transparent)}
.feed.tall{max-height:none}
.feed-row{display:grid;grid-template-columns:52px 1fr 14px;align-items:center;gap:var(--gutter);padding:12px 18px;border-bottom:1px solid var(--line-2);animation:rowin .5s ease}
.feed-row:last-child{border-bottom:none}
.feed-row .ts{font-family:var(--mono);font-size:var(--t-meta);color:var(--muted)}
.feed-row .ev{font-size:var(--t-fine);color:var(--ink)}
.feed-row .ev .k{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:2px}
@keyframes rowin{from{opacity:0;transform:translateY(-8px);background:rgba(124,255,178,.06)}to{opacity:1;transform:none}}

/* PILLARS */
.pillars{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillar{padding:28px 22px;border-right:1px solid var(--line)}
.pillar:last-child{border-right:none}
.pillar .tag{font-family:var(--mono);font-size:var(--t-fine);letter-spacing:.14em;font-weight:600;color:var(--mint);display:flex;align-items:center;gap:var(--sp-2)}
.pillar .desc{font-size:var(--t-fine);color:var(--muted);margin-top:var(--sp-3);line-height:1.5}
@media(max-width:880px){.pillars{grid-template-columns:1fr}.pillar{border-right:none;border-bottom:1px solid var(--line)}}

/* PAPER relief band */
.paper{background:var(--paper);color:var(--paper-ink);position:relative}
.paper::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(10,23,18,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(10,23,18,.05) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.paper .wrap{position:relative;z-index:1}
.paper .h1,.paper .h2,.paper .h3{color:var(--paper-ink)} .paper .lede{color:var(--paper-body)} .paper .lbl{color:var(--paper-muted)}
.paper .sec-eyebrow::after{background:rgba(10,23,18,.13)}
.paper .eyebrow{color:var(--paper-muted)} .paper .eyebrow .dot{color:var(--paper-accent)}
.paper-dot{background:var(--paper-accent)}
.paper-link{color:var(--paper-accent)}
.paper .btn:not(.primary){color:var(--paper-ink);border-color:rgba(10,23,18,.22)}
.paper .btn:not(.primary):hover{border-color:var(--paper-accent);color:var(--paper-accent)}

/* audience cards (paper) */
.aud{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);margin-top:34px}
.acard{border:1px solid rgba(10,23,18,.16);border-radius:var(--r-md);padding:24px;background:rgba(255,255,255,.45);display:flex;flex-direction:column;scroll-margin-top:90px}
.acard .tag{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-accent);display:flex;align-items:center;gap:7px}
.acard h3{font-family:var(--serif);font-size:var(--t-xl);color:var(--paper-ink);margin:12px 0 0;line-height:1.12}
.acard p{font-size:var(--t-fine);color:var(--paper-body-2);margin-top:10px;line-height:1.5}
.acard .who{margin-top:auto;padding-top:14px;font-family:var(--mono);font-size:var(--t-micro);color:var(--paper-muted);letter-spacing:.03em}
.notfor{margin-top:26px;padding-top:18px;border-top:1px solid rgba(10,23,18,.14);font-family:var(--mono);font-size:var(--t-meta);color:var(--paper-muted);line-height:1.7}
.notfor b{color:var(--paper-ink)}
@media(max-width:760px){.aud{grid-template-columns:1fr}}

/* PRODUCT PANEL */
.product{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-top:var(--sp-9);background:var(--carbon-2)}
.product-bar{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-bottom:1px solid var(--line);background:rgba(124,255,178,.025)}
.product-bar .t{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.queue{border-right:1px solid var(--line)}
.qrow{display:grid;grid-template-columns:24px 1fr auto;gap:var(--gutter);align-items:center;padding:15px 20px;border-bottom:1px solid var(--line-2)}
.qrow:last-child{border-bottom:none}
.qrow.sel{background:rgba(124,255,178,.06);box-shadow:inset 3px 0 0 var(--mint)}
.qrow .rk{font-family:var(--mono);font-size:var(--t-meta);color:var(--muted)}
.qrow .nm{font-size:var(--t-body);color:var(--ink)}
.qrow .nm .meta{display:block;font-family:var(--mono);font-size:var(--t-micro);color:var(--muted);margin-top:3px;letter-spacing:.02em}
.qrow .score{font-family:var(--mono);font-size:var(--t-lede);color:var(--mint);text-align:right;line-height:1}
.qrow .score.rev{color:var(--ink-2)}
.qrow .score .lab{display:block;font-size:var(--t-micro);color:var(--muted);letter-spacing:.08em;margin-top:3px}
.detail{padding:22px}
.detail .dh{font-family:var(--serif);font-size:var(--t-xl);color:var(--paper);line-height:1.12}
.detail .dsub{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--mint);margin-top:7px;display:flex;align-items:center;gap:7px}
.plan{margin-top:var(--sp-4);border-top:1px solid var(--line-2)}
.planrow{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line-2);font-family:var(--mono);font-size:var(--t-meta)}
.planrow .c{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-micro)}
.planrow .v{color:var(--ink)}
.ready{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-4)}
.chip{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:var(--t-label);color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 11px}
.chip .ck{color:var(--mint)}
.guard-note{margin-top:var(--gutter);display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:var(--t-label);color:var(--ink-2);background:rgba(124,255,178,.05);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 13px}
.detail .acts{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.lifecycle{grid-column:1/-1;border-top:1px solid var(--line);padding:14px 20px;display:flex;align-items:center;gap:var(--gutter);font-family:var(--mono);font-size:var(--t-label);color:var(--ink-2);background:rgba(124,255,178,.02);flex-wrap:wrap}
.lifecycle .tag{color:var(--mint);letter-spacing:.1em;text-transform:uppercase;font-size:var(--t-micro)}
@media(max-width:760px){.product{grid-template-columns:1fr}.queue{border-right:none;border-bottom:1px solid var(--line)}.product-bar{flex-direction:column;align-items:flex-start;gap:7px}}

/* mode toggle + flight steps */
.modebar{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-top:var(--sp-2);font-family:var(--mono);font-size:var(--t-meta)}
.modebar .m{appearance:none;border:0;background:transparent;font:inherit;min-height:44px;padding:9px 18px;color:var(--muted);letter-spacing:.06em;cursor:pointer}
.modebar .m:hover{background:rgba(124,255,178,.06);color:var(--ink-2)}
.modebar .m.on{background:rgba(124,255,178,.12);color:var(--mint)}
.modebar .m.on:hover{color:var(--mint)}
/* flight-line: numbered steps */
.flight{display:grid;grid-template-columns:1fr;margin-top:var(--sp-10);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.fstep{display:grid;grid-template-columns:120px 1fr;gap:0;border-bottom:1px solid var(--line)}
.fstep:last-child{border-bottom:none}
.fstep .fn{padding:24px 16px 24px 24px;border-right:1px solid var(--line-2);display:flex;flex-direction:column;gap:5px}
.fstep .fn .i{font-family:var(--mono);font-size:var(--t-body-lg);color:var(--mint);letter-spacing:.02em}
.fstep .fn .s{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fstep .fc{padding:24px 26px}
.fstep h4{font-family:var(--serif);font-weight:500;font-size:var(--t-xl);color:var(--paper);margin-bottom:var(--sp-2)}
.fstep p{font-size:var(--t-body);color:var(--ink-2);line-height:1.55;max-width:70ch}
@media(max-width:620px){.fstep{grid-template-columns:1fr}.fstep .fn{border-right:none;border-bottom:1px solid var(--line-2);padding:14px 24px;flex-direction:row;gap:9px;align-items:baseline}}

/* GLASS & VAULT */
.gv{display:grid;grid-template-columns:1fr 1fr;margin-top:44px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;position:relative}
.gv-side{padding:34px 32px}
.gv-side .tag{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:22px;display:flex;align-items:center;gap:9px}
.gv-glass{background:var(--carbon-2)}.gv-glass .tag{color:var(--mint)}
.gv-vault{background:var(--vault-a);border-left:1px solid var(--line);box-shadow:inset 0 0 60px rgba(0,0,0,.35)}
.gline{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line-2);font-family:var(--mono);font-size:var(--t-fine)}
.gline:last-child{border-bottom:none}
.gline .c{color:var(--muted);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase}
.gline .v{color:var(--ink)} .gline .v.live{color:var(--mint)}
/* sealed slot: quiet recessed privacy state, ring = containment (replaces striped redaction) */
.sealed{display:inline-flex;align-items:center;gap:8px;justify-self:start;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);background:var(--vault-slot);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:5px 10px;min-height:26px}
.vrow{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--sp-4);align-items:center;padding:13px 0;border-bottom:1px solid var(--line-2)}
.vrow:last-child{border-bottom:none}
.vrow .c{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.gv-seam{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--mint),transparent);opacity:.5}
.gv-note{font-family:var(--mono);font-size:var(--t-label);color:var(--muted);text-align:center;margin-top:18px;letter-spacing:.04em}
.gv-note .mint{color:var(--mint)}
@media(max-width:760px){.gv{grid-template-columns:1fr}.gv-vault{border-left:none;border-top:1px solid var(--line)}.gv-seam{display:none}}

/* LEARNING hero number */
.learn-rate{display:flex;align-items:center;gap:var(--sp-10);flex-wrap:wrap;margin-top:var(--sp-5)}
.learn-rate .big{font-family:var(--serif);font-size:var(--t-glow);color:var(--mint);line-height:.85;text-shadow:0 0 60px rgba(124,255,178,.36)}
.learn-rate .big .u{font-size:.32em;color:var(--ink-2);text-shadow:none}
.learn-rate .cap{font-family:var(--serif);font-style:italic;font-size:var(--t-xl);line-height:1.5;color:var(--ink-2);max-width:26ch;padding-left:32px;border-left:1px solid var(--line)}
@media(max-width:620px){.learn-rate .cap{padding-left:0;border-left:none}}
.spark{margin-top:30px;width:100%;height:92px}

/* DECISIONS cluster (home) */
.spine{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.1em;color:var(--muted);margin-top:10px}
.spine b{color:var(--mint);font-weight:500}
.dcluster{display:grid;grid-template-columns:repeat(5,1fr);margin-top:42px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.dcell{padding:24px 20px;border-right:1px solid var(--line);transition:background .25s}
.dcell:last-child{border-right:none}
.dcell:hover{background:var(--carbon-2)}
.dcell .sp{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.14em;color:var(--mint);text-transform:uppercase}
.dcell h3{font-family:var(--serif);font-weight:500;font-size:var(--t-md);color:var(--paper);line-height:1.18;margin:10px 0 8px;min-height:58px}
.dcell p{font-size:var(--t-meta);color:var(--muted);line-height:1.5}
.dcell .proof{margin-top:var(--gutter);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
@media(max-width:980px){.dcluster{grid-template-columns:repeat(2,1fr)}.dcell{border-bottom:1px solid var(--line)}}
@media(max-width:560px){.dcluster{grid-template-columns:1fr}.dcell{border-right:none}}

/* DECISION detail blocks (/decisions) */
.dblock{display:grid;grid-template-columns:200px 1fr;gap:var(--sp-10);padding:40px 0;border-top:1px solid var(--line);align-items:start}
.dblock:first-of-type{border-top:none}
.dblock .gauge-wrap{position:sticky;top:90px}
.dblock .sp{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.16em;color:var(--mint);text-transform:uppercase}
.dblock h3{margin:14px 0 0}
.dblock .cant{font-size:var(--t-body);color:var(--muted);margin-top:var(--gutter);font-style:italic;font-family:var(--serif)}
.drow{margin-top:var(--sp-5)}
.drow .k{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--mint);margin-bottom:6px}
.drow p{font-size:var(--t-body);color:var(--ink-2);line-height:1.55;max-width:64ch}
.dproof{margin-top:18px;display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 13px}
.dproof .mint{color:var(--mint)}
@media(max-width:760px){.dblock{grid-template-columns:1fr;gap:18px}.dblock .gauge-wrap{position:static}}

/* BENTO dashboard (/live) */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(112px,auto);gap:13px;margin-top:38px}
.bcard{border:1px solid var(--line);border-radius:var(--r-md);padding:22px;background:var(--carbon-2);display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.bcard .c{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bcard .v{font-family:var(--mono);font-size:var(--t-num-lg);color:var(--ink);line-height:1;margin-top:10px}
.bcard .v.live{color:var(--mint)}
.bcard .v.inc{color:var(--incident)}
.bcard .sub{font-family:var(--mono);font-size:var(--t-micro);color:var(--muted-2);margin-top:var(--sp-2)}
.bcard.span2{grid-column:span 2}
.bcard.hero-b{grid-column:span 2;grid-row:span 2}
.bcard.hero-b .v{font-family:var(--serif);font-size:var(--t-bento-hero);color:var(--mint);text-shadow:0 0 50px rgba(124,255,178,.34)}
.bcard .conn-list{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:10px}
.bcard .conn{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--mono);font-size:var(--t-label);color:var(--ink-2)}
.mini-spark{width:100%;height:46px;margin-top:auto}
.teaser{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:38px}
@media(max-width:880px){.bento,.teaser{grid-template-columns:repeat(2,1fr)}.bcard.hero-b,.bcard.span2{grid-column:span 2}}
@media(max-width:560px){.bento,.teaser{grid-template-columns:1fr}.bcard.hero-b,.bcard.span2{grid-column:auto}}

/* private vault strip */
.private{margin-top:18px;border:1px solid var(--line);border-radius:var(--r-md);padding:22px 24px;background:var(--vault-a);box-shadow:inset 0 0 80px rgba(0,0,0,.3)}
.private .h{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:var(--sp-4);display:flex;align-items:center;gap:9px}
.priv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter) 26px}
.priv-grid .pr{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--sp-3);align-items:center}
.priv-grid .pr .c{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.priv-grid{grid-template-columns:1fr}}

/* generic card grid (trust signals, principles, etc.) */
.cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4);margin-top:var(--sp-9)}
.card{border:1px solid var(--line);border-radius:var(--r-md);padding:26px;background:var(--carbon-2)}
.card .n{font-family:var(--mono);font-size:var(--t-label);color:var(--mint);letter-spacing:.1em;text-transform:uppercase}
.card h3{font-family:var(--serif);font-weight:500;font-size:var(--t-xl);color:var(--paper);margin:12px 0 8px;line-height:1.15}
.card p{font-size:var(--t-fine);color:var(--muted);line-height:1.55}
.authcard{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--carbon-2);padding:30px}
.authcard .alabel{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.gbtn{appearance:none;-webkit-appearance:none;cursor:pointer;font-family:var(--sans);display:flex;align-items:center;justify-content:center;gap:var(--sp-3);width:100%;min-height:48px;margin-top:var(--sp-4);background:var(--white);color:var(--google-ink);font-weight:600;font-size:var(--t-body-lg);border:1px solid var(--google-line);border-radius:var(--r-md);padding:14px 18px;text-decoration:none;transition:box-shadow .2s,transform .2s}
.gbtn:hover{box-shadow:0 4px 16px rgba(0,0,0,.28);transform:translateY(-1px)}
.gbtn:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.gbtn svg{width:18px;height:18px;flex:none}
.segbar{display:flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-top:var(--sp-4)}
.segbar .seg{appearance:none;flex:1 1 0;min-height:44px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font-family:var(--mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.segbar .seg:last-child{border-right:none}
.segbar .seg.on{background:rgba(124,255,178,.12);color:var(--mint)}
.authhelp{font-size:var(--t-fine);color:var(--ink-2);line-height:1.55;margin-top:var(--sp-4)}
.proto-note{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.05em;color:var(--muted);line-height:1.55;margin-top:var(--sp-3)}
.proto-note strong{font-weight:600;color:var(--ink-2);text-transform:uppercase}
.authcard .proto-note{padding-top:var(--sp-3);border-top:1px solid var(--line-2)}
.dash .proto-note{max-width:68ch}
.authdiv{height:1px;background:var(--line);margin:20px 0}
.authfine{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.03em;color:var(--muted-2);line-height:1.7}
.authfine a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}
.checklist{list-style:none;margin-top:30px;border-top:1px solid var(--line)}
.checklist li{display:flex;gap:var(--gutter);align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line-2);font-size:var(--t-body-lg);color:var(--ink-2)}
.checklist li .ck{color:var(--mint);font-family:var(--mono);flex-shrink:0}
.checklist li.no .ck{color:var(--muted)}
.paper .checklist li.paper-no{color:var(--paper-body-2);border-bottom-color:rgba(10,23,18,.1)}
.paper .checklist li.no .ck{color:var(--paper-muted)}

/* AT-A-GLANCE facts (press) */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-top:var(--sp-9)}
.fact{padding:24px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.fact .v{font-family:var(--mono);font-size:var(--t-num);color:var(--paper);line-height:1.05}
.fact .v.live{color:var(--mint)}
.fact .c{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:10px}
/* press: media list + boilerplate */
.mediawrap{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:var(--sp-9)}
@media(max-width:760px){.mediawrap{grid-template-columns:1fr;gap:26px}}
.mhead{margin-bottom:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mediaitem{display:flex;align-items:baseline;gap:var(--sp-4);padding:15px 0;border-bottom:1px solid var(--line-2);text-decoration:none}
.mediaitem .mdate{font-family:var(--mono);font-size:var(--t-label);color:var(--mint);letter-spacing:.05em;flex:none;min-width:92px}
.mediaitem .mtitle{font-family:var(--serif);font-size:var(--t-md);color:var(--paper);line-height:1.25;flex:1}
.mediaitem .mgo{font-family:var(--mono);font-size:var(--t-label);color:var(--muted);flex:none}
.mediaitem:hover .mtitle,.mediaitem:hover .mgo{color:var(--mint)}
.media-empty{border:1px dashed var(--line);border-radius:var(--r-md);padding:22px 24px;background:rgba(124,255,178,.02);margin-top:var(--gutter)}
.media-empty p{font-size:var(--t-body);color:var(--ink-2);line-height:1.55;margin:0}
.media-empty .btn{margin-top:var(--sp-4)}
/* press clippings on the paper relief band: re-key the dark-context colors to paper */
.paper .mhead{border-bottom-color:rgba(10,23,18,.16)}
.paper .mediaitem{border-bottom-color:rgba(10,23,18,.1)}
.paper .mediaitem .mdate{color:var(--paper-accent)}
.paper .mediaitem .mtitle{color:var(--paper-ink)}
.paper .mediaitem .mgo{color:var(--paper-muted)}
.paper .mediaitem:hover .mtitle,.paper .mediaitem:hover .mgo{color:var(--paper-accent)}
.paper .media-empty{border-color:rgba(10,23,18,.2);background:rgba(10,23,18,.025)}
.paper .media-empty p{color:var(--paper-body)}
.boiler{border:1px solid var(--line);border-radius:var(--r-md);background:var(--carbon-2);padding:28px 30px;margin-top:var(--sp-7);max-width:76ch}
.boiler p{font-size:var(--t-base);color:var(--ink-2);line-height:1.72;margin:0}
.paper .boiler{border-color:rgba(10,23,18,.18);background:rgba(255,255,255,.42)}
.paper .boiler p{color:var(--paper-body);line-height:1.72}
.boiler-note{font-size:var(--t-fine);color:var(--muted);margin-top:18px;max-width:76ch}
.paper .boiler-note{color:var(--paper-muted)}
.catline{font-family:var(--serif);font-style:italic;font-size:var(--t-catline);line-height:1.4;color:var(--ink);margin-top:var(--sp-9);max-width:46ch}
.logotiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--sp-4);margin-top:34px}
.logotile{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--carbon-3)}
.logotile .pv{display:flex;align-items:center;justify-content:center;padding:38px 20px;min-height:118px}
.logotile .pv.onlight{background:var(--paper)}
.logotile .meta{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line)}
.logotile .meta span{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.logotile .meta a{font-family:var(--mono);font-size:var(--t-label);color:var(--mint);text-decoration:none}
.who .paper-link,.logotile .meta a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.logotile .meta a:hover{text-decoration:underline}
.palette{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:26px}
.pchip{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 13px}
.pchip i{width:20px;height:20px;border-radius:var(--r-sm);display:block;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.pchip b{font-family:var(--mono);font-size:var(--t-label);color:var(--ink-2);font-weight:500}
.pchip span{font-family:var(--mono);font-size:var(--t-micro);color:var(--muted)}
.fonts-note{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.08em;color:var(--muted);align-self:center}
.cof{margin-top:30px;border-bottom:1px solid var(--line)}
.cofb{display:grid;grid-template-columns:290px 1fr;gap:46px;padding:36px 0;border-top:1px solid var(--line);align-items:start}
@media(max-width:820px){.cofb{grid-template-columns:1fr;gap:var(--sp-4);padding:28px 0}}
.cofk{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.cofb h3{font-family:var(--serif);font-weight:500;font-size:var(--t-cofh);line-height:1.12;color:var(--paper);margin:12px 0 0}
.cofb .body>p{font-size:var(--t-body-lg);color:var(--ink-2);line-height:1.65;margin:0}
.exomap{margin-top:var(--sp-5)}
.exorow{display:grid;grid-template-columns:148px 1fr;gap:18px;padding:11px 0;border-top:1px solid var(--line-2)}
.exorow:first-child{border-top:0}
.exorow .k{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.05em;color:var(--mint);padding-top:3px}
.exorow .d{font-size:var(--t-fine);color:var(--ink-2);line-height:1.5}
.flywheel{margin-top:var(--sp-6);display:flex;justify-content:flex-start}
.flywheel svg{width:100%;max-width:300px;height:auto}
/* story angles: an editorial pitch list a journalist scans, not cards */
.angles{margin-top:34px;border-top:1px solid var(--line)}
.angle{display:grid;grid-template-columns:minmax(190px,230px) 1fr;gap:clamp(24px,3.5vw,56px);padding:24px 0;border-bottom:1px solid var(--line-2);align-items:baseline}
.angle .ak{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--mint)}
.angle h3{font-family:var(--serif);font-weight:500;font-size:var(--t-cofh);line-height:1.15;color:var(--paper);margin:0}
.angle p{font-size:var(--t-body-lg);color:var(--ink-2);line-height:1.55;max-width:56ch;margin:9px 0 0}
@media(max-width:760px){.angle{grid-template-columns:1fr;gap:9px}}
.pullq{margin:44px 0 0;padding:20px 0 0;max-width:60ch;font-family:var(--serif);font-style:italic;font-size:var(--t-pullq);line-height:1.32;color:var(--paper);position:relative}
.pullq::before{content:"";display:block;width:34px;height:2px;background:var(--mint);margin-bottom:20px}
.pullq cite{display:block;font-family:var(--mono);font-style:normal;font-size:var(--t-label);letter-spacing:.06em;color:var(--muted);margin-top:var(--sp-4)}

/* ACCESS form */

/* STEP sequence (access) */
.seq{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-9)}
.seq .s{border:1px solid var(--line);border-radius:var(--r-md);padding:24px;background:var(--carbon-2)}
.seq .s .n{font-family:var(--mono);font-size:var(--t-label);color:var(--mint);letter-spacing:.1em}
.seq .s h3{font-family:var(--serif);font-weight:500;font-size:var(--t-lede);color:var(--paper);margin:12px 0 8px}
.seq .s p{font-size:var(--t-fine);color:var(--muted);line-height:1.5}
@media(max-width:760px){.seq{grid-template-columns:1fr}}

/* FAQ */
.faq{margin-top:var(--sp-9);border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line);padding:24px 0}
.qa h2{font-family:var(--serif);font-weight:500;font-size:var(--t-xl);color:var(--paper);line-height:1.2;display:flex;gap:var(--gutter)}
.qa h2 .q{color:var(--muted);font-family:var(--mono);font-size:var(--t-body)}
.qa p{font-size:var(--t-body);color:var(--ink-2);line-height:1.6;margin-top:10px;max-width:76ch;padding-left:28px}

/* TEAM ledger */
.ledger{margin-top:34px;border-top:1px solid rgba(10,23,18,.16)}
.lrow{display:grid;grid-template-columns:170px 1fr auto;gap:22px;padding:16px 0;border-bottom:1px solid rgba(10,23,18,.1);align-items:center}
.lrow .yr{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--paper-muted)}
.lrow .tx{font-size:var(--t-body-lg);color:var(--paper-body-2)}
.lrow .rcpt{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--paper-accent);display:flex;align-items:center;gap:7px}
@media(max-width:560px){.lrow{grid-template-columns:1fr;gap:6px}.lrow .rcpt{justify-self:start}}

/* CLOSER */
.closer{text-align:center;padding:116px 32px}
.closer .h2{margin:0 auto}
.closer .cta-row{justify-content:center;display:flex;gap:var(--gutter);margin-top:34px;flex-wrap:wrap}

/* FOOTER */
footer{border-top:1px solid var(--line);position:relative;z-index:1;background:var(--footer-bg)}
.foot-main{display:flex;justify-content:space-between;gap:var(--sp-10);padding:54px 0 0;flex-wrap:wrap}
.foot-cols{display:flex;gap:58px;flex-wrap:wrap}
.foot-col .foot-heading{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--gutter)}
.foot-col a{display:flex;align-items:center;min-height:44px;font-size:var(--t-fine);color:var(--ink-2);margin-bottom:var(--sp-1);transition:color .2s}
.foot-col a:hover{color:var(--mint)}
.foot-base{margin-top:var(--sp-12);padding:24px 0 46px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);font-family:var(--mono);font-size:var(--t-label);color:var(--muted);letter-spacing:.05em}

/* Reveal never gates content; .in only adds a small entrance motion. */
.js .reveal{opacity:1;transform:none}
.js .reveal.in{animation:revealLift .62s cubic-bezier(.22,1,.36,1) both}
@keyframes revealLift{from{opacity:.92;transform:translateY(14px);filter:blur(.5px)}to{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){.js .reveal,.js .reveal.in{animation:none!important;opacity:1;transform:none;filter:none}}

/* ============================================================
   LIVE DASHBOARD - board-level operating surface
   ============================================================ */
.dash.wrap{padding:34px 32px 70px;padding-left:32px;padding-right:32px}
.dash .intro-eyebrow{margin-bottom:var(--gutter)}
.dash-title{font-family:var(--serif);font-weight:500;font-size:var(--t-dash);line-height:1.08;letter-spacing:-.01em;color:var(--paper)}
.dash-title .emph{color:var(--mint)}
.dash-sub{font-size:var(--t-body-lg);color:var(--ink-2);max-width:74ch;margin-top:var(--sp-3);line-height:1.55}
.dash-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:16px 0 14px;border-bottom:1px solid var(--line);flex-wrap:wrap;margin-top:26px}
.dash-bar .title{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.dash-ctrl{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
.range-tabs{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.range-tabs .rt{appearance:none;background:transparent;min-height:44px;padding:7px 14px;font-family:var(--mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--muted);border:0;border-right:1px solid var(--line);cursor:pointer;transition:all .15s}
.range-tabs .rt:last-child{border-right:none}
.range-tabs .rt:hover{background:rgba(124,255,178,.06);color:var(--ink-2)}
.range-tabs .rt.on{background:rgba(124,255,178,.12);color:var(--mint)}
.range-tabs .rt.on:hover{color:var(--mint)}
.dash-updated{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.05em;color:var(--muted);display:flex;align-items:center;gap:7px}

/* stat band with sparklines + deltas */
.statband{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-top:18px;background:var(--carbon-2)}
.stat{padding:17px 17px;border-right:1px solid var(--line);min-width:0}
.stat:last-child{border-right:none}
.stat .lab{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.stat .val{font-family:var(--mono);font-weight:500;font-size:var(--t-num);color:var(--ink);margin-top:9px;line-height:1}
.stat .val.live{color:var(--mint)}
.stat .delta{font-family:var(--mono);font-size:var(--t-micro);margin-top:6px;color:var(--muted)}
.stat .delta .up{color:var(--mint)}
.stat .ms{width:100%;height:26px;margin-top:9px;display:block}
@media(max-width:980px){.statband{grid-template-columns:repeat(3,1fr)}.stat:nth-child(3n){border-right:none}.stat{border-bottom:1px solid var(--line)}}
@media(max-width:560px){.statband{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3n){border-right:1px solid var(--line)}.stat:nth-child(2n){border-right:none}}

/* panels */
.panelgrid{display:grid;gap:var(--sp-4);margin-top:var(--sp-4)}
.panelgrid.c2{grid-template-columns:2fr 1fr}
.panelgrid.c2e{grid-template-columns:1fr 1fr}
.panelgrid.c3{grid-template-columns:repeat(3,1fr)}
.panel{border:1px solid var(--line);border-radius:var(--r-md);background:var(--carbon-2);overflow:hidden;position:relative;z-index:1}
.panel:has(.conntable){overflow-x:auto}
.panel .ph{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;border-bottom:1px solid var(--line)}
.panel .ph .t{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.panel .ph .meta{font-family:var(--mono);font-size:var(--t-micro);color:var(--muted);letter-spacing:.03em;display:flex;align-items:center;gap:7px}
.panel .ph .meta .up{color:var(--mint)}
.panel .pb{padding:18px}
.chart{width:100%;height:208px;display:block}
.chart.sm{height:150px}
@media(max-width:880px){.panelgrid.c2,.panelgrid.c2e,.panelgrid.c3{grid-template-columns:1fr}}

/* interactive chart readouts (shared tooltip + crosshair + focus dot) */
.viz-tip{position:fixed;left:0;top:0;z-index:80;pointer-events:none;background:rgba(8,26,20,.97);border:1px solid rgba(124,255,178,.32);border-radius:var(--r-sm);padding:7px 11px;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.04em;color:var(--ink-2);line-height:1.35;white-space:nowrap;box-shadow:0 14px 34px -14px rgba(0,0,0,.85);transition:opacity .12s ease}
.viz-tip .vl{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.viz-tip .vv{color:var(--mint);font-weight:600}
.viz-cross{position:fixed;left:0;top:0;z-index:79;width:1px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(124,255,178,.5),transparent)}
.viz-dot{position:fixed;left:0;top:0;z-index:80;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:var(--r-circle);background:var(--mint);box-shadow:0 0 10px rgba(124,255,178,.75);pointer-events:none}
.viz-tip[hidden],.viz-cross[hidden],.viz-dot[hidden]{display:none}

/* donut + legend */
.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.donut{width:120px;height:120px;flex-shrink:0}
.donut-legend .dl{display:flex;align-items:baseline;gap:var(--sp-2);font-family:var(--mono);font-size:var(--t-label);color:var(--ink-2);margin-bottom:9px}
.donut-legend .dl b{color:var(--ink);font-weight:500}
.donut-legend .dl .signal{color:var(--mint)}

/* uptime status grid */
.uptime{display:flex;gap:3px;flex-wrap:wrap;margin-top:var(--sp-1)}
.ucell{width:7px;height:28px;border-radius:var(--r-2xs);background:rgba(124,255,178,.55)}
.ucell.deg{background:transparent;border:1px solid var(--mint)}
.ucell.inc{background:var(--incident)}
.uptime-legend{display:flex;gap:18px;margin-top:var(--gutter);font-family:var(--mono);font-size:var(--t-micro);color:var(--muted);letter-spacing:.03em;flex-wrap:wrap}
.uptime-legend span{display:flex;align-items:center;gap:6px}
.swatch{width:9px;height:9px;border-radius:var(--r-2xs);background:rgba(124,255,178,.55)}
.swatch.deg{background:transparent;border:1px solid var(--mint)}
.swatch.inc{background:var(--incident)}

/* latency percentile row */
.prow{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-top:var(--gutter)}
.prow .p{padding:12px 14px;border-right:1px solid var(--line)}
.prow .p:last-child{border-right:none}
.prow .p .k{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.prow .p .v{font-family:var(--mono);font-size:var(--t-lede);color:var(--ink);margin-top:5px}
@media(max-width:360px){.prow{grid-template-columns:1fr}.prow .p{border-right:none;border-bottom:1px solid var(--line);padding:10px 12px}.prow .p:last-child{border-bottom:none}}

/* big metric inside a panel */
.bigmetric{font-family:var(--serif);font-size:var(--t-display);color:var(--mint);line-height:1;text-shadow:0 0 40px rgba(124,255,178,.3)}
.bigmetric .u{font-family:var(--mono);font-size:.3em;color:var(--ink-2);text-shadow:none}
.kv{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line-2);font-family:var(--mono);font-size:var(--t-meta)}
.kv:last-child{border-bottom:none}
.kv .c{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-micro)}
.kv .v{color:var(--ink)} .kv .v.live{color:var(--mint)}

/* connector status table */
.conntable{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:var(--t-meta)}
.conntable td,.conntable th{padding:13px 16px;border-bottom:1px solid var(--line-2);text-align:left;white-space:nowrap}
.conntable th{font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.conntable td.st{color:var(--mint)}
.conntable td.r{text-align:right;color:var(--ink-2)}
.conntable tr:last-child td{border-bottom:none}
@media(max-width:620px){.conntable{font-size:var(--t-label)}.conntable td,.conntable th{padding:10px 8px;white-space:normal}.conntable .hide-sm{display:none}.conntable .r{text-align:left}}

/* ===== interpretive spine + structural-variation grammar ===== */

/* board-read: the dashboard's interpretive spine, sits before the stat band */
.boardread{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-top:18px;background:var(--carbon-2)}
.boardread .br{padding:15px 17px;border-right:1px solid var(--line)}
.boardread .br:last-child{border-right:none}
.boardread .brk{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.boardread .brv{font-family:var(--mono);font-size:var(--t-micro);color:var(--muted);line-height:1.55;margin-top:9px;letter-spacing:.02em}
.boardread .vlk{width:9px;height:9px;border:1.5px solid var(--muted-2);border-radius:2px;display:inline-block;flex:0 0 auto}
@media(max-width:880px){.boardread{grid-template-columns:repeat(2,1fr)}.boardread .br{border-bottom:1px solid var(--line)}.boardread .br:nth-child(2n){border-right:none}.boardread .br:nth-last-child(-n+2){border-bottom:none}}
@media(max-width:480px){.boardread{grid-template-columns:1fr}.boardread .br{border-right:none;border-bottom:1px solid var(--line)}.boardread .br:last-child{border-bottom:none}}
/* board-read cells deep-link to their sections: first read, then drill down */
.boardread a.br{display:block;color:inherit;text-decoration:none;transition:background .2s}
.boardread a.br:hover{background:rgba(124,255,178,.05)}
.boardread a.br .brk::after{content:"→";margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted-2);transition:color .2s}
.boardread a.br:hover .brk::after{color:var(--mint)}

/* one terse interpretive read under each dashboard module heading */
.dash-read{font-family:var(--mono);font-size:var(--t-fine);letter-spacing:.01em;color:var(--ink-2);margin:10px 0 0;max-width:80ch;line-height:1.5}

/* privacy note pulled up next to the Vault header */
.priv-note{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.03em;color:var(--muted);line-height:1.55;max-width:90ch;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}

/* trust ledger (affiliates): concern / answer / public proof */
.tled{margin-top:34px;border-top:1px solid var(--line)}
.tlrow{display:grid;grid-template-columns:1fr 1.7fr auto;gap:30px;padding:20px 0;border-bottom:1px solid var(--line-2);align-items:start}
.tlrow .cn{font-family:var(--serif);font-size:var(--t-md);color:var(--paper);line-height:1.3}
.tlrow .an{font-size:var(--t-body);color:var(--ink-2);line-height:1.55}
.tlrow .pf{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.05em;text-transform:uppercase;color:var(--mint);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding-top:3px}
.tlrow .pf a{color:var(--mint)}
@media(max-width:820px){.tlrow{grid-template-columns:1fr;gap:8px;padding:18px 0}.tlrow .pf{white-space:normal}}

/* editorial principle rows (press): numbered manifesto on the paper relief band */
.prin{list-style:none;margin-top:38px;border-top:1px solid rgba(10,23,18,.16)}
.prin-row{display:grid;grid-template-columns:minmax(240px,1fr) 1.6fr;gap:clamp(28px,4vw,64px);padding:30px 0;border-bottom:1px solid rgba(10,23,18,.1);align-items:start}
.prin-head{display:flex;align-items:baseline;gap:14px}
.prin-head .i{flex:0 0 auto;font-family:var(--mono);font-size:var(--t-label);letter-spacing:.1em;color:var(--paper-accent)}
.prin-t{font-family:var(--serif);font-weight:500;font-size:var(--t-cofh);line-height:1.12;color:var(--paper-ink);margin:0}
.prin-body{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.prin-d{font-size:var(--t-body-lg);color:var(--paper-body);line-height:1.55;max-width:56ch;margin:0}
.prin-p{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.05em;text-transform:uppercase;color:var(--paper-accent);display:inline-flex;align-items:center;min-height:44px;transition:color .2s}
.prin-p:hover{color:var(--paper-ink)}
@media(max-width:760px){.prin-row{grid-template-columns:1fr;gap:14px;padding:24px 0}}

/* horizontal-scroll wrapper for wide tables on small screens */
.tablewrap{overflow-x:auto;margin-top:var(--sp-9)}
.tablewrap .conntable td{white-space:normal;vertical-align:top}

/* keep new inline proof links at the site's 44px touch-target standard */
.tlrow .pf a{display:inline-flex;align-items:center;min-height:44px;margin-top:-3px}

/* principals (team): restrained accountable metadata, not a bio wall */
.principals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-7);margin-top:34px}
.principal{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md);padding:0;background:linear-gradient(180deg,rgba(10,30,24,.96),rgba(8,26,20,.98));overflow:hidden}
.phead{display:grid;grid-template-columns:82px minmax(0,1fr);gap:20px;align-items:start;padding:24px 26px 22px;border-bottom:1px solid var(--line-2);background:linear-gradient(90deg,rgba(124,255,178,.045),rgba(124,255,178,.012) 54%,transparent)}
.pmeta{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:7px;align-items:start;min-width:0}
.preceipts{list-style:none;margin:0;padding:18px 26px 24px;display:flex;flex-direction:column;gap:0}
.preceipts li{position:relative;padding:13px 0 13px 22px;border-bottom:1px solid var(--line-2);font-size:var(--t-body-lg);color:var(--ink-2);line-height:1.48}
.preceipts li:last-child{border-bottom:none}
.preceipts li::before{content:"";position:absolute;left:0;top:22px;width:5px;height:5px;border-radius:var(--r-circle);background:var(--muted-2);box-shadow:0 0 0 4px rgba(124,255,178,.035)}
.favatar{position:relative;flex:0 0 auto;width:82px;height:82px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--carbon-3);overflow:hidden}
.favatar .fi{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:var(--t-label);letter-spacing:.08em;color:var(--muted-2)}
.favatar img{position:relative;width:100%;height:100%;object-fit:cover;display:block}
.principal .pname{grid-column:1;grid-row:1;font-family:var(--serif);font-weight:500;font-size:var(--t-xl);color:var(--paper);line-height:1.1;text-wrap:balance}
.principal .prole{grid-column:1;grid-row:2;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.principal .powns{grid-column:1;grid-row:3;display:inline-grid;grid-template-columns:auto max-content;align-items:center;width:max-content;max-width:100%;min-height:32px;padding:6px 10px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:rgba(124,255,178,.035);font-family:var(--mono);font-size:var(--t-meta);color:var(--ink-2)}
.principal .powns .k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-micro);margin-right:9px}
.principal .plink{grid-column:2;grid-row:1 / span 3;justify-self:end;align-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border:1px solid rgba(124,255,178,.22);border-radius:var(--r-sm);font-family:var(--mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--mint);background:rgba(124,255,178,.045);transition:background .2s,border-color .2s,color .2s}
.principal .plink:hover{background:rgba(124,255,178,.08);border-color:rgba(124,255,178,.42);color:var(--mint-hover)}
@media(max-width:820px){.principals{grid-template-columns:1fr}}
@media(max-width:520px){.phead{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:20px}.favatar{width:72px;height:72px}.pmeta{grid-template-columns:1fr;row-gap:7px}.principal .powns{width:100%;grid-template-columns:auto minmax(0,1fr);align-items:start}.principal .plink{grid-column:1;grid-row:4;justify-self:start;margin-top:2px}.preceipts{padding:14px 20px 20px}.preceipts li{font-size:var(--t-body);padding-left:18px}.preceipts li::before{top:20px}}

/* press & investor kit (team): a quiet ledger of links */
.prkit{margin-top:30px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.prkit-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;min-height:44px;border-bottom:1px solid var(--line-2);transition:background .2s}
.prkit-item:last-child{border-bottom:none}
.prkit-item:hover{background:var(--carbon-2)}
.prkit-item .t{font-family:var(--mono);font-size:var(--t-fine);color:var(--ink-2);letter-spacing:.02em}
.prkit-item .go{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--mint);white-space:nowrap}
@media(max-width:560px){.prkit-item{flex-direction:column;align-items:flex-start;gap:6px;min-height:0;padding:14px 18px}}

/* incident log */
.allclear{font-family:var(--mono);font-size:var(--t-meta);color:var(--mint);display:flex;align-items:center;gap:10px;padding:4px 0 14px}
.incrow{display:grid;grid-template-columns:96px 1fr auto;gap:var(--gutter);padding:12px 0;border-top:1px solid var(--line-2);font-family:var(--mono);font-size:var(--t-meta);align-items:center}
.incrow .d{color:var(--muted)} .incrow .x{color:var(--ink-2)} .incrow .s{color:var(--mint);text-transform:uppercase;font-size:var(--t-micro);letter-spacing:.08em}
@media(max-width:560px){.incrow{grid-template-columns:1fr;gap:var(--sp-1)}}

/* classification list (mini bars) */
.clf{display:flex;flex-direction:column;gap:13px}
.clf .row{display:grid;grid-template-columns:120px 1fr 42px;gap:var(--sp-3);align-items:center;font-family:var(--mono);font-size:var(--t-label)}
.clf .row .c{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-size:var(--t-micro)}
.clf .bar{height:8px;border-radius:var(--r-sm);background:rgba(124,255,178,.13);overflow:hidden}
.clf .bar i{display:block;height:100%;background:var(--mint);border-radius:var(--r-sm)}
.clf .row .n{color:var(--muted);text-align:right}

/* DECISIONS — zig-zag instrument rows */
.dec{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding:58px 0;border-top:1px solid var(--line)}
.dec:first-of-type{border-top:none;padding-top:26px}
.dec>.body .sp{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.16em;color:var(--mint);text-transform:uppercase}
.dec>.body .h3{margin:14px 0 0}
.dec>.body .cant{font-size:var(--t-body);color:var(--muted);margin-top:var(--gutter);font-style:italic;font-family:var(--serif)}
.dec .drow{margin-top:18px}
.dec .drow .k{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--mint);margin-bottom:6px}
.dec .drow p{font-size:var(--t-body);color:var(--ink-2);line-height:1.55;max-width:58ch}
.dec .dproof{margin-top:18px;display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 13px}
.dec .dproof .signal{color:var(--mint)}
.dpanel{border:1px solid var(--line);border-radius:var(--r-md);background:var(--carbon-2);padding:30px 30px 22px;background-image:linear-gradient(rgba(124,255,178,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(124,255,178,.045) 1px,transparent 1px);background-size:28px 28px}
.dpanel svg{width:100%;height:auto;display:block}
.dpanel .cap{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:18px;display:flex;align-items:center;gap:var(--sp-2)}
.dec.flip>.dpanel{order:2}
@media(max-width:820px){.dec{grid-template-columns:1fr;gap:26px;padding:44px 0}.dec.flip>.dpanel{order:0}}

/* homepage decision teaser — mini instrument glyph */
.dcell .dglyph{margin:14px 0 18px;height:52px;display:flex;align-items:flex-end}
.dcell .dglyph svg{height:52px;width:auto;display:block}

/* HOW IT WORKS — the loop (setup banner + instrument grid + return) */
.setup{display:grid;grid-template-columns:150px 1fr;gap:30px;align-items:center;border:1px solid var(--line);border-radius:var(--r-md);background:var(--carbon);padding:26px 30px;margin-top:var(--sp-10)}
.setup-gl svg{width:100%;height:64px;display:block}
.ln{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ln .i{color:var(--mint);font-size:var(--t-fine);letter-spacing:.04em}
.setup-body h3{font-family:var(--serif);font-weight:500;font-size:var(--t-xl);color:var(--paper);margin:8px 0 8px}
.setup-body p{font-size:var(--t-body);color:var(--ink-2);line-height:1.55;max-width:64ch}
.loophead{display:flex;align-items:center;justify-content:space-between;margin:34px 0 0;padding-bottom:14px;border-bottom:1px solid var(--line)}
.loopgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);margin-top:18px}
.lcard{border:1px solid var(--line);border-radius:var(--r-md);background:var(--carbon);padding:22px;transition:background .25s,transform .25s}
.lcard:hover{background:var(--carbon-3);transform:translateY(-3px)}
.lcard .gl{height:54px;margin:16px 0 10px;display:flex;align-items:flex-end}
.lcard .gl svg{height:54px;width:auto;display:block}
.lcard h3{font-family:var(--serif);font-weight:500;font-size:var(--t-md);color:var(--paper);line-height:1.18;min-height:44px}
.lcard p{font-size:var(--t-meta);color:var(--muted);line-height:1.5;margin-top:var(--sp-2)}
.loopreturn{margin-top:var(--sp-4);border:1px dashed var(--line);border-radius:var(--r-md);padding:14px 18px;font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.04em;color:var(--ink-2);display:flex;align-items:center;gap:var(--sp-3)}
.loopreturn .ret{color:var(--mint);font-size:var(--t-xl);line-height:1}
@media(max-width:880px){.loopgrid{grid-template-columns:repeat(2,1fr)}.setup{grid-template-columns:1fr;gap:var(--sp-4)}}
@media(max-width:560px){.loopgrid{grid-template-columns:1fr}}

/* ACCESS — stacked steps beside the form */

/* LEGAL — terms / privacy prose */
.legal{max-width:74ch}
.legal .upd{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.04em;color:var(--muted);margin:0 0 18px}
.legal-note{border:1px dashed var(--line);border-radius:var(--r-md);background:rgba(124,255,178,.03);padding:14px 18px;font-size:var(--t-fine);color:var(--ink-2);line-height:1.6;margin-bottom:30px}
.legal h2{font-family:var(--serif);font-weight:500;font-size:var(--t-xl);color:var(--paper);margin:32px 0 10px}
.legal p{font-size:var(--t-body-lg);color:var(--ink-2);line-height:1.72;margin:0 0 14px}
.legal ul{margin:0 0 14px;padding-left:20px}
.legal li{font-size:var(--t-body-lg);color:var(--ink-2);line-height:1.72;margin-bottom:6px}
.legal a{color:var(--mint);text-decoration:underline;text-underline-offset:2px}

/* TRUST LADDER — Shadow to Full Auto, autonomy is earned (home) */
.ladder{display:grid;grid-template-columns:1fr 1.15fr 1fr;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-top:30px;background:var(--carbon-2)}
.ladder .lstep{padding:22px 24px;border-right:1px solid var(--line)}
.ladder .lstep:last-child{border-right:none}
.ladder .lstep.live{background:rgba(124,255,178,.04)}
.ladder .lstep p{font-size:var(--t-fine);color:var(--ink-2);margin-top:9px;line-height:1.5}
.ladder .lval{font-family:var(--mono);font-size:var(--t-num-lg);color:var(--mint);margin-top:10px;line-height:1}
.ladder .lval .dn{font-size:var(--t-body)}
@media(max-width:760px){.ladder{grid-template-columns:1fr}.ladder .lstep{border-right:none;border-bottom:1px solid var(--line)}.ladder .lstep:last-child{border-bottom:none}}

/* live.html section heading outline — adds H2/H3 hierarchy without changing layout */
.dash-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:34px 0 0;scroll-margin-top:90px;font-family:var(--mono);font-size:var(--t-meta);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.dash-h::before{content:"";flex:0 0 auto;width:12px;height:1px;background:var(--muted);opacity:.6;align-self:center}
.dash-h .n{font-size:var(--t-micro);font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--muted)}
.panel .ph h3.t{margin:0;font-weight:400;font-size:var(--t-label);line-height:1.2}

/* footer tagline + footer brand (declassified from inline magic numbers) */
.foot-tag{font-family:var(--serif);font-style:italic;color:var(--ink-2);margin-top:var(--sp-4);max-width:30ch;font-size:var(--t-md)}
.brand.foot{font-size:var(--t-lede)}

/* ============================================================
   MOAT COLLAPSE — home "AI is cheap. The fuel is not."
   A field of accrued receipts collapses into the word "fuel" once,
   when the section scrolls into view (driven by kerdixo.js). The
   canvas sits behind the copy; the word charges cold -> mint as it
   feeds. No-JS and reduced-motion keep the word mint and skip the
   canvas, so the section is always fully readable.
   ============================================================ */
#moat .moat-field{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block;pointer-events:none}

/* ============================================================
   COMPOUNDING LOOP — Decisions closer "One compounding loop."
   Three rings draw on and accumulate around the word "compounding"
   once the section scrolls into view (driven by kerdixo.js); the
   word charges cold -> mint. No-JS and reduced-motion keep the word
   mint and show the rings at rest.
   ============================================================ */
#loop .loop-field{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block;pointer-events:none}

/* ============================================================
   ACCESS CONFIRMATION — "the guardrail locks in" (access.html)
   Submitting an application morphs the auth card into a quiet
   confirmation: a guardrail ring draws closed around a dot that
   charges cold -> mint and starts its live pulse (ring = guardrail,
   dot = live) — the operator going live inside your guardrails, at
   the conversion moment. Driven by kerdixo.js. The copy is legible
   the instant the card swaps; only the glyph animates. Reduced
   motion snaps to the locked state with no motion.
   ============================================================ */
.authcard{position:relative}
.auth-confirmed{opacity:0;transform:translateY(8px)}
.auth-confirmed[hidden]{display:none}
.js .auth-confirmed.draw{transition:opacity .5s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.auth-confirmed.lit{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.auth-confirmed{opacity:1;transform:none}}

.lockglyph{width:92px;height:92px;margin:2px 0 24px}
.lockglyph svg{width:100%;height:100%;display:block;overflow:visible}
/* scaled/rotated bits orbit the viewBox centre; .lg-arc is excluded — it carries
   its own rotate(-90 60 60) attribute, and transform-box would double-count it */
.lg-lock,.lg-tip,.lg-dot,.lg-pulse{transform-box:view-box;transform-origin:60px 60px}
.lg-arc{stroke-dasharray:289.03;stroke-dashoffset:289.03}
.lg-tip{transform:rotate(0deg)}
.lg-dot{fill:#BCCFC7;opacity:0;transform:scale(.5)}
.lg-pulse,.lg-lock{opacity:0}
/* draw-on path — transitions exist only while JS holds .draw, so the ring
   never animates on a stray reflow before the user submits */
.js .auth-confirmed.draw .lg-arc{transition:stroke-dashoffset 1.05s cubic-bezier(.22,1,.36,1)}
.js .auth-confirmed.draw .lg-tip{transition:transform 1.05s cubic-bezier(.22,1,.36,1)}
.js .auth-confirmed.draw .lg-dot{transition:opacity .5s ease .3s,transform .6s cubic-bezier(.22,1,.36,1) .3s,fill .7s ease .45s}
/* lit = ring drawn closed, dot charged live */
.auth-confirmed.lit .lg-arc{stroke-dashoffset:0}
.auth-confirmed.lit .lg-tip{transform:rotate(360deg)}
.auth-confirmed.lit .lg-dot{fill:#7CFFB2;opacity:1;transform:scale(1)}
/* locked = the moment it closes: tip merges in, one containment flash, live pulse begins */
.auth-confirmed.locked .lg-tip{opacity:0;transition:opacity .45s ease}
.auth-confirmed.locked .lg-pulse{animation:lgPulse 2.6s ease-out infinite}
.auth-confirmed.locked .lg-lock{animation:lgLock .7s ease-out 1}
@keyframes lgPulse{0%{transform:scale(1);opacity:.5}70%{transform:scale(3.4);opacity:0}100%{transform:scale(3.4);opacity:0}}
@keyframes lgLock{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.55);opacity:0}}

.ac-state{display:flex;align-items:center;gap:9px;color:var(--ink-2)}
.ac-mark{width:9px;height:9px;border:1.6px solid var(--mint);border-radius:var(--r-circle);box-sizing:border-box;flex:0 0 auto}
.ac-h{font-family:var(--serif);font-weight:500;font-size:var(--t-h3);line-height:1.12;letter-spacing:-.01em;color:var(--paper);margin:14px 0 0;max-width:18ch}
.ac-h:focus{outline:none}
.ac-h:focus-visible{outline:2px solid var(--mint);outline-offset:4px;border-radius:2px}
.ac-body{font-size:var(--t-body-lg);color:var(--ink-2);line-height:1.55;margin-top:13px;max-width:42ch}
.ac-fine{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.02em;color:var(--muted);margin-top:14px}
/* branded form validation + clipboard recovery (advertiser contact) */
.ferr{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.02em;color:var(--incident);margin-top:6px}
.contact-form input[aria-invalid="true"],.contact-form select[aria-invalid="true"],.contact-form textarea[aria-invalid="true"]{border-color:rgba(255,107,92,.6)}
.form-summary{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.02em;color:var(--incident);border:1px solid rgba(255,107,92,.35);border-radius:var(--r-sm);padding:10px 13px;margin-top:18px}
.copychip{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--ink-2);font-family:var(--mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:border-color .15s,color .15s}
.copychip:hover,.copychip.ok{border-color:var(--mint);color:var(--mint)}
.ac-recover{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}
.ac-recover p{font-size:var(--t-fine);color:var(--muted);margin:0 0 12px;max-width:46ch;line-height:1.55}
.ac-recover .row{display:flex;gap:10px;flex-wrap:wrap}
.ac-go{display:inline-flex;align-items:center;gap:8px;margin-top:22px;min-height:44px;font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--mint);transition:gap .2s ease,color .2s ease}
.ac-go:hover{gap:13px}

/* ============================================================
   CONTACT FORM — advertiser inquiry (advertisers-contact.html)
   Dark instrument fields: carbon wells, hairline border, mono
   labels, mint focus ring. A valid submit morphs the card into
   the shared "guardrail locks in" confirmation above.
   ============================================================ */
.contact-form .alabel{margin-bottom:2px}
.contact-form .field{margin-top:15px}
.contact-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.contact-form label{display:block;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.contact-form label .opt{text-transform:none;letter-spacing:.02em;color:var(--muted-2)}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;min-height:44px;padding:11px 13px;
  font-family:var(--sans);font-size:var(--t-body);color:var(--ink);
  background:var(--carbon);border:1px solid var(--line);border-radius:var(--r-sm);
  transition:border-color .15s ease,box-shadow .15s ease}
.contact-form textarea{min-height:82px;line-height:1.5;resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted-2)}
.contact-form select{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%238DA59B' stroke-width='1.5' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 13px center}
.contact-form select:required:invalid{color:var(--muted-2)}
.contact-form select option{color:var(--ink);background:var(--carbon-2)}
.contact-form :is(input,select,textarea):focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 3px rgba(124,255,178,.14)}
.contact-form :is(input,select,textarea):focus-visible{outline:none}
.contact-form :is(input,select,textarea):user-invalid{border-color:var(--incident);box-shadow:0 0 0 3px rgba(255,107,92,.12)}
.contact-form .cf-submit{width:100%;margin-top:20px}
.contact-form .authfine{margin-top:14px}
@media(max-width:520px){.contact-form .field-row{grid-template-columns:1fr;gap:0}}

/* prose line-breaking — let the browser avoid orphans and awkward mid-phrase
   breaks across viewports (degrades to normal wrapping where unsupported) */
.lede,.sub{text-wrap:pretty}
