/* PlaceLayers v1.00 — single stylesheet, no build step */
:root{
  --ink:#12181f; --ink-soft:#3d4a58; --muted:#6b7885; --line:#e2e0d8;
  --paper:#faf8f3; --paper-2:#f2efe6; --white:#fff;
  --accent:#8c2f21; --accent-soft:#f6ece9; --link:#1a4f7a;
  --ok:#2f6b46; --warn:#7a5a1e; --shadow:0 1px 2px rgba(18,24,31,.06),0 8px 24px rgba(18,24,31,.06);
  --w:1120px; --r:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font:17px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;}
img{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:2px}
a:hover{color:var(--accent)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
h1,h2,h3,h4{line-height:1.22;letter-spacing:-.015em;margin:0 0 .5em;font-weight:650}
h1{font-size:clamp(28px,4.4vw,44px)}
h2{font-size:clamp(22px,2.8vw,30px);margin-top:1.9em}
h3{font-size:19px;margin-top:1.6em}
p{margin:0 0 1.05em}
small,.small{font-size:14px}
.muted{color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}
/* header */
header.site{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
header.site .wrap{display:flex;align-items:center;gap:26px;min-height:62px;flex-wrap:wrap}
.logo{font-weight:750;letter-spacing:-.03em;font-size:20px;color:var(--ink);text-decoration:none;white-space:nowrap}
.logo span{color:var(--accent)}
nav.main{display:flex;gap:20px;flex-wrap:wrap;font-size:15px}
nav.main a{color:var(--ink-soft);text-decoration:none}
nav.main a:hover,nav.main a[aria-current]{color:var(--accent);text-decoration:underline}
/* hero */
.hero{background:linear-gradient(180deg,var(--white),var(--paper));border-bottom:1px solid var(--line);padding:52px 0 44px}
.hero p.lede{font-size:20px;color:var(--ink-soft);max-width:62ch}
.kicker{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;color:var(--accent);margin:0 0 14px}
/* cards + grid */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.card h3{margin-top:0}
.card p:last-child{margin-bottom:0}
/* search */
.searchbox{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);margin-top:26px}
.searchbox label{display:block;font-weight:650;margin-bottom:8px;font-size:15px}
.searchrow{display:flex;gap:10px;flex-wrap:wrap}
input[type=text],input[type=number],select{font:inherit;padding:12px 14px;border:1px solid #cfcabb;border-radius:8px;background:var(--white);color:var(--ink);min-width:0;flex:1 1 260px}
input:focus,select:focus,button:focus{outline:2px solid var(--link);outline-offset:1px}
button,.btn{font:inherit;font-weight:650;padding:12px 18px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
button.ghost,.btn.ghost{background:var(--white);color:var(--ink);border-color:#cfcabb}
button:hover{filter:brightness(1.06)}
ul.results{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--line)}
ul.results li{border-bottom:1px solid var(--line)}
ul.results a{display:flex;justify-content:space-between;gap:12px;padding:11px 2px;text-decoration:none;color:var(--ink)}
ul.results a:hover{background:var(--paper-2)}
ul.results .n{color:var(--muted);font-size:14px}
/* timeline */
.timeline{list-style:none;margin:22px 0;padding:0}
.timeline li{position:relative;padding:0 0 20px 30px;border-left:2px solid var(--line)}
.timeline li:last-child{border-left-color:transparent;padding-bottom:0}
.timeline li:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--white)}
.timeline .yr{font-weight:750;font-variant-numeric:tabular-nums}
.timeline .src{font-size:14px;color:var(--muted)}
/* map + overlay */
.maprow{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
#map,.map{height:min(66vh,560px);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper-2)}
.mapctl{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}
.mapctl .row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
input[type=range]{flex:1 1 200px;accent-color:var(--accent)}
.pill{display:inline-block;font-size:12.5px;font-weight:650;padding:3px 9px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft)}
.pill.on{background:var(--accent-soft);border-color:#e3c8c2;color:var(--accent)}
/* tables */
table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15.5px;background:var(--white)}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--paper-2);font-size:13.5px;text-transform:uppercase;letter-spacing:.05em}
td.num{text-align:right;font-variant-numeric:tabular-nums}
/* notices */
.notice{border:1px solid var(--line);border-left:4px solid var(--warn);background:#fdfaf2;border-radius:8px;padding:14px 16px;margin:22px 0;font-size:15.5px}
.notice.legal{border-left-color:var(--accent);background:var(--accent-soft)}
.notice.src{border-left-color:var(--ok);background:#f2f8f4}
.notice strong{display:block;margin-bottom:4px}
.disclosure{font-size:14px;color:var(--ink-soft);background:var(--paper-2);border:1px dashed #cfcabb;border-radius:8px;padding:12px 14px;margin:14px 0}
/* legend / detector */
.uses{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}
.uses li{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.uses code{background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:14px}
.swatch{display:inline-block;width:14px;height:14px;border:1px solid #999;border-radius:3px;vertical-align:-2px;margin-right:6px}
/* footer */
footer.site{margin-top:64px;background:var(--white);border-top:1px solid var(--line);padding:34px 0 46px;font-size:14.5px}
footer.site .cols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
footer.site h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:7px}
footer.site a{color:var(--ink-soft);text-decoration:none}
footer.site a:hover{color:var(--accent);text-decoration:underline}
.legal-foot{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13.5px;max-width:80ch}
.crumbs{font-size:14px;color:var(--muted);padding:14px 0 0}
.crumbs a{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:640px){body{font-size:16px}.hero{padding:34px 0 28px}}
