
  :root{
    --bone:#ece7dc; --panel:#f7f4ee; --ink:#1e2b3b; --oxblood:#7c2d2d;
    --rule:#cdc3b1; --edge:#8f8676; --muted:#6a6255;
    --serif:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",serif;
    --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{margin:0;background:var(--bone);color:var(--ink);font:16px/1.65 var(--sans)}
  a{color:var(--oxblood)}
  :focus-visible{outline:2px solid var(--oxblood);outline-offset:3px}

  .eyebrow{font:600 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

  .sheet{max-width:1080px;margin:0 auto;padding:0 26px}

  header{border-bottom:2px solid var(--ink)}
  .masthead{display:flex;flex-wrap:wrap;gap:14px;align-items:baseline;justify-content:space-between;padding:22px 0 18px}
  .wordmark{font:700 1.3rem/1.1 var(--serif);letter-spacing:-.01em}
  .wordmark em{font-style:normal;color:var(--oxblood)}
  .filed{font:500 .72rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:right}

  .lede-row{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:52px;padding:46px 0 40px;align-items:start}
  h1{font:700 clamp(1.9rem,4.2vw,2.85rem)/1.14 var(--serif);letter-spacing:-.02em;margin:.3rem 0 16px;max-width:26ch}
  .standfirst{font-size:1.08rem;color:var(--muted);max-width:56ch;margin:0 0 26px}
  .act{display:inline-block;background:var(--oxblood);color:#fff;text-decoration:none;font-weight:600;padding:13px 24px;border:2px solid var(--oxblood)}
  .act:hover,.act:focus{background:var(--ink);border-color:var(--ink);color:#fff}

  .legend{border:1px solid var(--rule);background:var(--panel);padding:18px 18px 6px}
  .legend h2{font:600 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
  .legend dl{margin:0}
  .legend dt{font:600 .78rem/1 var(--mono);letter-spacing:.06em;color:var(--oxblood);margin-top:12px}
  .legend dd{margin:4px 0 12px;font-size:.9rem;color:var(--muted)}

  .band{border-top:1px solid var(--rule);padding:38px 0}
  h2.head{font:700 1.4rem/1.2 var(--serif);letter-spacing:-.01em;margin:6px 0 18px}

  table.ledger{width:100%;border-collapse:collapse;font-size:.96rem}
  table.ledger caption{text-align:left;font:600 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:12px}
  table.ledger th{text-align:left;font:600 .74rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--ink);padding:0 14px 8px 0}
  table.ledger td{border-bottom:1px solid var(--rule);padding:14px 14px 14px 0;vertical-align:top}
  table.ledger td.scope{font-weight:600;width:30%}
  table.ledger td.note{color:var(--muted)}
  table.ledger td.tag{font:600 .76rem/1.5 var(--mono);letter-spacing:.04em;color:var(--oxblood);white-space:nowrap;width:8.5rem}

  .corridor{columns:2;column-gap:40px;margin:0;padding:0;list-style:none;max-width:640px}
  .corridor li{padding:9px 0;border-bottom:1px solid var(--rule);break-inside:avoid;font-size:.97rem}

  ol.steps{counter-reset:s;list-style:none;margin:0;padding:0;max-width:66ch}
  ol.steps li{counter-increment:s;position:relative;padding:0 0 20px 3.2rem;color:var(--muted)}
  ol.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:.1rem;font:600 .82rem/1 var(--mono);color:var(--oxblood);letter-spacing:.06em}
  ol.steps strong{color:var(--ink)}

  .intake{border:1px solid var(--ink);background:var(--panel);max-width:640px}
  .intake-head{border-bottom:1px solid var(--ink);padding:14px 22px;font:600 .74rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  form{padding:22px}
  label{display:block;font:600 .8rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px}
  label:first-of-type{margin-top:0}
  input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--edge);background:#fff;border-radius:0;font:inherit;color:var(--ink)}
  input:focus,select:focus,textarea:focus{border-color:var(--ink)}
  textarea{min-height:104px;resize:vertical}
  button{margin-top:24px;background:var(--ink);color:#fff;border:2px solid var(--ink);font:inherit;font-weight:600;padding:13px 26px;cursor:pointer}
  button:hover:not([disabled]){background:var(--oxblood);border-color:var(--oxblood)}
  button[disabled]{opacity:.55;cursor:not-allowed}
  .req{color:var(--oxblood)}
  .msg{margin-top:16px;padding:12px 14px;display:none;font-size:.94rem;border-left:3px solid}
  .msg.ok{display:block;background:#fff;border-color:var(--ink);color:var(--ink)}
  .msg.err{display:block;background:#fff;border-color:var(--oxblood);color:var(--oxblood)}

  footer{border-top:2px solid var(--ink);margin-top:20px;padding:24px 0 44px;color:var(--muted);font:500 .82rem/1.6 var(--mono);letter-spacing:.04em}

  /* Filed index — cross-links to the guides, set as ledger rules not buttons. */
  .index-nav{display:flex;flex-wrap:wrap;gap:0 22px;padding:12px 0 0;border-top:1px solid var(--rule);margin-top:14px}
  .index-nav a{font:600 .74rem/2.1 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
  .index-nav a:hover,.index-nav a:focus{color:var(--oxblood);text-decoration:underline}

  /* FAQ — kept in the ledger idiom: question as a ruled entry, answer as the note column. */
  .faq{border-top:1px solid var(--rule);margin:0}
  .faq div{border-bottom:1px solid var(--rule);padding:16px 0}
  .faq dt{font:700 1.02rem/1.4 var(--serif);margin:0 0 7px}
  .faq dd{margin:0;color:var(--muted);max-width:68ch}

  .filed-list{list-style:none;margin:0;padding:0;max-width:720px}
  .filed-list li{border-bottom:1px solid var(--rule);padding:13px 0}
  .filed-list a{font-weight:600;text-decoration:none}
  .filed-list a:hover,.filed-list a:focus{text-decoration:underline}
  .filed-list span{display:block;color:var(--muted);font-size:.92rem;margin-top:3px}

  @media (max-width:820px){
    .lede-row{grid-template-columns:1fr;gap:32px;padding:34px 0 28px}
    .corridor{columns:1}
    .filed{text-align:left}
  }
  @media (max-width:560px){
    table.ledger{font-size:.9rem}
    table.ledger td.scope{width:auto}
    table.ledger td.tag{width:auto;font-size:.7rem}
    table.ledger th{font-size:.66rem}
    .sheet{padding:0 18px}
  }

  /* ── Article pages (guides + service pages) ───────────────────────────── */
  article.doc{max-width:none}
  .doc-head{padding:44px 0 30px;border-bottom:2px solid var(--ink)}
  .doc-head h1{max-width:30ch}
  .doc-body{padding:34px 0 12px}
  .doc-body p{max-width:68ch;margin:0 0 18px}
  .doc-body h2{font:700 1.38rem/1.24 var(--serif);letter-spacing:-.01em;margin:36px 0 14px;padding-top:22px;border-top:1px solid var(--rule)}
  .doc-body h3{font:700 1.06rem/1.3 var(--serif);margin:26px 0 9px}
  .doc-body ul,.doc-body ol{max-width:66ch;margin:0 0 18px;padding-left:1.15rem;color:var(--muted)}
  .doc-body li{margin:8px 0}
  .doc-body li strong{color:var(--ink)}
  .doc-body blockquote{margin:22px 0;padding:2px 0 2px 20px;border-left:3px solid var(--oxblood);max-width:62ch}
  .doc-body blockquote p{font:italic 1.02rem/1.6 var(--serif);color:var(--ink)}
  .doc-body blockquote cite{display:block;font:600 .74rem/1.7 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-style:normal;margin-top:7px}
  .callout{border:1px solid var(--rule);background:var(--panel);padding:18px 20px;margin:24px 0;max-width:68ch}
  .callout p:last-child{margin-bottom:0}
  .crumb{font:600 .72rem/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:18px 0 0}
  .crumb a{color:var(--muted);text-decoration:none}
  .crumb a:hover,.crumb a:focus{color:var(--oxblood);text-decoration:underline}
  .endcap{border-top:2px solid var(--ink);margin-top:34px;padding:26px 0 8px}
