/* ZARP site design system. Shared by index.html and every generated page. */
  @font-face {
    font-family: "Neutral Face";
    src: url("/fonts/NeutralFace.otf") format("opentype");
    font-weight: 400;
    font-display: swap;
  }
  @font-face {
    font-family: "Neutral Face";
    src: url("/fonts/NeutralFace-Bold.otf") format("opentype");
    font-weight: 700;
    font-display: swap;
  }

  :root {
    --paper: #F3F4EE;
    --panel: #FBFBF6;
    --panel-2: #EDEFE6;
    --ink: #16241D;
    --ink-soft: #48564D;
    --ink-faint: #6E7B71;
    --green: #00493D;
    --green-deep: #00332B;
    --gold: #A9821E;
    --gold-soft: #C4A04A;
    --line: rgba(22, 36, 29, 0.16);
    --line-strong: rgba(22, 36, 29, 0.4);
    --good: #00493D;
    --bad: #8C3B2E;
    --shadow: 0 1px 2px rgba(22,36,29,.05), 0 8px 28px rgba(22,36,29,.07);
  }
  :root[data-theme="dark"] {
    --paper: #0B1F19;
    --panel: #102820;
    --panel-2: #0E241C;
    --ink: #ECEBDC;
    --ink-soft: #A9B8AA;
    --ink-faint: #7E8F81;
    --green: #46B389;
    --green-deep: #2E8A66;
    --gold: #D8B44A;
    --gold-soft: #B99435;
    --line: rgba(236, 235, 220, 0.16);
    --line-strong: rgba(236, 235, 220, 0.42);
    --good: #46B389;
    --bad: #D07A62;
    --shadow: 0 1px 2px rgba(0,0,0,.25), 0 10px 32px rgba(0,0,0,.3);
  }

  * { box-sizing: border-box; }
  body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: "Public Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3 { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-weight: 700; line-height: 1.12; margin: 0; text-wrap: balance; text-transform: uppercase; letter-spacing: 0.02em; }
  .mono { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; text-transform: uppercase; }
  a { color: var(--green); text-decoration-color: color-mix(in srgb, var(--green) 40%, transparent); text-underline-offset: 3px; }
  a:hover { text-decoration-color: var(--green); }
  button { font: inherit; color: inherit; cursor: pointer; }
  :is(a, button, input, select, summary):focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
    border-radius: 2px;
  }
  .wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }

  .eyebrow {
    font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif;
    font-size: 11.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
  }

  /* ---------- header ---------- */
  header.site {
    position: sticky; top: 0; z-index: 50;
    background: color-mix(in srgb, var(--paper) 88%, transparent);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
  }
  .nav {
    display: flex; align-items: center; gap: 24px;
    padding: 14px 0;
  }
  .brand { color: var(--green); text-decoration: none; display: inline-flex; align-items: center; }
  .brand svg { display: block; }
  .nav-links { display: flex; gap: 20px; margin-left: auto; flex-wrap: wrap; }
  .nav-links a {
    font-size: 13.5px; font-weight: 500; color: var(--ink-soft); text-decoration: none;
  }
  .nav-links a:hover { color: var(--ink); }
  .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 20px; border-radius: 999px; border: 1px solid transparent;
    font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap;
  }
  .btn-solid { background: var(--green); color: var(--paper); }
  .btn-solid:hover { background: var(--green-deep); }
  :root[data-theme="dark"] .btn-solid, .btn-solid { color: #F6F5EC; }
  .btn-ghost { border-color: var(--line-strong); color: var(--ink); }
  .btn-ghost:hover { border-color: var(--ink); }
  .btn-sm { padding: 7px 14px; font-size: 13px; }

  /* ---------- hero ---------- */
  .hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
  .hero canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
  .hero-embed {
    position: absolute; left: 80%; top: 46%; transform: translate(-50%, -50%);
    width: clamp(360px, 44vw, 620px); aspect-ratio: 1; border: 0;
    overflow: hidden; background: transparent;
  }
  @media (max-width: 880px) { .hero-embed { display: none; } }
  .hero-inner { position: relative; padding: 84px 0 64px; }
  .hero h1 {
    font-size: clamp(36px, 5.8vw, 68px);
    max-width: 14ch;
    margin: 18px 0 20px;
  }
  .hero h1 em { font-style: normal; color: var(--green); }
  .hero p.lede { font-size: 18px; max-width: 54ch; color: var(--ink-soft); margin: 0 0 30px; }
  .hero-cta { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
  .peg {
    margin-top: 56px; display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap;
  }
  .peg .denom {
    font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-size: clamp(30px, 4.6vw, 50px);
    color: var(--gold); letter-spacing: 0.01em;
  }
  .peg .denom small { font-size: 0.42em; color: var(--ink-soft); font-family: "Public Sans", sans-serif; letter-spacing: 0.08em; }
  .peg-note { font-size: 13px; color: var(--ink-faint); max-width: 34ch; }

  /* microprint divider (marquee) */
  .microprint {
    border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
    padding: 7px 0; overflow: hidden; white-space: nowrap; display: flex;
    font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-size: 9.5px; letter-spacing: 0.32em;
    text-transform: uppercase; color: var(--ink-faint); user-select: none;
  }
  .microprint span { flex: none; animation: microprint-marquee 80s linear infinite; }
  @keyframes microprint-marquee { to { transform: translateX(-100%); } }
  @media (prefers-reduced-motion: reduce) { .microprint span { animation: none; } }

  /* ---------- stat strip ---------- */
  .stats {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    border-bottom: 1px solid var(--line);
  }
  .stat { padding: 26px 24px; border-left: 1px solid var(--line); }
  .stat:first-child { border-left: none; }
  .stat .v { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-size: 24px; font-weight: 700; }
  .stat .v .u { color: var(--gold); }
  .stat .k { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-faint); margin-top: 4px; }

  /* ---------- sections ---------- */
  section.band { padding: 80px 0; border-bottom: 1px solid var(--line); }
  .band-head { max-width: 62ch; margin-bottom: 42px; }
  .band-head h2 { font-size: clamp(24px, 3.3vw, 36px); margin: 14px 0 14px; }
  .band-head p { color: var(--ink-soft); margin: 0; }

  /* benefits grid */
  .benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
  .benefit { background: var(--panel); padding: 26px 24px; }
  .benefit h3 { font-size: 16px; margin-bottom: 8px; }
  .benefit p { font-size: 14.5px; color: var(--ink-soft); margin: 0; }
  .benefit .glyph {
    font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-size: 11px; color: var(--gold);
    letter-spacing: 0.1em; margin-bottom: 14px; display: block;
  }
  .benefit-embed { padding: 0; position: relative; min-height: 240px; grid-column: 1 / -1; }
  .benefit-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
  @media (min-width: 1060px) { .benefit-embed { grid-column: span 2; min-height: 0; } }

  /* instrument plate (shared by calculators) */
  .plate {
    border: 1px solid var(--line-strong);
    background: var(--panel);
    box-shadow: var(--shadow);
    position: relative;
  }
  .plate::before {
    content: ""; position: absolute; inset: 5px; pointer-events: none;
    border: 1px solid var(--line);
  }
  .plate-head {
    display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    padding: 22px 28px 0; position: relative;
  }
  .plate-head h3 { font-size: 19px; }
  .plate-head .serial { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-size: 10px; color: var(--ink-faint); letter-spacing: 0.1em; }
  .plate-body { padding: 20px 28px 28px; position: relative; }

  .controls { display: grid; gap: 22px; grid-template-columns: 1fr 1fr; margin-bottom: 26px; }
  @media (max-width: 720px) { .controls { grid-template-columns: 1fr; } }
  .field label { display: block; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 8px; }
  .field .val { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-size: 20px; font-weight: 700; margin-bottom: 6px; }
  input[type="range"] {
    width: 100%; appearance: none; -webkit-appearance: none; height: 26px; background: transparent; margin: 0;
  }
  input[type="range"]::-webkit-slider-runnable-track { height: 2px; background: var(--line-strong); }
  input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%;
    background: var(--gold); border: 2px solid var(--paper); box-shadow: 0 0 0 1px var(--gold);
    margin-top: -8px; cursor: grab;
  }
  input[type="range"]::-moz-range-track { height: 2px; background: var(--line-strong); }
  input[type="range"]::-moz-range-thumb {
    width: 16px; height: 16px; border-radius: 50%; background: var(--gold);
    border: 2px solid var(--paper); box-shadow: 0 0 0 1px var(--gold); cursor: grab;
  }
  select {
    width: 100%; padding: 11px 12px; font: inherit; font-size: 14.5px;
    color: var(--ink); background: var(--panel-2); border: 1px solid var(--line-strong); border-radius: 4px;
  }

  .duel { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  @media (max-width: 720px) { .duel { grid-template-columns: 1fr; } }
  .route { border: 1px solid var(--line); padding: 20px; background: var(--panel-2); }
  .route.win { border-color: var(--green); background: color-mix(in srgb, var(--green) 7%, var(--panel-2)); }
  .route .tag { font-size: 11.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint); display: flex; justify-content: space-between; gap: 8px; }
  .route.win .tag b { color: var(--green); letter-spacing: 0.12em; }
  .route .big { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-size: clamp(22px, 3.2vw, 30px); font-weight: 700; margin: 10px 0 2px; }
  .route .sub { font-size: 13px; color: var(--ink-soft); }
  .route .meter { height: 8px; background: var(--line); margin: 14px 0 8px; position: relative; overflow: hidden; }
  .route .meter i { position: absolute; inset: 0 auto 0 0; background: var(--bad); display: block; }
  .route.win .meter i { background: var(--green); }
  .route .rows { margin: 12px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--ink-soft); }
  .route .rows li { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-top: 1px dashed var(--line); }
  .route .rows .mono { font-size: 12.5px; }
  .verdict {
    margin-top: 22px; padding: 18px 20px; border: 1px solid var(--gold);
    background: color-mix(in srgb, var(--gold) 8%, var(--panel));
    display: flex; gap: 20px; align-items: baseline; flex-wrap: wrap;
  }
  .verdict .n { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-size: clamp(22px, 3vw, 32px); color: var(--gold); font-variant-numeric: tabular-nums; }
  .verdict .t { font-size: 14px; color: var(--ink-soft); max-width: 46ch; }
  .fine { font-size: 12px; color: var(--ink-faint); margin-top: 16px; line-height: 1.55; }

  /* segmented control */
  .seg { display: inline-flex; border: 1px solid var(--line-strong); border-radius: 999px; padding: 3px; gap: 2px; flex-wrap: wrap; }
  .seg button {
    border: none; background: transparent; padding: 8px 16px; border-radius: 999px;
    font-size: 13.5px; font-weight: 600; color: var(--ink-soft);
  }
  .seg button[aria-pressed="true"] { background: var(--green); color: #F6F5EC; }

  /* comparison table */
  .cmp-scroll { overflow-x: auto; border: 1px solid var(--line-strong); }
  table.cmp { border-collapse: collapse; width: 100%; min-width: 640px; background: var(--panel); }
  .cmp th, .cmp td { text-align: left; padding: 14px 18px; border-bottom: 1px solid var(--line); font-size: 14.5px; vertical-align: top; }
  .cmp thead th { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-weight: 400; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-faint); border-bottom: 1px solid var(--line-strong); }
  .cmp tbody th { font-weight: 600; color: var(--ink); width: 24%; }
  .cmp td.zarp { background: color-mix(in srgb, var(--green) 6%, transparent); border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
  .cmp .yes { color: var(--good); font-weight: 600; }
  .cmp .no { color: var(--bad); }
  .cmp .meh { color: var(--ink-soft); }

  /* fx drift */
  .drift-visual { margin: 8px 0 4px; }
  .drift-row { display: grid; grid-template-columns: 110px 1fr; gap: 14px; align-items: center; margin: 18px 0; }
  @media (max-width: 560px) { .drift-row { grid-template-columns: 1fr; gap: 6px; } }
  .drift-row .lab { font-size: 13px; font-weight: 600; }
  .drift-track { position: relative; height: 44px; background: var(--panel-2); border: 1px solid var(--line); }
  .drift-track .mid { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--line-strong); }
  .drift-band {
    position: absolute; top: 6px; bottom: 6px; background: color-mix(in srgb, var(--bad) 22%, transparent);
    border: 1px solid var(--bad); transition: left .35s ease, right .35s ease;
  }
  .drift-band.fixed { background: color-mix(in srgb, var(--good) 25%, transparent); border-color: var(--good); }
  .drift-track .cap { position: absolute; top: 50%; transform: translateY(-50%); font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-size: 11px; color: var(--ink-soft); white-space: nowrap; }
  .drift-track .cap.lo { right: calc(50% + 8px); text-align: right; }
  .drift-track .cap.hi { left: calc(50% + 8px); }
  .drift-track .cap.center { left: 50%; transform: translate(-50%, -50%); color: var(--good); font-weight: 600; background: var(--panel); padding: 1px 8px; border: 1px solid var(--good); }

  /* get zarp router */
  .router-grid { display: grid; grid-template-columns: 260px 1fr; gap: 0; border: 1px solid var(--line-strong); background: var(--panel); box-shadow: var(--shadow); }
  @media (max-width: 760px) { .router-grid { grid-template-columns: 1fr; } }
  .router-side { border-right: 1px solid var(--line); display: flex; flex-direction: column; }
  @media (max-width: 760px) { .router-side { border-right: none; border-bottom: 1px solid var(--line); flex-direction: row; overflow-x: auto; } }
  .router-side button {
    text-align: left; background: transparent; border: none; border-bottom: 1px solid var(--line);
    padding: 20px 22px; font-size: 15px; font-weight: 600; color: var(--ink-soft); position: relative;
  }
  @media (max-width: 760px) { .router-side button { border-bottom: none; border-right: 1px solid var(--line); white-space: nowrap; } }
  .router-side button small { display: block; font-weight: 400; font-size: 12.5px; color: var(--ink-faint); margin-top: 3px; }
  .router-side button[aria-pressed="true"] { color: var(--ink); background: color-mix(in srgb, var(--green) 7%, transparent); box-shadow: inset 3px 0 0 var(--gold); }
  .router-panel { padding: 26px 28px; }
  .router-panel h3 { font-size: 17px; margin-bottom: 6px; }
  .router-panel > p { font-size: 14px; color: var(--ink-soft); margin: 0 0 18px; }
  .steps { margin: 0 0 20px; padding: 0; list-style: none; counter-reset: step; }
  .steps li { counter-increment: step; display: flex; gap: 14px; padding: 10px 0; border-top: 1px dashed var(--line); font-size: 14.5px; }
  .steps li::before {
    content: counter(step, decimal-leading-zero);
    font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-size: 11px; color: var(--gold); flex: none; padding-top: 4px;
  }
  .venues { display: flex; flex-wrap: wrap; gap: 8px; }
  .venue {
    font-size: 13px; font-weight: 600; text-decoration: none; color: var(--ink);
    border: 1px solid var(--line-strong); border-radius: 999px; padding: 7px 14px;
  }
  .venue:hover { border-color: var(--green); color: var(--green); }
  .venue small { font-weight: 400; color: var(--ink-faint); }

  /* transparency */
  .transp { display: grid; grid-template-columns: 320px 1fr; gap: 40px; align-items: center; }
  @media (max-width: 820px) { .transp { grid-template-columns: 1fr; } }
  .gauge-wrap { text-align: center; }
  .gauge-cap { font-size: 13px; color: var(--ink-soft); margin-top: 6px; }
  .attest { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
  .attest > div { background: var(--panel); padding: 18px 22px; display: flex; justify-content: space-between; gap: 16px; align-items: baseline; flex-wrap: wrap; }
  .attest b { font-size: 15px; }
  .attest span { font-size: 13px; color: var(--ink-soft); }

  /* chains */
  .chain-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
  .chain-tabs button {
    border: 1px solid var(--line-strong); border-radius: 999px; background: transparent;
    padding: 8px 16px; font-size: 13.5px; font-weight: 600; color: var(--ink-soft);
  }
  .chain-tabs button[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: #1B1608; }
  .addr {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    border: 1px solid var(--line-strong); background: var(--panel-2); padding: 14px 16px;
  }
  .addr code { font-family: inherit; font-size: 13px; word-break: break-all; flex: 1; min-width: 200px; }
  .code-sample { background: var(--panel-2); border: 1px solid var(--line); padding: 18px 20px; overflow-x: auto; margin-top: 22px; }
  .code-sample pre { margin: 0; font-family: inherit; font-size: 13px; line-height: 1.7; color: var(--ink-soft); }
  .code-sample .c { color: var(--ink-faint); }
  .code-sample .g { color: var(--green); }
  .code-sample .y { color: var(--gold); }

  /* faq */
  details.faq { border-top: 1px solid var(--line); }
  details.faq:last-of-type { border-bottom: 1px solid var(--line); }
  details.faq summary {
    cursor: pointer; list-style: none; padding: 20px 4px; font-weight: 600; font-size: 16.5px;
    display: flex; justify-content: space-between; gap: 16px; align-items: baseline;
  }
  details.faq summary::-webkit-details-marker { display: none; }
  details.faq summary::after { content: "+"; color: var(--gold); font-size: 18px; }
  details.faq[open] summary::after { content: "−"; }
  details.faq p { margin: 0 0 20px; padding: 0 4px; max-width: 68ch; color: var(--ink-soft); font-size: 15px; }

  /* footer */
  footer.site { padding: 56px 0 40px; }
  .foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; }
  @media (max-width: 760px) { .foot-grid { grid-template-columns: 1fr 1fr; } }
  .foot-grid h4 { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint); margin: 0 0 12px; font-weight: 600; }
  .foot-grid ul { list-style: none; margin: 0; padding: 0; }
  .foot-grid li { margin: 7px 0; }
  .foot-grid a { font-size: 14px; color: var(--ink-soft); text-decoration: none; }
  .foot-grid a:hover { color: var(--ink); text-decoration: underline; }
  .disclaimer { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 12px; color: var(--ink-faint); line-height: 1.6; max-width: 90ch; }

  .theme-toggle {
    border: 1px solid var(--line-strong); background: transparent; border-radius: 999px;
    width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center;
    color: var(--ink-soft); flex: none;
  }
  @media (max-width: 880px) { .nav-links { display: none; } }
  @media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
  }

  /* ---------- subpages ---------- */
  .page-hero { padding: 64px 0 48px; border-bottom: 1px solid var(--line); }
  .page-hero h1 { font-size: clamp(30px, 4.6vw, 52px); max-width: 18ch; margin: 14px 0 16px; }
  .page-hero .lede { font-size: 17px; color: var(--ink-soft); max-width: 58ch; margin: 0; }
  .cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
  .card { border: 1px solid var(--line-strong); background: var(--panel); padding: 24px; display: flex; flex-direction: column; gap: 10px; }
  a.card { text-decoration: none; color: inherit; }
  a.card:hover { border-color: var(--green); }
  .card h3 { font-size: 17px; }
  .card p { margin: 0; font-size: 14.5px; color: var(--ink-soft); flex: 1; }
  .card .go { font-size: 13px; font-weight: 600; color: var(--green); }
  .news-meta { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-faint); }
  .big-stat { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-size: 30px; }
  .big-stat .u { color: var(--gold); }
  .cta-band { border: 1px solid var(--line-strong); background: var(--panel); box-shadow: var(--shadow); padding: 34px 32px; display: flex; justify-content: space-between; align-items: center; gap: 22px; flex-wrap: wrap; }
  .cta-band h2 { font-size: clamp(20px, 3vw, 28px); }
  .cta-band p { margin: 6px 0 0; color: var(--ink-soft); font-size: 14.5px; }
  .timeline { list-style: none; margin: 0; padding: 0; }
  .timeline li { display: grid; grid-template-columns: 84px 1fr; gap: 18px; padding: 14px 0; border-top: 1px dashed var(--line); }
  .timeline .yr { font-family: "Neutral Face", "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-size: 14px; color: var(--gold); padding-top: 2px; }
  .timeline p { margin: 0; font-size: 14.5px; color: var(--ink-soft); }
  .timeline b { color: var(--ink); }
  .nav-links a[aria-current="page"] { color: var(--ink); }
  .prose { max-width: 68ch; }
  .prose h2 { font-size: 22px; margin: 34px 0 12px; }
  .prose h3 { font-size: 17px; margin: 26px 0 10px; }
  .prose h4 { font-size: 15px; margin: 22px 0 8px; }
  .prose p, .prose li { font-size: 15px; color: var(--ink-soft); line-height: 1.7; }
  .prose p { margin: 0 0 14px; }
  .prose ul, .prose ol { margin: 0 0 14px; padding-left: 22px; }
  .prose li { margin: 6px 0; }
  .prose strong, .prose b { color: var(--ink); }
  .prose blockquote { border-left: 2px solid var(--gold); margin: 0 0 14px; padding: 4px 0 4px 16px; color: var(--ink-soft); }
