/* ─────────────────────────────────────────────────────────────────────────
   Haltere design system · v2
     Palette from the HALTERE brand package:
     cream #F6F3EC · ink #10170F · forest #3E5A40 · sage #78A584
   Voice: short sentences, sentence case, one idea per screen.
   Canon: one line, three steps — the map, the gate, the receipt.
   The receipt is always the terminus. Gray stays gray.

   ── HOW TO USE THIS SHEET ────────────────────────────────────────────────
   The tokens in :root are the system. They are NOT a redesign: every value
   is one that was already in print somewhere on this site, so swapping a
   literal for its token is a textual substitution that computes identically.

     TYPE      --fs-*   the mono label band (10 to 12.5px), the text band
                        (13 to 18px), and display. The three clamp() steps
                        are responsive scale decisions; keep them literal.
     LEADING   --lh-*   solid · snug · lede · card · read · prose · loose · code
     TRACKING  --ls-* and --tr-1..5. The tr set is named by value on purpose:
                        five positive steps for one role is not five decisions,
                        and a role name would invent a system that is not here.
     RADIUS    --r-*    md/lg/xl are the three surface radii; pill, sm, xs,
                        chip, form, choice are controls.
     ELEVATION --shadow-* five heights, none interchangeable.
     RULE      --rule and --rule-frame. 22 rules in this sheet drew this line
                        by hand before it had a name.
     SPACE     four constants only: --gutter, --section-y, --section-y-tight,
                        --section-y-tall. There is deliberately NO space
                        ladder: 51 distinct length values are in use and
                        naming each after its own number (--sp-18, --sp-20)
                        renames the problem and asserts relationships nobody
                        designed. 18px is a lede gap AND a card padding AND a
                        grid gap. Pick a real ladder or leave it visible.

   WHEN YOU CHANGE THIS FILE, prove it:
     node ~/files/scripts/visual-baseline.mjs capture after
     node ~/files/scripts/visual-baseline.mjs compare before after
   90 shots, 30 pages × desktop-light/desktop-dark/mobile-light. Verified
   deterministic over four consecutive runs. A refactor meant to be invisible
   must come back 90 identical; anything else is a finding, not a formality.
   ───────────────────────────────────────────────────────────────────────── */
