:root{--bg:#0a080c;--panel:#141118;--line:#2c2430;--txt:#e7e1dc;--mut:#a59ca3;--blood:#d9433b;--glow:#ff6b5a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(ellipse at top,#1a1220 0%,var(--bg) 60%);color:var(--txt);font:16px/1.65 Inter,system-ui,sans-serif;min-height:100vh}
body::after{content:"";position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 180px 40px #000;z-index:900}
.grain{position:fixed;inset:0;pointer-events:none;z-index:901;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(4) infinite;background-size:200px}
@keyframes grain{0%{background-position:0 0}25%{background-position:-40px 30px}50%{background-position:30px -50px}75%{background-position:-20px -10px}}
a{color:var(--glow)}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--glow);outline-offset:2px}
header{position:relative;z-index:1000;padding:12px 18px;background:rgba(8,6,10,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header .brand{margin:0;font:800 20px Cinzel,serif;letter-spacing:.12em}header .brand a{color:var(--txt);text-decoration:none;text-shadow:0 0 18px rgba(217,67,59,.6)}header p{margin:2px 0 0;color:var(--mut);font-size:13px}
.hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;background-size:cover;background-position:center 30%;filter:saturate(.6)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,12,.8),transparent 70%)}
.hero-in{position:relative;padding:32px 20px 44px;max-width:760px}.kicker{font:600 12px Inter;letter-spacing:.25em;text-transform:uppercase;color:var(--glow);margin:0}
.hero h2,.hero h1{font:800 clamp(30px,7vw,60px)/1.05 Cinzel,serif;margin:10px 0;text-shadow:0 2px 30px #000}.hero p{font:italic 19px/1.5 "IM Fell English",serif;color:#d8cfc8;margin:0 0 18px}
.hero.loc{min-height:52vh}.credit{position:absolute;right:10px;bottom:6px;font-size:11px;color:#9c9198}
.cta{display:inline-block;padding:11px 20px;border:1px solid var(--blood);color:#fff;text-decoration:none;border-radius:999px;background:rgba(217,67,59,.18);box-shadow:0 0 24px rgba(217,67,59,.35);transition:.25s}.cta:hover{background:var(--blood)}
.f{position:relative;z-index:999;display:flex;flex-wrap:wrap;gap:10px;padding:12px 18px;background:rgba(20,17,24,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;font-size:14px}
select,input,textarea,button{background:#1d1822;color:var(--txt);border:1px solid #3a3040;border-radius:8px;padding:8px 10px;font:inherit;min-height:40px}
.vt{display:inline-flex;border:1px solid #3a3040;border-radius:999px;overflow:hidden}.vt button{border:0;border-radius:0;padding:8px 18px;cursor:pointer;background:transparent}.vt button.on{background:var(--blood);color:#fff}
#count{color:var(--mut)}.lg{font-size:13px;color:var(--mut)}.d{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 4px 0 10px;box-shadow:0 0 8px currentColor}
#map{height:72vh;min-height:420px;background:#0a080c}.dk{filter:invert(1) hue-rotate(200deg) brightness(.62) contrast(1.15) saturate(.35) sepia(.25)}
.leaflet-container{font-family:Inter,sans-serif}.leaflet-control-attribution{background:rgba(0,0,0,.6)!important;color:#999!important}.leaflet-control-attribution a{color:#ccc!important}
.pin{display:block;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#fff 0 18%,var(--c) 40%);border:2px solid rgba(255,255,255,.75);box-shadow:0 0 14px 4px var(--c);position:relative}
.pin::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--c);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{from{transform:scale(.6);opacity:.9}to{transform:scale(1.8);opacity:0}}
.leaflet-popup-content-wrapper{background:#16121a;color:var(--txt);border:1px solid #3a3040;border-radius:12px;box-shadow:0 10px 40px #000}.leaflet-popup-tip{background:#16121a}
.pop img{width:100%;height:110px;object-fit:cover;border-radius:8px;margin-bottom:8px}.pop b{font:600 17px Cinzel,serif}.leaflet-popup-content{margin:12px;line-height:1.5}
#list{display:grid;grid-template-columns:1fr;gap:16px;padding:18px}
.card{background:linear-gradient(180deg,#19141d,#110e14);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(217,67,59,.18)}
.thumb{display:block;width:100%;height:170px;object-fit:cover;filter:saturate(.6) contrast(1.05)}.thumb.none{display:grid;place-items:center;color:#7d7380;font:italic 15px "IM Fell English",serif;background:repeating-linear-gradient(45deg,#17131a 0 12px,#1b161f 12px 24px)}
.cb{padding:14px 16px 18px}.card h3{margin:0 0 4px;font:600 21px Cinzel,serif}.meta{color:var(--mut);font-size:13px;margin-bottom:10px}
.b{display:inline-block;font:600 12px Inter;padding:3px 10px;border-radius:999px;color:#fff;margin:0 6px 6px 0}.b.ok{background:#14532d}.b.no{background:#555}.soon{color:var(--mut)}
main{max-width:860px;margin:0 auto;padding:10px 20px 70px;font-size:17px}
h2{font:600 26px Cinzel,serif;color:#f0e6df;margin-top:48px;padding-bottom:8px;border-bottom:1px solid var(--line)}h2::before{content:"✝ ";color:var(--blood);font-size:.7em;vertical-align:middle}
.note{background:rgba(217,67,59,.07);border-left:3px solid var(--blood);padding:10px 14px;font-size:14px;border-radius:0 8px 8px 0}
.warn{background:linear-gradient(135deg,#2a0f0f,#1a0909);border:1px solid var(--blood);border-radius:12px;padding:14px 16px;box-shadow:0 0 30px rgba(217,67,59,.15)}
.story{background:var(--panel);border:1px solid var(--line);padding:16px 18px;margin:14px 0;border-radius:12px}.story b:first-child{font:600 19px Cinzel,serif;color:#fff}
.score{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;font:600 12px Inter;letter-spacing:.05em;text-transform:uppercase;color:#f3b3a8}.sk{font-size:18px;letter-spacing:2px;filter:drop-shadow(0 0 6px rgba(255,107,90,.7))}.off{font-size:18px;letter-spacing:2px;opacity:.18;filter:grayscale(1);margin-left:-8px}
.ph{display:grid;grid-template-columns:1fr;gap:18px}figure{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}figure img{width:100%;display:block}figcaption{font-size:12px;color:var(--mut);padding:10px 12px}
.empty{color:var(--mut);font:italic 17px "IM Fell English",serif;padding:22px;border:1px dashed #3a3040;border-radius:12px;text-align:center}
form button{background:var(--blood);border-color:var(--blood);color:#fff;cursor:pointer}
@media(min-width:720px){header{position:sticky;top:0;padding:14px 28px}.f{position:sticky}header .brand{font-size:24px}.f{padding:12px 28px;top:63px}.lg{margin-left:auto}#list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:24px 28px}.ph{grid-template-columns:1fr 1fr}.hero-in{padding:40px 48px 60px}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
#list[hidden]{display:none}.hero h2::before{content:none}.hero h2{border:0;padding:0;color:#fff}

.b.part{background:#b45309;color:#fff}.acc{margin:8px 0}.acc small{display:block;color:#bbb;font-size:.8em;margin-top:4px;line-height:1.4}.acc a{color:#c4b5fd}
.lg .d.ring{background:transparent;border:2px dashed #ccc}
footer.disc{max-width:900px;margin:32px auto 24px;padding:16px 20px;border-top:1px solid #333;color:#aaa;font-size:.85em;line-height:1.5}footer.disc a{color:#c4b5fd}

html{background:#08060a}
.hero{background-attachment:scroll;background-color:#08060a}
.hero::before{background:linear-gradient(180deg,rgba(8,6,10,.25) 0%,rgba(8,6,10,.45) 55%,rgba(8,6,10,.8) 100%),linear-gradient(90deg,rgba(10,8,12,.55),transparent 75%)}
@media(max-width:719px){.credit{left:12px;right:12px;text-align:right}.hero:not(.loc){min-height:0;height:auto;padding-top:30vw;background-size:auto 185%;background-position:45% 90%}.hero:not(.loc) .hero-in{padding:24px 20px 56px}.hero:not(.loc)::before{background:linear-gradient(180deg,rgba(8,6,10,.15) 0%,rgba(8,6,10,.45) 45%,rgba(8,6,10,.72) 100%)}}
.hero:not(.loc){min-height:0!important;height:auto;padding-top:0!important;display:block;background-size:cover;background-position:50% 72%}
.hero:not(.loc) .hero-in{padding:56px 48px 56px!important}
.hero:not(.loc) .hero-in>:first-child{margin-top:0}.hero:not(.loc) .hero-in>:last-child{margin-bottom:0}
@media(max-width:719px){.hero:not(.loc){background-size:auto 150%;background-position:45% 85%}.hero:not(.loc) .hero-in{padding:54px 20px 54px!important}}

header .brand a.logo{display:inline-block;line-height:0;text-shadow:none}
header .brand a.logo img{height:30px;width:auto;display:block}
@media(min-width:700px){header .brand a.logo img{height:38px}}

nav.bc{font-size:13px;color:var(--mut);margin:10px 0}nav.bc a{color:var(--mut)}nav.bc ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}nav.bc li+li:before{content:"›";margin-right:6px}.hub ul{columns:2;gap:24px}.hub li{margin:4px 0;break-inside:avoid}.approx{color:#f59e0b}
