/* Hallmark · macrostructure: H2 Split Diptych (ratio 7/5, right side: proof column = stat ledger or AZ schematic, divider: negative space) · design-system: DESIGN.md · nav: N6 masthead (left-aligned, edition line = real last-checked date, double rule) · footer: Ft1 mast headed · pre-emit critique: P4 H4 E4 S5 R4 V4 · contrast: pass (40-41) · slop: pass (42-45) · honest: pass (46) · tokens: pass (48) · mobile: pass (34, 49, 50-57) · audited 2026-10-27 */
/* RV Dump Guide design system ("Field notes"). Tokens are vocalized in DESIGN.md. Sadie taste dials: VARIANCE 6, MOTION 3, DENSITY 5 (Young Serif / Atkinson Hyperlegible / DM Mono on survey-paper sage). DM Mono is the data register only: figures, dates, table heads and map labels. */
@font-face{font-family:"Young Serif";src:url(/assets/fonts/young-serif-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/assets/fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/assets/fonts/atkinson-hyperlegible-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/assets/fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:"DM Mono";src:url(/assets/fonts/dm-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Mono";src:url(/assets/fonts/dm-mono-latin-500-normal.woff2) format("woff2");font-weight:500 700;font-display:swap}
:root{
  /* Type ramp (DESIGN.md typography): caption .8rem, small .9rem, body 1rem, lead 1.125rem, title 1.375rem, stat 1.875rem, h2/h1 clamps. */
  --paper:#F2F3EE;--paper-2:#E5E8DE;--card:#FAFBF7;--ink:#1C2420;--ink-2:#36403A;--muted:#56605A;--line:#D5D9CC;--line-2:#BFC5B5;
  --accent:#B0502A;--accent-ink:#8C3D1E;--accent-tint:#F3E3D8;--on-accent:#FFF9F4;
  --restricted:#5E6A4A;--restricted-tint:#DDE3D2;--restricted-ink:#3B4630;--none:#9A9D90;
  --display:"Young Serif",Georgia,"Times New Roman",serif;--sans:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --r-chip:4px;--r-btn:8px;--r-panel:12px;--r-map:16px;
  --sh-1:0 1px 2px rgba(40,52,36,.06);--sh-2:0 14px 34px -14px rgba(40,52,36,.22);
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px;overflow-x:clip}
body{margin:0;font:400 17px/1.6 var(--sans);color:var(--ink);background:var(--paper);overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
img,svg{max-width:100%}
a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s var(--ease)}
a:hover{color:var(--ink)}
a:active{color:var(--accent)}
[aria-disabled="true"],:disabled{opacity:.55;cursor:not-allowed}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
h1,h2,h3{text-wrap:balance;margin:0;overflow-wrap:anywhere;min-width:0}
p,li{text-wrap:pretty}
h1{font:400 clamp(2.1rem,1.4rem + 2.6vw,3.3rem)/1.08 var(--display);letter-spacing:-.02em}
h2{font:400 clamp(1.55rem,1.25rem + 1.1vw,2.05rem)/1.16 var(--display);letter-spacing:-.015em;margin-bottom:var(--s4)}
h3{font:600 1.125rem/1.35 var(--sans);letter-spacing:-.005em}
.ic{flex:none;vertical-align:-3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--s4);top:-60px;background:var(--ink);color:var(--paper);padding:var(--s2) var(--s4);border-radius:var(--r-btn);z-index:20}
.skip:focus{top:var(--s3)}.skip:hover{color:var(--paper)}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.narrow{max-width:760px}
.eyebrow{font:700 .9rem/1.2 var(--sans);color:var(--muted);margin:0 0 var(--s2)}
.sub{color:var(--muted);max-width:58ch;margin:-4px 0 var(--s5)}
.meta{font:400 .9rem/1.5 var(--mono);color:var(--muted)}

/* header: N6 masthead variant. Not sticky: it is a reference site, the TOC carries in-page navigation. */
header.mast{position:relative;background:var(--paper);border-bottom:4px double var(--line-2)}
.mast-row{display:flex;align-items:center;gap:var(--s4) var(--s6);min-height:64px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:600 1.125rem/1 var(--sans);letter-spacing:-.01em;min-height:44px}
.logo em{font:400 1.125rem/1 var(--display);font-style:normal;color:var(--accent-ink)}
.mast-line{margin:0 0 0 auto;font:400 .8rem/1.3 var(--mono);color:var(--muted);white-space:nowrap}
nav.top{display:flex;gap:var(--s5);border-top:1px solid var(--line);align-items:center}
nav.top a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2);text-decoration:none;font-weight:500;font-size:.9rem;line-height:1;white-space:nowrap;box-shadow:inset 0 -2px 0 transparent}
nav.top a:hover{color:var(--ink);box-shadow:inset 0 -2px 0 var(--line-2)}
nav.top a:active{color:var(--accent-ink)}
nav.top a[aria-current]{color:var(--accent-ink);box-shadow:inset 0 -2px 0 var(--accent)}
.menu-m{display:none}
.menu-m summary{list-style:none;display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s4);border-radius:var(--r-btn);box-shadow:inset 0 0 0 1px var(--line-2);font-weight:500;cursor:pointer;line-height:1}
.menu-m summary::-webkit-details-marker{display:none}
.menu-m summary:hover{background:var(--paper-2)}
.menu-m summary:active{background:var(--line)}
.menu-m[open] summary{background:var(--paper-2)}
.menu-m-nav{display:grid;padding:var(--s2) 0 var(--s3)}
.menu-m-nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500}
.menu-m-nav a[aria-current]{color:var(--accent-ink)}