/* fonts load via <link preconnect> in each page head */
:root{
  --text:#10170F; --muted:#5C665A; --faint:#626B60;
  --bg:#F6F3EC; --alt:#EDE9DE; --hairline:#E1DDCE;
  --parchment:#E9E2CF;
  --dark:#10170F; --dark-text:#F6F3EC; --dark-muted:#9FA99C;
  --console:#0B110B;
  --forest:#3E5A40; --accent:#3E5A40; --accent-hover:#354E37; --link:#3E5A40;
  --green:#3E5A40; --sage:#78A584; --green-bright:#78A584;
  --rust:#9C4A2F; --rust-soft:#F0E0D6;
  --card:#FCFAF3; --frame:#E7E3D3;
  --nav-bg:rgba(246,243,236,.82);
  --btn-ink:#fff;
  --sel:#C9DCCB; --sel-ink:#10170F;
  --font:Inter,"Söhne",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"SF Mono",ui-monospace,Menlo,Consolas,monospace;

  /* ── TYPE ────────────────────────────────────────────────────────────
     The mono label band, 10 → 12.5px. Nine sizes live in this 3px
     window today; these seven are the ones used 4+ times.            */
  --fs-tag:10px;         /* .gate label · .manifest .mh · .reqlist .tag  */
  --fs-key:10.5px;       /* .exhibit .k · .receipt .live · .spec-table th */
  --fs-meta:11px;        /* .stamp · .rt · .gate notes · .mt — 22 sites  */
  --fs-eyebrow:11.5px;   /* .eyebrow · .station .n · .rx · .datedline    */
  --fs-micro:12px;       /* footer · .fcol h5 · .hero .eyebrow · code    */
  --fs-table:12.3px;     /* .spec-table — page blocks only. See DEFERRED */
  --fs-row:12.5px;       /* .rl receipt row · .ledger · .gate .verdict   */

  /* The text band. Eight steps at 0.5px granularity is the real debt.
     These names describe what is in print; they do not fix it.        */
  --fs-ui:13px;          /* nav · .quietline · .trio .k · .sig — 51 sites */
  --fs-ui-lg:13.5px;     /* .station p · .subnav-in a · form labels      */
  --fs-cap:14px;         /* captions · .toolline · article h2 — 34 sites */
  --fs-note:14.5px;      /* .callist li · .exhibit p · .packline         */
  --fs-form:15px;        /* form inputs · .drawer .lead · .day p · .word */
  --fs-copy-sm:15.5px;   /* .ev-row · .person p · .drow p                */
  --fs-copy:16px;        /* .cmp p · .trio p · .cap-c p · details .a     */
  --fs-copy-lg:16.5px;   /* .bc-copy p · .namecard p · ol.claims li      */
  --fs-base:17px;        /* body · .btn · .more · .film — THE base size  */
  --fs-prose:18px;       /* the essays: article, article p               */

  /* Display. The 27 clamp() expressions are scale decisions and stay
     character-for-character; only the three used 7+ times are named.  */
  --fs-h4:19px;          /* .day h3 · summary · .p-cell .pv              */
  --fs-quote:21px;       /* .drow h3 · .pull · .card .big                */
  --fs-drop:25px;        /* article h2 b, the essay drop phrase          */
  --fs-deck:clamp(19px,2.2vw,23px);     /* .coda · .deck ×7 essays       */
  --fs-h2-page:clamp(26px,3.6vw,38px);  /* .next h3 ×7 essays            */
  --fs-h1-page:clamp(40px,6vw,64px);    /* article h1 ×7 essays          */

  /* ── LEADING ─────────────────────────────────────────────────────────
     h1/h2/h3 (1.02/1.08/1.2) and body (1.47) stay literal in their own
     single rules. One site each earns no name.                        */
  --lh-solid:1;          /* one glyph, no leading: .vnum · .num · .close */
  --lh-snug:1.4;         /* .pull · .drawer .choice label                */
  --lh-lede:1.45;        /* .lede · .deck · .why p                       */
  --lh-card:1.5;         /* card and cell copy — 24 sites                */
  --lh-read:1.55;        /* lists and long-form cells — 18 sites         */
  --lh-prose:1.6;        /* the essays: article                          */
  --lh-loose:1.7;        /* .footnotes · notes · .spec-table             */
  --lh-code:1.75;        /* .codeblock · .gate .verdict · .rx            */

  /* ── TRACKING ────────────────────────────────────────────────────────
     --tr-1…5 are named by value on purpose. Five positive tracking
     steps for one role (mono uppercase at 10–12px) is not five
     decisions, and a role name here would invent a system that is not
     there. See DEFERRED: collapse to three.                          */
  --ls-display:-.012em;  /* serif display headings in the essay blocks   */
  --ls-head:-.01em;      /* h3 · .coda · .exhibit h3 · .station h4       */
  --ls-body:.01em;       /* article h2                                   */
  --tr-1:.06em;
  --tr-2:.08em;
  --tr-3:.1em;
  --tr-4:.12em;
  --tr-5:.14em;

  /* ── SPACE: four constants, and deliberately no ladder ───────────────
     There are 51 distinct margin/padding lengths on this site —
     essentially the even integers from 2 to 44. A token per value gives
     --sp-18, --sp-20, --sp-22, which renames the problem and quietly
     asserts relationships nobody designed. 18px is a lede gap AND a
     card padding AND a grid gap. These four are the only space values
     with exactly one role each. The ladder is a founder decision:
     see DEFERRED.                                                     */
  --gutter:22px;         /* the horizontal page inset: .wrap, .nav-in,
                            and article ×7 / .next ×7 once the essay
                            block is promoted                           */
  --section-y:110px;     /* section{padding:var(--section-y) 0}          */
  --section-y-tight:84px;/* section.tight                                */
  --section-y-tall:130px;/* section.tall — was 8 inline overrides        */

  /* ── RADIUS ──────────────────────────────────────────────────────────
     The audit counted 20 corner radii. There are three surface radii,
     one pill, three control radii, and two named one-offs.           */
  --r-md:14px;           /* THE surface radius: every console panel, and
                            the cream cards that clip to their own edge  */
  --r-lg:16px;           /* the padded cream cards                       */
  --r-xl:18px;           /* essay .pull + .ledger — a real third surface
                            radius, not a typo; the essays use a softer
                            corner throughout. Currently declared only
                            in the seven essay blocks.                   */
  --r-pill:980px;        /* .btn · .nav-cta · .req · .drawer .send       */
  --r-sm:8px;            /* .gate input · .gate .go · .doc .fields · .rx */
  --r-xs:6px;            /* .rl.x hit area · doctrine .cst              */
  --r-chip:5px;          /* the .fixt disclosure chip                    */
  --r-form:11px;         /* drawer text inputs — named so it stops
                            multiplying                                  */
  --r-choice:12px;       /* drawer radio rows — same reason              */
  /* NOT tokenised, each single-purpose geometry: .stamp 7px (the rotated
     seal) · .subnav-in a 9px and 0 0 9px 9px · .rswitch and .doc .basis
     10px (the one honest 2× candidate left) · .receipt .live::before 50%
     · the :focus-visible ring 4px (an outline, not a surface)
     · writing .doctrine-card 24px */

  /* ── ELEVATION: five, at five different heights, none interchangeable */
  --shadow-card:0 2px 12px rgba(16,23,15,.04);     /* cream cards, resting */
  --shadow-lift:0 14px 40px rgba(8,14,8,.18);      /* .doctrine-card       */
  --shadow-pop:0 22px 50px rgba(8,14,8,.22);       /* the nav subnav       */
  --shadow-panel:0 30px 70px rgba(8,14,8,.25);     /* console panels ×3    */
  --shadow-drawer:-30px 0 90px rgba(10,16,10,.28); /* the drawer           */
  --ring:0 0 0 3px rgba(62,90,64,.15);             /* input focus          */

  /* ── THE DIVIDER. 22 rules in this sheet draw this exact line.
     Naming it is the single change that makes the sheet legible.      */
  --rule:1px solid var(--hairline);
  --rule-frame:1px solid var(--frame);

  /* ── CONSOLE-PANEL INK ───────────────────────────────────────────────
     Seven literals repeated 31 times inside .receipt / .gate / .manifest
     and their children. NOT redefined in the dark block below: the
     panel is dark in both schemes and must not fork by theme.        */
  --panel-edge:rgba(255,255,255,.09);  /* panel border            */
  --panel-rule:rgba(255,255,255,.08);  /* panel internal divider  */
  --panel-key:#7E877B;                 /* row key                 */
  --panel-head:#98A094;                /* panel header            */
  --panel-val:#F6F3EC;                 /* emphasised value        */
  --panel-body:#B9C9BD;                /* panel body copy         */
  --panel-no:#D98A66;                  /* refusal                 */
}
@media(prefers-color-scheme:dark){
  :root{
    --text:#EFEFE6; --muted:#9FA99C; --faint:#8A9387;
    --bg:#131A13; --alt:#181F17; --hairline:#2A322A;
    --parchment:#1C241B;
    --dark:#0C120C; --dark-text:#F6F3EC; --dark-muted:#9FA99C;
    --console:#080E08;
    --forest:#4E7A55; --accent:#476F4E; --accent-hover:#4A7451; --link:#8FBA9A;
    --green:#78A584; --sage:#78A584; --green-bright:#8FBF9B;
    --rust:#C76F4E; --rust-soft:#33241D;
    --card:#1A211A; --frame:#273026;
    --nav-bg:rgba(19,26,19,.82);
    --btn-ink:#F6F3EC;
    --sel:#3E5A40; --sel-ink:#F6F3EC;
  }
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation:none!important;transition:none!important;}}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.47;font-size:var(--fs-base);-webkit-font-smoothing:antialiased;}
::selection{background:var(--sel);color:var(--sel-ink);}
a{color:var(--link);text-decoration:none;}
p a:not(.btn):not(.more):not(.film){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em;}
a:hover{text-decoration:underline;}
img,svg{display:block;}
.wrap{max-width:1024px;margin:0 auto;padding:0 22px;}
.narrow{max-width:720px;margin-left:auto;margin-right:auto;}
.skip{position:absolute;left:-9999px;top:0;background:var(--card);color:var(--text);padding:10px 16px;z-index:300;font-size:var(--fs-ui);border-radius:0 0 8px 0;}
.skip:focus{left:0;}

