
  :root{
    --bg:#FAF9F6;
    --surface:#FFFFFF;
    --surface-2:#F1EFEA;
    --ink:#1C1B18;
    --ink-soft:#5B594F;
    --ink-faint:#908D82;
    --rule:#E5E2D9;
    --accent:#3B3597;
    --accent-ink:#FFFFFF;
    --accent-soft:#EAE9F6;
    --secondary:#3F5F52;
    --secondary-soft:#E6ECE7;
    --amber:#8A6A2E;
    --amber-soft:#F1E8D4;
    --brick:#B5654A;
    --brick-2:#C98B6F;
    --render:#E4D9C3;
    --render-2:#D5E0D7;
    --win:#2E3A40;

    --win-lit:#A9BCC2;
    --glass:#DCE4E3;
    --pave:#ECE8DD;
    --shadow: 0 1px 2px rgba(28,27,24,0.04);
    color-scheme: light;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#121214;
      --surface:#19191C;
      --surface-2:#222227;
      --ink:#F2F1ED;
      --ink-soft:#B7B4AA;
      --ink-faint:#817E76;
      --rule:#302F33;
      --accent:#9D97E8;
      --accent-ink:#121214;
      --accent-soft:#242244;
      --secondary:#8FB5A2;
      --secondary-soft:#1D2A23;
      --amber:#D8B873;
      --amber-soft:#2E2718;
      --brick:#8A4A38;
      --brick-2:#6E3E30;
      --render:#4B4638;
      --render-2:#34443C;
      --win:#0B0B0D;

      --win-lit:#D2AE63;
      --glass:#2A3234;
      --pave:#1F1F23;
      color-scheme: dark;
    }
  }
  :root[data-theme="dark"]{
    --bg:#121214;
    --surface:#19191C;
    --surface-2:#222227;
    --ink:#F2F1ED;
    --ink-soft:#B7B4AA;
    --ink-faint:#817E76;
    --rule:#302F33;
    --accent:#9D97E8;
    --accent-ink:#121214;
    --accent-soft:#242244;
    --secondary:#8FB5A2;
    --secondary-soft:#1D2A23;
    --amber:#D8B873;
    --amber-soft:#2E2718;
    --brick:#8A4A38;
    --brick-2:#6E3E30;
    --render:#4B4638;
    --render-2:#34443C;
    --win:#0B0B0D;

    --win-lit:#D2AE63;
    --glass:#2A3234;
    --pave:#1F1F23;
    color-scheme: dark;
  }

  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
  section{ scroll-margin-top:76px; }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:16px;
    line-height:1.6;
  }
  .disp{font-family:'Newsreader',Georgia,serif; font-weight:600; letter-spacing:-0.01em;}
  .mono{font-family:'JetBrains Mono',ui-monospace,monospace; font-variant-numeric:tabular-nums;}
  h1,h2,h3{margin:0; text-wrap:balance;}
  p{margin:0;}
  a{color:inherit;}
  img{max-width:100%;}
  .wrap{max-width:1120px; margin:0 auto; padding:0 20px;}
  @media (min-width:640px){ .wrap{ padding:0 32px; } }
  .skip{ position:absolute; left:-9999px; top:8px; background:var(--ink); color:var(--bg); padding:10px 14px; border-radius:8px; z-index:100; font-size:14px; }
  .skip:focus{ left:12px; }
  .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--accent);
    font-weight:600;
  }

  /* ---------- Nav ---------- */
  .topnav{
    position:sticky; top:0; z-index:40;
    background:color-mix(in srgb, var(--bg) 86%, transparent);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--rule);
  }
  .topnav .wrap{display:flex; align-items:center; justify-content:space-between; height:68px; gap:20px;}
  .brandmark{display:flex; align-items:center; gap:9px; font-family:'Inter',sans-serif; font-weight:700; font-size:16px; letter-spacing:0.01em;}
  .brandmark .dot{color:var(--accent);}
  .navlinks{display:flex; gap:28px; font-size:14.5px; font-weight:500;}
  .navlinks a{text-decoration:none; color:var(--ink-soft); transition:color .15s ease;}
  .navlinks a:hover{color:var(--ink);}
  .nav-cta{
    display:inline-block; padding:9px 18px; border-radius:7px;
    background:var(--ink); color:var(--bg); font-weight:600; font-size:13.5px;
    text-decoration:none; white-space:nowrap; transition:opacity .15s ease;
  }
  .nav-cta:hover{ opacity:0.82; }
  @media (max-width:720px){ .navlinks{display:none;} }
  @media (max-width:420px){
    .topnav .wrap{ padding:0 18px; gap:10px; }
    .brandmark{ font-size:14.5px; white-space:nowrap; gap:7px; }
    .logomark{ width:22px; height:22px; }
    .nav-cta{ padding:8px 12px; font-size:12.5px; }
  }

  /* ---------- Hero ---------- */
  .hero{ padding:72px 0 0; border-bottom:1px solid var(--rule); overflow:hidden; }
  .hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
  .hero-tag{ display:flex; align-items:center; gap:10px; margin-bottom:26px; }
  .hero-tag .rule{ height:1px; width:32px; background:var(--rule); }
  .hero h1{
    font-size:clamp(32px, 3.6vw, 46px);
    line-height:1.12;
    max-width:22ch;
    font-weight:500;
  }
  .hero h1 em{ color:var(--accent); font-style:italic; }
  .hero-sub{
    margin-top:24px; max-width:54ch; font-size:17px; color:var(--ink-soft);
  }
  .hero-actions{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
  .hero-trust{ display:flex; gap:20px; flex-wrap:wrap; margin-top:24px; margin-bottom:60px; font-size:13px; color:var(--ink-faint); }
  .hero-trust span{ display:flex; align-items:center; gap:7px; }
  .hero-trust svg{ width:14px; height:14px; stroke:var(--secondary); fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; flex:none; }
  @media (max-width:860px){
    .hero-grid{ grid-template-columns:1fr; }
    .hero h1{ max-width:28ch; }
  }
  .hero-illustration{ position:relative; align-self:center; aspect-ratio:460/380; min-height:0; width:100%; }
  .hero-illustration svg{ display:block; width:100%; height:100%; position:absolute; inset:0; }
  .hero-illustration .node-fill{ fill:var(--surface); }
  .hero-illustration .node-line{ stroke:var(--rule); stroke-width:1.1; }
  .hero-illustration .node-dot{ fill:var(--ink-faint); opacity:0.55; }
  .hero-illustration .hub-ring{ fill:none; stroke:var(--rule); stroke-width:1; }
  .hero-illustration .hub{ fill:var(--ink); }
  .hero-illustration .pulse{ fill:var(--accent); }
  .hero-illustration .pulse-ring{ fill:none; stroke:var(--accent); stroke-width:1.4; opacity:0.5; transform-origin:center; animation:pulseRing 2.6s ease-out infinite; }
  .hero-illustration .sig2 .pulse-ring{ animation-delay:.5s; stroke:var(--secondary); }
  .hero-illustration .sig2 .pulse{ fill:var(--secondary); }
  .hero-illustration .sig3 .pulse-ring{ animation-delay:1.1s; stroke:var(--amber); }
  .hero-illustration .sig3 .pulse{ fill:var(--amber); }
  .hero-illustration .readout{ font-family:'JetBrains Mono',monospace; font-size:9.5px; fill:var(--ink-faint); letter-spacing:0.03em; }
  .hero-illustration .w-brick{ fill:var(--brick); } .hero-illustration .w-brick2{ fill:var(--brick-2); }
  .hero-illustration .w-render{ fill:var(--render); } .hero-illustration .w-render2{ fill:var(--render-2); }
  .hero-illustration .cap{ fill:var(--ink); opacity:.88; } .hero-illustration .post{ fill:var(--ink); opacity:.8; }
  .hero-illustration .pane{ fill:var(--win-lit); stroke:var(--ink); stroke-width:.8; stroke-opacity:.55; } .hero-illustration .sill{ fill:var(--ink); opacity:.5; }
  .hero-illustration .sash{ fill:none; stroke:var(--ink); stroke-width:.8; opacity:.5; }
  .hero-illustration .sign{ fill:var(--surface); stroke:var(--ink); stroke-width:1; }
  .hero-illustration .fascia{ font:700 8.5px Inter,'DejaVu Sans',sans-serif; fill:var(--ink); letter-spacing:.07em; }
  .hero-illustration .ico{ fill:none; stroke:var(--ink); stroke-width:1.1; opacity:.65; stroke-linecap:round; stroke-linejoin:round; }
  .hero-illustration .wire{ fill:none; stroke:var(--ink); stroke-width:.8; opacity:.5; }
  .hero-illustration .pot{ fill:var(--brick); } .hero-illustration .leaf{ fill:var(--secondary); }
  .hero-illustration .board{ fill:var(--surface); stroke:var(--ink); stroke-width:1; } .hero-illustration .knob{ fill:var(--ink); opacity:.8; }
  .hero-illustration .glass{ fill:var(--glass); stroke:var(--ink); stroke-width:1; }
  .hero-illustration .door{ fill:var(--win); }
  .hero-illustration .lace-l{ fill:none; stroke:var(--ink); stroke-width:.9; opacity:.85; }
  .hero-illustration .aw-a{ fill:var(--accent); } .hero-illustration .aw-s{ fill:var(--secondary); } .hero-illustration .aw-m{ fill:var(--amber); }
  .hero-illustration .aw-w{ fill:var(--surface); }
  .hero-illustration .pave{ fill:var(--pave); } .hero-illustration .kerb{ fill:var(--ink); opacity:.5; }
  .hero-illustration .trunk{ fill:var(--ink); opacity:.7; } .hero-illustration .jac{ fill:var(--accent); opacity:.55; }
  .hero-illustration .pulse-ring{ transform-box:fill-box; }
  .lace-strip{ height:14px; color:var(--ink-faint); opacity:.55; }
  .lace-strip svg{ display:block; width:100%; height:14px; }
  .street-strip span:not(.k):not(.sep){ border:1.5px solid var(--ink); border-radius:3px; padding:2px 8px; color:var(--ink); background:var(--surface); font-weight:600; }
  .street-strip .sep{ display:none; }
  @keyframes pulseRing{
    0%{ transform:scale(0.4); opacity:0.65; }
    100%{ transform:scale(2.6); opacity:0; }
  }
  @media (prefers-reduced-motion: reduce){
    .hero-illustration .pulse-ring{ animation:none; display:none; }
  }
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:13px 23px; border-radius:8px; font-weight:600; font-size:15px;
    text-decoration:none; border:1px solid transparent; cursor:pointer; transition:opacity .15s ease, border-color .15s ease, background .15s ease;
  }
  .btn-primary{ background:var(--ink); color:var(--bg); }
  .btn-primary:hover{ opacity:0.85; }
  .btn-ghost{ background:transparent; color:var(--ink); border-color:var(--rule); }
  .btn-ghost:hover{ border-color:var(--ink-faint); }

  /* ---------- Stat strip ---------- */
  .statstrip{ border-bottom:1px solid var(--rule); background:var(--surface); }
  .statgrid{
    display:grid; grid-template-columns:repeat(4,1fr);
    padding:34px 0;
  }
  .stat{ padding:0 24px; border-left:1px solid var(--rule); }
  .stat:first-child{ border-left:none; padding-left:0; }
  .stat .num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:clamp(24px,3vw,32px); color:var(--ink); }
  .stat .lbl{ margin-top:6px; font-size:13px; color:var(--ink-soft); line-height:1.4; }
  @media (max-width:800px){ .statgrid{ grid-template-columns:repeat(2,1fr); row-gap:26px;} .stat:nth-child(3){border-left:none;} }

  /* ---------- Signal grid (Local Intelligence) ---------- */
  .signal-grid{
    display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
    background:var(--rule); border:1px solid var(--rule); border-radius:14px; overflow:hidden;
  }
  .signal-card{ background:var(--surface); padding:34px 36px 30px; display:flex; flex-direction:column; }
  .signal-card .idx{ font-family:'JetBrains Mono',monospace; color:var(--ink-faint); font-weight:600; font-size:12px; letter-spacing:0.04em; }
  .signal-card h3{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:21px; margin-top:10px; line-height:1.2; }
  .signal-fact{ margin-top:14px; font-size:15px; color:var(--ink-soft); }
  .signal-fact b{ color:var(--ink); font-weight:600; }
  .signal-why{
    margin-top:16px; background:var(--surface-2); border-radius:8px;
    padding:14px 16px; font-size:13.5px; color:var(--ink-soft);
  }
  .signal-why b{ color:var(--ink); }
  .signal-source{ margin-top:16px; padding-top:14px; border-top:1px solid var(--rule); font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink-faint); }
  @media (max-width:760px){ .signal-grid{ grid-template-columns:1fr; } }

  /* ---------- Free-alternative contrast panel ---------- */
  .contrast-panel{ margin-top:28px; border:1px solid var(--rule); border-radius:14px; padding:28px 32px; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; background:var(--surface); }
  .contrast-panel .col .h{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:10px; }
  .contrast-panel .col.theirs .h{ color:var(--ink-faint); }
  .contrast-panel .col.media .h{ color:var(--amber); }
  .contrast-panel .col.ours .h{ color:var(--accent); }
  .contrast-panel .col p{ font-size:14px; color:var(--ink-soft); line-height:1.6; }
  .contrast-panel .col ul{ margin:10px 0 0; padding:0; list-style:none; display:grid; gap:8px; }
  .contrast-panel .col.theirs ul li{ font-size:13px; color:var(--ink-faint); display:flex; gap:9px; }
  .contrast-panel .col.theirs ul li::before{ content:"×"; flex:none; }
  .contrast-panel .col.media ul li{ font-size:13px; color:var(--ink-soft); display:flex; gap:9px; }
  .contrast-panel .col.media ul li::before{ content:"•"; color:var(--amber); font-weight:700; flex:none; }
  .contrast-panel .col.ours ul li{ font-size:13px; color:var(--ink-soft); display:flex; gap:9px; }
  .contrast-panel .col.ours ul li::before{ content:"✓"; color:var(--secondary); font-weight:700; flex:none; }
  .contrast-panel .divider{ display:none; }
  @media (max-width:980px){ .contrast-panel{ grid-template-columns:1fr; padding:24px 22px; } }

  /* ---------- Icons ---------- */
  .icon-wrap{
    width:38px; height:38px; flex:none; display:flex; align-items:center; justify-content:center;
    border-radius:9px; background:var(--surface-2); color:var(--ink-soft);
  }
  .icon{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
  .signal-top, .method-top{ display:flex; align-items:center; justify-content:space-between; }
  .howstep .icon-wrap{ background:var(--accent-soft); color:var(--accent); }

  /* ---------- Card lift (hover) ---------- */
  .signal-card, .method-card, .tier, .cat-btn{ transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
  .signal-card:hover, .method-card:hover{ box-shadow:0 12px 28px -18px rgba(28,27,24,0.22); transform:translateY(-1px); position:relative; z-index:1; }
  .tier:hover{ box-shadow:0 16px 36px -20px rgba(28,27,24,0.22); transform:translateY(-2px); }
  .cat-btn:hover:not([aria-selected="true"]){ background:var(--surface-2); }
  @media (prefers-reduced-motion: reduce){
    .signal-card, .method-card, .tier, .cat-btn, .icon-wrap{ transition:none !important; }
  }

  /* ---------- Logomark ---------- */
  .logomark{ width:28px; height:28px; flex:none; }
  .logomark rect{ fill:var(--ink); }
  .logomark path{ stroke:var(--bg); stroke-width:2.4; fill:none; stroke-linecap:round; stroke-linejoin:round; }
  .logomark .lm-ring{ fill:none; stroke:var(--accent); stroke-width:1.6; }
  .logomark .lm-dot{ fill:var(--accent); }
  footer .logomark{ width:23px; height:23px; }

  /* ---------- Category chip icon ---------- */
  .cat-icon{ width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; opacity:0.75; }
  .cat-btn .top-row{ display:flex; align-items:flex-start; justify-content:space-between; }

  /* ---------- How it works (retainer flow) ---------- */
  .howflow{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-bottom:48px; position:relative; }
  .howstep{ position:relative; padding:0 18px 0 0; }
  .howstep .icon-wrap{ margin-bottom:18px; }
  .howstep h5{ font-family:'Inter',sans-serif; font-weight:700; font-size:14.5px; margin:0; letter-spacing:0.01em; }
  .howstep p{ margin-top:8px; font-size:13.5px; color:var(--ink-soft); line-height:1.55; }
  .howstep::after{
    content:""; position:absolute; top:19px; left:100%; width:18px; height:1px;
    background:repeating-linear-gradient(to right, var(--ink-faint) 0 4px, transparent 4px 7px);
  }
  .howstep:last-child::after{ display:none; }
  @media (max-width:860px){
    .howflow{ grid-template-columns:1fr; gap:26px; }
    .howstep::after{ display:none; }
  }

  /* ---------- Exhibits (data visuals) ---------- */
  .exhibit{ margin-bottom:60px; min-width:0; }
  .exhibit-tag{
    display:inline-block; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600;
    letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft); background:var(--surface-2);
    padding:4px 10px; border-radius:5px; margin-bottom:16px;
  }
  .exhibit h3{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:24px; max-width:48ch; text-wrap:balance; }
  .exhibit-note{ margin-top:10px; font-size:14px; color:var(--ink-soft); max-width:64ch; }
  .chart-card{ border:1px solid var(--rule); border-radius:14px; background:var(--surface); padding:24px 26px 18px; margin-top:20px; position:relative; height:340px; min-width:0; overflow:hidden; }
  @media (max-width:600px){ .chart-card{ height:300px; padding:18px 16px 16px; } }
  .exhibit-caption{ margin-top:14px; font-size:13.5px; color:var(--ink-soft); max-width:74ch; }
  .exhibit-caption b{ color:var(--ink); font-family:'JetBrains Mono',monospace; font-weight:600; }

  /* ---------- Category scorecard ---------- */
  .scorecard{
    display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
    background:var(--rule); border:1px solid var(--rule); border-radius:12px; overflow:hidden; margin-bottom:24px;
  }
  .scorecard .tile{ background:var(--surface-2); padding:16px 18px; }
  .scorecard .tile .v{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:20px; color:var(--ink); font-variant-numeric:tabular-nums; }
  .scorecard .tile .l{ margin-top:4px; font-size:11px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.04em; line-height:1.3; }
  @media (max-width:700px){ .scorecard{ grid-template-columns:repeat(2,1fr); } }

  /* ---------- Section shell ---------- */
  section{ padding:92px 0; border-bottom:1px solid var(--rule); }
  .sec-head{ max-width:62ch; margin-bottom:44px; }
  .sec-head h2{ font-size:clamp(28px,3.6vw,38px); margin-top:12px; font-weight:500; }
  .sec-head .sub{ margin-top:16px; color:var(--ink-soft); font-size:16.5px; }

  /* ---------- Category picker ---------- */
  .catgrid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--rule); border:1px solid var(--rule); border-radius:14px 14px 0 0; overflow:hidden; margin-bottom:2px;
  }
  .cat-btn{
    background:var(--surface); border:none; text-align:left; padding:22px 22px 20px;
    cursor:pointer; font-family:inherit; color:var(--ink);
  }
  .cat-btn .ref{ font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--ink-faint); }
  .cat-btn .name{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:18px; margin-top:7px; line-height:1.15;}
  .cat-btn .n{ margin-top:8px; font-size:13px; color:var(--ink-soft); }
  .cat-btn[aria-selected="true"]{ background:var(--ink); color:var(--bg); }
  .cat-btn[aria-selected="true"] .ref, .cat-btn[aria-selected="true"] .n{ color:var(--bg); opacity:0.7; }
  @media (max-width:760px){ .catgrid{ grid-template-columns:repeat(2,1fr);} }
  @media (max-width:480px){ .catgrid{ grid-template-columns:1fr;} }
  .cat-btn.new-cat{ grid-column:1/-1; display:flex; align-items:center; gap:18px; padding:18px 22px; }
  .cat-btn.new-cat .top-row{ flex:none; }
  .cat-btn.new-cat .body{ flex:1; display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
  .cat-btn.new-cat .name{ margin-top:0; }
  .cat-btn.new-cat .n{ margin-top:0; }
  .new-badge{ font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:600; letter-spacing:0.07em; text-transform:uppercase; background:var(--accent); color:var(--accent-ink); padding:3px 9px; border-radius:20px; flex:none; margin-left:auto; }
  .cat-btn.new-cat[aria-selected="true"] .new-badge{ background:var(--bg); color:var(--ink); }
  @media (max-width:620px){ .cat-btn.new-cat{ flex-direction:column; align-items:flex-start; gap:10px; } .new-badge{ margin-left:0; } }

  .casefile{
    border:1px solid var(--rule); border-radius:0 0 14px 14px; background:var(--surface); padding:36px 38px; margin-top:-2px;
  }
  .casefile-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:20px; flex-wrap:wrap; border-bottom:1px solid var(--rule); padding-bottom:20px; margin-bottom:22px;}
  .casefile-head h3{ font-family:'Newsreader',Georgia,serif; font-size:27px; font-weight:600; }
  .casefile-head .sample{ font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--ink-soft); max-width:100%; }
  .casefile-finding{ font-size:19px; font-weight:500; max-width:60ch; margin-bottom:22px; font-family:'Newsreader',Georgia,serif; line-height:1.4; }
  .casefile-finding .hl{ background:var(--accent-soft); padding:0 4px; border-radius:3px; }
  .evidence{ display:grid; gap:12px; margin-bottom:24px; }
  .evidence li{ list-style:none; display:flex; gap:12px; align-items:baseline; font-size:15px; color:var(--ink-soft); }
  .evidence li::before{ content:"—"; color:var(--ink-faint); font-weight:600; flex:none; }
  .diagnosis{
    background:var(--surface-2); border-radius:10px; padding:16px 20px; font-size:14.5px; color:var(--ink-soft);
  }
  .diagnosis b{ color:var(--ink); }

  /* ---------- Methodology ---------- */
  .method-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); border-radius:14px; overflow:hidden; }
  .method-card{ background:var(--surface); padding:30px 32px; }
  .method-card .idx{ font-family:'JetBrains Mono',monospace; color:var(--ink-faint); font-weight:600; font-size:12.5px; }
  .method-card h4{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:19px; margin-top:10px; }
  .method-card p{ margin-top:10px; font-size:14.5px; color:var(--ink-soft); }
  @media (max-width:700px){ .method-grid{ grid-template-columns:1fr; } }

  /* ---------- Offer ---------- */
  .offer-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:22px; }
  @media (max-width:980px){ .offer-grid{ grid-template-columns:1fr; } }
  .tier-eligibility{ margin-top:14px; padding:11px 13px; background:var(--surface-2); border-radius:9px; font-size:12.5px; color:var(--ink-soft); line-height:1.5; }
  .tier{ position:relative; border:1px solid var(--rule); border-radius:16px; background:var(--surface); padding:34px 30px; display:flex; flex-direction:column; box-shadow:var(--shadow); }
  .tier.featured{ border-color:var(--ink); box-shadow:0 20px 44px -28px rgba(28,27,24,0.35); }
  .tier.featured::before{ content:""; position:absolute; top:0; left:24px; right:24px; height:3px; background:var(--accent); border-radius:0 0 3px 3px; }
  .tier-top{ display:flex; justify-content:space-between; align-items:flex-start; }
  .tier-name{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:23px; }
  .tier-badge{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.05em; text-transform:uppercase; background:var(--amber-soft); color:var(--amber); padding:5px 10px; border-radius:20px; white-space:nowrap; }
  .tier-price{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:40px; margin-top:16px; }
  .tier-price span{ font-size:14.5px; color:var(--ink-soft); font-weight:500; }
  .tier-turn{ margin-top:6px; font-size:13.5px; color:var(--ink-faint); font-weight:500; }
  .tier ul{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:12px; }
  .tier ul li{ font-size:14.5px; color:var(--ink-soft); display:flex; gap:10px; }
  .tier ul li::before{ content:"✓"; color:var(--secondary); font-weight:700; flex:none; }
  .tier .btn{ margin-top:28px; justify-content:center; }

  .provide-box{ margin-top:38px; border:1px solid var(--rule); border-radius:12px; padding:22px 24px; font-size:14.5px; color:var(--ink-soft); background:var(--surface); }
  .provide-box b{ color:var(--ink); }
  .offer-nudge{ margin-top:24px; font-size:14.5px; color:var(--ink-soft); text-align:center; }
  .offer-nudge b{ color:var(--ink); }

  /* ---------- Sticky mobile CTA ---------- */
  .sticky-cta{
    position:fixed; left:0; right:0; bottom:0; z-index:50;
    background:var(--surface); border-top:1px solid var(--rule);
    padding:12px 16px; display:none; align-items:center; justify-content:space-between; gap:14px;
    box-shadow:0 -8px 24px -12px rgba(20,20,18,0.18);
    transform:translateY(100%); transition:transform .25s ease;
  }
  .sticky-cta.show{ transform:translateY(0); }
  .sticky-cta .label{ font-size:13px; color:var(--ink-soft); line-height:1.3; }
  .sticky-cta .label b{ color:var(--ink); display:block; font-size:14.5px; }
  .sticky-cta .btn{ padding:11px 18px; font-size:14px; white-space:nowrap; }
  @media (max-width:720px){ .sticky-cta{ display:flex; } }
  @media (prefers-reduced-motion: reduce){ .sticky-cta{ transition:none; } }

  /* ---------- FAQ ---------- */
  .faq-item{ border-bottom:1px solid var(--rule); }
  .faq-item:first-child{ border-top:1px solid var(--rule); }
  .faq-q{ width:100%; text-align:left; background:none; border:none; padding:22px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; font-family:inherit; color:var(--ink); font-size:16.5px; font-weight:500; }
  .faq-q .plus{ font-family:'JetBrains Mono',monospace; color:var(--ink-faint); font-size:19px; flex:none; transition:transform .15s ease; }
  .faq-item[aria-expanded="true"] .plus{ transform:rotate(45deg); }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .2s ease; }
  .faq-a p{ padding-bottom:22px; color:var(--ink-soft); font-size:15px; max-width:66ch; }

  /* ---------- Form ---------- */
  [hidden]{ display:none !important; }
  .form-shell{ border:1px solid var(--rule); border-radius:16px; background:var(--surface); padding:40px; max-width:820px; }
  .formgrid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  @media (max-width:640px){ .formgrid{ grid-template-columns:1fr; } .form-shell{ padding:26px 20px; } }
  .field{ display:flex; flex-direction:column; gap:7px; }
  .field.full{ grid-column:1/-1; }
  label, .lbl{ font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft); }
  .lbl .opt{ text-transform:none; letter-spacing:0; font-weight:400; color:var(--ink-faint); }
  input, select, textarea{
    font-family:inherit; font-size:16px; padding:12px 13px; border:1px solid var(--rule); border-radius:8px;
    background:var(--bg); color:var(--ink); width:100%;
  }
  input:focus, select:focus, textarea:focus{ outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent); }
  .form-progress{ display:flex; align-items:center; gap:14px; margin-bottom:26px; }
  .form-progress .mono{ font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-faint); white-space:nowrap; }
  .form-progress .bar{ flex:1; height:3px; background:var(--rule); border-radius:3px; overflow:hidden; }
  .form-progress .bar i{ display:block; height:100%; width:50%; background:var(--accent); transition:width .3s ease; }
  .tier-seg{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
  @media (max-width:640px){ .tier-seg{ grid-template-columns:1fr; } }
  .tier-opt, .chip{ position:relative; text-transform:none; letter-spacing:0; font-weight:500; color:var(--ink); font-size:14px; display:block; }
  .tier-opt input, .chip input{ position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; opacity:0; cursor:pointer; }
  .tier-opt span{ display:flex; flex-direction:column; gap:2px; padding:12px 14px; border:1px solid var(--rule); border-radius:10px; background:var(--bg); }
  .tier-opt b{ font-size:14.5px; font-weight:600; }
  .tier-opt em{ font-style:normal; font-size:12.5px; color:var(--ink-faint); }
  .tier-opt input:checked + span{ border-color:var(--accent); background:var(--accent-soft); box-shadow:0 0 0 1px var(--accent); }
  .chips{ display:flex; flex-wrap:wrap; gap:8px; }
  .chip{ display:inline-block; }
  .chip span{ display:inline-block; padding:9px 14px; border:1px solid var(--rule); border-radius:999px; background:var(--bg); }
  .chip input:checked + span{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
  .tier-opt input:focus-visible + span, .chip input:focus-visible + span{ outline:2px solid var(--accent); outline-offset:2px; }
  .field-hint{ font-size:13px; color:var(--amber); }
  .form-foot{ margin-top:24px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
  .form-note{ font-size:12.5px; color:var(--ink-faint); margin-top:14px; max-width:60ch; }
  .btn[disabled]{ opacity:.6; cursor:progress; }
  .link-btn{ background:none; border:none; padding:0; font:inherit; font-size:14px; color:var(--ink-soft); text-decoration:underline; cursor:pointer; }
  .fallback{ margin-top:20px; border:1px solid var(--amber); border-radius:10px; padding:16px 18px; font-size:14px; background:var(--surface-2); color:var(--ink-soft); }
  .fallback .row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; align-items:center; }
  .done h3{ font-family:'Newsreader',Georgia,serif; font-size:26px; font-weight:600; margin-bottom:8px; }
  .done p{ color:var(--ink-soft); max-width:56ch; }
  .step-intro{ color:var(--ink-soft); margin-bottom:22px; max-width:60ch; }
  .step-intro b{ color:var(--ink); }

  .street-strip{ margin-top:22px; font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:0.04em; color:var(--ink-faint); display:flex; flex-wrap:wrap; gap:4px 14px; align-items:center; }
  .street-strip .k{ text-transform:uppercase; letter-spacing:0.08em; color:var(--accent); font-weight:600; }
  .street-strip .sep{ opacity:.5; }

  .hero-for{ margin-top:16px; max-width:54ch; font-size:14.5px; color:var(--ink-soft); }
  .hero-for b{ color:var(--ink); font-weight:600; }
  .answer{ padding:56px 0 8px; }
  .answer h2{ font-size:clamp(24px,3vw,32px); font-weight:500; max-width:28ch; }
  .answer-lead{ margin-top:14px; max-width:68ch; font-size:17px; color:var(--ink); }
  .keyfacts{ margin:28px 0 0; display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); border-radius:12px; overflow:hidden; }
  .keyfacts > div{ background:var(--surface); padding:16px 18px; }
  .keyfacts dt{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent); font-weight:600; }
  .keyfacts dd{ margin:6px 0 0; font-size:14.5px; color:var(--ink-soft); }
  @media (max-width:700px){ .keyfacts{ grid-template-columns:1fr; } }
  .updated{ margin-top:14px; font-size:12.5px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
  details.datatable{ margin:0 0 48px; border:1px solid var(--rule); border-radius:12px; background:var(--surface); }
  details.datatable summary{ cursor:pointer; padding:16px 20px; font-weight:600; font-size:15px; min-height:48px; }
  details.datatable .tbl-wrap{ overflow-x:auto; padding:0 20px 20px; }
  details.datatable table{ border-collapse:collapse; width:100%; min-width:560px; font-size:13.5px; font-variant-numeric:tabular-nums; }
  details.datatable caption{ text-align:left; color:var(--ink-soft); font-size:13px; padding:0 0 10px; }
  details.datatable th, details.datatable td{ text-align:left; padding:9px 10px; border-bottom:1px solid var(--rule); }
  details.datatable th{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-faint); font-weight:600; }
  details.datatable .tbl-wrap + .tbl-wrap{ padding-top:0; }
  .faq-q{ min-height:52px; }
  .btn{ min-height:44px; }
  @media (max-width:720px){
    .sticky-cta{ padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
    footer{ padding-bottom:110px; }
  }
  @media (max-width:600px){
    .hero{ padding-top:36px; }
    .hero-actions .btn{ flex:1 1 100%; justify-content:center; text-align:center; }
    .hero-trust{ margin-bottom:36px; gap:10px 16px; }
    .sec-head{ margin-bottom:30px; }
    .signal-card{ padding:26px 22px 24px; }
  }

  footer{ padding:48px 0 64px; }
  footer .wrap{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:13px; color:var(--ink-faint); }
  footer .disclaimer{ max-width:60ch; margin-top:20px; font-size:12.5px; color:var(--ink-faint); line-height:1.6; }

  ::selection{ background:var(--accent-soft); }

/* ===================== multi-page extras ===================== */
a.brandmark{ text-decoration:none; color:var(--ink); }
.mnav{ display:none; }
@media (max-width:720px){
  .mnav{ display:block; }
  .mnav summary{ list-style:none; cursor:pointer; width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--rule); border-radius:10px; background:var(--surface); flex:none; }
  .mnav summary::-webkit-details-marker{ display:none; }
  .mnav summary span{ display:block; width:18px; height:2px; background:var(--ink); position:relative; }
  .mnav summary span::before, .mnav summary span::after{ content:""; position:absolute; left:0; width:18px; height:2px; background:var(--ink); }
  .mnav summary span::before{ top:-6px; } .mnav summary span::after{ top:6px; }
  .mnav-panel{ position:absolute; left:0; right:0; top:68px; background:var(--bg); border-bottom:1px solid var(--rule); padding:6px 20px 18px; display:grid; box-shadow:0 14px 24px rgba(0,0,0,.08); }
  .mnav-panel a{ padding:15px 4px; text-decoration:none; font-weight:600; border-bottom:1px solid var(--rule); font-size:16px; }
  .topnav .wrap{ gap:8px; }
}
@media (max-width:360px){ .nav-cta{ display:none; } }
@media (max-width:380px){ .brandmark{ font-size:13px; } .brandmark .logomark{ width:24px; height:24px; } .nav-cta{ padding:8px 9px; font-size:12px; } }

