/* =========================================================
   DOSSIÊ DR · VSL + CRIATIVOS 7D/MÊS — sistema de design
   MANIFESTO (fable-web-craft · Ato 1)
   1. TESE: arquivo de inteligência de guerra × mesa de engenheiro de
      conversão — papel de arquivo com fichas numeradas e carimbos, que
      abre painéis-blueprint escuros quando o assunto vira mecânica.
   2. SENSAÇÃO: "isso foi extraído de 14 horas de gente que fatura 7
      dígitos, e cada frase tem a prova ao lado".
   3. GESTO: o chip de timestamp ▶ [hh:mm:ss] clicável em cada
      afirmação, que abre o segundo exato do vídeo-fonte.
   4. ANTI-REFERÊNCIAS: dashboard dark de SaaS · slide de curso com
      ícone 3D · landing de guru com gradiente roxo.
   5. APOSTA: papel claro num nicho onde tudo é dark; display serifado
      itálico gigante; blueprints escuros como contraponto de ritmo.
   ========================================================= */

:root{
  /* COR — papel de arquivo (quente) e tinta */
  --paper:#F1EBDF;        /* papel de arquivo envelhecido */
  --paper-2:#F9F5EC;      /* palco elevado */
  --paper-3:#E4DCCB;      /* rebaixado / bordas */
  --paper-4:#D6CCB6;      /* fio forte */
  --ink:#1B1814;          /* tinta — nunca preto puro */
  --ink-2:#4A443C;        /* secundário, 7:1 no papel */
  --ink-3:#736B5F;        /* labels, 4.6:1 */
  --stamp:#C8321F;        /* carimbo vermelho — acento raro */
  --stamp-ink:#FBF7F0;
  --pen:#1E3A5F;          /* caneta azul carbono — estrutura e links */
  --pen-2:#3B5C86;
  --good:#2E7D4F; --warn:#B07A0C; --bad:#B03A2E;
  /* BLUEPRINT — painel técnico escuro */
  --bp:#111A22; --bp-2:#182430; --bp-3:#213142;
  --bp-ink:#EAE3D4; --bp-ink-2:#B7B0A2; --bp-line:#3E5A75; --bp-glow:#8CC5F0; --bp-amber:#E8A33D;
  /* TIPOGRAFIA — Fraunces (display editorial) · IBM Plex Sans · IBM Plex Mono (arquivo) */
  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --font-body:'IBM Plex Sans','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
  --text-hero:clamp(2.6rem,7.2vw,5.4rem);
  --text-h2:clamp(1.9rem,4vw,3rem);
  --text-h3:clamp(1.25rem,2.2vw,1.6rem);
  --text-body:1.0625rem; --text-small:.9375rem; --text-detail:.8125rem;
  /* ESPAÇO */
  --sp-1:.5rem;--sp-2:1rem;--sp-3:2rem;--sp-4:3.5rem;--sp-5:6rem;--sp-6:9rem;
  --w:1180px; --w-narrow:780px;
  /* MOVIMENTO — 1 easing de assinatura */
  --ease:cubic-bezier(.16,1,.3,1); --dur-micro:180ms; --dur-reveal:650ms;
  /* MATÉRIA */
  --shadow-raised:0 1px 2px rgba(60,45,25,.14),0 12px 32px -12px rgba(60,45,25,.28);
  --shadow-float:0 2px 4px rgba(60,45,25,.12),0 24px 60px -20px rgba(60,45,25,.35);
  --radius-a:14px; --radius-b:4px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.6;font-feature-settings:"ss01","cv11";overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:var(--stamp);color:var(--stamp-ink)}
