@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Montserrat:wght@400;500;600;700;800&family=Roboto+Mono:wght@400;500&display=swap');
:root{--bg:#091522;--surface:#101d2b;--text:#fff9ed;--muted:#bdc1c1;--accent:#efca78;--accent-bright:#ffe3a7;--line:rgba(239,202,120,.25)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:Montserrat,Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}.container{width:min(1140px,calc(100% - 48px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-150%);padding:10px 14px;color:#000;background:#fff}.skip-link:focus{transform:translateY(0)}
.portal-entry-strip{position:relative;z-index:20;display:flex;min-height:39px;align-items:center;justify-content:center;border-bottom:1px solid rgba(239,202,120,.3);background:linear-gradient(90deg,#07131f,#102334 50%,#07131f);color:rgba(255,249,237,.7);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.portal-entry-strip a{display:inline-flex;align-items:center;gap:10px;padding:8px 20px;transition:color .2s}.portal-entry-strip strong{color:var(--accent);font-weight:800}.portal-entry-strip svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.portal-entry-strip a:hover{color:var(--text)}.portal-entry-strip a:hover strong{color:var(--accent-bright)}
.site-header{position:absolute;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;width:min(1280px,calc(100% - 60px));margin:auto;padding:24px 0;transition:padding .2s,background .2s}.site-header.is-scrolled{position:fixed;width:100%;padding:15px 30px;background:rgba(7,18,29,.96);box-shadow:0 5px 30px rgba(0,0,0,.3)}.brand{display:flex;align-items:center;gap:9px;color:var(--accent);font-size:13px;font-weight:800;line-height:1;letter-spacing:.03em}.brand img{width:36px;height:36px;object-fit:contain}.brand span{display:grid;gap:5px}.brand small,.footer-brand small{font-size:8px;font-weight:500;letter-spacing:.17em}.desktop-nav{display:flex;align-items:center;gap:20px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.desktop-nav i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:var(--accent)}.menu-toggle{display:none;border:0;color:#fff;background:none}.menu-toggle span:not(.sr-only){display:block;width:23px;height:2px;margin:4px;background:currentColor}.mobile-menu{position:fixed;z-index:15;inset:0;display:flex;visibility:hidden;flex-direction:column;justify-content:center;gap:5px;padding:30px;background:#0b1826;opacity:0;transition:opacity .2s,visibility .2s}.mobile-menu.is-open{visibility:visible;opacity:1}.mobile-menu a{padding:9px 0;border-bottom:1px solid var(--line);font-size:24px;font-weight:700;text-transform:uppercase}
.hero{position:relative;display:grid;min-height:720px;min-height:calc(100svh - 39px);place-items:center;overflow:hidden;text-align:center;isolation:isolate}.hero-video{position:absolute;z-index:-4;width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:saturate(.45) contrast(1.05) sepia(.08)}.hero-overlay{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(5,15,25,.85),rgba(5,15,25,.38) 56%,rgba(5,15,25,.68)),linear-gradient(0deg,rgba(5,15,25,.77),transparent 42%)}.hero-sparkles{position:absolute;z-index:-2;inset:0;opacity:.9;background-image:radial-gradient(circle at 12% 20%,#fff7d2 0 1px,transparent 2px),radial-gradient(circle at 24% 68%,#efca78 0 1.5px,transparent 3px),radial-gradient(circle at 42% 14%,#fff7d2 0 1px,transparent 2px),radial-gradient(circle at 62% 27%,#efca78 0 1px,transparent 2.5px),radial-gradient(circle at 80% 18%,#fff7d2 0 1.5px,transparent 3px),radial-gradient(circle at 91% 55%,#efca78 0 1px,transparent 2px),radial-gradient(circle at 73% 77%,#fff7d2 0 1px,transparent 2px),radial-gradient(circle at 33% 86%,#efca78 0 1px,transparent 2.5px);animation:twinkle 4s ease-in-out infinite alternate}.hero-grain{position:absolute;z-index:-1;inset:0;opacity:.25;background-image:radial-gradient(rgba(255,222,151,.8) .5px,transparent .7px);background-size:4px 4px;mix-blend-mode:soft-light}.hero-content{width:min(790px,calc(100% - 48px));margin-top:0}.hero-logo{display:block;width:min(180px,36vw);height:auto;margin:0 auto 15px}.hero-kicker{margin:0 0 18px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.countdown{display:flex;justify-content:center;gap:9px;margin:28px 0 31px}.countdown div{display:grid;min-width:104px;padding:15px 14px 13px;border:1px solid rgba(239,202,120,.35);background:rgba(7,19,30,.52);backdrop-filter:blur(3px)}.countdown strong{font-size:32px;line-height:1}.countdown span{margin-top:8px;color:rgba(255,249,237,.72);font-size:8px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.hero h1{margin:0;font-family:Cinzel,Georgia,serif;font-size:clamp(49px,7.5vw,96px);font-weight:600;line-height:1.08;letter-spacing:.03em;text-transform:uppercase}.hero h1 em,.about h2 em,.cast h2 em,.schedule h2 em,.tickets h2 em,.location h2 em{color:var(--accent);font-style:normal}.event-facts{display:flex;justify-content:center;gap:15px 31px;flex-wrap:wrap;margin:0 0 33px;font-size:17px;font-weight:600;line-height:1.55}.event-facts svg{width:20px;height:20px;margin-right:8px;vertical-align:-5px;fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.event-facts small{color:rgba(255,249,237,.78);font-size:13px;font-weight:500;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 23px;color:#122031;background:var(--accent);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;transition:background .2s,transform .2s}.button:hover{background:var(--accent-bright);transform:translateY(-2px)}.button-ticket{position:relative;min-width:174px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,238,182,.6),0 0 18px rgba(239,202,120,.68),0 0 42px rgba(239,202,120,.32);animation:ticketGlow 2.4s ease-in-out infinite}.button-ticket::after{position:absolute;top:-60%;bottom:-60%;left:-35%;width:22%;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);transform:rotate(20deg);animation:ticketShine 2.8s ease-in-out infinite}.button-ticket:hover{box-shadow:0 0 0 1px rgba(255,249,225,.9),0 0 28px rgba(255,223,148,.94),0 0 60px rgba(239,202,120,.62)}.scroll-prompt{position:absolute;bottom:24px;left:50%;display:grid;gap:6px;transform:translateX(-50%);color:rgba(255,249,237,.7);font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.scroll-prompt span{color:var(--accent);font-size:19px;line-height:1}@keyframes twinkle{from{opacity:.42;transform:scale(.99)}to{opacity:1;transform:scale(1.015)}}@keyframes ticketGlow{0%,100%{box-shadow:0 0 0 1px rgba(255,238,182,.55),0 0 15px rgba(239,202,120,.48),0 0 31px rgba(239,202,120,.2)}50%{box-shadow:0 0 0 1px rgba(255,249,225,.9),0 0 27px rgba(255,223,148,.96),0 0 58px rgba(239,202,120,.58)}}@keyframes ticketShine{0%,42%{left:-35%;opacity:0}48%{opacity:1}73%,100%{left:125%;opacity:0}}
.section{position:relative;padding:110px 0}.section-kicker{margin:0 0 9px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.about{overflow:hidden;background:#0a1724}.ghost-word{position:absolute;z-index:0;top:27px;left:3%;width:min(71vw,920px);height:auto;opacity:.055;filter:invert(78%) sepia(39%) saturate(585%) hue-rotate(355deg) brightness(99%) contrast(90%);pointer-events:none}.about-grid{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;gap:95px;align-items:center}.about-copy h2,.cast h2,.schedule h2,.tickets h2,.location h2{margin:0 0 24px;font-family:Cinzel,Georgia,serif;font-size:clamp(30px,3.6vw,51px);font-weight:600;line-height:1.24;letter-spacing:.02em}.about-copy>p:not(.section-kicker){max-width:480px;color:var(--muted);font-size:13px}.about-copy .button{margin-top:14px}.about-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.about-gallery figure{position:relative;overflow:hidden;margin:0;background:var(--surface)}.gallery-image{aspect-ratio:3 / 2}.gallery-image-wide{grid-column:span 2;aspect-ratio:16 / 9}.gallery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-image:hover img{transform:scale(1.035)}
.cast{background:#0d1a28}.cast h2{max-width:680px}.cast-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:47px}.cast-grid article{position:relative;min-height:245px;padding:23px;background:linear-gradient(150deg,rgba(239,202,120,.3),rgba(8,21,34,.1) 52%),var(--surface);transition:transform .2s,background .2s}.cast-grid article:nth-child(2){background:linear-gradient(150deg,rgba(142,108,53,.52),rgba(8,21,34,.1) 52%),var(--surface)}.cast-grid article:nth-child(3){background:linear-gradient(150deg,rgba(35,64,91,.75),rgba(8,21,34,.1) 52%),var(--surface)}.cast-grid article:nth-child(4){background:linear-gradient(150deg,rgba(192,144,59,.5),rgba(8,21,34,.1) 52%),var(--surface)}.cast-grid article:hover{transform:translateY(-6px)}.cast-grid span{color:var(--accent);font-family:'Roboto Mono',monospace;font-size:11px}.cast-grid h3{position:absolute;right:22px;bottom:35px;left:22px;margin:0;font-family:Cinzel,Georgia,serif;font-size:18px;line-height:1.25}.cast-grid p{position:absolute;right:22px;bottom:15px;left:22px;margin:0;color:rgba(255,255,255,.66);font-size:10px;line-height:1.4}
.schedule{overflow:hidden;background:#091522}.schedule-art{position:absolute;inset:0;opacity:.45;background:repeating-linear-gradient(135deg,transparent 0 54px,rgba(239,202,120,.34) 55px 60px,transparent 61px 108px),radial-gradient(ellipse at 0 50%,#79501d,transparent 52%)}.schedule .container{position:relative;z-index:1}.schedule h2{margin-bottom:21px}.schedule-soon{position:relative;margin:0;color:var(--accent);font-family:Cinzel,Georgia,serif;font-size:clamp(42px,5vw,68px);font-weight:600;line-height:1;letter-spacing:.1em}.schedule-soon::after{position:absolute;bottom:-17px;left:0;width:min(235px,65%);height:1px;content:"";background:linear-gradient(90deg,var(--accent),transparent)}
.tickets{overflow:hidden;padding:124px 0;background:#122131}.tickets-photo{position:absolute;z-index:0;inset:-14px;background:url('./ticket-background.jpg') center / cover no-repeat;filter:blur(5px) saturate(.68) brightness(.64);transform:scale(1.03)}.tickets-photo-overlay{position:absolute;z-index:0;inset:0;background:linear-gradient(120deg,rgba(5,18,30,.78),rgba(8,22,34,.52)),rgba(8,22,34,.14)}.tickets .container{position:relative;z-index:1}.ticket-heading{position:relative;z-index:1;max-width:640px;margin:0 auto 48px;text-align:center}.ticket-heading h2{margin-bottom:13px}.ticket-heading>p:not(.section-kicker){margin:0;color:rgba(255,255,255,.74);font-size:13px}.ticket-options{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ticket-option{display:flex;min-height:386px;flex-direction:column;padding:26px 20px;border:1px solid rgba(239,202,120,.28);background:rgba(7,20,32,.8);backdrop-filter:blur(6px);transition:transform .25s,border-color .25s,background .25s}.ticket-option:hover{border-color:var(--accent);background:rgba(14,33,49,.94);transform:translateY(-8px)}.ticket-kind{margin:0;color:var(--accent);font-family:'Roboto Mono',monospace;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.ticket-option h3{margin:0 0 5px;font-family:Cinzel,Georgia,serif;font-size:28px;font-weight:600;letter-spacing:.04em}.ticket-price{margin:0;color:var(--accent);font-family:Cinzel,Georgia,serif;font-size:25px;font-weight:600}.ticket-rule{height:1px;margin:19px 0 15px;background:linear-gradient(90deg,var(--accent),transparent)}.ticket-option ul{display:grid;align-content:start;gap:8px;flex:1;margin:0;padding:0;list-style:none;color:rgba(255,255,255,.76);font-size:11px}.ticket-option li{display:flex;align-items:flex-start;gap:9px;line-height:1.45}.ticket-option li::before{flex:0 0 auto;margin-top:3px;color:var(--accent);content:'✦';font-size:9px}.ticket-deadline{color:var(--accent-bright);font-weight:700}.ticket-card-button{width:100%;margin-top:20px;padding:0 12px;border:1px solid var(--accent);background:transparent;color:var(--accent);white-space:nowrap}.ticket-option:hover .ticket-card-button{background:var(--accent);color:#122031}.contact-section{padding:86px 0;border-top:1px solid rgba(239,202,120,.22);background:#0a1724}.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:78px;align-items:center}.contact-copy h2{margin:0 0 15px;font-family:Cinzel,Georgia,serif;font-size:clamp(30px,3.6vw,48px);font-weight:600;line-height:1.24}.contact-copy h2 em{color:var(--accent);font-style:normal}.contact-copy>p:last-child{max-width:360px;margin:0;color:var(--muted);font-size:13px}.contact-form{padding:29px;border:1px solid rgba(239,202,120,.3);background:rgba(16,29,43,.7);box-shadow:0 17px 50px rgba(0,0,0,.14)}.contact-form label{display:grid;gap:7px;color:rgba(255,249,237,.88);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:15px}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(239,202,120,.25);border-radius:0;outline:0;background:rgba(5,15,25,.52);color:var(--text);font:500 13px Montserrat,Arial,sans-serif;letter-spacing:0;text-transform:none;transition:border-color .2s,box-shadow .2s}.contact-form input{height:47px;padding:0 13px}.contact-form textarea{min-height:126px;padding:12px 13px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(239,202,120,.13)}.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:19px}.contact-form-footer .button{border:0;cursor:pointer}.contact-form-footer p{margin:0;color:rgba(255,249,237,.6);font-size:10px;line-height:1.4;text-align:right}.footer-stats{position:relative;overflow:hidden;padding:68px 0;background:url('./gallery-1.jpg') center 54% / cover no-repeat}.footer-stats-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,23,.88),rgba(10,29,44,.7) 50%,rgba(4,14,23,.88)),rgba(7,20,32,.25)}.footer-stats-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.footer-stats article{display:grid;justify-items:center;text-align:center}.footer-stats svg{width:43px;height:43px;fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}.footer-stats strong{margin-top:17px;color:var(--text);font-family:Cinzel,Georgia,serif;font-size:44px;font-weight:600;line-height:1}.footer-stats span{margin-top:12px;color:rgba(255,249,237,.82);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.footer{padding:27px 0;background:#060f19}.footer-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.footer-logo{justify-self:start;display:block;width:156px;line-height:0}.footer-logo img{width:100%;height:auto;filter:brightness(0) invert(1);opacity:.78}.footer p{margin:0;color:rgba(255,255,255,.49);font-size:9px;letter-spacing:.07em;text-align:center;text-transform:uppercase}.footer-social{justify-self:end;display:flex;align-items:center;gap:8px}.footer-social a{display:grid;width:27px;height:27px;place-items:center;border:1px solid rgba(239,202,120,.25);border-radius:50%;color:rgba(239,202,120,.8);transition:border-color .2s,background .2s,color .2s}.footer-social a:hover{border-color:var(--accent);background:var(--accent);color:#07131f}.footer-social svg{width:13px;height:13px;fill:currentColor}.footer-social a:nth-child(2) svg{fill:none;stroke:currentColor;stroke-width:1.8}.footer-social a:nth-child(2) svg circle:last-child{fill:currentColor;stroke:none}
@media(max-width:950px){.desktop-nav{display:none}.menu-toggle{display:block}.site-header{width:calc(100% - 40px);padding:18px 0}.site-header.is-scrolled{padding:14px 20px}.about-grid{gap:50px}.cast-grid{grid-template-columns:repeat(2,1fr)}.ticket-options{grid-template-columns:repeat(2,1fr);gap:12px}.ticket-option{padding:22px}.ticket-option h3{font-size:29px}.contact-layout{gap:42px}}@media(max-width:640px){.portal-entry-strip{min-height:43px;font-size:8px;letter-spacing:.055em}.portal-entry-strip a{gap:6px;padding:8px 12px}.portal-entry-strip svg{width:14px;height:14px;flex-basis:14px}.hero{min-height:calc(100svh - 43px)}.container{width:calc(100% - 38px)}.hero-content{width:calc(100% - 38px)}.hero-video{object-position:58% center}.hero h1{font-size:49px}.hero-kicker{font-size:9px;letter-spacing:.13em}.countdown{gap:7px;margin:23px 0 25px}.countdown div{min-width:0;flex:1;padding:13px 5px 11px}.countdown strong{font-size:26px}.event-facts{gap:8px 13px;font-size:14px}.event-facts b{font-size:15px}.event-facts small{font-size:11px}.section{padding:72px 0}.about-grid,.location-grid,.contact-layout{grid-template-columns:1fr;gap:37px}.about-gallery{grid-template-columns:1fr}.gallery-image,.gallery-image-wide{grid-column:auto;aspect-ratio:auto}.gallery-image img{height:auto;object-fit:contain}.cast-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:30px}.cast-grid article{min-height:190px;padding:15px}.cast-grid h3{right:15px;bottom:35px;left:15px;font-size:16px}.cast-grid p{right:15px;bottom:14px;left:15px;font-size:9px}.schedule-tabs button{padding:11px 12px;font-size:8px}.schedule-list article{grid-template-columns:37px 1fr 20px;gap:10px}.tickets{padding:84px 0}.ticket-heading{margin-bottom:30px}.ticket-options{grid-template-columns:1fr;gap:13px}.ticket-option{min-height:0;padding:25px}.ticket-option h3{font-size:30px}.ticket-option ul{margin-bottom:2px}.contact-section{padding:67px 0}.contact-form{padding:20px}.contact-form-fields{grid-template-columns:1fr}.contact-form-footer{align-items:flex-start;flex-direction:column}.contact-form-footer p{text-align:left}.footer-stats{padding:52px 0}.footer-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 20px}.footer-stats strong{font-size:36px}.footer-content{grid-template-columns:1fr;justify-items:center;gap:17px}.footer-logo,.footer-social{justify-self:center}.footer p{text-align:center}.ghost-word{top:24px;left:4%;width:128vw}.scroll-prompt{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-sparkles,.button-ticket,.button-ticket::after{animation:none}.site-header,.mobile-menu,.button{transition:none}}
