@font-face{font-family:Montserrat;src:url('/media/montserrat-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Oxanium;src:url('/media/oxanium-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--bg:#090910;--surface:#15121d;--cream:#faf7fb;--pink:#ff78bf;--accent:#dfff74;--muted:#c2bdcb;--border:#4c4258;--space:clamp(3rem,6vw,6rem);--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--cream);font:1rem/1.7 Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.25em}button,input,select,textarea{font:inherit}button{cursor:pointer}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-100px;left:1rem;z-index:100;padding:1rem;background:var(--accent);color:var(--bg)}.skip:focus{top:1rem}
h1,h2,h3{font-family:Oxanium,Arial,sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.025em;margin:0 0 1.5rem;overflow-wrap:anywhere}h1{font-size:clamp(2.75rem,5.5vw,5.5rem)}h2{font-size:clamp(2rem,3.5vw,3.25rem)}h3{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.2}p{margin:0 0 1.4rem}.eyebrow{font-size:.875rem;letter-spacing:.11em;font-weight:700;color:var(--accent);margin-bottom:1.25rem}.small-note,.form-note{font-size:.875rem;color:var(--muted)}
.site-header{position:absolute;inset:0 0 auto;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 5%;background:linear-gradient(#09091090,transparent)}.wordmark{display:block;width:180px;flex-shrink:0}.wordmark img{display:block;width:100%;height:auto;aspect-ratio:1.75;object-fit:contain}.top-links{display:flex;align-items:center;gap:1.5rem;font-size:.875rem;font-weight:700}.top-links>a,.nav-button{display:inline-flex;align-items:center;min-height:44px;padding:.65rem .4rem}.nav-book{border:1px solid #d5cadb;padding:.7rem 1rem!important}.nav-button{border:0;background:transparent;color:var(--cream);font-size:.875rem}.menu-panel{position:absolute;left:5%;right:5%;top:100%;padding:1rem;background:var(--surface);display:flex;gap:1rem;flex-wrap:wrap;border:1px solid var(--border)}.menu-panel a{display:flex;align-items:center;min-height:44px;padding:.5rem;font-size:.875rem}.catalog-head{position:relative;height:130px}.catalog-head .site-header{background:var(--bg)}
.film-hero{position:relative;min-height:720px;height:92svh;max-height:1000px;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}.film-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:-2}.film-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#090910d8,#09091038),linear-gradient(0deg,#090910eb,transparent 80%);z-index:-1}.hero-copy{width:min(100%,var(--max));margin:auto auto 0;padding:170px 5% 110px}.hero-copy h1{max-width:900px}.hero-copy>p:not(.eyebrow){max-width:650px;font-size:1.125rem}.hero-actions,.booking-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.35rem;background:var(--accent);color:var(--bg);border:1px solid var(--accent);font-size:.875rem;font-weight:800;line-height:1.5;transition:background .2s}.cta:hover{background:#eeffc0;text-decoration:none}.outline{color:var(--cream);background:transparent;border-color:#d5cadb}.text-button,.act-link{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 0;border-bottom:1px solid var(--border);font-size:.875rem;font-weight:700}.act-link{color:var(--pink)}.hero-bottom{position:absolute;left:5%;right:5%;bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem}.hero-bottom p{margin:0;max-width:580px}.hero-bottom button{background:#090910aa;border:1px solid #ded0e5;color:white;min-height:44px;padding:.5rem 1rem;font-size:.875rem;flex-shrink:0}.events-ribbon{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem 2.5rem;padding:1.5rem 5%;border-block:1px solid var(--border);color:var(--muted);font-size:.875rem}
.section{max-width:var(--max);margin:auto;padding:var(--space) 5%}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-title h2{margin:0}.section-title p{max-width:380px;margin:0;color:var(--muted)}.section-intro{max-width:780px;color:var(--muted);margin-top:-1rem;margin-bottom:2rem}.repertoire{background:var(--surface);border-bottom:1px solid var(--border)}.act-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem 1.5rem}.act{min-width:0}.act-photo{display:block;width:100%;aspect-ratio:1;overflow:hidden;margin-bottom:1.25rem}.act-photo img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .25s}.circle-mask{border-radius:50%;overflow:hidden}.act-photo.portrait{border-radius:.3rem}.act-photo.portrait img{object-fit:cover}.act-photo:hover img{transform:scale(1.025)}.act h3{margin-bottom:.8rem}.act-info>p{color:var(--muted);font-size:1rem;margin-bottom:.6rem}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.gallery-grid figure{margin:0;min-width:0}.gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.gallery-grid figcaption{font-size:.875rem;line-height:1.5;padding:.75rem 0;color:var(--muted)}.story-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:center;border-top:1px solid var(--border)}.image-frame{margin:0}.image-frame img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.story-section p:not(.eyebrow){color:var(--muted)}.reviews-section{border-top:1px solid var(--border)}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-bottom:1.5rem}.review-card{border-top:1px solid var(--border);padding:1.5rem 0}.review-card h3{font-size:1.25rem;color:var(--pink)}.review-card blockquote{margin:0;font-size:1rem;line-height:1.75}.review-author{display:flex;align-items:center;gap:.875rem;margin-top:1.5rem}.review-author img{width:44px;height:44px;object-fit:cover;border-radius:50%}.review-author strong{font-size:.875rem}.review-author span{display:block;font-size:.75rem;color:var(--muted)}
.booking{background:#21162d;border-top:1px solid #6b4973}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem}.booking h2{color:var(--pink)}.booking p{color:var(--muted)}.booking a:not(.cta){overflow-wrap:anywhere}.booking-actions{gap:.75rem;margin-bottom:1rem}.contact-number{display:inline-flex;align-items:center;min-height:44px;font-size:1.25rem;font-weight:700}details{margin-top:1rem;font-size:.875rem;color:var(--muted)}summary{cursor:pointer;min-height:44px;padding:.5rem 0;text-decoration:underline}.contact-form{display:grid;align-content:start;gap:1rem}.contact-form h3{font-size:1.5rem;margin-bottom:.5rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:grid;gap:.5rem;font-size:.875rem;font-weight:600}input,select,textarea{width:100%;min-width:0;padding:.8rem;background:#100b17;border:1px solid #957d9e;color:var(--cream);font-size:1rem;border-radius:0}input,select{min-height:50px}textarea{resize:vertical}.contact-form p{margin:0}#booking-status{font-size:.875rem;min-height:1.5em}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;max-width:1300px;margin:auto}footer{padding:3rem 5% 1.5rem;background:#07070c}.footer-grid h3{font:700 1rem Montserrat,sans-serif;color:var(--accent)}.footer-grid p{color:var(--muted);font-size:1rem}.footer-grid a:not(.wordmark){display:flex;align-items:center;min-height:44px;font-size:.875rem;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;margin-top:2rem;font-size:.75rem;color:var(--muted)}.mobile-book{display:none}.page-header{padding-top:2.5rem}.page-header>p{max-width:800px;color:var(--muted)}.catalog-section{padding-top:0}.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.filter-bar button{min-height:44px;padding:.6rem 1rem;font-size:.875rem;color:var(--cream);background:transparent;border:1px solid #85748f}.filter-bar button[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.section-bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2rem}.about-content,.act-detail{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.about-content>img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.act-detail-photo{max-width:580px}.act-detail-photo img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.act-detail-photo.portrait img{object-fit:cover}.act-detail h1{font-size:clamp(2.5rem,4.5vw,4rem)}.act-detail .text-button{margin:1rem}.media-fallback{display:block;color:var(--muted);font-size:.875rem}.booking-grid>*,.story-section>*,.field-row>*,.about-content>*,.act-detail>*{min-width:0}
@media(max-width:1100px){.desktop-link{display:none!important}.act-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-section{gap:2rem}.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-grid>.review-card:last-child:nth-child(3){grid-column:1/-1;max-width:720px}.booking-grid{gap:2rem}}
@media(max-width:767px){.act-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-section,.booking-grid,.about-content,.act-detail{grid-template-columns:1fr;gap:2rem}.story-section .image-frame{max-width:400px;margin:auto}.reviews-grid{grid-template-columns:1fr}.reviews-grid>.review-card:last-child:nth-child(3){grid-column:auto}.section-title{display:block}.section-title>.text-button,.section-title>p{margin-top:1rem}.film-hero{height:auto;min-height:740px}.hero-copy{padding:170px 6% 140px}.hero-copy h1{font-size:clamp(2.75rem,8vw,4rem)}.hero-copy>p:not(.eyebrow){font-size:1rem}.site-header{padding:.5rem 6%;gap:.5rem}.wordmark{width:150px}.top-links{gap:.4rem}.nav-book{font-size:.875rem;padding:.6rem .75rem!important}.menu-panel{display:grid;grid-template-columns:1fr 1fr}.hero-bottom{bottom:1.5rem;left:6%;right:6%;align-items:flex-end}.hero-bottom p{font-size:.75rem}.hero-bottom button{max-width:130px}.section{padding:3rem 6%}.events-ribbon{gap:.75rem 1.25rem;font-size:.875rem}.act h3{font-size:1.25rem}.act-info p{font-size:1rem}.gallery-grid figcaption{font-size:.875rem}.field-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem 1rem}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom,.section-bottom{display:block}.footer-bottom span{display:block}.mobile-book{display:flex;position:fixed;z-index:12;inset:auto 0 0;background:var(--accent);color:var(--bg);padding:.5rem 5% max(.5rem,env(safe-area-inset-bottom));box-shadow:0 -6px 20px #0005}.mobile-book a{display:flex;align-items:center;justify-content:center;width:50%;min-height:44px;font-size:.875rem;font-weight:800}.mobile-book a+a{border-left:1px solid #09091060}footer{padding-bottom:100px}.catalog-head{height:120px}.page-header{padding-top:1.5rem}.catalog-section{padding-top:0}.about-content>img{max-width:450px;margin:auto}.act-detail-photo{max-width:450px;margin:auto}}
@media(max-width:430px){.act-grid{gap:2rem 1rem}.top-links .nav-book{display:none}.wordmark{width:160px}.hero-copy h1{font-size:2.6rem}.hero-actions{gap:.75rem}.gallery-grid{gap:.75rem}.booking-actions{align-items:stretch}.act-info p{font-size:.9375rem}.act h3{font-size:1.125rem}.act-detail h1{font-size:2.5rem}}
@media(max-width:350px){.act-grid{grid-template-columns:1fr}.hero-copy h1{font-size:2.3rem}.hero-copy{padding-bottom:160px}.hero-bottom{flex-wrap:wrap}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}h2{font-size:1.8rem}.cta{padding:.8rem 1rem}.menu-panel{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