:focus-visible{outline:2px solid var(--stamp);outline-offset:3px;border-radius:var(--radius-b)}
a{color:var(--pen);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--stamp)}
img,svg{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.015em}
h1{font-size:var(--text-hero);font-variation-settings:"opsz" 144}
h2{font-size:var(--text-h2);font-variation-settings:"opsz" 96}
h3{font-size:var(--text-h3)}
h4{font-family:var(--font-body);font-weight:600;font-size:1.05rem;letter-spacing:0}
p{margin:0 0 1em;text-wrap:pretty}
p:last-child{margin-bottom:0}
em{font-style:italic}
strong{font-weight:600}
small,.small{font-size:var(--text-small)}
.mono,.detail{font-family:var(--font-mono);font-size:var(--text-detail);letter-spacing:.02em}
.num{font-variant-numeric:tabular-nums}
.container{width:min(var(--w),calc(100% - 2*clamp(1rem,4vw,2.5rem)));margin-inline:auto;position:relative;z-index:1}
.narrow{max-width:var(--w-narrow)}
.muted{color:var(--ink-2)}
.label{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3)}
hr.fio{border:0;border-top:1px solid var(--paper-4);margin:var(--sp-3) 0}
.hide{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- progress + topbar + nav ---------- */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--stamp);z-index:60;transition:width 80ms linear}
.topbar{background:var(--ink);color:var(--paper-2);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.55rem 0;position:relative;z-index:2;overflow:hidden}
.topbar span{min-width:0;overflow-wrap:anywhere}
.topbar .container{display:flex;gap:1.5rem;justify-content:space-between;align-items:center;flex-wrap:wrap}
.topbar b{color:var(--bp-amber);font-weight:500}
.nav{position:fixed;left:50%;transform:translateX(-50%);bottom:1.1rem;z-index:55;display:flex;gap:.15rem;padding:.35rem;border-radius:999px;background:rgba(27,24,20,.9);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 10px 40px -10px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);max-width:calc(100% - 1.5rem);overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{color:var(--paper-2);text-decoration:none;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;padding:.5rem .8rem;border-radius:999px;white-space:nowrap;transition:background var(--dur-micro) var(--ease),color var(--dur-micro) var(--ease)}
.nav a:hover,.nav a.on{background:var(--stamp);color:var(--stamp-ink)}
.nav .nav-more{position:relative}
.nav-toggle{display:none}
@media (max-width:1100px){
  .nav{left:auto;right:1rem;bottom:1rem;transform:none;flex-direction:column;padding:.4rem;border-radius:var(--radius-a);max-height:70vh;overflow:auto}
  .nav a{display:none}
  .nav.open a{display:block}
  .nav-toggle{display:block;background:var(--stamp);color:var(--stamp-ink);border:0;border-radius:999px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;padding:.7rem 1rem;cursor:pointer}
}
.back-top{position:fixed;left:1rem;bottom:1rem;z-index:54;width:44px;height:44px;border-radius:50%;border:1px solid var(--paper-4);background:var(--paper-2);color:var(--ink);cursor:pointer;display:grid;place-items:center;opacity:0;transform:translateY(8px);transition:opacity var(--dur-micro) var(--ease),transform var(--dur-micro) var(--ease);box-shadow:var(--shadow-raised)}
.back-top.show{opacity:1;transform:none}
.back-top svg{width:16px;height:16px}