/* breadcrumbs */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:var(--s5) 0 0;font:400 .9rem/1.4 var(--sans);color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--line-2)}
.crumbs a{color:var(--muted)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,72px);align-items:end;padding-top:clamp(24px,3vw,40px);padding-bottom:clamp(32px,4vw,56px)}
.hero-home{align-items:center;padding-bottom:clamp(48px,5vw,64px)}
.hero-slim{grid-template-columns:minmax(0,7fr) minmax(0,5fr);padding-bottom:clamp(32px,4vw,48px)}
.hero-text>*{animation:rise .7s var(--ease) both}
.hero-text>*:nth-child(2){animation-delay:.06s}.hero-text>*:nth-child(3){animation-delay:.12s}.hero-text>*:nth-child(4){animation-delay:.18s}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.lede,.lede-p{font-size:1.125rem;line-height:1.6;color:var(--ink-2);max-width:54ch;margin-top:var(--s4)}
.lede p{margin:0}
.lede strong{color:var(--ink);font-weight:600}
.byline{font:400 .9rem/1.5 var(--sans);color:var(--muted);margin:var(--s4) 0 0}
.ctas{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--r-btn);background:var(--ink);color:var(--paper);text-decoration:none;font-weight:500;transition:transform .2s var(--ease),background .2s var(--ease)}
.btn:hover{background:var(--accent-ink);color:var(--paper)}
.btn:active{transform:translateY(1px)}
.btn-quiet{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-quiet:hover{background:var(--paper-2);color:var(--ink)}
.hero-art{margin:0}
.hero-art figcaption{font:400 .8rem/1.45 var(--sans);color:var(--muted);margin-top:var(--s2);max-width:46ch}
.az{display:block;width:100%;height:auto;max-height:480px}
.az-shape{fill:var(--card);stroke:var(--ink-2);stroke-width:1.4}
@keyframes draw{to{stroke-dashoffset:0}}
.az-i10{fill:none;stroke:var(--line-2);stroke-width:2;stroke-dasharray:6 5}
.az-city{font:500 12px var(--mono);fill:var(--ink-2)}
.az-label{font:500 11px var(--mono);fill:var(--muted)}
.az-pin{stroke:var(--card);stroke-width:2}
/* Motion only for people who have not asked for less: the resting state is always fully drawn. */
@media (prefers-reduced-motion:no-preference){.az-shape{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s var(--ease) .15s forwards}.az-pin{opacity:0;animation:pop .5s var(--ease) forwards;animation-delay:calc(1s + var(--i) * 45ms)}}
@keyframes pop{from{opacity:0}to{opacity:1}}
.pin-public{fill:var(--accent)}.pin-restricted{fill:var(--restricted)}.pin-none{fill:var(--none)}

/* ledger (stat rhythm) */
.ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);overflow:hidden}
.ledger>div{padding:var(--s4) var(--s5);border-top:1px solid var(--line)}
.ledger>div:nth-child(-n+2){border-top:0}
.ledger>div:nth-child(even){border-left:1px solid var(--line)}
.ledger dt{font:400 .8rem/1.3 var(--mono);color:var(--muted)}
.ledger dd{margin:4px 0 0;font:400 1.875rem/1 var(--display);font-variant-numeric:tabular-nums;color:var(--ink)}
.ledger .ledger-date{grid-column:1/-1;border-left:0!important;background:var(--paper-2)}
.ledger .ledger-date dd{font:500 1rem/1.3 var(--mono)}
.wrap>.ledger{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.wrap>.ledger>div{border-top:0;border-left:1px solid var(--line)}
.wrap>.ledger>div:first-child{border-left:0}
.wrap>.ledger .ledger-date{grid-column:auto;border-left:1px solid var(--line)!important}

/* verify note */
.verify{display:flex;gap:var(--s3);align-items:flex-start;background:var(--accent-tint);border-radius:var(--r-panel);padding:var(--s4) var(--s5);margin:var(--s2) 0 var(--s6);color:var(--ink-2)}
.verify .ic{color:var(--accent-ink);margin-top:3px}
.verify p{margin:0;max-width:40rem}

/* article layout: sticky TOC + numbered sections */
.article-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start;padding-bottom:var(--s8)}
.toc{position:sticky;top:var(--s5);font-size:.9rem}
.toc-h{font:700 .8rem/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s3)}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc a{display:flex;gap:10px;padding:7px 0 7px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-2);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--ink);border-left-color:var(--line-2)}
.toc a.on{color:var(--accent-ink);border-left-color:var(--accent);font-weight:500}
.toc .n{font:400 .8rem/1.6 var(--mono);color:var(--muted)}
.article{min-width:0;max-width:760px}
.article section{padding-top:var(--s7)}
.article section:first-of-type{padding-top:var(--s5)}
.lede-more{font-size:1.125rem;color:var(--ink-2);max-width:36rem}
.badge{display:inline-block;font:700 .8rem/1 var(--sans);color:var(--accent-ink);background:var(--accent-tint);padding:6px 8px;border-radius:var(--r-chip);margin-bottom:var(--s3)}
.num-sec{border-top:1px solid var(--line);margin-top:var(--s6)}
.num-sec:first-child{border-top:0;margin-top:0}
.prose{max-width:36rem}
.prose p{margin:0 0 var(--s4)}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 var(--s4)}
.prose li{margin:.35em 0}
.prose ol li::marker{font-family:var(--mono);color:var(--accent-ink)}
.prose table{border-collapse:collapse;width:100%;margin:var(--s2) 0 var(--s5);font-size:.9rem;background:var(--card);border-radius:var(--r-panel);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.prose th,.prose td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.prose thead th{font:500 .8rem/1.3 var(--mono);color:var(--muted);background:var(--paper-2)}
.prose td:last-child{font-family:var(--mono);font-size:.9rem;white-space:nowrap}
.prose tr:last-child td{border-bottom:0}

/* comparison table */
.table-scroll{overflow-x:auto;border-radius:var(--r-panel);box-shadow:0 0 0 1px var(--line);background:var(--card)}
.compare{border-collapse:collapse;width:100%;min-width:560px;font-size:.9rem}
.compare th,.compare td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.compare thead th{font:500 .8rem/1.3 var(--mono);color:var(--muted);background:var(--paper-2)}
.compare tbody th{font-weight:500}
.compare tbody th a{color:var(--ink);text-decoration:none}
.compare tbody th a:hover{color:var(--accent-ink);text-decoration:underline}
.compare tr:last-child>*{border-bottom:0}
.compare tbody tr:hover{background:color-mix(in oklch,var(--paper-2) 50%,var(--card))}
.yes{color:var(--accent-ink)}.no{color:var(--line-2)}
.access{display:inline-block;font:700 .8rem/1.3 var(--sans);padding:4px 8px;border-radius:var(--r-chip);white-space:nowrap}
.access-public,.access-public-fee{background:var(--accent);color:var(--on-accent)}
.access-permit,.access-campers{background:var(--restricted-tint);color:var(--restricted-ink)}
.access-none{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-2)}

