:root{--blood:#b20d16;--red:#e3202d;--ink:#080607;--bone:#eee9df;--ash:#aaa2a0;--line:#30282a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--bone);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.12);position:absolute;inset:0 0 auto;z-index:10}
.brand{font-family:"Bebas Neue",sans-serif;letter-spacing:2px;font-size:1.25rem}
.brand span{font-family:Creepster;color:var(--red);font-size:2rem;margin-right:8px}
.nav nav{display:flex;align-items:center;gap:28px;font:600 .78rem Inter;letter-spacing:1.4px}
.nav nav a:not(.nav-cta):hover{color:var(--red)}
.nav-cta{border:1px solid var(--red);padding:13px 18px;color:#fff;background:rgba(178,13,22,.14)}
.menu{display:none;background:none;border:1px solid #655;color:#fff;padding:9px 12px}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:120px 7vw 70px}
.hero-bg{position:absolute;inset:0;overflow:hidden;background:url('assets/haunted-hero.png') center 35%/cover no-repeat}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.64) contrast(1.18) saturate(.7)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,7,.96) 0%,rgba(8,6,7,.55) 48%,rgba(8,6,7,.35)),linear-gradient(0deg,var(--ink),transparent 32%);pointer-events:none}
.scratches{position:absolute;inset:0;opacity:.16;pointer-events:none;background-image:repeating-linear-gradient(104deg,transparent 0 93px,rgba(255,255,255,.1) 94px,transparent 95px)}
.hero-copy{position:relative;z-index:2;max-width:900px}
.eyebrow,.kicker{font-size:.75rem;letter-spacing:4px;color:var(--red);font-weight:700}
.hero h1{font-family:"Bebas Neue",Impact,sans-serif;font-size:clamp(5rem,10.5vw,10rem);line-height:.76;margin:26px 0 30px;letter-spacing:-2px;text-shadow:0 10px 45px #000}
.hero h1 span{font-family:Creepster,Impact,sans-serif;font-size:.59em;color:#e6e0d7;letter-spacing:1px}
.date{font-family:"Bebas Neue";font-size:1.45rem;letter-spacing:5px}
.date b{color:var(--red)}
.lede{font-size:1.05rem;color:#c6bebe;margin:18px 0 30px}
.actions{display:flex;align-items:center;gap:30px}
.button{display:inline-block;border:0;color:white;font-family:"Bebas Neue";font-size:1.2rem;letter-spacing:2px;padding:17px 30px;cursor:pointer}
.blood{background:linear-gradient(135deg,#d11823,#76050c);box-shadow:0 12px 35px rgba(178,13,22,.27)}
.blood:hover{background:#e3202d;transform:translateY(-2px)}
.text-link{font-size:.78rem;letter-spacing:2px;font-weight:700}
.scroll{position:absolute;bottom:25px;right:5vw;font-size:.66rem;letter-spacing:3px;color:#aaa}
.scroll span{color:var(--red);font-size:1.2rem}
.section{padding:110px 8vw;border-top:1px solid #211c1d}
.intro{text-align:center;background:radial-gradient(circle at 50% 0,#241215 0,transparent 38%)}
h2{font-family:"Bebas Neue";font-size:clamp(3.6rem,7vw,7rem);line-height:.88;letter-spacing:-1px;margin:20px 0 28px}
.intro-copy{max-width:680px;margin:0 auto;color:var(--ash);line-height:1.8}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);max-width:1100px;margin:70px auto 0;text-align:left}
.feature-grid article{background:#0d0a0b;padding:35px}
.feature-grid strong{font-family:Creepster;color:var(--blood);font-size:2rem}
.feature-grid h3{font-family:"Bebas Neue";font-size:1.8rem;letter-spacing:2px;margin:20px 0 12px}
.feature-grid p,.warning>p{color:var(--ash);line-height:1.7}
.details{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:linear-gradient(120deg,#090708,#16090b)}
.details-card{border-left:2px solid var(--blood)}
.details-card>div{padding:25px 32px;border-bottom:1px solid var(--line)}
.details-card span,.details-card small{display:block;color:#8f8788;font-size:.7rem;letter-spacing:2px}
.details-card strong{display:block;font-family:"Bebas Neue";font-size:1.7rem;letter-spacing:2px;margin:8px 0}
.details-card small{line-height:1.7;letter-spacing:1px}
.warning{display:grid;grid-template-columns:auto 1fr 1fr;gap:45px;align-items:center}
.warning-icon{width:80px;height:80px;border:2px solid var(--blood);color:var(--red);display:grid;place-items:center;font-family:Creepster;font-size:3rem;transform:rotate(45deg)}
.warning-icon::first-letter{display:block;transform:rotate(-45deg)}
.warning h2{font-size:clamp(3.2rem,6vw,6rem)}
.tickets{text-align:center;background:radial-gradient(circle,#321015 0,#0b0708 50%,#080607 72%);min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tickets h2{font-family:Creepster;letter-spacing:1px}
.tickets>p{color:#aaa;margin-top:-8px;margin-bottom:30px}
.notify-msg{height:24px!important;margin:18px 0 0!important;color:#eee!important;font-size:.85rem}
footer{min-height:130px;border-top:1px solid var(--line);padding:30px 5vw;display:flex;align-items:center;justify-content:space-between;color:#777;font-size:.75rem;letter-spacing:1px}
@media(max-width:760px){.nav{height:68px}
.menu{display:block}
.nav nav{display:none;position:absolute;top:68px;left:0;right:0;padding:24px;background:rgba(8,6,7,.98);flex-direction:column;align-items:stretch}
.nav nav.open{display:flex}
.nav-cta{text-align:center}
.hero{padding:110px 6vw 65px;align-items:flex-end}
.hero-bg{background-position:62% center}
.hero-video{object-position:58% center}
.hero h1{font-size:clamp(4.25rem,21vw,6rem)}
.hero h1 span{font-size:.5em}
.date{font-size:1.05rem;letter-spacing:3px}
.actions{align-items:flex-start;flex-direction:column;gap:22px}
.scroll{display:none}
.section{padding:80px 6vw}
.feature-grid,.details,.warning{grid-template-columns:1fr}
.feature-grid article{padding:28px}
.details{gap:25px}
.warning{gap:22px}
.warning-icon{width:55px;height:55px;font-size:2rem;margin-left:10px}
.warning>p{margin:0}
footer{flex-direction:column;gap:8px;text-align:center}
.brand{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

.footer-link{color:#bbb;text-decoration:underline;text-underline-offset:4px}
.footer-link:hover{color:var(--red)}
.legal-page{background:radial-gradient(circle at 50% 0,#281014 0,transparent 24%),var(--ink)}
.legal-nav{position:relative;background:#080607}
.legal-main{max-width:980px;margin:0 auto;padding:90px 6vw 120px}
.legal-header{padding-bottom:48px;border-bottom:1px solid var(--line)}
.legal-header h1{font-family:"Bebas Neue",Impact,sans-serif;font-size:clamp(4rem,9vw,7.5rem);line-height:.85;margin:20px 0;color:var(--bone)}
.legal-updated{color:var(--red);font-size:.78rem;font-weight:700;letter-spacing:2px}
.legal-intro{max-width:760px;color:#c6bebe;line-height:1.8;font-size:1.05rem}
.legal-section{padding:38px 0;border-bottom:1px solid var(--line)}
.legal-section h2{font-size:2.25rem;line-height:1;margin:0 0 18px;letter-spacing:1px}
.legal-section h3{font-family:"Bebas Neue";font-size:1.4rem;letter-spacing:1px;margin:24px 0 10px}
.legal-section p,.legal-section li{color:#bbb3b2;line-height:1.75}
.legal-section ul{padding-left:22px}
.legal-section li+li{margin-top:8px}
.legal-callout{border-left:3px solid var(--blood);padding:18px 22px;background:#130b0d;color:#ddd!important}
.legal-back{display:inline-block;margin-top:42px;color:#fff;border:1px solid var(--blood);padding:13px 18px;font-size:.8rem;font-weight:700;letter-spacing:1.5px}
.legal-back:hover{background:var(--blood)}
@media(max-width:760px){.legal-main{padding-top:65px}.legal-header h1{font-size:3.9rem}.legal-section h2{font-size:1.9rem}}