/* ---------- hero ---------- */
.hero{position:relative;padding:clamp(3.5rem,9vw,7rem) 0 clamp(3rem,7vw,5rem);overflow:hidden;z-index:1}
.hero .container{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,5rem);align-items:end}
.hero .kicker{display:flex;gap:.75rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}
.stamp{white-space:nowrap}
@media (max-width:700px){.topbar span:last-child{display:none}}
.stamp{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stamp);border:1.5px solid var(--stamp);padding:.3rem .6rem;border-radius:var(--radius-b);transform:rotate(-1.5deg);background:rgba(255,255,255,.35)}
.stamp::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--stamp)}
.hero h1{margin:0 0 1.25rem}
.hero h1 .it{font-style:italic;font-weight:300;color:var(--stamp)}
.hero h1 .u{position:relative;white-space:nowrap}
.hero h1 .u svg{position:absolute;left:0;bottom:-.08em;width:100%;height:.28em;overflow:visible}
.hero h1 .u svg path{stroke:var(--stamp);stroke-width:5;fill:none;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 1.1s var(--ease) .7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hero .lede{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--ink-2);max-width:56ch;margin-bottom:1.75rem}
.hero .cta-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.hero-meta{display:grid;gap:.6rem}
.src{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;padding:.8rem 1rem;background:var(--paper-2);border:1px solid var(--paper-4);border-radius:var(--radius-a);text-decoration:none;color:var(--ink);transition:transform var(--dur-micro) var(--ease),box-shadow var(--dur-micro) var(--ease)}
.src:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised);color:var(--ink)}
.src .n{font-family:var(--font-display);font-size:1.6rem;font-weight:300;font-style:italic;color:var(--stamp);line-height:1}
.src .t{display:block;font-weight:600;font-size:.95rem;line-height:1.25}
.src .s{display:block;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-3);margin-top:.2rem}
.src .d{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-2);white-space:nowrap}
.hero .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:clamp(2rem,5vw,3.5rem);grid-column:1/-1}
.hero-big{position:absolute;right:-2vw;top:-1rem;font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(10rem,26vw,22rem);line-height:1;color:transparent;-webkit-text-stroke:1px var(--paper-4);pointer-events:none;user-select:none;z-index:0}
.h-cascade>*{opacity:0;transform:translateY(14px);animation:rise .75s var(--ease) forwards}
.h-cascade>*:nth-child(1){animation-delay:.05s}.h-cascade>*:nth-child(2){animation-delay:.15s}.h-cascade>*:nth-child(3){animation-delay:.25s}.h-cascade>*:nth-child(4){animation-delay:.35s}.h-cascade>*:nth-child(5){animation-delay:.45s}.h-cascade>*:nth-child(6){animation-delay:.55s}
@keyframes rise{to{opacity:1;transform:none}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.25rem;border-radius:var(--radius-b);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:transform var(--dur-micro) var(--ease),box-shadow var(--dur-micro) var(--ease),background var(--dur-micro) var(--ease),color var(--dur-micro) var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised);color:var(--ink)}
.btn.primary{background:var(--stamp);border-color:var(--stamp);color:var(--stamp-ink)}
.btn.primary:hover{background:#B22A18;color:var(--stamp-ink);box-shadow:0 8px 24px -8px rgba(200,50,31,.6)}
.btn.ghost{border-color:var(--paper-4)}
.btn svg{width:14px;height:14px}
.btn.sm{padding:.5rem .8rem;font-size:.7rem}

/* ---------- KPI tiles ---------- */
.kpi{background:var(--paper-2);border:1px solid var(--paper-4);border-radius:var(--radius-a);padding:1rem 1.1rem;position:relative;overflow:hidden}
.kpi::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--stamp)}
.kpi .v{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.kpi .v sup{font-size:.45em;vertical-align:top;top:.35em;position:relative;color:var(--stamp)}
.kpi .l{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-top:.45rem}
.kpi .c{font-size:.85rem;color:var(--ink-2);margin-top:.35rem;line-height:1.35}
.blueprint .kpi{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .kpi .l{color:var(--bp-ink-2)}.blueprint .kpi .c{color:var(--bp-ink-2)}
.blueprint .kpi::after{background:var(--bp-amber)}

/* ---------- sections ---------- */
.section{padding:clamp(3.5rem,8vw,6.5rem) 0;position:relative;z-index:1;scroll-margin-top:1rem}
.section+.section{border-top:1px solid var(--paper-4)}
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,3vw,2.5rem);align-items:start;margin-bottom:clamp(2rem,5vw,3.5rem)}
.sec-num{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(4rem,9vw,7.5rem);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--stamp);letter-spacing:-.04em;margin-top:.1em}
.sec-kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stamp);margin-bottom:.8rem;display:flex;gap:.6rem;align-items:center}
.sec-kicker::before{content:"";width:22px;height:1.5px;background:var(--stamp)}
.sec-lede{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-2);max-width:62ch;margin-top:1rem}
.sec-src{margin-top:.9rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.blueprint{background:var(--bp);color:var(--bp-ink)}
.blueprint+.blueprint{border-top-color:var(--bp-3)}
.blueprint .sec-num{-webkit-text-stroke-color:var(--bp-amber)}
.blueprint .sec-kicker{color:var(--bp-amber)}.blueprint .sec-kicker::before{background:var(--bp-amber)}
.blueprint .sec-lede,.blueprint .muted{color:var(--bp-ink-2)}
.blueprint a{color:var(--bp-glow)}
.blueprint .label{color:var(--bp-ink-2)}
.blueprint hr.fio{border-top-color:var(--bp-3)}
.blueprint::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(140,197,240,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(140,197,240,.06) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse at 30% 20%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 30% 20%,#000 20%,transparent 75%)}
.section.section--tight{padding-top:clamp(2rem,5vw,3.5rem)}

/* ---------- grids ---------- */
.grid{display:grid;gap:1.1rem}
.grid>*,.calc>*,.compare>*{min-width:0}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.g57{grid-template-columns:5fr 7fr}.g75{grid-template-columns:7fr 5fr}.g48{grid-template-columns:4fr 8fr}
.span2{grid-column:span 2}
.gap-lg{gap:2rem}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}.g57,.g75,.g48{grid-template-columns:1fr}.hero .container{grid-template-columns:1fr}.hero .kpis{grid-template-columns:repeat(2,1fr)}.sec-head{grid-template-columns:1fr}.sec-num{font-size:3.6rem}}
@media (max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}.span2{grid-column:auto}.hero .kpis{grid-template-columns:1fr 1fr}}

