*{box-sizing:border-box}
:root{--bg:#faf8f4;--ink:#1c2430;--muted:#5c6673;--faint:#8a8578;--fainter:#a49d8d;
--hairline:#e7e2d8;--hairline2:#f0ebe0;--navy:#1f3a5f;--navy-dark:#172d4b;--gold:#8a7a55;--track:#efe9dc;
--green:#2e9e5b;--amber:#c8891f;--red:#d64545;--faint-ink:#6b6558}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,sans-serif;font-size:1.0625rem;line-height:1.6}
a{color:var(--navy)}.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.wrap{max-width:820px;margin:0 auto;padding:0 20px 56px}
nav.top{display:flex;align-items:center;justify-content:space-between;max-width:820px;margin:0 auto;padding:16px 20px;border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:10px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
/* Brand lockup — the delivered artboard's ratios (see web/index.html), but
   deliberately WITHOUT the Source Serif 4 the rest of the site now loads.
   These 22.9k pages ship zero webfonts on purpose: they are the SEO surface,
   and a font request in the head is paid on every one of them for a one-line
   wordmark. Georgia stands in, exactly as the h1 rule below already does, so
   the page falls back consistently instead of this one line reaching for a
   face nothing else here loads — and Georgia is the delivered file's own
   first fallback, so this matches what that file renders on its own. Sizing,
   tracking and ink are the artboard's regardless, so only the face differs.
   If brand exactness beats the request, add the font to the head here and
   drop the fallback. */
.logo{--lockup:40px;gap:calc(var(--lockup)*.2333)}
.logo img{width:var(--lockup);height:var(--lockup)}
.logo-text{display:flex;flex-direction:column;justify-content:center;gap:2px}
.logo-word{font-family:Georgia,'Source Serif 4',serif;font-weight:600;
           font-size:calc(var(--lockup)*.5333);letter-spacing:-.0094em;line-height:1}
.logo-tag{font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:500;
          font-size:calc(var(--lockup)*.1583);letter-spacing:.28em;
          line-height:1;color:#7E7A70;white-space:nowrap}
@media (max-width:400px){ .logo-tag{display:none} }
.crumb{font-size:.8125rem;color:var(--muted);padding:14px 0 0}
/* Arrival banner for shared links — slim, dismissible, no modal, no gate. */
#share-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 0;
  padding:11px 14px;background:#f4f6fa;border:1px solid #c3d2e8;border-radius:9px;font-size:.9375rem}
#share-banner[hidden]{display:none}
#share-banner a{font-weight:600}
#share-banner button{margin-left:auto;background:none;border:none;font-size:20px;line-height:1;
  color:var(--muted);cursor:pointer;padding:0 4px}
.crumb a{color:var(--muted)}
h1{font-family:Georgia,'Newsreader',serif;font-weight:500;font-size:clamp(1.6rem,3.6vw,2.3rem);line-height:1.18;margin:14px 0 6px;letter-spacing:-.01em}
.vcard{border:1px solid var(--hairline);border-radius:12px;overflow:hidden;margin:18px 0 22px;background:#fff}
.vhead{display:flex;align-items:center;gap:12px;padding:16px 20px;flex-wrap:wrap}
.vdot{width:13px;height:13px;border-radius:50%;flex:none}
.vtag{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.1em;line-height:1}
.vtitle{font-family:Georgia,'Newsreader',serif;font-size:1.15rem;font-weight:600}
.vbody{padding:16px 20px 20px}
.vbody p{margin:0 0 14px;color:var(--muted)}
.metric{display:grid;grid-template-columns:190px 84px 1fr 132px;gap:12px;align-items:center;margin-bottom:11px}
.metric .name{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.8125rem;color:var(--muted)}
.metric .val{font-weight:650}
.metric .track{height:7px;border-radius:4px;background:var(--track);position:relative}
.metric .fill{position:absolute;inset:0 auto 0 0;border-radius:4px}
.metric .th{position:absolute;top:-3px;bottom:-3px;width:2px;background:#9a9384;border-radius:1px}
.metric .note{font-size:.8125rem;color:var(--faint-ink)}
.facts{margin:0 0 4px;padding-left:20px}
.facts li{margin-bottom:8px}
.stamp{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.75rem;color:var(--faint-ink);letter-spacing:.04em;padding:14px 20px;border-top:1px solid var(--hairline2);line-height:1.55}
.ctas{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 6px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:8px;font-weight:600;font-size:1rem;text-decoration:none;border:1.5px solid var(--navy)}
.btn-primary{background:var(--navy);color:#faf8f4;}
.btn-outline{background:#fff;color:var(--navy)}
.btn-ghost{background:none;border-color:var(--faint);color:var(--muted)}
h2{font-family:Georgia,'Newsreader',serif;font-weight:500;font-size:1.3rem;margin:30px 0 8px}
.method{font-size:.9375rem;color:var(--muted)}
/* The extractable answer sentence under the H1 — body ink, not muted: it is
   the page's one-line summary for humans AND the sentence engines lift. */
.answer{font-size:1.0625rem;line-height:1.6;color:var(--ink);margin:2px 0 18px;max-width:72ch}
.nearby{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.nearby a{display:inline-block;border:1px solid var(--hairline);border-radius:7px;padding:7px 11px;font-size:.9375rem;text-decoration:none;background:#fff}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 18px;padding:0;list-style:none;margin:10px 0 0}
.hubgrid a{text-decoration:none}
.hubgrid .z{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.8125rem;color:var(--muted)}
.statecols{columns:200px 4;list-style:none;padding:0;margin:12px 0 0}
.statecols li{margin-bottom:6px;break-inside:avoid}
footer{border-top:1px solid var(--hairline);margin-top:34px;padding-top:16px;font-size:.875rem;color:var(--faint-ink)}
footer a{color:var(--faint-ink)}
.disc{font-size:.8125rem;line-height:1.55;color:var(--faint-ink);margin-top:10px}
@media(max-width:640px){.metric{grid-template-columns:1fr 84px;grid-template-areas:"name val" "track track"}
.metric .name{grid-area:name}.metric .val{grid-area:val;text-align:right}.metric .track{grid-area:track}
.metric .note{display:none}.ctas .btn{width:100%}}
