.haunt-hero:before{background-image:linear-gradient(90deg,rgba(3,5,8,.92),rgba(3,5,8,.4)),url('assets/paranormal-archive-room.webp');background-position:center}
.haunt-hero h1{font-size:clamp(2.3rem,6vw,4.8rem)}
.report-open{overflow:hidden}
#haunt-dialog{color:#eee;background:#090c10;border:1px solid var(--gold);padding:0;width:min(720px,calc(100% - 32px));max-height:85vh;max-height:85dvh;box-sizing:border-box;box-shadow:0 24px 100px #000}
#haunt-dialog::backdrop{background:rgba(0,0,0,.8)}
.haunt-dialog-inner{padding:32px}
.dialog-close{display:block;margin:0 0 26px auto;cursor:pointer;font-size:.875rem;padding:10px 16px}
#haunt-dialog-title{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.2;color:var(--gold2);margin:12px 0 20px}
.report-photo{display:block;width:140px;max-width:100%;margin:0 0 20px;padding:0;border:1px solid #655233;background:#0b0d10;cursor:zoom-in;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.report-photo[hidden]{display:none}
.report-photo-credit{font:.8rem/1.4 Arial,sans-serif;margin:-12px 0 20px;color:#aaa}
.report-photo-credit[hidden]{display:none}
.report-photo-credit a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
.report-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.report-photo:hover,.report-photo:focus-visible{border-color:var(--gold2);box-shadow:0 0 18px rgba(241,189,94,.35);transform:translateY(-1px);outline:none}
.haunt-photo-dialog{padding:0;border:1px solid var(--gold);background:#050709;max-width:calc(100% - 30px);max-height:90vh;box-shadow:0 24px 100px #000}
.haunt-photo-dialog::backdrop{background:rgba(0,0,0,.9)}
.haunt-photo-dialog img{display:block;width:auto;max-width:min(640px,calc(100vw - 48px));height:auto;max-height:78vh;object-fit:contain}
.photo-close{position:absolute;z-index:1;top:12px;right:12px;padding:9px 13px;cursor:pointer;background:rgba(5,7,9,.9)}
.summary-label{font:.875rem Arial,sans-serif;color:#b8b7b3;letter-spacing:.08em}
#haunt-dialog-summary{font-size:1.15rem;line-height:1.7;margin:14px 0 24px}
.report-references{border-top:1px solid #655233;padding-top:16px;overflow-wrap:anywhere}
.report-references p{margin:0 0 10px;color:var(--gold2)}
.report-references ul{padding-left:20px;margin:0}
.report-references li{margin:8px 0}
.report-references a,.report-attribution a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
.report-attribution{font:.875rem/1.5 Arial,sans-serif;color:#aaa;margin:24px 0 0}
#haunt-dialog a:focus-visible,#haunt-dialog button:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
@media(max-width:650px){.haunt-dialog-inner{padding:22px}#haunt-dialog-summary{font-size:1rem}}
.haunt-state-directory{display:grid;gap:14px}
.haunt-state-group{border:1px solid #655233;background:#0a0c0e}
.haunt-state-group summary{display:flex;align-items:center;gap:20px;cursor:pointer;padding:22px 26px;list-style:none}
.haunt-state-group summary::-webkit-details-marker{display:none}
.haunt-state-group summary:after{content:'+';font:1.8rem Arial,sans-serif;color:var(--gold2)}
.haunt-state-group[open] summary:after{content:'−'}
.haunt-state-group summary h3{margin:0;flex:1;color:var(--gold2);font-size:1.65rem}
.state-count{font:.9rem Arial,sans-serif;color:#c9c7c1;white-space:nowrap}
.haunt-place-list{list-style:none;padding:0 26px 12px;margin:0}
.haunt-place{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #303238}
.haunt-place h4{font-size:1.2rem;line-height:1.4;margin:0;font-weight:500}
.place-links{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:flex-end}
.place-links a{font:.9rem/1.5 Arial,sans-serif;color:var(--gold2);text-decoration:underline;text-underline-offset:4px}
.haunt-state-group[hidden],.haunt-place[hidden]{display:none}
.haunt-state-group summary:focus-visible,.place-links a:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
@media(max-width:650px){.haunt-state-group summary{padding:18px}.haunt-state-group summary h3{font-size:1.35rem}.haunt-place-list{padding:0 18px 10px}.haunt-place{display:block}.place-links{justify-content:flex-start;margin-top:12px}}
.haunt-filters{display:grid;grid-template-columns:2fr 1fr auto;gap:22px;align-items:end;margin:32px 0 20px;padding:24px;border:1px solid #655233;background:#0b0d10}
.haunt-filters label{display:block;font:500 .9rem Arial,sans-serif;color:var(--gold2);margin-bottom:10px}
.haunt-filters input,.haunt-filters select{width:100%;min-height:48px;border:1px solid #70634c;background:#090b0e;color:#eee;padding:12px;font:1rem Arial,sans-serif;box-sizing:border-box;border-radius:0}
.haunt-filters .btn{min-height:48px;cursor:pointer}
.haunt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.haunt-card{padding:26px;background:#0a0c0e;border:1px solid #3d3e42;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.haunt-card[hidden]{display:none}
.haunt-card h3{font-size:1.4rem;margin:0 0 12px;line-height:1.25}
.haunt-card .eyebrow{font-size:.875rem;letter-spacing:.12em}
.haunt-card a,.guide-links a,.haunt-source a{color:var(--gold2);text-decoration:underline;text-underline-offset:4px}
.haunt-card a{font:400 .95rem/1.5 Arial,sans-serif}
.haunt-card a:first-of-type{margin-top:auto}
.haunt-guides{margin:44px 0 28px;padding-top:30px;border-top:1px solid var(--gold)}
.guide-links{display:flex;flex-wrap:wrap;gap:16px 28px}
.haunt-source{margin:32px 0;color:#bbb;font-size:.9rem;line-height:1.6}
.haunt-filters :focus-visible,.haunt-card a:focus-visible,.guide-links a:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
@media(max-width:1000px){.haunt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.haunt-filters,.haunt-grid{grid-template-columns:1fr}.haunt-filters{padding:18px}.haunt-card{padding:22px}}