/* ---------- ficha (card) ---------- */
.ficha{background:var(--paper-2);border:1px solid var(--paper-4);border-radius:var(--radius-a);padding:1.35rem 1.4rem;position:relative;transition:transform var(--dur-micro) var(--ease),box-shadow var(--dur-micro) var(--ease)}
.ficha:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised)}
.ficha .n{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stamp);margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}
.ficha h3,.ficha h4{margin-bottom:.55rem}
.ficha p{font-size:var(--text-small);color:var(--ink-2)}
.ficha ul,.ficha ol{margin:.4rem 0 0;padding-left:1.15rem;font-size:var(--text-small);color:var(--ink-2)}
.ficha li{margin:.25rem 0}
.ficha li::marker{color:var(--stamp);font-family:var(--font-mono);font-size:.8em}
.ficha--stamp{border-left:4px solid var(--stamp)}
.ficha--pen{border-left:4px solid var(--pen)}
.ficha--good{border-left:4px solid var(--good)}
.ficha--bad{border-left:4px solid var(--bad)}
.ficha--flat:hover{transform:none;box-shadow:none}
.ficha--key{--a:200deg;border:1px solid transparent;background:linear-gradient(var(--paper-2),var(--paper-2)) padding-box,conic-gradient(from var(--a,0deg),var(--paper-4) 0 62%,var(--stamp) 78%,var(--paper-4) 92%) border-box}
.ficha--key:hover{animation:beam 3s linear infinite}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes beam{to{--a:360deg}}
.blueprint .ficha{background:var(--bp-2);border-color:var(--bp-3);color:var(--bp-ink)}
.blueprint .ficha p,.blueprint .ficha ul,.blueprint .ficha ol{color:var(--bp-ink-2)}
.blueprint .ficha .n{color:var(--bp-amber)}
.blueprint .ficha li::marker{color:var(--bp-amber)}
.blueprint .ficha--key{background:linear-gradient(var(--bp-2),var(--bp-2)) padding-box,conic-gradient(from var(--a,0deg),var(--bp-3) 0 70%,var(--bp-amber) 85%,var(--bp-3) 100%) border-box}
.ficha .who{position:absolute;top:1rem;right:1rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--radius-b);background:var(--paper-3);color:var(--ink-2)}
.who.alef{background:#E6D9C4}.who.matheus{background:#D5DEE9}.who.hanah{background:#E9D3D0}.who.mse{background:#D8E4DA}
.blueprint .ficha .who{background:var(--bp-3);color:var(--bp-ink)}

/* ---------- timestamp chip (GESTO) ---------- */
.ts{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;color:var(--ink-2);background:rgba(255,255,255,.55);border:1px solid var(--paper-4);border-radius:var(--radius-b);padding:.12rem .45rem .12rem .4rem;text-decoration:none;vertical-align:middle;line-height:1.4;white-space:nowrap;transition:border-color var(--dur-micro) var(--ease),color var(--dur-micro) var(--ease),transform var(--dur-micro) var(--ease)}
.ts::before{content:"";width:0;height:0;border-left:6px solid var(--stamp);border-top:4px solid transparent;border-bottom:4px solid transparent}
.ts:hover{border-color:var(--stamp);color:var(--stamp);transform:translateY(-1px)}
.ts.a::after{content:"ALEF";}.ts.m::after{content:"MAT";}.ts.c::after{content:"CRIA";}.ts.h::after{content:"HAN";}
.ts::after{font-size:.58rem;letter-spacing:.1em;color:var(--ink-3);padding-left:.35rem;border-left:1px solid var(--paper-4)}
.blueprint .ts{background:rgba(255,255,255,.06);border-color:var(--bp-3);color:var(--bp-ink-2)}
.blueprint .ts::after{color:var(--bp-ink-2);border-left-color:var(--bp-3)}
.blueprint .ts:hover{border-color:var(--bp-amber);color:var(--bp-amber)}
.blueprint .ts::before{border-left-color:var(--bp-amber)}

/* ---------- leis / regras / anti ---------- */
.leis{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}
.lei{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:.9rem 1rem;background:var(--paper-2);border:1px solid var(--paper-4);border-radius:var(--radius-a);align-items:start;font-size:var(--text-small)}
.lei .k{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.5rem;color:var(--stamp);line-height:1;min-width:2.2ch;text-align:right;font-variant-numeric:tabular-nums}
.lei b{display:block;font-weight:600;color:var(--ink);margin-bottom:.15rem}
.lei span{color:var(--ink-2)}
.lei.bad .k{color:var(--bad)}
.blueprint .lei{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .lei b{color:var(--bp-ink)}.blueprint .lei span{color:var(--bp-ink-2)}
.blueprint .lei .k{color:var(--bp-amber)}
@media (max-width:760px){.leis{grid-template-columns:1fr}}
.callout{padding:1.1rem 1.25rem;border-radius:var(--radius-a);border:1px solid var(--paper-4);background:var(--paper-2);display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;font-size:var(--text-small)}
.callout .ico{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1.5px solid currentColor;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em}
.callout.rule{color:var(--pen)}.callout.warn{color:var(--warn)}.callout.stop{color:var(--bad)}.callout.go{color:var(--good)}
.callout .body{color:var(--ink-2)}
.callout .body b{color:var(--ink);display:block;margin-bottom:.2rem}
.blueprint .callout{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .callout .body{color:var(--bp-ink-2)}.blueprint .callout .body b{color:var(--bp-ink)}

/* ---------- tables ---------- */
.tbl-wrap{overflow-x:auto;border:1px solid var(--paper-4);border-radius:var(--radius-a);background:var(--paper-2)}
table.tbl{width:100%;border-collapse:collapse;font-size:var(--text-small);min-width:640px}
.tbl th{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--paper-4);background:rgba(0,0,0,.02)}
.tbl td{padding:.75rem 1rem;border-bottom:1px solid var(--paper-3);vertical-align:top;color:var(--ink-2)}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{color:var(--ink);font-weight:500}
.tbl .num{font-family:var(--font-mono);font-size:.85rem;color:var(--ink)}
.tbl .hi{color:var(--stamp);font-weight:600}
.blueprint .tbl-wrap{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .tbl th{color:var(--bp-ink-2);border-bottom-color:var(--bp-3);background:rgba(255,255,255,.03)}
.blueprint .tbl td{border-bottom-color:var(--bp-3);color:var(--bp-ink-2)}
.blueprint .tbl td:first-child,.blueprint .tbl .num{color:var(--bp-ink)}
.blueprint .tbl .hi{color:var(--bp-amber)}

/* ---------- timeline ---------- */
.tl{position:relative;padding-left:2rem}
.tl::before{content:"";position:absolute;left:.55rem;top:.4rem;bottom:.4rem;width:2px;background:linear-gradient(var(--stamp),var(--paper-4))}
.tl-item{position:relative;padding:0 0 1.6rem 1rem}
.tl-item::before{content:"";position:absolute;left:-1.95rem;top:.35rem;width:14px;height:14px;border-radius:50%;background:var(--paper-2);border:3px solid var(--stamp)}
.tl-item .when{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stamp);margin-bottom:.25rem}
.tl-item h4{margin-bottom:.3rem}
.tl-item p,.tl-item ul{font-size:var(--text-small);color:var(--ink-2);margin:0}
.tl-item ul{padding-left:1.1rem;margin-top:.3rem}
.blueprint .tl::before{background:linear-gradient(var(--bp-amber),var(--bp-3))}
.blueprint .tl-item::before{background:var(--bp);border-color:var(--bp-amber)}
.blueprint .tl-item .when{color:var(--bp-amber)}
.blueprint .tl-item p,.blueprint .tl-item ul{color:var(--bp-ink-2)}

/* ---------- flow (horizontal steps) ---------- */
.flow{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.5rem;align-items:stretch;overflow-x:auto;padding-bottom:.5rem}
.flow .st{position:relative;background:var(--paper-2);border:1px solid var(--paper-4);border-radius:var(--radius-a);padding:1rem;min-width:150px;font-size:.9rem}
.flow .st .k{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stamp);margin-bottom:.35rem}
.flow .st b{display:block;margin-bottom:.25rem}
.flow .st span{color:var(--ink-2);font-size:.85rem}
.flow .st:not(:last-child)::after{content:"";position:absolute;right:-.62rem;top:50%;width:0;height:0;border-left:8px solid var(--stamp);border-top:6px solid transparent;border-bottom:6px solid transparent;transform:translateY(-50%);z-index:2}
.flow--wrap{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}
.flow--wrap .st{min-width:0}
.flow--wrap .st::after{display:none}
.who+.n{padding-right:5.5rem}
.blueprint .flow .st{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .flow .st .k{color:var(--bp-amber)}.blueprint .flow .st span{color:var(--bp-ink-2)}
.blueprint .flow .st:not(:last-child)::after{border-left-color:var(--bp-amber)}
@media (max-width:900px){.flow{grid-auto-flow:row;grid-auto-columns:auto}.flow .st:not(:last-child)::after{right:auto;left:1.2rem;top:auto;bottom:-.65rem;transform:none;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--stamp);border-bottom:0}.blueprint .flow .st:not(:last-child)::after{border-top-color:var(--bp-amber);border-left-color:transparent}}

/* ---------- tabs ---------- */
.tabs{border:1px solid var(--paper-4);border-radius:var(--radius-a);background:var(--paper-2);overflow:hidden}
.tab-bar{display:flex;gap:.25rem;padding:.4rem;border-bottom:1px solid var(--paper-4);background:rgba(0,0,0,.025);overflow-x:auto;position:relative}
.tab-btn{flex:1;min-width:max-content;padding:.6rem .9rem;border:0;background:transparent;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);border-radius:var(--radius-b);cursor:pointer;transition:background var(--dur-micro) var(--ease),color var(--dur-micro) var(--ease)}
.tab-btn:hover{color:var(--ink)}
.tab-btn.on{background:var(--ink);color:var(--paper-2)}
.tab-panel{display:none;padding:1.4rem}
.tab-panel.on{display:block;animation:fade .35s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.blueprint .tabs{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .tab-bar{border-bottom-color:var(--bp-3);background:rgba(255,255,255,.03)}
.blueprint .tab-btn{color:var(--bp-ink-2)}.blueprint .tab-btn:hover{color:var(--bp-ink)}
.blueprint .tab-btn.on{background:var(--bp-amber);color:var(--bp)}

/* ---------- accordion ---------- */
.acc{border:1px solid var(--paper-4);border-radius:var(--radius-a);background:var(--paper-2);overflow:hidden}
.acc details{border-bottom:1px solid var(--paper-4)}
.acc details:last-child{border-bottom:0}
.acc summary{list-style:none;cursor:pointer;padding:1rem 1.2rem;display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;font-weight:600;font-size:.98rem;transition:background var(--dur-micro) var(--ease)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{background:rgba(0,0,0,.025)}
.acc summary .k{font-family:var(--font-mono);font-size:.7rem;color:var(--stamp);letter-spacing:.1em}
.acc summary .pm{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink-3);position:relative;transition:transform var(--dur-micro) var(--ease)}
.acc summary .pm::before,.acc summary .pm::after{content:"";position:absolute;background:var(--ink);left:50%;top:50%;transform:translate(-50%,-50%)}
.acc summary .pm::before{width:10px;height:1.5px}.acc summary .pm::after{width:1.5px;height:10px;transition:opacity var(--dur-micro)}
.acc details[open] summary .pm{transform:rotate(45deg)}
.acc .body{padding:0 1.2rem 1.2rem 3rem;font-size:var(--text-small);color:var(--ink-2)}
.acc .body ul{padding-left:1.1rem;margin:.3rem 0}
.blueprint .acc{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .acc details{border-bottom-color:var(--bp-3)}
.blueprint .acc summary:hover{background:rgba(255,255,255,.03)}
.blueprint .acc summary .k{color:var(--bp-amber)}
.blueprint .acc summary .pm{border-color:var(--bp-ink-2)}.blueprint .acc summary .pm::before,.blueprint .acc summary .pm::after{background:var(--bp-ink)}
.blueprint .acc .body{color:var(--bp-ink-2)}

/* ---------- checklist + score ---------- */
.check{border:1px solid var(--paper-4);border-radius:var(--radius-a);background:var(--paper-2);overflow:hidden}
.check .head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--paper-4);flex-wrap:wrap}
.check .head h4{margin:0}
.check .score{display:flex;align-items:center;gap:.8rem;font-family:var(--font-mono);font-size:.78rem}
.check .bar{width:160px;height:8px;border-radius:999px;background:var(--paper-3);overflow:hidden}
.check .bar i{display:block;height:100%;width:0;background:var(--stamp);transition:width .5s var(--ease)}
.check .bar.good i{background:var(--good)}
.check label{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:.75rem 1.2rem;border-bottom:1px solid var(--paper-3);cursor:pointer;font-size:var(--text-small);color:var(--ink-2);align-items:start;transition:background var(--dur-micro) var(--ease)}
.check label:last-child{border-bottom:0}
.check label:hover{background:rgba(0,0,0,.02)}
.check input{appearance:none;width:18px;height:18px;border:1.5px solid var(--ink-3);border-radius:var(--radius-b);margin-top:.15rem;position:relative;cursor:pointer;flex:none;background:var(--paper-2)}
.check input:checked{background:var(--stamp);border-color:var(--stamp)}
.check input:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid var(--stamp-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.check label b{color:var(--ink);font-weight:600}
.check label input:checked~span{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--paper-4)}
.check .foot{padding:.7rem 1.2rem;font-family:var(--font-mono);font-size:.68rem;color:var(--ink-3);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--paper-4)}
.check .foot button{background:none;border:0;color:var(--stamp);font-family:inherit;font-size:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ws{display:inline-flex;gap:.4rem;align-items:center;font-family:var(--font-mono);font-size:.7rem}
.ws input{font-family:var(--font-mono);font-size:.75rem;padding:.35rem .5rem;border:1px solid var(--paper-4);border-radius:var(--radius-b);background:var(--paper-2);color:var(--ink);width:140px}
.blueprint .check{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .check .head,.blueprint .check .foot{border-color:var(--bp-3)}
.blueprint .check label{border-bottom-color:var(--bp-3);color:var(--bp-ink-2)}
.blueprint .check label b{color:var(--bp-ink)}
.blueprint .check input{background:var(--bp-2);border-color:var(--bp-ink-2)}
.blueprint .check .bar{background:var(--bp-3)}

/* ---------- prompt / copy box ---------- */
.prompt{border:1px solid var(--paper-4);border-radius:var(--radius-a);background:var(--ink);color:var(--paper-2);overflow:hidden;position:relative}
.prompt .ph{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bp-ink-2)}
.prompt .ph b{color:var(--bp-amber);font-weight:500}
.prompt pre{margin:0;padding:1.1rem 1.2rem;font-family:var(--font-mono);font-size:.8rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:420px;overflow:auto;color:var(--bp-ink)}
.prompt.open pre{max-height:none}
.copy{background:var(--bp-amber);color:var(--bp);border:0;border-radius:var(--radius-b);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.45rem .7rem;cursor:pointer;transition:transform var(--dur-micro) var(--ease),background var(--dur-micro) var(--ease)}
.copy:hover{transform:translateY(-1px);background:#F2B85A}
.copy.ok{background:var(--good);color:#fff}
.prompt .expand{position:absolute;right:1rem;bottom:.6rem;background:rgba(0,0,0,.6);color:var(--bp-ink);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-b);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .6rem;cursor:pointer}

/* ---------- quotes ---------- */
.qwall{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.q{background:var(--paper-2);border:1px solid var(--paper-4);border-radius:var(--radius-a);padding:1.25rem 1.3rem 1rem;position:relative;display:flex;flex-direction:column;gap:.8rem}
.q::before{content:"“";position:absolute;left:.9rem;top:-.4rem;font-family:var(--font-display);font-size:4rem;line-height:1;color:var(--stamp);opacity:.35}
.q p{font-family:var(--font-display);font-size:1.15rem;font-weight:400;font-style:italic;line-height:1.35;color:var(--ink);margin:0;padding-top:.6rem}
.q .by{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:auto}
.blueprint .q{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .q p{color:var(--bp-ink)}.blueprint .q::before{color:var(--bp-amber)}.blueprint .q .by{color:var(--bp-ink-2)}
@media (max-width:900px){.qwall{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.qwall{grid-template-columns:1fr}}
.pull{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.2;color:var(--ink);border-left:4px solid var(--stamp);padding:.4rem 0 .4rem 1.4rem;margin:2rem 0;text-wrap:balance}
.pull small{display:block;font-family:var(--font-mono);font-style:normal;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:.7rem}
.blueprint .pull{color:var(--bp-ink);border-left-color:var(--bp-amber)}

/* ---------- compare ---------- */
.compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--paper-4);border-radius:var(--radius-a);overflow:hidden;background:var(--paper-2)}
.compare>div{padding:1.4rem}
.compare>div:first-child{border-right:1px solid var(--paper-4);background:rgba(0,0,0,.025)}
.compare h4{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.compare h4 .dot{width:10px;height:10px;border-radius:50%;background:var(--ink-3)}
.compare>div:last-child h4 .dot{background:var(--stamp)}
.compare ul{padding-left:1.1rem;margin:0;font-size:var(--text-small);color:var(--ink-2)}
.compare li{margin:.35rem 0}
@media (max-width:760px){.compare{grid-template-columns:1fr}.compare>div:first-child{border-right:0;border-bottom:1px solid var(--paper-4)}}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--paper-4);border-bottom:1px solid var(--paper-4);background:var(--paper-2);padding:.75rem 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:flex;gap:2.5rem;width:max-content;animation:mq 46s linear infinite;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.marquee .track span::before{content:"◆";color:var(--stamp);margin-right:1.2rem;font-size:.6rem;vertical-align:middle}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none}}

/* ---------- diagrams ---------- */
.diagram{border:1px solid var(--paper-4);border-radius:var(--radius-a);background:var(--paper-2);padding:1.25rem;overflow-x:auto}
.diagram svg{width:100%;height:auto;min-width:0;font-family:var(--font-body)}
@media (max-width:700px){.diagram svg{min-width:640px}.diagram svg.wide{min-width:1000px}}
.diagram .cap{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:.8rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.blueprint .diagram{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .diagram .cap{color:var(--bp-ink-2)}
.chart{position:relative}
.chart .tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--paper-2);font-family:var(--font-mono);font-size:.72rem;padding:.4rem .6rem;border-radius:var(--radius-b);opacity:0;transform:translate(-50%,-120%);transition:opacity var(--dur-micro);white-space:nowrap;z-index:3}
.chart .tip.on{opacity:1}
.legend{display:flex;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;color:var(--ink-2);margin-top:.6rem}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:.4rem}
.blueprint .legend{color:var(--bp-ink-2)}

