:root{--ink:#111;--paper:#fffdf6;--sun:#ffd400;--deep:#0b2545;--line:4px solid #111}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--ink);text-decoration-thickness:2px;text-underline-offset:3px}
h1,h2,h3{font-weight:900;line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(2rem,6vw,3.4rem);margin:.3em 0}h2{font-size:clamp(1.5rem,4vw,2.1rem);margin:1.4em 0 .5em;border-bottom:var(--line);padding-bottom:.2em}
main>section{max-width:1200px;margin:0 auto;padding:0 16px 8px}
.top{position:sticky;top:0;z-index:1000;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;background:var(--ink);color:#fff;padding:10px 16px;border-bottom:6px solid var(--sun)}
.brand{color:#fff;font-weight:900;text-decoration:none;font-size:1.15rem;letter-spacing:.04em}.brand span{color:var(--sun)}
.top nav{display:flex;gap:6px;flex-wrap:wrap}.top nav a{color:#fff;font-weight:800;text-decoration:none;padding:6px 10px;border:2px solid #fff;border-radius:8px}
.top nav a.rnd{background:var(--sun);color:#111;border-color:var(--sun)}
.hero{min-height:40vh;background:#222 center/cover no-repeat;display:flex;align-items:flex-end;max-width:none!important;padding:0!important;transition:background-image .8s}
.hin{background:rgba(0,0,0,.72);color:#fff;padding:24px 20px 28px;width:100%}
.hin h1{font-size:clamp(3rem,11vw,6.5rem);margin:0;color:#fff;text-shadow:0 3px 0 #000}.hin p{font-size:1.2rem;max-width:44em;font-weight:600}
.btn{display:inline-block;background:var(--sun);color:#111;font-weight:900;text-decoration:none;border:var(--line);border-radius:12px;padding:10px 16px;margin:10px 0;box-shadow:4px 4px 0 #111}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #111}.btn.big{font-size:1.25rem;padding:14px 20px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:20px!important}
.stats div{border:var(--line);border-radius:14px;padding:14px;background:#fff;box-shadow:5px 5px 0 #111}
.stats b{display:block;font-size:clamp(1.8rem,4vw,2.6rem);white-space:nowrap;font-weight:900;line-height:1}.stats span{font-weight:800;text-transform:uppercase;font-size:.85rem;letter-spacing:.06em}
.map{border:var(--line);border-radius:14px;background:#cfd8dc;margin:10px 0 18px}.map.l{height:min(70vh,560px)}.map.m{height:min(55vh,420px)}
.hint{font-weight:600;color:#333}
.pin{background:#fff;border:4px solid #111;border-radius:50%;width:16px;height:16px}
.pnum{background:#111;color:#fff;border:3px solid #fff;border-radius:50%;width:30px!important;height:30px!important;line-height:24px;text-align:center;font-weight:900;font-size:14px;box-shadow:0 0 0 2px #111}
.pnum.lay{background:#fff;color:#111;border:3px dashed #111}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.card{display:flex;flex-direction:column;border:var(--line);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;box-shadow:5px 5px 0 #111}
.card:hover,.card:focus{outline:4px solid var(--sun);outline-offset:2px}
.card img,.noimg{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:var(--line);background:#ddd}.noimg{display:flex;align-items:center;justify-content:center;font-weight:800}
.ct{padding:10px 12px;display:flex;flex-direction:column;gap:2px}.ct b{font-size:1.15rem;font-weight:900}.ct .d{font-weight:800}.ct .pl{font-size:.92rem}.ct .n{font-weight:700;font-size:.9rem}
.badge{display:inline-block;margin:4px 6px 0 0;font-weight:900;font-size:.8rem;padding:3px 8px;border:3px solid #111;border-radius:6px;background:#fff;text-transform:uppercase;letter-spacing:.04em}
.badge.dash{border-style:dashed}.badge.q{background:#111;color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.chips a{border:3px solid #111;border-radius:999px;padding:4px 12px;font-weight:800;text-decoration:none;background:#fff}
.chips a i{font-style:normal;background:#111;color:#fff;border-radius:999px;padding:0 7px;margin-left:4px;font-size:.85em}
.lead{font-size:1.15rem;font-weight:700}.crumb{font-weight:800;margin:14px 0 0}
.why{border:var(--line);border-radius:14px;background:#fff;padding:6px 18px 10px;margin:18px 0;box-shadow:5px 5px 0 #111}.why h2{border:0;margin-top:.6em}.plan{border-top:3px dashed #111;padding-top:10px}
.stop{border-top:6px solid #111;padding-top:6px;margin-top:26px}.stop h3{font-size:1.5rem;display:flex;gap:10px;align-items:center;margin:.4em 0}
.num{flex:none;background:#111;color:#fff;border-radius:50%;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem}
.meta{font-weight:700;margin:0 0 6px}.story{max-width:46em}.story p{margin:.4em 0;border-left:6px solid var(--sun);padding-left:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:10px 0}.grid.dense{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.grid a{display:block;border:3px solid #111;border-radius:8px;overflow:hidden;aspect-ratio:1;background:#ddd}.grid img{width:100%;height:100%;object-fit:cover;display:block}
.years{display:flex;flex-wrap:wrap;gap:6px}.years a{font-weight:900;border:3px solid #111;padding:2px 10px;border-radius:8px;text-decoration:none;background:#fff}
.yr{font-size:2.6rem}.quick{list-style:none;padding:0}.quick li{border-bottom:2px solid #111;padding:8px 0}.quick a{text-decoration:none}.quick i{font-style:normal;font-weight:700;opacity:.8}
.note{border:3px dashed #111;padding:8px 12px;border-radius:10px;font-weight:600;background:#fff}
footer{background:#111;color:#fff;text-align:center;padding:24px 16px;margin-top:40px;border-top:6px solid var(--sun);font-weight:700}footer .sm{font-weight:400;font-size:.8rem}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:5000;display:flex;align-items:center;justify-content:center}.lb[hidden]{display:none}
.lb figure{margin:0;max-width:96vw;max-height:94vh;display:flex;flex-direction:column;align-items:center}.lb img{max-width:96vw;max-height:80vh;object-fit:contain;border:3px solid #fff}
.lb figcaption{color:#fff;font-weight:600;max-width:52em;padding:10px;max-height:12vh;overflow:auto}
.lb button{position:absolute;background:#fff;color:#111;border:4px solid #111;font:900 2rem/1 system-ui;width:56px;height:56px;border-radius:50%;cursor:pointer}
.lbx{top:12px;right:12px}.lbp{left:8px;top:50%}.lbn{right:8px;top:50%}
.leaflet-container{font:inherit}.leaflet-tooltip{font-weight:800;border:2px solid #111}
@media (max-width:600px){body{font-size:17px}.top nav a{padding:4px 8px;font-size:.9rem}.grid{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:1fr 1fr;gap:10px}.ct b{font-size:1rem}.ct .pl{display:none}.lb button{width:46px;height:46px;font-size:1.6rem}}

.brand img{display:block;height:170px;max-width:calc(100vw - 32px);height:auto;max-height:170px;width:auto;background:#fff;border:3px solid #000;border-radius:10px}
.logohero{background:#fff;text-align:center;max-width:none!important;padding:12px 0!important;border-bottom:4px solid #000}.logohero img{max-width:min(100%,900px);height:auto}
.htag{font-size:clamp(2rem,6vw,4rem);margin:0;color:#fff}
.top nav{flex-direction:column;align-items:stretch}.top nav a{text-align:center}
