/* Archivo is one variable font (weights 400-900); Archivo Black is the heading face. SIL Open Font License.
   font-display: optional + preload: text never re-flows when the fonts arrive (no layout shift). */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-display:optional;src:url(/fonts/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-display:optional;src:url(/fonts/archivo-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-display:optional;src:url(/fonts/archivo-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:"Archivo Black";font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/archivo-black-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Archivo Black";font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/archivo-black-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
:root{--ink:#111;--muted:#4a4a4a;--line:#111;--rule:#d6d6d6;--accent:#ffd400;--soft:#f4f4f4;--zebra:#f7f7f7}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.55 "Archivo",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--ink);text-underline-offset:2px}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
h1,h2,h3,.brand,.stat-value{font-family:"Archivo Black","Archivo",system-ui,sans-serif;font-weight:400;letter-spacing:-.01em}
h1{font-size:36px;line-height:1.1;margin:0 0 10px}
h2{font-size:24px;line-height:1.15;margin:0 0 14px}
h3{font-size:18px;margin:0 0 10px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;border:3px solid var(--line);padding:6px 10px;z-index:10}
header.top{border-bottom:4px solid var(--line);background:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;min-height:64px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{font-size:22px;text-decoration:none;white-space:nowrap}
nav.main{display:flex;flex-wrap:wrap}
nav.main a{margin-left:18px;font-weight:700;text-decoration:none;border-bottom:3px solid transparent;padding:10px 0 7px;min-height:44px;display:inline-block}
nav.main a:hover,nav.main a:focus-visible{border-bottom-color:var(--accent)}
nav.main a[aria-current]{border-bottom-color:var(--ink)}
.hsearch{position:relative;display:flex;flex:1 1 240px;min-width:0;max-width:420px}
.hsearch input{flex:1;min-width:0;height:44px;padding:8px 12px;border:3px solid var(--line);border-right:0;font:600 16px/1.2 "Archivo",sans-serif;background:#fff;border-radius:0;-webkit-appearance:none}
.hsearch input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 5px var(--accent)}
.hsearch button{min-width:0;height:44px;padding:0 14px;border:3px solid var(--line);background:var(--accent);font:800 15px/1 "Archivo",sans-serif;color:var(--ink);cursor:pointer;border-radius:0}
.sresults{position:absolute;top:100%;left:0;right:0;z-index:20;background:#fff;border:3px solid var(--line);border-top:0;margin:0;padding:0;list-style:none;max-height:70vh;overflow:auto;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.sresults[hidden]{display:none}
.sresults ul{list-style:none;margin:0;padding:0}
.sresults [role=option]{display:block;padding:9px 12px;border-top:1px solid var(--rule);min-height:44px;cursor:pointer}
.sresults [role=option]:hover,.sresults [role=option][aria-selected=true]{background:var(--accent)}
.sresults small{display:block;color:var(--muted);font-size:13.5px}
.sresults .kind{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.sresults .sall{margin:0;padding:9px 12px;border-top:1px solid var(--rule);font-weight:800}
.sresults .sall:empty{display:none}
.sresults .sall a{display:inline-block;padding:4px 0;min-height:32px}
.sresults .sall span{font-weight:600;color:var(--muted)}
main{padding:22px 0 36px}
.crumbs{font-size:14px;font-weight:700;margin:0 0 10px}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 4px}
.crumbs a{display:inline-block;padding:6px 0;min-height:32px}
.crumbs li{padding:6px 0}.crumbs li:has(a){padding:0}
.crumbs li:not(:last-child)::after{content:"/";margin-left:4px}
.lead{font-size:18px;max-width:820px;margin:0 0 20px}
.prose{max-width:860px}.prose p{margin:0 0 12px}.prose p:last-child{margin-bottom:0}.prose h2{margin-top:18px}.prose h2:first-child{margin-top:0}
.intro{max-width:860px;margin:0 0 22px}.intro p{margin:0 0 12px}
.block{border:4px solid var(--line);background:#fff;padding:18px 20px;margin-bottom:20px}
.block.accent{background:var(--accent)}
.stats{display:grid;grid-template-columns:repeat(6,1fr);border:4px solid var(--line);margin-bottom:20px}
.stats.n2{grid-template-columns:repeat(2,1fr)}.stats.n3{grid-template-columns:repeat(3,1fr)}.stats.n4{grid-template-columns:repeat(4,1fr)}.stats.n5{grid-template-columns:repeat(5,1fr)}
.stat{padding:14px 16px;border-right:4px solid var(--line)}.stat:last-child{border-right:0}
.stat-value{font-size:28px;line-height:1.05}.stat-label{font-weight:700;text-transform:uppercase;font-size:12.5px;margin-top:4px;letter-spacing:.02em}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.two>*{min-width:0}
.table-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}
.scroll-hint{display:none;margin:0 0 6px;font-size:13.5px;font-weight:700;color:var(--muted)}
@media (max-width:760px){.scroll-hint{display:block}}
.scroll-hint[hidden]{display:none}.scroll-hint.fits{visibility:hidden}
table{width:100%;border-collapse:collapse;font-size:15.5px}
caption{text-align:left;font-weight:700;padding:0 0 8px}
th,td{padding:9px 8px;text-align:left;vertical-align:top}
thead th{border-bottom:3px solid var(--line)}
tbody tr:nth-child(even){background:var(--zebra)}
td{overflow-wrap:break-word}
th{font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
td.n,th.n{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
td small{display:block;color:var(--muted)}
td a{display:inline-block;padding:2px 0;min-width:24px}
td a,th a{text-decoration:none}td a:hover,td a:focus-visible,th a:hover,th a:focus-visible{text-decoration:underline}
.plain{color:var(--ink)}
@media (scripting:enabled){table.folded:not(.filtering) tr.xr{display:none}}
.btn.showall{margin:12px 0 0}.showall[hidden]{display:none}
table.filtering~.showall,.table-wrap:has(table.filtering)+.showall{display:none}
.oprow{margin:0 0 14px;font-weight:700;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px}.oprow dd{margin:0}
.oprow dt{text-transform:uppercase;font-size:12.5px;letter-spacing:.02em;font-weight:900}
.oprow a{display:inline-block;padding:10px 0;min-height:44px}
[data-search-page]{min-height:100vh}
.filter{margin:0 0 10px}.filter input{width:100%;max-width:420px;height:44px;padding:8px 12px;border:3px solid var(--line);font:600 16px/1.2 "Archivo",sans-serif;border-radius:0;-webkit-appearance:none}
.filter input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 5px var(--accent)}
.filter output{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.more{font-weight:700;margin:12px 0 0}
.map{height:460px;border:4px solid var(--line);background:#eef0f2;margin-bottom:8px;position:relative}
.map.small{height:360px}
.map .map-show{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;z-index:2}
.map .map-msg{position:absolute;inset:auto 0 0 0;margin:0;padding:10px 12px;background:#fff;border-top:3px solid var(--line);font-weight:700;font-size:14px}
.map-note{font-size:14px;font-weight:700;margin:0 0 20px}
.map-legend{background:#fff;border:2px solid var(--line);padding:4px 8px;font:700 12px/1.5 "Archivo",sans-serif;display:flex;flex-direction:column}
.map-legend span{display:flex;align-items:center;gap:6px}
.map-legend i{display:inline-block;box-sizing:border-box;border:2px solid var(--line);font-style:normal;text-align:center}
.map-legend .lg-cl{background:var(--accent);min-width:20px;height:18px;font-size:10px;line-height:14px;padding:0 2px}
.map-legend .lg-pt{background:#fff;width:14px;height:14px}.map-legend .lg-main{background:var(--accent);width:18px;height:18px;border-width:3px}
.fac-top{align-items:stretch;margin-bottom:20px}.fac-top .facts{margin:0;height:100%}
.fac-map{display:flex;flex-direction:column}.fac-map .map.small{flex:1 1 auto;height:auto;min-height:360px;margin:0}
.fac-map .map-note{margin:8px 0 0}
.maplibregl-popup-content{border-radius:0;border:3px solid var(--line);box-shadow:none;font:600 14px/1.4 "Archivo",sans-serif;padding:10px 12px}
.maplibregl-ctrl-attrib{font:12px/1.4 "Archivo",sans-serif}
.maplibregl-ctrl-attrib a{display:inline-block;padding:4px 0}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);border:4px solid var(--line)}
.tile{padding:12px 14px;border-right:4px solid var(--line);border-bottom:4px solid var(--line);text-decoration:none;display:block}
.tile:nth-child(4n){border-right:0}
.tile b{display:block;font-size:15px;line-height:1.25}.tile span{font:22px/1.2 "Archivo Black",sans-serif}
a.tile:hover,a.tile:focus-visible{background:var(--accent)}
.facts{display:grid;grid-template-columns:190px minmax(0,1fr);border:4px solid var(--line);margin:0 0 20px}
.facts dt,.facts dd{margin:0;padding:10px 14px;border-bottom:1px solid var(--rule)}
.facts dt{font-weight:900;text-transform:uppercase;font-size:12.5px;letter-spacing:.02em;background:var(--soft)}
.facts dt:last-of-type,.facts dd:last-of-type{border-bottom:0}
.facts dd{overflow-wrap:anywhere}
.block p,.block li{overflow-wrap:break-word}
.tag{display:inline-block;border:3px solid var(--line);padding:1px 8px;font-weight:700;font-size:13px;margin:0 6px 6px 0;background:#fff}
.tag.status{background:var(--soft)}
.btn{display:inline-block;border:4px solid var(--line);padding:8px 14px;font:900 16px/1.3 "Archivo",sans-serif;text-decoration:none;margin:0 10px 10px 0;background:#fff;box-shadow:4px 4px 0 var(--line);color:var(--ink);cursor:pointer;min-height:44px}
.btn.accent{background:var(--accent)}
.btn:hover,.btn:focus-visible{background:var(--accent)}
.note{font-size:14px;color:var(--muted)}
ul.plain{margin:0 0 12px;padding-left:20px}ul.plain li{margin:4px 0}
ul.links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}
ul.links li{padding:6px 0;border-bottom:1px solid var(--rule)}ul.links a{font-weight:700}ul.links small{color:var(--muted);margin-left:4px}
.az{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.az a{border:3px solid var(--line);padding:6px 10px;font-weight:900;text-decoration:none;min-width:44px;min-height:44px;text-align:center}
.az a:hover,.az a:focus-visible{background:var(--accent)}
.form p{margin:0 0 14px}.form label{display:block;font-weight:900;text-transform:uppercase;font-size:13px;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;max-width:640px;padding:10px 12px;border:4px solid var(--line);font:600 16px/1.3 "Archivo",sans-serif;background:#fff;border-radius:0}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;box-shadow:4px 4px 0 var(--line)}
.hp{position:absolute;left:-9999px}
.ad-slot{display:block;margin:28px auto;min-height:300px;max-width:336px;text-align:center;clear:both}
.ad-slot .ad-label{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.ad-slot ins{display:block;min-height:280px}
.ad-wide{max-width:728px;min-height:120px}.ad-wide ins{min-height:90px}
footer.site{border-top:4px solid var(--line);padding:20px 0 36px;font-size:14px;font-weight:700}
footer.site p{margin:4px 0}footer.site nav{margin-bottom:4px;display:flex;flex-wrap:wrap;gap:0 18px}
footer.site nav+nav{margin-bottom:8px;font-weight:600}footer.site .copy{margin-top:10px}footer.site nav a{display:inline-block;padding:10px 0;min-height:44px}
footer.site .linkbtn{background:none;border:0;padding:10px 0;min-height:44px;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
@media (max-width:900px){
 .stats{grid-template-columns:repeat(3,1fr)}.stat{border-bottom:4px solid var(--line)}.stat:nth-child(3n){border-right:0}
 .stats.n4{grid-template-columns:repeat(2,1fr)}.stats.n4 .stat:nth-child(2n){border-right:0}.stats.n4 .stat:nth-child(3n){border-right:4px solid var(--line)}
 .two{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr)}
 .tile:nth-child(4n){border-right:4px solid var(--line)}.tile:nth-child(2n){border-right:0}
 .ad-wide{max-width:336px;min-height:300px}.ad-wide ins{min-height:280px}
}
@media (max-width:600px){
 h1{font-size:27px}h2{font-size:21px}.brand{font-size:19px}.lead{font-size:16.5px}
 nav.main{width:100%}nav.main a{margin:0 18px 0 0}
 .hsearch{max-width:none;flex-basis:100%}
 .stats,.stats.n3,.stats.n4,.stats.n5{grid-template-columns:repeat(2,1fr)}.stat{border-right:4px solid var(--line)!important}.stat:nth-child(2n){border-right:0!important}
 .stat-value{font-size:22px}.map{height:300px}.map.small{height:260px}.fac-map .map.small{min-height:260px}
 .map-legend{font-size:11px;padding:3px 6px}
 .facts{grid-template-columns:1fr}.facts dt{padding-bottom:4px;border-bottom:0}
 .block{padding:14px}
 table{font-size:14.5px}th,td{padding:8px 6px}
 .opt{display:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
