:root{--ink:#14304a;--ink2:#47606f;--sky:#e8f0f4;--paper:#fff;--line:#c9d8e0;--trail:#f0b429;--deep:#0d5c63;--deep2:#0a474d;--warn:#fff4d6;--r:6px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 'Atkinson Hyperlegible',system-ui,sans-serif}
h1,h2,h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;line-height:1.12;letter-spacing:-.015em;font-weight:700;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5.2vw,3.7rem)}h2{font-size:clamp(1.55rem,3vw,2.2rem);margin-top:1.8em}h3{font-size:1.2rem;margin-top:1.4em}
p,li{max-width:68ch}a{color:var(--deep)}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--trail);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:9}
header.top{border-bottom:1px solid var(--line);background:#fff}
.nav{display:flex;align-items:center;gap:22px;min-height:68px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.logo{display:flex;align-items:center;gap:9px;font:800 1.2rem 'Bricolage Grotesque',sans-serif;color:var(--ink);text-decoration:none}
.nav ul{display:flex;gap:18px;list-style:none;margin:0 0 0 auto;padding:0;flex-wrap:wrap}.nav li a{color:var(--ink);text-decoration:none}.nav li a:hover{text-decoration:underline}
.btn{display:inline-block;background:var(--deep);color:#fff;border:0;border-radius:var(--r);padding:.8em 1.25em;font:700 1rem 'Atkinson Hyperlegible',sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--deep2);color:#fff}.btn.ghost{background:transparent;color:var(--deep);box-shadow:inset 0 0 0 2px var(--deep)}.btn.ghost:hover{background:var(--sky);color:var(--deep2)}
.notice{background:var(--warn);border-bottom:1px solid #e9d28f;font-size:.95rem;padding:.55em 0}
.hero{background:var(--sky);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;padding-top:56px;padding-bottom:64px;align-items:start;position:relative}
.hero p.lead{font-size:1.25rem;color:var(--ink2);max-width:34em}
.trail{position:absolute;left:0;bottom:0;width:100%;height:100%;pointer-events:none}
.trail path{fill:none;stroke:var(--trail);stroke-width:14;stroke-linecap:round;stroke-dasharray:1 26}
.finder{background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:24px;position:relative}
.finder h2{font-size:1.4rem;margin:0 0 .25em}.finder fieldset{border:0;padding:0;margin:1em 0 0}.finder legend{font-weight:700;padding:0;margin-bottom:.35em}
.finder label{display:flex;gap:.55em;align-items:flex-start;padding:.3em 0;cursor:pointer}.finder input{margin-top:.35em;accent-color:var(--deep);width:1.05em;height:1.05em}
.finder small,.small{color:var(--ink2);font-size:.92rem}
#result{margin-top:1em;border-top:2px solid var(--trail);padding-top:1em}#result:empty{display:none}#result ol{padding-left:1.2em;margin:.3em 0}#result li{margin:.35em 0}
section.band{padding:12px 0 36px}section.tint{background:var(--sky);padding:20px 0 48px;margin-top:40px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.grid3 h3{margin-top:.5em}
.steps{list-style:none;padding:0;margin:0;counter-reset:s;border-left:7px dotted var(--trail);margin-left:14px}
.steps li{counter-increment:s;padding:0 0 26px 30px;position:relative;max-width:64ch}.steps li:last-child{padding-bottom:0}
.steps li::before{content:counter(s);position:absolute;left:-25px;top:0;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 1rem 'Bricolage Grotesque',sans-serif}
.steps strong{display:block;font-size:1.15rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;margin:1.2em 0;border-top:2px solid var(--ink)}
.facts div{padding:14px 18px 14px 0}.facts b{display:block;font:700 1.9rem/1.1 'Bricolage Grotesque',sans-serif}.facts span{font-size:.95rem;color:var(--ink2);display:block}
table{border-collapse:collapse;width:100%;font-size:.98rem}th,td{text-align:left;padding:.65em .7em;border-bottom:1px solid var(--line);vertical-align:top}th{font-family:'Bricolage Grotesque',sans-serif}
.tscroll{overflow-x:auto}.tscroll table{min-width:680px}
details{border-bottom:1px solid var(--line);padding:.7em 0}summary{cursor:pointer;font-weight:700;font-size:1.08rem}details p{margin:.6em 0 .2em}
.crumbs{font-size:.92rem;padding-top:14px;color:var(--ink2)}.crumbs a{color:var(--ink2)}
.page{padding-bottom:52px}.page h1{margin-top:.5em}
.sources{font-size:.93rem;color:var(--ink2)}.sources li{margin:.3em 0;overflow-wrap:anywhere}
.citylist{columns:4 190px;list-style:none;padding:0}.citylist li{break-inside:avoid;padding:.14em 0}
.statehead{break-after:avoid;margin:.8em 0 .1em;font-weight:700}
.callout{background:var(--sky);border-left:6px solid var(--trail);padding:14px 18px;margin:1.2em 0;border-radius:0 var(--r) var(--r) 0}.callout p{margin:.3em 0}
form.lead label{display:block;font-weight:700;margin-top:1em}form.lead input,form.lead select{width:100%;max-width:420px;padding:.6em;font:inherit;border:1.5px solid var(--ink2);border-radius:var(--r);display:block;margin-top:.25em}
form.lead .consent{font-weight:400;display:flex;gap:.6em;max-width:68ch}form.lead .consent input{width:auto;margin-top:.3em}
footer{background:var(--ink);color:#dfe9ef;padding:38px 0;margin-top:30px;font-size:.93rem}footer a{color:#fff}footer p{max-width:86ch}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:20px}.fgrid ul{list-style:none;padding:0;margin:0}.fgrid li{padding:.13em 0}.fgrid b{font-family:'Bricolage Grotesque',sans-serif;color:#fff}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:28px;padding-top:34px}.grid3,.fgrid{grid-template-columns:1fr}.nav ul{margin-left:0;gap:12px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hp{position:absolute;left:-9999px}