footer .foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; }
footer .foot-grid h2{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:12px; font-weight:600; }
footer .foot-grid ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; font-size:14px; }
footer .foot-grid a{ color:var(--ink-soft); text-decoration:none; } footer .foot-grid a:hover{ color:var(--ink); text-decoration:underline; }
@media (max-width:820px){ footer .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ footer .foot-grid{ grid-template-columns:1fr; } }
footer .wrap.foot-grid{ display:grid; }

.crumbs{ font-size:13px; color:var(--ink-faint); padding:28px 0 0; }
.crumbs a{ color:var(--ink-soft); } .crumbs .sep{ margin:0 7px; opacity:.6; }
.article{ padding:18px 0 56px; border-bottom:1px solid var(--rule); }
.article h1{ font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:clamp(30px,4.4vw,46px); line-height:1.12; margin-top:16px; max-width:26ch; }
.article .meta{ margin-top:16px; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--ink-faint); display:flex; gap:6px 18px; flex-wrap:wrap; }
.prose{ max-width:720px; }
.prose > p, .prose li{ font-size:17px; line-height:1.72; color:var(--ink); }
.prose p{ margin:0 0 18px; }
.prose h2{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:clamp(24px,3vw,31px); margin:48px 0 14px; line-height:1.2; }
.prose h3{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:21px; margin:30px 0 10px; }
.prose ul, .prose ol{ padding-left:22px; margin:0 0 20px; display:grid; gap:9px; }
.prose a{ color:var(--accent); text-underline-offset:3px; }
.prose strong{ font-weight:600; }
.tldr{ margin:26px 0 8px; padding:20px 22px; background:var(--accent-soft); border-radius:12px; max-width:720px; }
.tldr .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); font-weight:600; margin-bottom:8px; }
.tldr p{ font-size:16.5px; line-height:1.65; color:var(--ink); }
.toc{ margin:22px 0 4px; padding:18px 22px; border:1px solid var(--rule); border-radius:12px; background:var(--surface); max-width:720px; }
.toc .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:8px; font-weight:600; }
.toc ol{ margin:0; padding-left:20px; display:grid; gap:6px; font-size:15px; } .toc a{ color:var(--ink-soft); }
.callout{ margin:24px 0; padding:18px 20px; background:var(--surface-2); border-radius:12px; font-size:15.5px; line-height:1.65; color:var(--ink-soft); }
.callout b{ color:var(--ink); }

