/* Ledger look. Tokens first; everything below uses them. */
:root{--bg:#f6f1e7;--fg:#1d1a16;--muted:#5b5347;--accent:#8a2a1f;--accent-ink:#fbf6ec;--surface:#ece4d3;--rule:#1d1a16;--measure:34rem;--gutter:clamp(1rem,4vw,3rem)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:1.125rem/1.62 "Iowan Old Style","Palatino Linotype",Palatino,Charter,Georgia,serif}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:var(--gutter);top:.75rem;background:var(--fg);color:var(--bg);padding:.6rem 1rem;z-index:9}
.top{border-bottom:3px double var(--rule);padding:1.25rem var(--gutter);display:flex;justify-content:space-between;align-items:baseline;gap:.75rem 2rem;flex-wrap:wrap}
.mark{font-size:1.45rem;font-style:italic;text-decoration:none;color:var(--fg)}
nav ul{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
nav a{color:var(--fg);display:inline-block;padding:.35rem 0;min-height:24px;text-decoration:none;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current=page]{border-bottom-color:var(--accent)}
main{padding:0 var(--gutter)}
.lede{padding:clamp(2.5rem,8vw,6rem) 0 2rem;max-width:52rem}
h1{font-weight:400;font-size:clamp(2.4rem,6.5vw,4.6rem);line-height:1.04;letter-spacing:-.015em;margin:0 0 1.25rem}
.lede p{font-size:1.3rem;max-width:36rem;color:var(--muted);margin:0}
.folio{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,var(--measure));gap:0 clamp(1.5rem,5vw,4rem);padding:2.25rem 0 2.75rem;border-top:1px solid var(--rule)}
.folio:last-of-type{border-bottom:3px double var(--rule)}
.margin{font-size:.95rem;color:var(--muted);line-height:1.45}
.margin b{display:block;font-size:2.2rem;font-weight:400;color:var(--accent);line-height:1;margin-bottom:.4rem}
h2{font-weight:400;font-size:1.75rem;line-height:1.2;margin:0 0 1rem}
h3,.long h2{font-size:1.15rem;font-style:italic;font-weight:400;margin:1.75rem 0 .4rem}
p{margin:0 0 1rem}
.terms{margin:0;padding:0}
.terms div{display:grid;grid-template-columns:auto minmax(1rem,1fr) auto;column-gap:.5rem;align-items:baseline;padding:.55rem 0}
.terms div::before{content:"";grid-column:2;grid-row:1;align-self:end;border-bottom:1px dotted var(--muted);transform:translateY(-.3em)}
.terms dt{grid-column:1;grid-row:1}
.terms dd{margin:0;grid-column:3;grid-row:1;text-align:right}
.terms dd.detail{grid-column:1/-1;grid-row:2;text-align:left;color:var(--muted);font-size:.9rem}
ol.steps{padding-left:1.4rem;margin:0}
ol.steps li{margin-bottom:.7rem;padding-left:.3rem}
table{border-collapse:collapse;width:100%;font-size:1.02rem}
caption{text-align:left;font-style:italic;padding-bottom:.6rem;color:var(--muted)}
th,td{text-align:left;padding:.65rem .75rem .65rem 0;border-bottom:1px solid var(--rule);vertical-align:top}
thead th{border-bottom:2px solid var(--rule);font-weight:400;font-style:italic}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;padding-right:0}
.button{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:.75rem 1.4rem;text-decoration:none;min-height:44px;border:0}
.button:hover{background:var(--fg)}
.note{background:var(--surface);padding:1rem 1.25rem;border-left:4px solid var(--accent);margin:1.25rem 0}
article.long p:first-of-type::first-letter{float:left;font-size:4.2rem;line-height:.82;padding:.35rem .5rem 0 0;color:var(--accent)}
sup a{text-decoration:none;padding:0 .15rem}
.foot{padding:2rem var(--gutter) 3rem;color:var(--muted);font-size:.95rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.form{max-width:var(--measure)}
.field{margin:0 0 1.1rem}
label{display:block;font-style:italic;margin-bottom:.3rem}
input,textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--rule);border-radius:0;padding:.65rem .75rem;width:100%;min-height:44px}
textarea{min-height:8rem}
.field small{display:block;color:var(--muted);font-size:.9rem;margin-top:.3rem}
button.button{font:inherit;cursor:pointer}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.err{color:var(--accent);font-weight:600;margin:.3rem 0 0}.err::before{content:"Error: "}input:user-invalid,textarea:user-invalid{border-color:var(--accent)}
@media (max-width:44rem){.folio{grid-template-columns:minmax(0,1fr)}.margin{margin-bottom:.9rem;display:flex;gap:.75rem;align-items:baseline}.margin b{font-size:1.6rem;margin:0}}
@media (prefers-reduced-motion:no-preference){a,.button{transition:background-color .15s,text-decoration-thickness .15s}}
