/* Layout: a survey sheet. Left-aligned content with a narrow legend column for section names; contour linework is the one ornament. */
:root{
  --paper:#f1f3ee; --panel:#e6e9e2; --ink:#1d2326; --ink-2:#4b5559; --rule:#c6ccc3;
  --water:#1f5f8b; --water-soft:rgba(31,95,139,.12); --contour:#a08a66; --wood:#4f7341; --survey:#a8402d;
  --display:"Archivo", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --body:"Newsreader", Georgia, "Times New Roman", serif;
  --gutter:20px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --paper:#141a1c; --panel:#1c2427; --ink:#e3e6df; --ink-2:#9ea8a7; --rule:#2e383b;
  --water:#7cb2da; --water-soft:rgba(124,178,218,.14); --contour:#6e644f; --wood:#8db57a; --survey:#e0806a; color-scheme:dark } }
:root[data-theme="dark"]{
  --paper:#141a1c; --panel:#1c2427; --ink:#e3e6df; --ink-2:#9ea8a7; --rule:#2e383b;
  --water:#7cb2da; --water-soft:rgba(124,178,218,.14); --contour:#6e644f; --wood:#8db57a; --survey:#e0806a; color-scheme:dark }

*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font:18px/1.55 var(--body);padding-inline:var(--gutter);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);font-stretch:100%;margin:0;text-wrap:balance;font-weight:700;line-height:1.1}
p,ul,ol,figure,dl{margin:0}
a{color:var(--water);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--water);outline-offset:3px}
.num{font-variant-numeric:tabular-nums lining-nums}
.label{font:600 14px/1.2 var(--display);font-stretch:82%;letter-spacing:.01em;color:var(--ink-2)}
.ital{font-style:italic;color:var(--ink-2)}

/* Nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--paper);margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);border-bottom:1px solid var(--rule)}
.nav-in{max-width:1120px;margin:0 auto;display:flex;align-items:baseline;gap:22px;min-height:54px;padding-block:14px;flex-wrap:wrap}
.nav .brand{font:800 18px/1 var(--display);font-stretch:110%;color:var(--ink);text-decoration:none;margin-right:auto;letter-spacing:-.01em}
.nav a.link{font:600 15px/1 var(--display);font-stretch:85%;color:var(--ink-2);text-decoration:none;padding-bottom:4px;border-bottom:2px solid transparent}
.nav a.link:hover{color:var(--ink)}
.nav a.link[aria-current="page"]{color:var(--ink);border-color:var(--water)}

/* Sheet: legend column + content */
.sheet{max-width:1120px;margin:0 auto;padding-block:0 80px}
.sec{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px 40px;padding-block:56px;border-top:1px solid var(--rule)}
.sec>.key{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:calc(env(safe-area-inset-top,0px) + 72px)}
.sec>.key h2{font-size:24px;font-stretch:90%}
.sec>.key p{font-size:15px;line-height:1.45;color:var(--ink-2)}
.sec>.body{min-width:0;display:flex;flex-direction:column;gap:28px}
.lede{max-width:60ch;font-size:20px;line-height:1.5}
@media (max-width:820px){
  .sec{grid-template-columns:minmax(0,1fr);padding-block:40px}
  .sec>.key{position:static}
}

/* Filter toggles */
.toggles{display:flex;flex-wrap:wrap;gap:6px}
.tog{font:600 14px/1 var(--display);font-stretch:85%;padding:8px 11px;border:1px solid var(--rule);background:transparent;cursor:pointer;border-radius:2px}
.tog:hover{border-color:var(--ink-2)}
.tog[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* Charts */
svg.chart{display:block;width:100%;height:auto;overflow:visible}
svg.chart text{fill:var(--ink-2);font:500 12px var(--display);font-stretch:85%}
svg.chart .strong{fill:var(--ink);font-weight:700}
.scroll-x{overflow-x:auto}

footer.site{max-width:1120px;margin:0 auto;padding-block:20px 40px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:6px 24px;font:500 14px/1.4 var(--display);font-stretch:85%;color:var(--ink-2)}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