/* type scale */
h1{font-family:var(--serif);font-size:clamp(42px,6.8vw,84px);font-weight:500;letter-spacing:-.018em;line-height:1.02;text-wrap:balance;}
h2{font-family:var(--serif);font-size:clamp(31px,4.8vw,56px);font-weight:500;letter-spacing:-.014em;line-height:1.08;text-wrap:balance;}
h3{font-size:clamp(20px,2.4vw,26px);font-weight:600;letter-spacing:var(--ls-head);line-height:1.2;text-wrap:balance;}
.eyebrow{font-family:var(--mono);font-size:var(--fs-eyebrow);font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.center .eyebrow,.eyebrow.c{justify-content:center;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--forest);flex:none;}
.center .eyebrow::after,.eyebrow.c::after{content:"";width:22px;height:1px;background:var(--forest);flex:none;}
.dark .eyebrow::before,.dark .eyebrow::after{background:var(--sage);}
.dark .eyebrow{color:var(--dark-muted);}
.lede{font-size:clamp(18px,2vw,21px);color:var(--muted);line-height:var(--lh-lede);}
.lede b,.lede strong{color:var(--text);font-weight:600;}

/* brand lockup — the exact mark; wordmark set in Inter 600 like the lockup files */
.brand{display:flex;align-items:center;gap:10px;color:var(--text);}
.brand:hover{text-decoration:none;}
.brand .fly{width:34px;height:auto;flex:none;}
.word{font-family:var(--font);font-weight:600;font-size:var(--fs-form);letter-spacing:.13em;margin-right:-.13em;text-transform:uppercase;}
.brand .word{transform:translateY(.5px);}
.fly{color:var(--text);height:auto;}
.fly .nodes{stroke:var(--sage);fill:var(--sage);}
.dark .fly,.dark .brand{color:var(--dark-text);}

/* hero mark — the stacked lockup, alive */
.heromark{width:clamp(120px,15vw,168px);height:auto;margin:0 auto 8px;color:var(--text);}

.heromark .wingL{transform-origin:112px 101px;}
.heromark .wingR{transform-origin:128px 101px;}
.heromark .haltL{transform-origin:98px 117px;}
.heromark .haltR{transform-origin:142px 117px;}
@media(prefers-reduced-motion:no-preference){
  .heromark.buzz .wingL{animation:wingL .11s ease-in-out 16;}
  .heromark.buzz .wingR{animation:wingR .11s ease-in-out 16;}
  .heromark.buzz .haltL{animation:haltL .11s ease-in-out 16;}
  .heromark.buzz .haltR{animation:haltR .11s ease-in-out 16;}
}
@keyframes wingL{50%{transform:rotate(10deg);}}
@keyframes wingR{50%{transform:rotate(-10deg);}}
/* halteres beat anti-phase to the wings — that is the whole point of them */
@keyframes haltL{50%{transform:rotate(-14deg);}}
@keyframes haltR{50%{transform:rotate(14deg);}}

/* rename band */

