:root{--ink:#14202e;--muted:#4b5563;--bg:#f6f3ec;--card:#fff;--navy:#0b2a4a;--accent:#c2410c;--blue:#1d4ed8;--r:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.2;color:var(--navy)}h1{font-size:clamp(2rem,6vw,3.4rem);margin:.6rem 0}h2{font-size:1.6rem;margin-top:2.2rem}
a{color:var(--blue)}.wrap{max-width:1200px;margin:auto;padding:0 1rem}.sr{position:absolute;left:-9999px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
.top{position:sticky;top:0;z-index:1000;background:#0b2a4af2;backdrop-filter:blur(8px);display:flex;align-items:center;flex-wrap:wrap;padding:.5rem 1rem;gap:.5rem}
.brand{color:#fff;text-decoration:none;font:700 1.35rem Fraunces,serif;margin-right:auto}.brand span{font:500 .75rem Inter;opacity:.85;margin-left:.4rem;letter-spacing:.05em;text-transform:uppercase}
nav{display:flex;flex-wrap:wrap;gap:.15rem}nav a{color:#e6eef7;text-decoration:none;padding:.4rem .7rem;border-radius:999px;font-size:.9rem}nav a:hover,nav a[aria-current]{background:#ffffff26;color:#fff}
.burger{display:none;background:none;border:1px solid #fff6;color:#fff;font-size:1.2rem;border-radius:8px;padding:.2rem .6rem}
@media(max-width:900px){.burger{display:block}nav{display:none;width:100%;flex-direction:column}.navopen nav{display:flex}}
.hero{background-size:cover;background-position:center;color:#fff;padding:5rem 0 3.5rem}.hero h1{color:#fff}.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600}.lead{font-size:1.15rem;max-width:44rem}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:.7rem 1.2rem;border-radius:999px;text-decoration:none;font-weight:600;margin:.3rem .3rem 0 0}.btn.ghost{background:transparent;border:2px solid #fff}
main{padding:1rem 0 3rem}.note{background:#fff7e6;border:1px solid #f5d38a;padding:.8rem 1rem;border-radius:12px;margin:1.2rem 0;font-size:.93rem}
.filters{display:flex;flex-wrap:wrap;gap:.45rem;position:sticky;top:52px;z-index:500;background:var(--bg);padding:.6rem 0}
.f{border:1px solid #cbd5e1;background:#fff;color:var(--ink);padding:.45rem .9rem;border-radius:999px;font:500 .9rem Inter;cursor:pointer}.f.on{background:var(--navy);color:#fff;border-color:var(--navy)}.f:focus-visible{outline:3px solid var(--accent)}
.shown{color:var(--muted);font-size:.9rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.2rem}
.card{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:0 2px 10px #0b2a4a1a;display:flex;flex-direction:column;scroll-margin-top:120px;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card.hl{outline:4px solid var(--accent)}
.pics{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;aspect-ratio:3/2;background:#ddd}.pics figure{margin:0;flex:0 0 100%;scroll-snap-align:start;position:relative}
.pics img{width:100%;height:100%;object-fit:cover;display:block}.pics figcaption{position:absolute;bottom:0;left:0;right:0;background:#000b;color:#fff;font-size:.68rem;padding:.25rem .5rem}.pics figcaption a{color:#bfdbfe}
.count{position:absolute;top:.5rem;right:.5rem;background:#000a;color:#fff;font-size:.72rem;padding:.15rem .5rem;border-radius:999px}.nopic{display:grid;place-items:center;width:100%;color:var(--muted)}
.body{padding:1rem 1.1rem}.body h3{margin:.4rem 0 .2rem;font-size:1.25rem}.area{margin:0;color:var(--muted);font-size:.88rem}
.badges{display:flex;flex-wrap:wrap;gap:.3rem}.badges span{font-size:.72rem;background:#eef2f7;padding:.15rem .5rem;border-radius:999px}.badges .in{background:#dbeafe;color:#1e3a8a}.badges .out{background:#ffedd5;color:#7c2d12}.badges .mix{background:#dcfce7;color:#14532d}
.facts{list-style:none;padding:0;margin:.6rem 0;font-size:.88rem}.facts li{padding:.18rem 0;border-bottom:1px dashed #e5e7eb}
details{font-size:.9rem;margin:.4rem 0}summary{cursor:pointer;font-weight:600;color:var(--navy)}
.src{font-size:.78rem;color:var(--muted);word-break:break-word}.box{background:#fff;border-radius:var(--r);padding:.4rem 1.2rem 1rem;margin:1.2rem 0;box-shadow:0 2px 10px #0b2a4a12}.warn{border-left:6px solid var(--accent)}
.areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.areas .box{margin:0}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:.92rem}th,td{padding:.6rem;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}th{background:#e8eef6;color:var(--navy)}
#map{height:70vh;min-height:420px;border-radius:var(--r);box-shadow:0 2px 10px #0003}.star{font-size:24px;line-height:28px;text-align:center}
.days{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.day{background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 2px 10px #0b2a4a14}.day img{height:150px;width:100%;object-fit:cover}.day div{padding:.8rem 1rem}.day h3{margin:.2rem 0}
.wide{width:100%;border-radius:var(--r);max-height:420px;object-fit:cover;margin-top:1.5rem}.cap{font-size:.75rem;color:var(--muted)}
.srcs{font-size:.84rem;columns:2;column-gap:2rem}@media(max-width:700px){.srcs{columns:1}}
footer{background:var(--navy);color:#dbe4ee;font-size:.82rem;padding:1.5rem 0}footer a{color:#bfdbfe}
.card[hidden]{display:none}@media(max-width:700px){.filters{position:static}}
.chk{display:block;margin:.3rem 0 .8rem;font-size:.9rem}.btn.small{padding:.4rem .9rem;font-size:.85rem}.searches{display:flex;flex-wrap:wrap;gap:.3rem;margin:.6rem 0}
.lcard img{width:100%;aspect-ratio:3/2;object-fit:cover}.pairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.6rem}.pair{background:#eef4ff;border-radius:12px;padding:.6rem .8rem;font-size:.9rem}
.splitpick{display:grid;gap:.6rem;margin:1rem 0}.splitpick select{width:100%;padding:.4rem;font:inherit}.combo{font-size:1.05rem}