/* ---------- calc ---------- */
.calc{display:grid;grid-template-columns:5fr 7fr;gap:1.4rem}
.calc .in{display:grid;gap:.9rem}
.field{display:grid;gap:.35rem}
.field label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.field input,.field select{font-family:var(--font-mono);font-size:.95rem;padding:.6rem .7rem;border:1px solid var(--paper-4);border-radius:var(--radius-b);background:var(--paper-2);color:var(--ink);width:100%}
.field input:focus,.field select:focus{border-color:var(--stamp);outline:0;box-shadow:0 0 0 3px rgba(200,50,31,.15)}
.field .hint{font-size:.78rem;color:var(--ink-3)}
.diag{display:grid;gap:.6rem}
.diag .row{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:.7rem .9rem;border:1px solid var(--paper-4);border-radius:var(--radius-b);background:var(--paper-2);font-size:.9rem}
.diag .row .v{font-family:var(--font-mono);font-size:.85rem}
.diag .pill{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .55rem;border-radius:999px;border:1px solid currentColor}
.pill.good{color:var(--good)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--bad)}.pill.na{color:var(--ink-3)}
.diag .verdict{padding:1rem 1.1rem;border-radius:var(--radius-a);border-left:4px solid var(--stamp);background:var(--paper-2);font-size:var(--text-small);color:var(--ink-2)}
.diag .verdict b{color:var(--ink)}
.blueprint .field input,.blueprint .field select{background:var(--bp);border-color:var(--bp-3);color:var(--bp-ink)}
.blueprint .diag .row,.blueprint .diag .verdict{background:var(--bp-2);border-color:var(--bp-3);color:var(--bp-ink-2)}
.blueprint .diag .verdict b{color:var(--bp-ink)}
@media (max-width:860px){.calc{grid-template-columns:1fr}}
.slider{display:grid;gap:.35rem}
.slider .top{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-2)}
.slider input[type=range]{width:100%;accent-color:var(--stamp)}