/* buttons & links */
.btn{display:inline-block;background:var(--accent);color:var(--btn-ink);border:none;border-radius:var(--r-pill);padding:12px 24px;font-size:var(--fs-base);font-weight:400;font-family:var(--font);cursor:pointer;}
.btn:hover{background:var(--accent-hover);text-decoration:none;}
.btn.quiet{background:transparent;color:var(--link);border:1px solid var(--link);}
.btn.quiet:hover{background:rgba(62,90,64,.07);}
.dark .btn{background:var(--sage);color:#10170F;}
.dark .btn:hover{background:#8FBF9B;}
.dark .btn.quiet{color:#fff;border-color:rgba(255,255,255,.45);background:transparent;}
.dark .btn.quiet:hover{background:rgba(255,255,255,.08);}
.dark a:not(.btn){color:#A9C9B1;}
.more{font-size:var(--fs-base);white-space:nowrap;}
.more::after{content:" ›"/"";}
@media(max-width:560px){.more{white-space:normal;}}

/* nav */
nav.site{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:var(--rule);}
.nav-in{max-width:1024px;margin:0 auto;padding:0 22px;height:52px;display:flex;align-items:center;gap:28px;}
.nav-links{display:flex;gap:24px;margin-left:auto;}
.nav-links a{font-size:var(--fs-ui);color:var(--muted);}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--text);text-decoration:none;}
.nav-cta{font-size:var(--fs-ui);background:var(--accent);color:var(--btn-ink) !important;border-radius:var(--r-pill);padding:5px 13px;white-space:nowrap;}
.nav-cta:hover{background:var(--accent-hover);text-decoration:none;}
@media(max-width:860px){.nav-links{display:none;}.nav-cta{margin-left:auto;}}

/* sections */
section{padding:110px 0;}
section.tight{padding:84px 0;}
.center{text-align:center;}
.dark{background:var(--dark);color:var(--dark-text);}
.dark .lede{color:var(--dark-muted);}
.dark .lede b,.dark .lede strong{color:var(--dark-text);}
.alt{background:var(--alt);}
.parch{background:var(--parchment);}

/* hero */
.hero{padding:88px 0 96px;}
.hero .eyebrow{font-size:var(--fs-micro);color:var(--muted);}
.hero h1{max-width:900px;margin:0 auto 22px;}
.hero .lede{max-width:660px;margin:0 auto 34px;}
.cta-row{display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap;}
.film{font-size:var(--fs-base);}
.film::before{content:"▶";font-size:var(--fs-meta);margin-right:8px;vertical-align:1px;}

/* the receipt — the product shot */
.receipt-stage{margin:64px auto 0;max-width:620px;}
.receipt{background:var(--console);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-md);padding:28px 30px;font-family:var(--mono);box-shadow:var(--shadow-panel);text-align:left;}
.receipt .rt{font-size:var(--fs-meta);letter-spacing:var(--tr-2);color:#98A094;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;}
.receipt .live{display:inline-flex;align-items:center;gap:6px;color:var(--sage);font-size:var(--fs-key);}
.receipt .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sage);animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.rl{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:6px 0;font-size:var(--fs-row);color:#7E877B;}
.rl.show{opacity:1;transform:none;}
.rl b{color:#F6F3EC;font-weight:500;}
.rl .ok{color:var(--sage);}
.rl .no{color:#D98A66;}
.stamp{margin-top:18px;display:inline-block;font-size:var(--fs-meta);letter-spacing:var(--tr-3);color:var(--sage);border:1.5px solid var(--sage);border-radius:7px;padding:7px 14px;font-weight:600;transform:rotate(-1.5deg);font-family:var(--mono);}
.stamp.show{opacity:1;transform:scale(1) rotate(-1.5deg);}
@media(max-width:480px){.rl{grid-template-columns:1fr;gap:1px;}}
@media(prefers-reduced-motion:reduce){.rl,.stamp{opacity:1;transform:none;}}
.receipt-cap{font-size:var(--fs-cap);color:var(--faint);margin-top:18px;text-align:center;}

/* the line — one line, three steps: the map, the gate, the receipt. */

.line{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--card);border:var(--rule-frame);border-radius:var(--r-md);overflow:hidden;text-align:left;box-shadow:var(--shadow-card);}
.station{padding:28px 24px 26px;position:relative;}
.station+.station{border-left:1px solid var(--hairline);}
.station+.station::before{content:"";position:absolute;left:-7px;top:44px;width:12px;height:12px;border-top:2px solid var(--forest);border-right:2px solid var(--forest);transform:rotate(45deg);background:var(--card);}
.station .n{font-size:var(--fs-eyebrow);color:var(--faint);font-family:var(--mono);margin-bottom:8px;letter-spacing:var(--tr-1);}
.station h4{font-size:17.5px;font-weight:600;margin-bottom:6px;letter-spacing:var(--ls-head);}
.station p{font-size:var(--fs-ui-lg);color:var(--muted);line-height:var(--lh-card);}
.station.gate h4::after{content:"enforced";font-size:9.5px;color:var(--forest);font-weight:600;margin-left:8px;letter-spacing:var(--tr-1);text-transform:uppercase;vertical-align:2px;}
.station.terminus{background:var(--console);}
.station.terminus .n{color:#8B9186;}
.station.terminus h4{color:#F6F3EC;}
.station.terminus h4::after{content:"✓";color:var(--sage);margin-left:8px;font-size:var(--fs-ui);}
.station.terminus p{color:#9AA095;}
.station.terminus::before{border-color:var(--sage);background:transparent;}
@media(max-width:820px){
  .pillars{display:none;}
  .line{grid-template-columns:1fr;}
  .station+.station{border-left:none;border-top:var(--rule);}
  .station+.station::before{left:26px;top:-7px;transform:rotate(135deg);}
}

/* logo band / chips */

@media(max-width:760px){.logos{grid-template-columns:repeat(3,1fr);}}

/* cinematic dark prose */
.why p{font-size:clamp(19px,2.4vw,24px);color:var(--dark-muted);max-width:680px;margin:0 auto 26px;line-height:var(--lh-lede);}
.why p strong{color:var(--dark-text);font-weight:600;}
.why .landing{font-size:clamp(22px,2.8vw,30px);color:var(--dark-text);font-weight:600;}

/* trio features */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px;text-align:left;}
@media(max-width:820px){.trio{grid-template-columns:1fr;}}
.trio .t{padding:8px 6px;}
.trio h3{margin-bottom:10px;}
.trio p{font-size:var(--fs-copy);color:var(--muted);line-height:var(--lh-card);}
.trio .k{font-size:var(--fs-ui);font-weight:600;color:var(--accent);margin-bottom:9px;}
@media(prefers-color-scheme:dark){.trio .k,.bc-copy .k{color:var(--sage);}}
.dark .trio p{color:var(--dark-muted);}
.dark .trio .k{color:var(--sage);}
.coda{margin-top:60px;font-size:clamp(19px,2.2vw,23px);font-weight:600;letter-spacing:var(--ls-head);max-width:680px;margin-left:auto;margin-right:auto;}
.coda span{color:var(--muted);font-weight:400;}
.dark .coda span{color:var(--dark-muted);}

/* how — big cards */
.bigcards{display:grid;gap:20px;margin-top:64px;}
.bigcard{background:var(--card);border-radius:var(--r-lg);padding:0;overflow:hidden;display:grid;grid-template-columns:1fr 1.1fr;align-items:stretch;box-shadow:var(--shadow-card);border:var(--rule-frame);}
.bigcard:nth-child(even){grid-template-columns:1.1fr 1fr;}
.bigcard:nth-child(even) .bc-copy{order:2;}
@media(max-width:820px){.bigcard,.bigcard:nth-child(even){grid-template-columns:1fr;}.bigcard:nth-child(even) .bc-copy{order:0;}}
.bc-copy{padding:52px 48px;display:flex;flex-direction:column;justify-content:center;text-align:left;}
@media(max-width:560px){.bc-copy{padding:34px 26px;}}
.bc-copy .k{font-size:var(--fs-cap);font-weight:600;color:var(--forest);margin-bottom:10px;}
.dark .bc-copy .k{color:var(--sage);}
.bc-copy h3{font-size:clamp(24px,3vw,32px);margin-bottom:12px;}
.bc-copy p{font-size:var(--fs-copy-lg);color:var(--muted);line-height:var(--lh-card);max-width:420px;}
.bc-copy .more{margin-top:16px;}
.ph{background:var(--frame);min-height:300px;display:flex;align-items:center;justify-content:center;position:relative;}
.ph span{font-size:var(--fs-ui);color:var(--faint);max-width:240px;text-align:center;line-height:var(--lh-card);}
.ph img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block;}

/* construction compare */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:60px;text-align:left;}
@media(max-width:720px){.compare{grid-template-columns:1fr;}}
.cmp{border-radius:var(--r-md);padding:38px 36px;}
.cmp.them{background:var(--alt);border:var(--rule);}
.cmp.us{background:var(--dark);color:var(--dark-text);}
.cmp .k{font-size:var(--fs-cap);font-weight:600;margin-bottom:12px;color:var(--muted);}
.cmp.us .k{color:var(--sage);}
.cmp h3{margin-bottom:10px;}
.cmp p{font-size:var(--fs-copy);line-height:var(--lh-card);color:var(--muted);}
.cmp.us p{color:#B4BCAF;}
.cmp.us p b{color:#fff;font-weight:600;}
.axiom{margin:64px auto 0;max-width:760px;font-size:clamp(22px,3vw,32px);font-weight:600;letter-spacing:var(--ls-display);line-height:1.25;}
.axiom span{color:var(--muted);}

/* personas */
.people{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:60px;text-align:left;}
@media(max-width:720px){.people{grid-template-columns:1fr;}}
.person{background:none;border:0;border-top:var(--rule);border-radius:0;padding:30px 6px 8px;box-shadow:none;display:flex;flex-direction:column;}
.person .k{font-size:var(--fs-cap);font-weight:600;color:var(--muted);margin-bottom:14px;}
.person blockquote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(21px,2.4vw,26px);letter-spacing:var(--ls-head);line-height:1.28;margin-bottom:14px;}
.person p{font-size:var(--fs-copy-sm);color:var(--muted);line-height:var(--lh-card);margin-bottom:18px;}
.person p:last-child{margin-bottom:0;}
.person .more{margin-top:auto;}

/* stats / proof */

@media(max-width:720px){.stats{grid-template-columns:1fr;}}
.stat .num{font-family:var(--serif);font-size:clamp(48px,6vw,76px);font-weight:500;letter-spacing:-.02em;line-height:var(--lh-solid);}
.stat .num em{font-style:normal;color:var(--forest);}
.dark .stat .num em{color:var(--sage);}
.stat p{font-size:var(--fs-form);color:var(--muted);margin-top:10px;}

@media(max-width:720px){.stories{grid-template-columns:1fr;}}

/* deployment rows */
.deploy-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px;text-align:left;}
@media(max-width:820px){.deploy-rows{grid-template-columns:1fr;}}
.drow h3{color:var(--dark-text);margin-bottom:8px;font-size:var(--fs-quote);}
.drow p{font-size:var(--fs-copy-sm);color:var(--dark-muted);line-height:var(--lh-card);}
.toolline{margin-top:56px;font-size:var(--fs-cap);color:var(--dark-muted);max-width:760px;margin-left:auto;margin-right:auto;line-height:var(--lh-loose);}
.toolline b{color:var(--dark-text);font-weight:500;}

/* bat signal */

/* faq */
.faq-list{margin-top:54px;max-width:760px;margin-left:auto;margin-right:auto;text-align:left;}
details{border-top:var(--rule);}
details:last-child{border-bottom:var(--rule);}
summary{list-style:none;cursor:pointer;font-size:var(--fs-h4);font-weight:600;letter-spacing:var(--ls-head);padding:22px 40px 22px 0;position:relative;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+"/"";position:absolute;right:4px;top:18px;font-size:24px;font-weight:300;color:var(--accent);transition:transform .2s;}
details[open] summary::after{transform:rotate(45deg);}
details .a{padding:0 40px 24px 0;font-size:var(--fs-copy);color:var(--muted);line-height:var(--lh-read);max-width:640px;}
details .a b{color:var(--text);font-weight:600;}

/* pilot card */
.pilot{margin:60px auto 0;max-width:860px;background:var(--card);border:var(--rule-frame);border-radius:var(--r-lg);overflow:hidden;text-align:left;box-shadow:var(--shadow-card);}
.pilot .p-head{background:var(--dark);color:var(--dark-text);padding:30px 38px;display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;}
.pilot .p-head h3{font-size:clamp(21px,2.6vw,27px);color:var(--dark-text);}
.pilot .p-head .for{font-size:var(--fs-eyebrow);letter-spacing:var(--tr-3);text-transform:uppercase;color:var(--sage);font-weight:600;}
.p-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:var(--rule);}
@media(max-width:720px){.p-grid{grid-template-columns:1fr;}}
.p-cell{padding:26px 30px;}
.p-cell+.p-cell{border-left:1px solid var(--hairline);}
@media(max-width:720px){.p-cell+.p-cell{border-left:none;border-top:var(--rule);}}
.p-cell .pk{font-size:var(--fs-row);font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;}
.p-cell .pv{font-size:var(--fs-h4);font-weight:600;letter-spacing:var(--ls-head);}
.p-cell p{font-size:var(--fs-cap);color:var(--muted);margin-top:6px;line-height:var(--lh-card);}
.p-body{padding:30px 38px 36px;}
.p-body p{font-size:var(--fs-copy);color:var(--muted);line-height:var(--lh-read);margin-bottom:14px;}
.p-body p b{color:var(--text);font-weight:600;}
.p-body p:last-of-type{margin-bottom:0;}

/* evidence table */
.evidence{margin:56px auto 0;max-width:860px;text-align:left;border:var(--rule-frame);border-radius:var(--r-md);overflow:hidden;background:var(--card);}
.ev-row{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;padding:20px 30px;font-size:var(--fs-copy-sm);}
.ev-row+.ev-row{border-top:var(--rule);}
.ev-row .r{font-weight:600;letter-spacing:var(--ls-head);}
.ev-row .r small{display:block;font-weight:400;font-size:var(--fs-ui);color:var(--faint);margin-top:2px;}
.ev-row .out{color:var(--muted);line-height:var(--lh-card);}
.ev-row .out b{color:var(--text);font-weight:600;}
@media(max-width:640px){.ev-row{grid-template-columns:1fr;gap:6px;}}

/* the name — natural history */
.namecard{margin:60px auto 0;max-width:760px;text-align:left;background:var(--card);border:var(--rule-frame);border-radius:var(--r-lg);padding:44px 48px;box-shadow:var(--shadow-card);}
@media(max-width:560px){.namecard{padding:32px 26px;}}
.namecard .lex{font-family:var(--serif);font-size:clamp(24px,3vw,31px);letter-spacing:var(--ls-head);margin-bottom:4px;}
.namecard .lex i{color:var(--muted);font-size:.62em;letter-spacing:0;font-style:italic;}
.namecard .say{font-size:var(--fs-ui-lg);color:var(--faint);margin-bottom:22px;font-family:var(--mono);}
.namecard p{font-size:var(--fs-copy-lg);color:var(--muted);line-height:var(--lh-prose);margin-bottom:16px;}
.namecard p b{color:var(--text);font-weight:600;}
.namecard p:last-child{margin-bottom:0;}

/* chips */

.req{font-size:var(--fs-base);font-weight:600;padding:12px 22px;border-radius:var(--r-pill);border:var(--rule);color:var(--muted);}
.req.new{background:var(--accent);color:var(--btn-ink);border-color:var(--accent);}

/* voices */
.voices{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:52px;text-align:left;}
@media(max-width:760px){.voices{grid-template-columns:1fr;}}
.vc{background:none;border:0;border-top:var(--rule);border-radius:0;padding:26px 6px 8px;display:flex;flex-direction:column;}
.vc blockquote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(20px,2.2vw,25px);letter-spacing:-.008em;line-height:1.3;color:var(--text);}
.vc figcaption{font-size:var(--fs-cap);color:var(--faint);margin-top:18px;}
.vc.stat blockquote{font-size:var(--fs-base);font-weight:400;color:var(--muted);line-height:var(--lh-lede);}
.vc .vnum{font-family:var(--serif);font-size:54px;font-weight:500;letter-spacing:-.02em;color:var(--forest);line-height:var(--lh-solid);margin-bottom:14px;}
@media(prefers-color-scheme:dark){.vc .vnum{color:var(--sage);}}

/* capability cards */
.caps{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:56px;text-align:left;}
@media(max-width:760px){.caps{grid-template-columns:1fr;}}
.cap-c{background:none;border:0;border-top:var(--rule);border-radius:0;padding:26px 6px 8px;}
.cap-c .ck{font-size:var(--fs-ui);color:var(--accent);font-weight:600;margin-bottom:10px;}
@media(prefers-color-scheme:dark){.cap-c .ck{color:var(--sage);}}
.cap-c h3{margin-bottom:8px;}
.cap-c p{font-size:var(--fs-copy);color:var(--muted);line-height:var(--lh-card);}

/* days the receipt gets cashed */
.days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-top:52px;text-align:left;}
.day{background:none;border:0;border-top:var(--rule);border-radius:0;padding:24px 6px 8px;}
.day .dk{font-size:var(--fs-ui);color:var(--accent);font-weight:600;margin-bottom:8px;}
@media(prefers-color-scheme:dark){.day .dk{color:var(--sage);}}
.day h3{font-size:var(--fs-h4);margin-bottom:8px;}
.day p{font-size:var(--fs-form);color:var(--muted);line-height:var(--lh-card);}

/* closing cta + drawer form */
.closing h2{margin-bottom:16px;}
.closing .lede{max-width:620px;margin:0 auto 34px;}
.quietline{margin-top:26px;font-size:var(--fs-ui);color:var(--faint);}
.overlay{position:fixed;inset:0;background:rgba(12,18,12,.45);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:200;}
.overlay.open{opacity:1;visibility:visible;}
.drawer{position:absolute;top:0;right:0;height:100%;width:min(446px,92vw);background:var(--card);box-shadow:var(--shadow-drawer);display:flex;flex-direction:column;justify-content:flex-start;justify-content:safe center;padding:48px 46px;transform:translateX(100%);transition:transform .36s cubic-bezier(.2,.85,.25,1);overflow-y:auto;text-align:left;}
.overlay.open .drawer{transform:translateX(0);}
.drawer .close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:26px;line-height:var(--lh-solid);color:var(--muted);cursor:pointer;padding:4px;min-width:44px;min-height:44px;display:grid;place-items:center;}
.drawer .close:hover{color:var(--text);}
.drawer h2{font-family:var(--serif);font-weight:500;font-size:clamp(27px,3vw,33px);letter-spacing:var(--ls-head);line-height:1.1;margin-bottom:9px;}
.drawer .lead{font-size:var(--fs-form);color:var(--muted);line-height:var(--lh-card);margin-bottom:26px;}
#done .lead{margin-bottom:0;}
.drawer form label{display:block;font-size:var(--fs-ui-lg);color:var(--text);margin-bottom:16px;}
.drawer form input,.drawer form textarea{display:block;width:100%;margin-top:8px;font-family:var(--font);font-size:var(--fs-form);color:var(--text);background:var(--alt);border:1px solid var(--faint);border-radius:var(--r-form);padding:12px 14px;resize:vertical;}
.drawer form input:not([type=radio]):focus,.drawer form textarea:focus{outline:none;background:var(--card);border-color:var(--accent);box-shadow:0 0 0 3px rgba(62,90,64,.15);}
.drawer .choice input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.drawer .choice label:has(input:focus-visible){border-color:var(--accent);}
.drawer .send{margin-top:8px;font-size:var(--fs-form);font-weight:500;font-family:var(--font);color:var(--btn-ink);background:var(--accent);border:none;border-radius:var(--r-pill);padding:13px 28px;cursor:pointer;}
.drawer .send:hover{background:var(--accent-hover);}
.drawer .formnote{font-size:var(--fs-ui-lg);color:var(--muted);margin-top:14px;line-height:var(--lh-card);}
.drawer .done-big{font-family:var(--serif);font-size:36px;font-weight:500;margin-bottom:8px;}
.drawer #done:focus{outline:none;}
.hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden;}
@media(max-width:560px){.drawer{width:100vw;padding:42px 28px;}}

