@import url('https://fonts.googleapis.com/css2?family=Anton&family=DM+Sans:wght@400;500;600;700&display=swap');

:root{--bg:#080808;--card:#111;--white:#f4f4f1;--muted:#999;--line:#292929}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--white);font-family:"DM Sans",Arial,sans-serif}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.055),transparent 30%);pointer-events:none}
.grain{position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.nav{height:74px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:rgba(8,8,8,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-family:Anton,Impact,sans-serif;font-size:29px;letter-spacing:1px;text-decoration:none;color:#fff}.brand span{opacity:.6}
.nav nav{display:flex;gap:30px}.nav nav a{color:#999;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;transition:.2s}.nav nav a:hover,.nav nav a.active{color:#fff}
.hero{min-height:calc(100vh - 74px);display:flex;align-items:center;flex-direction:column;justify-content:center;padding:30px 20px 40px;position:relative;overflow:hidden}
.hero-image-wrap{width:min(1080px,100%);position:relative;animation:rise 1s ease-out both}
.hero-image-wrap img{width:100%;height:auto;display:block;box-shadow:0 30px 90px #000}
.scan{position:absolute;left:0;right:0;height:2px;top:20%;background:rgba(255,255,255,.45);box-shadow:0 0 18px rgba(255,255,255,.4);opacity:0;animation:scan 5s 1.3s infinite}
.hero-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;justify-content:center}
.btn{padding:14px 23px;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;transition:.25s;border:1px solid transparent}.btn-light{background:#fff;color:#080808}.btn-light:hover{transform:translateY(-2px);background:#ddd}.btn-outline{border-color:#555;color:#fff}.btn-outline:hover{border-color:#fff}
.scroll{margin-top:30px;color:#666;font-size:9px;letter-spacing:3px}.scroll span{color:#aaa;margin-left:7px}
.intro{max-width:1100px;margin:auto;padding:130px 7vw 125px}.kicker{font-size:10px;letter-spacing:3px;font-weight:700;color:#888;margin:0 0 20px}
h1,h2{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-weight:400;letter-spacing:.5px;line-height:.93;margin:0}h1{font-size:clamp(54px,9vw,120px)}h2{font-size:clamp(45px,6vw,80px)}em{font-style:normal;color:#8d8d8d}
.lead{max-width:650px;color:#aaa;font-size:19px;line-height:1.7;margin:30px 0}
.genres{display:flex;align-items:center;gap:13px;flex-wrap:wrap;color:#fff;font-size:11px;font-weight:700;letter-spacing:1.5px}.genres i{color:#555;font-style:normal}
.feature{padding:110px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#101010;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-text{max-width:560px;color:#aaa;font-size:17px;line-height:1.75}.feature-text .strong{color:#fff;font-weight:700}.text-link{color:#fff;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.contact{padding:120px 7vw;max-width:1200px;margin:auto}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:55px}.contact-grid a{background:var(--bg);padding:30px;color:#fff;text-decoration:none;transition:.2s}.contact-grid a:hover{background:#151515}.contact-grid small{display:block;color:#666;font-size:9px;letter-spacing:2px;margin-bottom:10px}.contact-grid strong{font-size:16px}
footer{border-top:1px solid var(--line);padding:25px 5vw;display:flex;justify-content:space-between;gap:15px;color:#666;font-size:11px}footer a{color:#aaa;text-decoration:none}

.dates-head{padding:120px 7vw 70px;background:linear-gradient(135deg,#151515,#080808);border-bottom:1px solid var(--line)}.dates-head>p:last-child{max-width:570px;color:#999;line-height:1.7;margin-top:30px;font-size:17px}.dates-list{max-width:1050px;margin:auto;padding:65px 7vw 100px}
.date-card{display:grid;grid-template-columns:100px 1fr 40px;gap:25px;align-items:center;padding:25px 10px;border-bottom:1px solid var(--line);transition:.25s}.date-card:hover{padding-left:18px;background:#0d0d0d}.date-number{border-right:1px solid #333;text-align:center;padding-right:25px}.date-number strong{display:block;font-family:Anton;font-size:48px;font-weight:400;line-height:1}.date-number span{font-size:9px;letter-spacing:2px;color:#777}.date-info .type{font-size:9px;letter-spacing:2px;color:#777;font-weight:700}.date-info h2{font-size:30px;margin:7px 0}.date-info>p:last-child{margin:0;color:#999}.arrow{font-size:25px;color:#555}.placeholder{border:1px dashed #333;margin-top:20px}.placeholder:hover{padding-left:10px;background:transparent}.booking-strip{padding:70px 7vw;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#151515;border-top:1px solid var(--line)}

@keyframes rise{from{opacity:0;transform:translateY(20px) scale(.99)}to{opacity:1;transform:none}}
@keyframes scan{0%,100%{opacity:0;top:15%}15%{opacity:.6}55%{opacity:0;top:80%}}
@media(max-width:720px){.nav{height:64px;padding:0 20px}.brand{font-size:24px}.nav nav{gap:15px}.nav nav a{font-size:9px}.hero{min-height:auto;padding:15px 10px 35px}.hero-actions{margin-top:15px}.btn{padding:12px 15px;font-size:10px}.intro,.contact{padding:85px 25px}.feature{grid-template-columns:1fr;padding:80px 25px;gap:45px}.contact-grid{grid-template-columns:1fr;margin-top:35px}.dates-head{padding:85px 25px 55px}.dates-list{padding:35px 20px 70px}.date-card{grid-template-columns:72px 1fr 20px;gap:15px}.date-number{padding-right:14px}.date-number strong{font-size:38px}.date-info h2{font-size:22px}.booking-strip{padding:60px 25px;display:block}.booking-strip .btn{margin-top:25px}footer{padding:20px;flex-wrap:wrap}}