/* map */
.mapfig{margin:0}
#leaflet-map{height:440px;border-radius:var(--r-map);background:var(--paper-2);box-shadow:0 0 0 1px var(--line);z-index:0}
.map-full #leaflet-map{height:min(70vh,640px)}
.map-fallback{padding:var(--s5)}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;font:400 .9rem/1.4 var(--sans);color:var(--muted);margin-top:var(--s3)}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.dot-public{background:var(--accent)}.dot-restricted{background:var(--restricted)}.dot-none{background:var(--none)}
.legend-note{flex-basis:100%}
.leaflet-container{font-family:var(--sans)}
.leaflet-popup-content{font-size:.9rem;line-height:1.45}
.leaflet-popup-content a{min-height:32px;display:inline-block;padding-top:4px}

/* grouped listings (ledger rows, not uniform cards) */
.group{margin-top:var(--s5)}
.group-h{display:flex;align-items:center;gap:12px;font:700 .9rem/1.2 var(--sans);color:var(--ink-2);padding-bottom:var(--s3);border-bottom:2px solid var(--ink)}
.count{font:500 .8rem/1 var(--mono);background:var(--paper-2);padding:4px 7px;border-radius:var(--r-chip);color:var(--muted)}
.listing{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s5);padding:var(--s5) 0;border-bottom:1px solid var(--line)}
.listing:target{background:var(--accent-tint);box-shadow:-12px 0 0 var(--accent-tint),12px 0 0 var(--accent-tint)}
.listing h3{margin-bottom:var(--s2)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:var(--s3) 0}
.chip{display:inline-flex;align-items:center;gap:5px;font:500 .8rem/1 var(--sans);padding:5px 8px 5px 6px;border-radius:var(--r-chip);background:var(--paper-2);color:var(--ink-2)}
.chip .ic{width:14px;height:14px}
.chip-dump{background:var(--accent-tint);color:var(--accent-ink)}
.chip-none{color:var(--muted)}
.addr{display:flex;gap:8px;font-size:.9rem;color:var(--ink-2);margin:6px 0}
.addr .ic{color:var(--muted);margin-top:3px}
.kv{margin:0;display:grid;gap:var(--s3)}
.kv div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s3)}
.kv dt{font:500 .8rem/1.7 var(--mono);color:var(--muted)}
.kv dd{margin:0;font-size:.9rem}
.facts{margin:var(--s3) 0 0;padding-left:1.1em;font-size:.9rem;color:var(--ink-2)}
.facts li{margin:.3em 0}
.src{display:flex;gap:8px;font-size:.9rem;color:var(--muted);margin:var(--s3) 0 0;word-break:break-word}
.src .ic{margin-top:2px}
.approx{display:block;font-style:italic}