/* ---------- steps (numbered blocks) ---------- */
.steps{counter-reset:s;display:grid;gap:.8rem}
.step{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1rem 1.1rem;background:var(--paper-2);border:1px solid var(--paper-4);border-radius:var(--radius-a);align-items:start}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.9rem;line-height:1;color:var(--stamp);min-width:2.2ch}
.step b{display:block;margin-bottom:.2rem}
.step span,.step p{font-size:var(--text-small);color:var(--ink-2)}
.blueprint .step{background:var(--bp-2);border-color:var(--bp-3)}
.blueprint .step::before{color:var(--bp-amber)}
.blueprint .step span,.blueprint .step p{color:var(--bp-ink-2)}

/* ---------- vsl bar (anatomy) ---------- */
.vslbar{display:flex;height:64px;border-radius:var(--radius-b);overflow:hidden;border:1px solid var(--paper-4);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}
.vslbar div{display:flex;align-items:center;justify-content:center;text-align:center;padding:0 .3rem;color:var(--paper-2);position:relative;border-right:1px solid rgba(255,255,255,.25)}
.vslbar div:last-child{border-right:0}
.vslbar .b1{background:#C8321F}.vslbar .b2{background:#8F4A2B}.vslbar .b3{background:#1E3A5F}.vslbar .b4{background:#2E5F7A}.vslbar .b5{background:#2E7D4F}
.vslbar div small{position:absolute;bottom:2px;left:4px;font-size:.58rem;opacity:.85;letter-spacing:0;text-transform:none}
.ticks{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.66rem;color:var(--ink-3);margin-top:.35rem}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.h-cascade>*{animation:none;opacity:1;transform:none}.hero h1 .u svg path{animation:none;stroke-dashoffset:0}}