/* footer */
footer.site{background:var(--alt);border-top:var(--rule);padding:56px 0 40px;font-size:var(--fs-micro);color:var(--muted);}
.foot-brand{display:flex;flex-direction:column;align-items:center;gap:14px;padding-bottom:40px;}
.foot-brand .fly{width:78px;height:auto;}
.foot-brand .word{font-size:var(--fs-cap);color:var(--text);}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-bottom:34px;border-bottom:var(--rule);}
@media(max-width:720px){.foot-cols{grid-template-columns:1fr 1fr;}}
.fcol h5{font-size:var(--fs-micro);font-weight:600;color:var(--text);margin-bottom:10px;}
.fcol a{display:block;color:var(--muted);padding:6px 0;}
.fcol a:hover{color:var(--text);text-decoration:none;}
.footnotes{padding:26px 0 18px;color:var(--faint);line-height:var(--lh-loose);max-width:820px;}
.foot-base{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:18px;border-top:var(--rule);color:var(--faint);}
.foot-base b{color:var(--muted);font-weight:500;}

/* reveals */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
.dark a:focus-visible,.dark button:focus-visible,.mmenu a:focus-visible,.mmenu button:focus-visible,.cmp.us a:focus-visible{outline-color:var(--sage);}

/* split hero — the claim beside the artifact */
.hero-split{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center;text-align:left;}
.hero-split .lede{margin:0 0 34px;}
.hero-split h1{margin:0 0 22px;font-size:clamp(40px,5.2vw,66px);}
.hero-split .cta-row{justify-content:flex-start;}
.hero-split .heromark{margin:0 0 30px;width:clamp(64px,7vw,84px);}
.hero-split .receipt-stage{margin:0;max-width:none;}
@media(max-width:900px){.hero-split{grid-template-columns:1fr;gap:48px;}.hero-split .receipt-stage{max-width:620px;}}