/* FAQ: side-by-side list, not accordion */
.faq{display:grid;gap:0;border-top:1px solid var(--line)}
.qa{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s5);padding:var(--s5) 0;border-bottom:1px solid var(--line)}
.qa h3{font:400 1.125rem/1.3 var(--display);letter-spacing:-.01em}
.qa p{margin:0;color:var(--ink-2);max-width:58ch}

/* sources + method */
.sources{padding-left:1.4em;font-size:.9rem}
.sources li{margin:.35em 0;word-break:break-word}
.sources li::marker{font:400 .8rem var(--mono);color:var(--muted)}
.method{display:flex;gap:var(--s3);background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:var(--s4) var(--s5);margin:var(--s5) 0 var(--s4)}
.method .ic{color:var(--accent-ink);margin-top:3px}.method p{margin:0}

/* guide index rows */
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,72px);padding-top:var(--s8);padding-bottom:var(--s7);align-items:start}
.split-head{position:sticky;top:var(--s5)}
.guide-list{border-top:1px solid var(--ink)}
.guide-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t i" "d i" "m i";gap:4px var(--s5);padding:var(--s5) var(--s2);border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background-color .25s var(--ease)}
.guide-row:hover{background:var(--card);color:var(--ink)}
.guide-row:active{transform:translateY(1px)}
.gr-title{grid-area:t;font:400 1.375rem/1.2 var(--display);letter-spacing:-.015em}
.gr-desc{grid-area:d;color:var(--ink-2);font-size:.9rem;max-width:62ch}
.gr-meta{grid-area:m;font:400 .8rem/1.5 var(--mono);color:var(--muted)}
.guide-row>.ic{grid-area:i;align-self:center;color:var(--accent-ink);width:22px;height:22px;transition:transform .25s var(--ease)}
.guide-row:hover>.ic{transform:translateX(4px)}
.guide-row-hub .gr-title{font-size:1.375rem}

/* numbered takeaways */
.rules{padding-top:var(--s6);padding-bottom:var(--s7)}
.rules ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 var(--s6)}
.rules li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s4);padding:var(--s4) 0;border-top:1px solid var(--line)}
.rules .n{font:400 1.875rem/1 var(--display);color:var(--accent-ink)}
.rules li p{margin:0;max-width:44ch}

/* method band (same palette, slightly deeper paper; not a random dark section) */
.band{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,72px);background:var(--paper-2);border-radius:var(--r-map);padding-top:var(--s7);padding-bottom:var(--s7);margin-bottom:var(--s7)}
.band-body p{margin:0 0 var(--s4);max-width:56ch;font-size:1.125rem}
.arrow-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500;color:var(--accent-ink)}
.arrow-link:hover .ic{transform:translateX(3px)}.arrow-link .ic{transition:transform .2s var(--ease)}
.soon{padding-bottom:var(--s8)}
.soon-list{list-style:none;padding:0;margin:0;columns:2 280px;column-gap:var(--s6)}
.soon-list li{break-inside:avoid;padding:10px 0;border-top:1px solid var(--line);color:var(--ink-2)}

