@import "tokens.css";
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.55;
background:linear-gradient(180deg,var(--deep),#060c12 60%,var(--deep))}
a{color:inherit;text-decoration:none}.san{font-family:Arial,Helvetica,sans-serif}
header{position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--line);background:rgba(8,16,24,.82);backdrop-filter:blur(14px)}
.nav{width:min(1280px,calc(100% - 30px));margin:0 auto;height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand b{font-family:Arial,Helvetica,sans-serif;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);display:block}
.brand small{font-size:.68rem;color:var(--muted)}
.links{display:flex;gap:16px;font-family:Arial,Helvetica,sans-serif;font-size:.74rem;color:var(--muted)}
.links a{padding:6px 0;border-bottom:1px solid transparent}.links a:hover{color:var(--gold);border-color:var(--copper)}
main{width:min(1280px,calc(100% - 30px));margin:0 auto}
.hero{padding:34px 0 14px}
.kicker{font-family:Arial,Helvetica,sans-serif;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--copper);margin:0 0 10px}
h1{font-size:2.3rem;line-height:1.12;font-weight:400;margin:.1em 0 .3em}h1 em{font-style:italic;color:var(--gold)}
.lede{font-size:1.02rem;color:var(--muted);max-width:66ch;margin:0}
.stats{display:flex;gap:26px;margin-top:18px;flex-wrap:wrap;font-family:Arial,Helvetica,sans-serif}
.stat b{display:block;font-family:Georgia,serif;font-size:1.5rem;color:var(--sand)}
.stat span{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.controls{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 8px;align-items:center}
.controls input,.controls select{font-family:Arial,Helvetica,sans-serif;font-size:.82rem;color:var(--ink);
background:rgba(8,16,24,.6);border:1px solid var(--line2);padding:9px 11px;outline:none}
.controls input{flex:1;min-width:200px;font-family:Georgia,serif;font-size:.98rem}
.controls input:focus,.controls select:focus{border-color:var(--sand)}
.controls select{cursor:pointer}
.controls option{background:var(--deep2)}
.reset{font-family:Arial,Helvetica,sans-serif;font-size:.74rem;color:var(--copper);border:1px solid var(--line);padding:9px 12px;cursor:pointer;background:transparent}
.count{font-family:Arial,Helvetica,sans-serif;font-size:.78rem;color:var(--muted);margin:6px 2px}
.count b{color:var(--sand)}
.layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 40px}
#map{height:640px;border:1px solid var(--line2);background:var(--panel);position:sticky;top:76px}
.list{display:flex;flex-direction:column;gap:8px;max-height:none}
.row{background:linear-gradient(180deg,var(--panel),var(--deep2));border:1px solid var(--line);padding:12px 14px;display:block}
.row:hover{border-color:var(--line2);box-shadow:inset 0 0 0 1px rgba(216,187,130,.22)}
.row .nm{font-size:1.02rem;color:var(--ink)}
.row .mt{font-family:Arial,Helvetica,sans-serif;font-size:.7rem;letter-spacing:.03em;color:var(--faint);text-transform:uppercase;margin-top:4px}
.tags{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap}
.tag{font-family:Arial,Helvetica,sans-serif;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--line2);color:var(--muted)}
.tag.prot{color:#bfe3d4;border-color:rgba(43,138,120,.5)}
.tag.unprot{color:#e7c58a;border-color:rgba(183,106,54,.45)}
.tag.wh{color:#e0c485;border-color:rgba(224,196,133,.5)}
.tag.low{color:#e79b8a;border-color:rgba(143,63,37,.5)}
.more{font-family:Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;
padding:12px;background:transparent;border:1px solid var(--line2);color:var(--sand);cursor:pointer;margin-top:6px}
.more:hover{background:rgba(216,187,130,.07)}
footer{width:min(1280px,calc(100% - 30px));margin:0 auto 40px;color:var(--faint);font-size:.8rem;border-top:1px solid var(--line);padding-top:14px}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel2);color:var(--ink);border:1px solid var(--line2)}
.leaflet-popup-content{font-family:Georgia,serif;margin:11px 13px}
.leaflet-popup-content a{color:var(--gold)}
.leaflet-container{background:#060c12}
.leaflet-control-attribution{background:rgba(8,16,24,.7)!important;color:var(--faint)!important}
.leaflet-control-attribution a{color:var(--muted)!important}
/* detail page */
.detail{max-width:820px;margin:24px auto 60px}
.detail h1{font-size:2rem}
.detail .field{display:grid;grid-template-columns:180px 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:.98rem}
.detail .field .k{font-family:Arial,Helvetica,sans-serif;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.detail .desc{margin:16px 0;color:var(--muted);line-height:1.7}
.detail .warn{color:#e7c58a;font-size:.9rem;border-left:2px solid var(--copper);padding-left:10px;margin:10px 0}
.back{font-family:Arial,Helvetica,sans-serif;font-size:.74rem;color:var(--copper);display:inline-block;margin:18px 0}
.cta{display:inline-block;font-family:Arial,Helvetica,sans-serif;letter-spacing:.07em;text-transform:uppercase;font-size:.74rem;padding:11px 18px;background:linear-gradient(180deg,var(--copper),var(--terracotta));color:#fff;margin:4px 8px 4px 0}
@media(max-width:900px){.layout{grid-template-columns:1fr}#map{height:380px;position:static;order:-1}h1{font-size:1.8rem}.detail .field{grid-template-columns:1fr}}
/* --- Site Landing Design System (hybrid): per-record province + family accent on dark chrome --- */
.detail .siteband{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 6px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.detail .prov-chip{font-family:Arial,Helvetica,sans-serif;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:20px;color:var(--prov,#b58d58);border:1px solid var(--prov,#b58d58)}
.detail .fam-chip{font-family:Arial,Helvetica,sans-serif;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:20px;color:#0d1b12;background:var(--site,#b58d58)}
.detail .tier-chip{font-family:Arial,Helvetica,sans-serif;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border:1px solid var(--line2);color:var(--sand)}
.detail .material{font-family:Georgia,serif;font-style:italic;font-size:.86rem;color:var(--muted)}
.detail .sitekicker{color:var(--site,var(--copper))}
.detail h1{border-left:3px solid var(--site,var(--copper));padding-left:14px;margin-left:-2px}
.detail .sitecta{background:linear-gradient(180deg,var(--site,var(--copper)),color-mix(in srgb,var(--site,var(--copper)) 70%, #000))!important;border:none!important;color:#0d1b12!important}

/* --- site detail: DOAM inventory photo gallery (2026-07-23) --- */
.sitegal{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:18px 0 4px}
.sitegal figure{margin:0;border:1px solid var(--line2);background:var(--panel);padding:7px}
.sitegal img{display:block;width:100%;height:190px;object-fit:cover;background:#0c1620}