.article .hook{ margin:18px 0 0; font-family:'Newsreader',Georgia,serif; font-style:italic; font-weight:500; font-size:clamp(20px,2.6vw,25px); line-height:1.3; color:var(--accent); max-width:36ch; }
.article .insight{ margin:8px 0 0; font-size:18px; line-height:1.55; color:var(--ink-soft); max-width:58ch; }
.card .hook{ font-family:'Newsreader',Georgia,serif; font-style:italic; font-weight:500; font-size:16.5px; line-height:1.3; color:var(--accent); }
.card .insight{ font-size:14.5px; color:var(--ink-soft); line-height:1.55; }
.card .rt{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink-faint); }
.keystats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:24px 0 30px; max-width:720px; }
.keystats > div{ border:1px solid var(--rule); border-radius:12px; background:var(--surface); padding:16px 16px 14px; }
.keystats b{ display:block; font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:30px; line-height:1.05; color:var(--ink); font-variant-numeric:tabular-nums; }
.keystats span{ display:block; margin-top:6px; font-size:13px; line-height:1.4; color:var(--ink-soft); }
.local{ margin:28px 0; padding:20px 22px 18px; border-radius:12px; background:var(--secondary-soft); max-width:720px; }
.local .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--secondary); font-weight:600; margin-bottom:8px; }
.local p{ font-size:16px !important; line-height:1.65 !important; margin:0 0 10px; } .local p:last-child{ margin-bottom:0; }
.pull{ margin:30px 0; font-family:'Newsreader',Georgia,serif; font-size:clamp(22px,2.8vw,27px); line-height:1.3; font-weight:500; color:var(--ink); max-width:30ch; }
.prose > p.figcap{ font-size:13px; line-height:1.5; color:var(--ink-faint); margin:0 0 22px; }
.prose > p.pull{ margin:30px 0; font-family:'Newsreader',Georgia,serif; font-size:clamp(22px,2.8vw,27px); line-height:1.3; font-weight:500; color:var(--ink); max-width:30ch; }
.vs{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:22px 0 28px; max-width:720px; }
.vs > div{ border:1px solid var(--rule); border-radius:12px; background:var(--surface); padding:16px 18px; }
.vs h3{ margin:0 0 8px !important; font-size:18px !important; } .vs ul{ margin:0; font-size:15px; } .vs li{ font-size:15px !important; line-height:1.55 !important; }
@media (max-width:640px){ .vs{ grid-template-columns:1fr; } }
.checklist{ list-style:none; padding-left:0 !important; }
.checklist li{ position:relative; padding-left:30px; }
.checklist li::before{ content:""; position:absolute; left:2px; top:.42em; width:15px; height:15px; border:1.5px solid var(--accent); border-radius:4px; }
.prose .src-note{ font-size:13.5px; color:var(--ink-faint); margin-top:-8px; }