/* hub/map */
.map-sec{padding-top:var(--s5);padding-bottom:var(--s5)}
.index-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s5) var(--s6);padding-bottom:var(--s8)}
.plain{list-style:none;padding:0;margin:var(--s3) 0 0}
.plain li{padding:8px 0;border-bottom:1px solid var(--line)}
.plain a{color:var(--ink);text-decoration:none}.plain a:hover{color:var(--accent-ink);text-decoration:underline}
.related{padding-bottom:var(--s8)}

/* info pages */
.h1-info{margin:var(--s5) 0 var(--s5)}
.narrow .prose{padding-bottom:var(--s8)}
.narrow .prose h2{margin-top:var(--s6)}
.notfound{padding-bottom:var(--s8)}
.notfound .guide-list{margin:var(--s5) 0}

/* footer */
footer.site{border-top:1px solid var(--line);background:var(--paper-2);padding:var(--s7) 0 var(--s7);font-size:.9rem;color:var(--ink-2)}
.foot{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s6)}
.foot-brand p{max-width:40ch;color:var(--muted)}
.foot-note p{margin:0 0 var(--s3)}
.foot-links{display:flex;flex-wrap:wrap;gap:0 4px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px 0 0;color:var(--ink-2)}
.fine{font:400 .9rem/1.5 var(--sans);color:var(--muted)}
.fine a{color:var(--muted)}
.partner-slot{margin:var(--s5) 0}

/* CTA blocks (guide pages): quiet, in-flow, one action each */
.cta{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t a" "p a";gap:4px var(--s5);align-items:center;margin:var(--s6) 0 0;padding:var(--s5);border-top:2px solid var(--ink);border-bottom:1px solid var(--line);background:var(--card)}
.cta-t{grid-area:t;margin:0;font:400 1.375rem/1.3 var(--display)}
.cta-p{grid-area:p;margin:0;color:var(--ink-2);max-width:52ch}
.cta .btn{grid-area:a;white-space:nowrap}
.group-src{margin:var(--s3) 0 0}
/* map page: pin key */
.pins{padding-top:var(--s6);padding-bottom:var(--s4)}
.pin-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0 var(--s6);margin:0}
.pin-key>div{display:grid;gap:var(--s2);padding:var(--s4) 0;border-top:1px solid var(--line)}
.pin-key dd{margin:0;color:var(--ink-2);max-width:48ch}
.pin-key .count{margin-left:6px}
.hero-slim .ledger{align-self:end}

/* responsive: asymmetric layouts collapse to one column under 900px */
@media (max-width:900px){
  .hero,.hero-slim,.split,.band,.foot,.article-grid{grid-template-columns:1fr}
  .hero{align-items:start}
  .hero-home .hero-art{max-width:420px}
  .split-head{position:static}
  .toc{position:static;background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:var(--s4)}
  .toc ol{border-left:0;columns:2 200px;column-gap:var(--s4)}
  .toc a{padding:6px 0;border-left:0;min-height:36px}
  .band{padding:var(--s6) var(--s5)}
}
@media (max-width:640px){
  body{font-size:16px}
  .mast-line{display:none}
  nav.top{display:none}
  header.mast>.wrap:last-child{display:none}
  .menu-m{display:block;margin-left:auto}
  .mast-row{padding-top:8px;padding-bottom:8px}
  .menu-m-nav{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--paper);padding:var(--s2) clamp(16px,4vw,40px) var(--s3);border-bottom:4px double var(--line-2);box-shadow:var(--sh-2)}
  .cta{grid-template-columns:1fr;grid-template-areas:"t" "p" "a"}
  .listing,.qa{grid-template-columns:1fr;gap:var(--s3)}
  #leaflet-map{height:340px}
  .wrap>.ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wrap>.ledger>div{border-left:0;border-top:1px solid var(--line)}
  .wrap>.ledger>div:nth-child(even){border-left:1px solid var(--line)}
  .wrap>.ledger>div:nth-child(-n+2){border-top:0}
  .wrap>.ledger .ledger-date{grid-column:1/-1;border-left:0!important}
  .gr-title{font-size:1.375rem}
}
@media (max-width:640px){.prose table{font-size:.9rem}.prose th,.prose td{padding:10px}.prose td:last-child{white-space:normal}}