/* ---------- toc / index ---------- */
.toc{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.toc a{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;padding:.9rem 1rem;background:var(--paper-2);border:1px solid var(--paper-4);border-radius:var(--radius-a);text-decoration:none;color:var(--ink);transition:transform var(--dur-micro) var(--ease),box-shadow var(--dur-micro) var(--ease)}
.toc a:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised);color:var(--ink)}
.toc a .k{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.5rem;color:var(--stamp);line-height:1}
.toc a b{display:block;font-size:.95rem;line-height:1.25}
.toc a span{display:block;font-size:.8rem;color:var(--ink-3);margin-top:.2rem}
@media (max-width:900px){.toc{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.toc{grid-template-columns:1fr}}

/* ---------- misc ---------- */
.tag{display:inline-block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--radius-b);border:1px solid var(--paper-4);color:var(--ink-2);background:var(--paper-2)}
.tag.red{border-color:var(--stamp);color:var(--stamp)}
.tag.pen{border-color:var(--pen);color:var(--pen)}
.blueprint .tag{border-color:var(--bp-3);color:var(--bp-ink-2);background:var(--bp-2)}
.blueprint .tag.red{border-color:var(--bp-amber);color:var(--bp-amber)}
.hl{background:linear-gradient(transparent 55%,rgba(200,50,31,.22) 55%);padding:0 .1em}
.blueprint .hl{background:linear-gradient(transparent 55%,rgba(232,163,61,.3) 55%)}
.two-col{columns:2;column-gap:2.5rem}
.two-col>*{break-inside:avoid}
@media (max-width:760px){.two-col{columns:1}}
.footer{padding:3rem 0 6rem;border-top:1px solid var(--paper-4);font-size:.85rem;color:var(--ink-2)}
.footer .container{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media (max-width:760px){.footer .container{grid-template-columns:1fr}}
.toast{position:fixed;left:50%;bottom:5rem;transform:translate(-50%,10px);background:var(--ink);color:var(--paper-2);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;padding:.6rem 1rem;border-radius:var(--radius-b);opacity:0;transition:opacity var(--dur-micro),transform var(--dur-micro);z-index:70;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- print ---------- */
@media print{
  body::before,.progress,.nav,.back-top,.topbar,.toast{display:none!important}
  .section{padding:1.5rem 0;break-inside:avoid-page}
  .blueprint{background:#fff;color:#000}
  .reveal{opacity:1;transform:none}
  a{color:inherit;text-decoration:none}
  .ts{border-color:#999}
}
