*{box-sizing:border-box}
body{margin:0;background:#0d1419 url(map.svg) center top/1500px auto no-repeat;color:#faf4e8;font:16px/1.55 system-ui,sans-serif}
header{display:flex;justify-content:space-between;padding:18px max(20px,calc((100vw - 1120px)/2));background:#101619;border-bottom:1px solid #34414a;font-size:.85rem;font-weight:850;letter-spacing:.12em}
a{color:inherit}
main{max-width:1160px;margin:auto;padding:32px 20px 60px}
.intro{max-width:670px;margin-bottom:25px}
.eyebrow{color:#ffab83;font-size:.75rem;font-weight:800;letter-spacing:.18em}
h1{font-size:clamp(2.8rem,8vw,5.5rem);line-height:.97;letter-spacing:-.06em;margin:8px 0 20px}
.layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;align-items:center}
.map{text-align:center}
#globe{width:100%;max-width:560px;display:block;margin:auto;touch-action:none;cursor:grab}
#globe:active{cursor:grabbing}
.controls{display:flex;justify-content:center;gap:8px}
button,select{font:inherit;color:inherit;background:#18252e;border:1px solid #6b7c84;border-radius:6px;padding:8px 13px}
button{cursor:pointer}
.desk{padding:24px;border:1px solid #53626b;border-top:4px solid #e55c43;background:#152029;border-radius:8px}
label,select{display:block;width:100%}
label{font-weight:700;margin-bottom:8px}
.desk .eyebrow{margin-top:24px}
h2{font-size:2rem;line-height:1.1;margin:0}
nav{display:grid;gap:8px;margin:16px 0}
nav a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;padding:12px;border-radius:5px;background:#283940;font-weight:700}
nav a:hover{background:#3a4f56}
:focus-visible{outline:3px solid #ffab83;outline-offset:3px}
@media(max-width:700px){.layout{grid-template-columns:1fr;gap:20px}main{padding-top:24px}.desk{padding:18px}}
.source{border-top:1px solid #53626b;padding:12px 0}
.source p{margin:4px 0}
.source .eyebrow{margin-top:0}
.source a{font-weight:750;text-underline-offset:3px}
.spotlight .desk{background:#141f34;border-top-color:#d5a659}
.spotlight .eyebrow{color:#e8bf7c}
.spotlight header{background:#101a2d}
#state-guide{margin-top:18px;padding-top:8px;border-top:1px solid #566579}
.state-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.state-facts div{background:#22324a;border-radius:6px;padding:10px 12px}
.state-facts div:last-child{grid-column:1/-1}
.state-facts dt{color:#e8bf7c;font-size:.8rem;font-weight:750}
.state-facts dd{margin:2px 0 0;font-weight:650;overflow-wrap:anywhere}
.guide-links{font-size:.86rem}