.lanes{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; }
.lane{ border:1px solid var(--rule); border-radius:14px; background:var(--surface); padding:24px 24px 22px; display:flex; flex-direction:column; gap:12px; }
.lane.mid{ background:var(--accent-soft); border-color:transparent; }
.lane .who{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.lane h3{ font-family:'Newsreader',Georgia,serif; font-size:24px; font-weight:500; line-height:1.15; }
.lane ul{ list-style:none; padding:0; margin:0; display:grid; gap:9px; }
.lane li{ position:relative; padding-left:20px; font-size:15px; line-height:1.55; color:var(--ink-soft); }
.lane li::before{ content:""; position:absolute; left:2px; top:.62em; width:8px; height:2px; background:var(--accent); border-radius:2px; }
.never{ margin-top:18px; padding:22px 24px; border:1px dashed var(--ink-faint); border-radius:14px; display:grid; grid-template-columns:minmax(0,260px) 1fr; gap:10px 28px; align-items:start; }
.never h3{ font-family:'Newsreader',Georgia,serif; font-size:22px; font-weight:500; line-height:1.2; }
.never ul{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; }
.never li{ font-size:15px; line-height:1.5; color:var(--ink-soft); position:relative; padding-left:20px; }
.never li::before{ content:"×"; position:absolute; left:2px; top:0; color:var(--ink); font-weight:700; }
.cmp{ overflow-x:auto; margin-top:26px; border:1px solid var(--rule); border-radius:14px; background:var(--surface); }
.cmp table{ border-collapse:collapse; width:100%; min-width:720px; font-size:14.5px; }
.cmp th,.cmp td{ text-align:left; padding:14px 16px; border-bottom:1px solid var(--rule); vertical-align:top; line-height:1.5; }
.cmp thead th{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-faint); background:var(--surface-2); font-weight:600; }
.cmp thead th.us{ color:var(--accent); background:var(--accent-soft); }
.cmp td.us{ background:var(--accent-soft); color:var(--ink); }
.cmp tbody th{ font-weight:600; width:19%; color:var(--ink); }
.cmp tr:last-child th,.cmp tr:last-child td{ border-bottom:none; }
.cmp td{ color:var(--ink-soft); }
.localgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:26px; }
.localgrid > div{ border:1px solid var(--rule); border-radius:14px; background:var(--surface); padding:20px 20px 18px; }
.localgrid b{ display:block; font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:38px; line-height:1; color:var(--ink); font-variant-numeric:tabular-nums; }
.localgrid span{ display:block; margin-top:10px; font-size:14px; line-height:1.5; color:var(--ink-soft); }
.localgrid h3{ font-size:16px; font-weight:600; margin:12px 0 4px; font-family:'Inter',sans-serif; color:var(--ink); }