/* watermark — the mark, vast and faint */
.wm{position:relative;overflow:hidden;}
.wm > .wrap{position:relative;z-index:1;}
.wm .wmfly{position:absolute;right:-6%;top:50%;transform:translateY(-50%) rotate(8deg);width:min(58vw,640px);height:auto;opacity:.05;color:var(--text);pointer-events:none;z-index:0;}
.dark.wm .wmfly{color:var(--dark-text);opacity:.05;}

/* mobile menu */
.menu-btn{display:none;background:none;border:0;padding:8px;margin-left:2px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;}
.menu-btn span{display:block;width:19px;height:1.6px;background:var(--text);}
@media(max-width:860px){.menu-btn{display:flex;}}
.mmenu{position:fixed;inset:0;background:var(--dark);color:var(--dark-text);z-index:400;display:none;flex-direction:column;padding:20px 26px 40px;}
.mmenu.open{display:flex;}
.mmenu .mm-top{display:flex;align-items:center;justify-content:space-between;height:44px;margin-bottom:8vh;}
.mmenu .mm-close{background:none;border:0;color:var(--dark-muted);font-size:30px;line-height:var(--lh-solid);cursor:pointer;padding:6px;min-width:44px;min-height:44px;}
.mmenu a.mm-link{font-family:var(--serif);font-size:clamp(30px,8vw,40px);font-weight:500;letter-spacing:-.014em;color:var(--dark-text);padding:10px 0;border-bottom:1px solid rgba(246,243,236,.09);}
.mmenu a.mm-link:hover{text-decoration:none;color:var(--sage);}
.mmenu a[aria-current]{color:var(--sage);}
.mmenu .mm-cta{margin-top:auto;align-self:flex-start;}
html.mm-lock{overflow:hidden;}
.mm-brand{display:flex;align-items:center;gap:10px;}
.mm-brand .fly{width:34px;}

