:root{--bg:#EDF0EE;--ink:#17262B;--muted:#44565B;--c0:#1F6F78;--c1:#4A5AA8;--c2:#B8801F;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#10191C;--ink:#E6EEEC;--muted:#A2B4B7;--c0:#4FB3BF;--c1:#8C9BE0;--c2:#E2B05A}}
*{box-sizing:border-box}
html{height:100%}
body{margin:0;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;background:var(--bg);color:var(--ink);font:1rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
#map{position:fixed;inset:0;width:100%;height:100%;z-index:0}
header,main,footer{position:relative;z-index:1;padding-inline:clamp(1.25rem,5vw,4rem)}
header{padding-block:1.75rem}
.brand{font:500 1.375rem/1 Charter,"Iowan Old Style","Palatino Linotype",Georgia,serif;letter-spacing:.01em}
main{align-self:end;max-width:40rem;padding-block:2rem 1.5rem}
h1{margin:0 0 1rem;font:500 clamp(2.25rem,6vw,4rem)/1.06 Charter,"Iowan Old Style","Palatino Linotype",Georgia,serif;letter-spacing:-.015em;text-wrap:balance}
.lead{margin:0 0 1.25rem;font-size:1.25rem}
.note{margin:0;max-width:34rem;color:var(--muted)}
footer{padding-block:1rem 1.5rem;color:var(--muted)}
.c0{fill:var(--c0)}.c1{fill:var(--c1)}.c2{fill:var(--c2)}
#map circle{transition:transform 2.6s cubic-bezier(.2,.7,.2,1),opacity 2.6s ease}
#map circle.scatter{transform:translate(var(--dx),var(--dy));opacity:0}
@media (prefers-reduced-motion:reduce){#map circle{transition:none}}