.hb{ display:grid; gap:9px; margin:18px 0 10px; max-width:760px; }
.hb .r{ display:grid; grid-template-columns:minmax(120px,200px) 1fr minmax(64px,auto); gap:12px; align-items:center; font-size:14px; }
.hb .l{ color:var(--ink-soft); line-height:1.3; }
.hb .t{ height:14px; background:var(--surface-2); border-radius:7px; overflow:hidden; }
.hb i{ display:block; height:100%; background:var(--accent); border-radius:7px; }
.hb i.alt{ background:var(--amber); } .hb i.mute{ background:var(--ink-faint); } .hb i.bad{ background:#B5654A; }
.hb .v{ font-variant-numeric:tabular-nums; font-weight:600; text-align:right; font-size:13.5px; }
.figcap{ font-size:13px; color:var(--ink-faint); margin:0 0 22px; max-width:760px; line-height:1.5; }
.fig-title{ font-family:'Newsreader',Georgia,serif; font-size:19px; font-weight:600; margin:26px 0 2px; }
.kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:24px 0 8px; }
.kpis > div{ border:1px solid var(--rule); border-radius:12px; background:var(--surface); padding:16px 16px 14px; }
.kpis b{ display:block; font-family:'Newsreader',Georgia,serif; font-size:34px; font-weight:500; line-height:1; font-variant-numeric:tabular-nums; }
.kpis b s{ font-size:18px; color:var(--ink-faint); margin-left:6px; font-weight:400; }
.kpis span{ display:block; margin-top:8px; font-size:13px; color:var(--ink-soft); line-height:1.4; }
@media (max-width:760px){ .kpis{ grid-template-columns:1fr 1fr; } .hb .r{ grid-template-columns:1fr auto; } .hb .t{ grid-column:1 / -1; order:3; } }
.prose code{ overflow-wrap:anywhere; word-break:break-word; font-family:'JetBrains Mono',monospace; font-size:.88em; background:var(--surface-2); padding:1px 5px; border-radius:4px; }
@media (max-width:700px){
  .cmp{ overflow:visible; border:none; background:none; }
  .cmp table{ min-width:0; display:block; } .cmp thead{ display:none; } .cmp tbody{ display:grid; gap:12px; }
  .cmp tr{ display:block; border:1px solid var(--rule); border-radius:12px; background:var(--surface); overflow:hidden; }
  .cmp tbody th{ display:block; width:auto; background:var(--surface-2); padding:10px 14px; border-bottom:1px solid var(--rule); }
  .cmp td{ display:block; padding:10px 14px; border-bottom:1px solid var(--rule); }
  .cmp td::before{ content:attr(data-l); display:block; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:3px; }
  .cmp td.us{ background:var(--accent-soft); } .cmp td.us::before{ color:var(--accent); }
  .cmp tr:last-child td:last-child{ border-bottom:none; }
}
.local-note{ margin-top:22px; max-width:68ch; font-size:16px; line-height:1.65; color:var(--ink-soft); }
@media (max-width:900px){ .lanes{ grid-template-columns:1fr; } .localgrid{ grid-template-columns:1fr 1fr; } .never{ grid-template-columns:1fr; } }
@media (max-width:560px){ .never ul{ grid-template-columns:1fr; } .localgrid{ grid-template-columns:1fr; } }
.tbl{ overflow-x:auto; margin:20px 0 26px; border:1px solid var(--rule); border-radius:12px; background:var(--surface); }
.tbl table{ border-collapse:collapse; width:100%; min-width:540px; font-size:14px; font-variant-numeric:tabular-nums; }
.tbl th, .tbl td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--rule); vertical-align:top; }
.tbl th{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); font-weight:600; background:var(--surface-2); }
.tbl tr:last-child td{ border-bottom:none; }
.tbl caption{ text-align:left; padding:12px 14px; font-size:13px; color:var(--ink-soft); caption-side:bottom; border-top:1px solid var(--rule); }
.sources{ margin-top:44px; padding-top:22px; border-top:1px solid var(--rule); max-width:720px; }
.sources h2{ font-size:20px !important; margin:0 0 12px !important; }
.sources ol{ font-size:14px !important; } .sources li{ font-size:14px !important; line-height:1.55 !important; color:var(--ink-soft) !important; }
.article-cta{ margin:44px 0 0; padding:26px 26px; border:1px solid var(--rule); border-radius:14px; background:var(--surface); max-width:720px; display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.article-cta h2{ font-family:'Newsreader',Georgia,serif; font-size:22px; margin:0 0 4px; font-weight:600; }
.article-cta p{ font-size:15px; color:var(--ink-soft); margin:0; max-width:46ch; }
.related{ padding:56px 0 24px; }
.related h2{ font-family:'Newsreader',Georgia,serif; font-size:26px; margin-bottom:18px; font-weight:600; }

.cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; }
.card{ border:1px solid var(--rule); border-radius:12px; background:var(--surface); padding:22px 22px 20px; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:8px; transition:border-color .15s ease; }
.card:hover{ border-color:var(--accent); }
.card .tag{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.card h3{ font-family:'Newsreader',Georgia,serif; font-size:20px; font-weight:600; line-height:1.22; }
.card p{ font-size:14.5px; color:var(--ink-soft); line-height:1.55; }
.card .more{ margin-top:auto; padding-top:6px; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--ink); font-weight:600; }
.home-sec{ padding:80px 0; border-bottom:1px solid var(--rule); }
@media (max-width:600px){ .home-sec{ padding:56px 0; } section{ padding:60px 0; } }
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; counter-reset:s; }
@media (max-width:760px){ .steps{ grid-template-columns:1fr; } }
.step{ border:1px solid var(--rule); border-radius:12px; padding:22px; background:var(--surface); }
.step .n{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--accent); font-weight:700; letter-spacing:.08em; }
.step h3{ font-family:'Newsreader',Georgia,serif; font-size:21px; font-weight:600; margin:8px 0 8px; }
.step p{ font-size:15px; color:var(--ink-soft); }
.principles{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media (max-width:820px){ .principles{ grid-template-columns:1fr; gap:22px; } }
.principles h3{ font-family:'Newsreader',Georgia,serif; font-size:21px; font-weight:600; margin-bottom:8px; }
.principles p{ color:var(--ink-soft); font-size:15.5px; }
.teaser{ display:grid; grid-template-columns:1.1fr .9fr; gap:36px; align-items:center; }
@media (max-width:860px){ .teaser{ grid-template-columns:1fr; } }
.teaser-card{ border:1px solid var(--rule); border-radius:14px; background:var(--surface); padding:22px; }
.teaser-card .row{ display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--rule); font-size:14.5px; }
.teaser-card .row:last-child{ border-bottom:none; }
.teaser-card .row b{ font-family:'JetBrains Mono',monospace; font-variant-numeric:tabular-nums; }
.pill{ display:inline-block; padding:2px 9px; border-radius:999px; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; }
.pill.high{ background:#F6DCD6; color:#8E2A18; } .pill.med{ background:var(--amber-soft); color:var(--amber); } .pill.low{ background:var(--secondary-soft); color:var(--secondary); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .pill.high{ background:#3A1E19; color:#F2A594; } }
:root[data-theme="dark"] .pill.high{ background:#3A1E19; color:#F2A594; }

/* sample audit */
.sample-banner{ background:var(--amber-soft); border:1px solid var(--amber); border-radius:12px; padding:16px 20px; font-size:14.5px; color:var(--ink); margin:22px 0 0; max-width:820px; }
.sample-banner b{ font-family:'JetBrains Mono',monospace; letter-spacing:.06em; text-transform:uppercase; font-size:12px; color:var(--amber); display:block; margin-bottom:4px; }
.cover{ margin-top:26px; border:1px solid var(--rule); border-radius:14px; background:var(--surface); padding:26px; display:grid; grid-template-columns:repeat(2,1fr); gap:18px 28px; max-width:820px; }
@media (max-width:600px){ .cover{ grid-template-columns:1fr; padding:20px; } }
.cover dt{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); font-weight:600; }
.cover dd{ margin:4px 0 0; font-size:15.5px; font-weight:500; }
.finding{ border:1px solid var(--rule); border-radius:12px; background:var(--surface); padding:20px 22px; margin:0 0 14px; max-width:820px; }
.finding .top{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:6px; }
.finding .num{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--ink-faint); font-weight:700; }
.finding h3{ font-family:'Newsreader',Georgia,serif; font-size:20px; font-weight:600; margin:0; line-height:1.25; }
.finding dl{ margin:12px 0 0; display:grid; gap:8px; font-size:15px; }
.finding dt{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); font-weight:700; }
.finding dd{ margin:2px 0 0; color:var(--ink-soft); line-height:1.6; }
.plan{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:960px; }
@media (max-width:820px){ .plan{ grid-template-columns:1fr; } }
.plan > div{ border:1px solid var(--rule); border-radius:12px; padding:20px; background:var(--surface); }
.plan h3{ font-family:'Newsreader',Georgia,serif; font-size:20px; font-weight:600; margin:0 0 10px; }
.plan ul{ margin:0; padding-left:18px; display:grid; gap:8px; font-size:14.5px; color:var(--ink-soft); }
.bars{ display:grid; gap:9px; margin:18px 0 6px; max-width:720px; }
.bars .r{ display:grid; grid-template-columns:44px 1fr 120px; gap:12px; align-items:center; font-size:13.5px; }
.bars .r .l{ font-family:'JetBrains Mono',monospace; font-weight:700; }
.bars .r .t{ height:14px; background:var(--surface-2); border-radius:3px; position:relative; }
.bars .r .t i{ position:absolute; left:0; top:0; bottom:0; border-radius:3px; background:var(--accent); }
.bars .r .t i.alt{ background:var(--amber); opacity:.9; }
.bars .r .v{ color:var(--ink-soft); font-variant-numeric:tabular-nums; font-size:12.5px; }
@media (max-width:520px){ .bars .r{ grid-template-columns:38px 1fr; } .bars .r .v{ grid-column:2; margin-top:-4px; } }
.btn-row{ display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.noprint-note{ font-size:13px; color:var(--ink-faint); }

@media print{
  @page{ size:A4; margin:16mm 14mm; }
  body{ background:#fff !important; font-size:12px; }
  .topnav, footer, .sticky-cta, .lace-strip, .article-cta, .related, .no-print, .skip, .toc, #faq{ display:none !important; }
  section, .article{ padding:0 !important; border:none !important; }
  .finding, .plan > div, .cover, .tbl, .sample-banner{ break-inside:avoid; }
  h2{ break-after:avoid; }
  .prose{ max-width:none; }
  a{ text-decoration:none; }
}