.word-img{height:10px;width:auto;display:block;}
.brand .word-img{transform:translateY(.5px);}
.foot-brand .word-img{height:13px;}
.heromark{display:block;}
/* footer voice */
.foot-brand .word{font-size:var(--fs-base);letter-spacing:.24em;margin-right:-.24em;}
.foot-tag{font-size:var(--fs-ui);color:var(--faint);margin-top:2px;}

/* ── interactive receipt — click a line, see what the query returns ── */
.rl.x{cursor:pointer;border-radius:var(--r-xs);}
.rl.x:hover>div:first-child{color:var(--sage);}
.rl.x>div:first-child::after{content:" ›";color:#5E6B5F;transition:transform .2s;display:inline-block;}
.rl.x.open>div:first-child::after{transform:rotate(90deg);}
.rl.x:focus-visible{outline:2px solid var(--sage);outline-offset:2px;}
.rx{grid-column:1/-1;display:none;margin:6px 0 8px;padding:12px 14px;border-left:2px solid var(--sage);background:rgba(120,165,132,.08);font-size:var(--fs-eyebrow);line-height:var(--lh-code);color:#B9C9BD;border-radius:0 8px 8px 0;}
.rl.x.open .rx{display:block;}
.rx b{color:#F6F3EC;font-weight:500;}
.rx .ok{color:var(--sage);}
.rx .q{margin-top:9px;color:var(--sage);font-size:10.3px;letter-spacing:var(--tr-1);opacity:.85;}
.receipt-hint{font-size:var(--fs-ui);color:var(--link);margin-top:12px;text-align:center;letter-spacing:.04em;}
.receipt .live.done::before{animation:none;background:var(--sage);}

/* ── industries dropdown ── */
.nav-sub{position:relative;display:flex;align-items:center;}
.nav-sub>a .caret{display:inline-block;font-size:8px;margin-left:5px;opacity:.55;transform:translateY(-1px);}
.subnav{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:14px;display:none;z-index:130;}
.nav-sub:hover .subnav,.nav-sub:focus-within .subnav{display:block;}
.subnav-in{display:flex;flex-direction:column;min-width:200px;background:var(--card);border:var(--rule-frame);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:8px;}
.subnav-in a{padding:9px 14px;border-radius:9px;font-size:var(--fs-ui-lg);white-space:nowrap;}
.subnav-in a:hover{background:var(--alt);color:var(--text);text-decoration:none;}
.subnav-in a.all{border-top:var(--rule);margin-top:6px;padding-top:11px;border-radius:0 0 9px 9px;color:var(--faint);font-size:var(--fs-row);}

/* ── Sept 2026 additions: picture-wrapped shots, drawer intent choice, five footer columns ── */
.ph picture{display:contents;}
.drawer .choice{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px;}
.drawer .choice span.cl{font-size:var(--fs-micro);letter-spacing:var(--tr-2);text-transform:uppercase;color:var(--faint);font-family:var(--mono);}
.drawer .choice label{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-note);line-height:var(--lh-snug);color:var(--text);border:var(--rule);border-radius:var(--r-choice);padding:10px 12px;cursor:pointer;margin:0;}
.drawer .choice label:has(input:checked){border-color:var(--forest);background:var(--card);}
.drawer .choice input{margin-top:3px;accent-color:var(--forest);width:auto;flex:0 0 auto;}
.drawer .choice small{display:block;color:var(--muted);font-size:var(--fs-row);margin-top:2px;}
@media(min-width:960px){.foot-cols{grid-template-columns:repeat(5,1fr);}}
.datedline{font-family:var(--mono);font-size:var(--fs-eyebrow);letter-spacing:var(--tr-1);color:var(--faint);margin-top:14px;}
.exhibits{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px;text-align:left;}
@media(max-width:760px){.exhibits{grid-template-columns:1fr;}}
.exhibit{border:var(--rule);border-radius:var(--r-lg);padding:22px 24px;background:var(--card);}
.exhibit .k{font-family:var(--mono);font-size:var(--fs-key);letter-spacing:var(--tr-5);text-transform:uppercase;color:var(--forest);margin-bottom:8px;}
@media(prefers-color-scheme:dark){.exhibit .k{color:var(--sage);}}
.exhibit h3{font-size:var(--fs-prose);font-weight:600;line-height:1.3;letter-spacing:var(--ls-head);margin-bottom:8px;}
.exhibit p{font-size:var(--fs-note);color:var(--muted);line-height:var(--lh-read);}
.exhibit .so{font-size:var(--fs-cap);color:var(--text);border-top:1px dashed var(--hairline);padding-top:9px;margin-top:10px;line-height:var(--lh-card);}
.exhibit .so b{color:var(--forest);font-weight:600;}
@media(prefers-color-scheme:dark){.exhibit .so b{color:var(--sage);}}

@media(max-width:700px){.statelist{columns:2;}}

@media(prefers-color-scheme:dark){.seats span{border-color:var(--sage);color:var(--sage);}}

/* mobile menu must scroll when the link list outgrows a small phone */
.mmenu{overflow-y:auto;-webkit-overflow-scrolling:touch;}
@media(max-height:760px){.mm-link{padding-top:9px;padding-bottom:9px;font-size:var(--fs-h4);}}

/* ── the refusal (Sep 23, 2026): switch, denial, absence, the gate you can try ── */
.rlead{font-size:var(--fs-ui-lg);line-height:var(--lh-read);color:var(--faint);margin:0 0 14px;max-width:560px;}
.rswitch{display:inline-flex;margin:0 0 16px;border:var(--rule-frame);border-radius:10px;overflow:hidden;background:var(--card);}
.rsw{appearance:none;-webkit-appearance:none;border:0;background:transparent;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);padding:0 18px;min-height:44px;cursor:pointer;}
.rsw+.rsw{border-left:1px solid var(--frame);}
.rsw[aria-pressed="true"]{background:var(--console);color:#F6F3EC;}
.rsw:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.rt .fixt,.gate .gt .fixt,.manifest .mt .fixt{font-size:9.5px;letter-spacing:var(--tr-5);text-transform:uppercase;color:#98A094;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-chip);padding:3px 7px;white-space:nowrap;}
.rt .blk{color:#D98A66;font-weight:600;letter-spacing:var(--tr-3);}
.stamp.no{color:#D98A66;border-color:#D98A66;}
.rx.bad{border-left-color:#D98A66;background:rgba(217,138,102,.10);}
.rx.bad .q{color:#D98A66;}
.rkick{font-family:var(--mono);font-size:var(--fs-row);line-height:var(--lh-prose);color:var(--text);margin:18px 0 0;text-align:center;}
.packline{margin-top:16px;text-align:center;font-size:var(--fs-note);}
.packline small{display:block;color:var(--faint);font-size:var(--fs-row);margin-top:4px;}

/* the gate you can try */
.gate{max-width:660px;margin:34px auto 0;background:var(--console);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-md);padding:26px 28px;font-family:var(--mono);text-align:left;box-shadow:var(--shadow-panel);}
.gate .gt{font-size:var(--fs-meta);letter-spacing:var(--tr-2);color:#98A094;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.gate .fields{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;}
.gate label{display:block;font-size:var(--fs-tag);letter-spacing:.13em;text-transform:uppercase;color:#98A094;margin-bottom:7px;}
.gate input{appearance:none;width:100px;background:#121A12;border:1px solid rgba(255,255,255,.15);border-radius:var(--r-sm);color:#F6F3EC;font-family:var(--mono);font-size:var(--fs-form);padding:10px 12px;min-height:44px;}
.gate input:focus-visible{outline:2px solid var(--sage);outline-offset:2px;}
.gate .dash{color:#7E877B;padding-bottom:12px;}
.gate .bar{margin-top:20px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.gate .go{appearance:none;border:1.5px solid var(--sage);background:transparent;color:var(--sage);font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--tr-4);text-transform:uppercase;padding:0 18px;min-height:44px;border-radius:var(--r-sm);cursor:pointer;}
.gate .go:hover{background:rgba(120,165,132,.12);}
.gate .go:focus-visible{outline:2px solid var(--sage);outline-offset:3px;}
.gate .go.sec{border-color:rgba(255,255,255,.22);color:#B9C9BD;}
.gate .verdict{margin-top:20px;border-top:1px solid rgba(255,255,255,.08);padding-top:18px;font-size:var(--fs-row);line-height:var(--lh-code);color:#B9C9BD;}
.gate .vrow{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:4px 0;}
.gate .vrow>span:first-child{color:#7E877B;}
.gate b{color:#F6F3EC;font-weight:500;}
.gate .no{color:#D98A66;}
.gate .ok{color:var(--sage);}
.gate .struck{text-decoration:line-through;opacity:.55;}
.gate .kick{margin-top:14px;color:#F6F3EC;}
.gate .note{margin-top:16px;font-size:var(--fs-meta);line-height:var(--lh-loose);color:#7E877B;}
.gate .hint{font-size:var(--fs-meta);color:#7E877B;margin-top:10px;}
@media(max-width:560px){.gate{padding:22px 18px;}.gate input{width:100%;}.gate .fields{gap:12px;}.gate .vrow{grid-template-columns:1fr;gap:1px;}}

/* the calibrated lists */
.callist{list-style:none;margin:16px 0 0;padding:0;}
.callist li{padding:10px 0;font-size:var(--fs-note);line-height:var(--lh-read);}
.cmp.us .callist li+li{border-top:1px solid rgba(255,255,255,.12);}
.cmp.them .callist li+li{border-top:var(--rule);}
.callist li span{display:block;margin-top:6px;font-size:var(--fs-ui);opacity:.82;}
.callist .more{font-size:var(--fs-note);}

/* the request list */
.reqlist{max-width:840px;margin:34px auto 0;text-align:left;border-top:1px solid rgba(255,255,255,.12);}
.reqlist .r{display:grid;grid-template-columns:168px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12);align-items:start;}
.reqlist .tag{font-family:var(--mono);font-size:var(--fs-tag);letter-spacing:.13em;text-transform:uppercase;padding-top:4px;}
.reqlist .tag.q{color:var(--sage);}
.reqlist .tag.d{color:var(--dark-muted);}
.reqlist .tag.n{color:#D98A66;}
.reqlist h4{font-size:var(--fs-copy-lg);font-weight:600;margin:0 0 7px;color:var(--dark-text);}
.reqlist p{margin:0;font-size:var(--fs-note);line-height:1.62;color:var(--dark-muted);}
@media(max-width:600px){.reqlist .r{grid-template-columns:1fr;gap:8px;}}

.cmp.us a:not(.btn){color:#A9C9B1;}

/* ── the build manifest (Sep 24, 2026): the capacity object ───────────────────
   Sibling of .receipt, deliberately built from the SAME primitives: .rl for the
   rows, .stamp for the seal, the .fixt chip in the header. The receipt is what
   one CHANGE leaves behind; the manifest is what one BUILD is scoped to deliver.
   A bill of materials is a document a real build genuinely produces, so its
   fixture values are replaced with real ones without redrawing anything.
   It is a DRAWING and must never be swapped for a capture — see the
   DRAWN-FIXTURE comment in index.html. The fixture chip, both band labels and
   the .mnote sit INSIDE the frame so a crop cannot strip the disclosure. */
.manifest{max-width:660px;margin:34px auto 0;background:var(--console);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-md);padding:26px 28px;font-family:var(--mono);text-align:left;box-shadow:var(--shadow-panel);}
.manifest .mt{font-size:var(--fs-meta);letter-spacing:var(--tr-2);color:#98A094;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.manifest .mh{font-size:var(--fs-tag);letter-spacing:.16em;text-transform:uppercase;color:#7E877B;margin:18px 0 8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);}
.manifest .mh:first-of-type{margin-top:0;padding-top:0;border-top:0;}
.manifest .mnote{margin-top:18px;border-top:1px solid rgba(255,255,255,.08);padding-top:14px;font-size:var(--fs-meta);line-height:var(--lh-loose);color:#7E877B;}
.manifest .mnote a{color:#A9C9B1;}
@media(max-width:560px){.manifest{padding:22px 18px;}}
