:root{--night:#080f1f;--night2:#101827;--ivory:#f6efe3;--champagne:#e9d2a3;--gold:#d2ad63;--burgundy:#67273a;--ink:#182233;--soft:#eadfcf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--ivory);font-family:Arial,Helvetica,sans-serif}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}a{text-decoration:none;color:inherit}.nav{position:fixed;z-index:50;top:0;left:0;right:0;padding:24px 5vw;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(rgba(8,15,31,.82),rgba(8,15,31,.10));}.logo{font-family:Georgia,serif;letter-spacing:.24em;font-size:14px;color:var(--champagne)}.links{display:flex;gap:24px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne)}.ticket-mini{border:1px solid var(--gold);padding:10px 16px;border-radius:999px}.hero{height:100vh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.42) saturate(.94)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(8,15,31,.08),rgba(8,15,31,.74) 72%,var(--night) 100%)}.hero-inner{position:relative;z-index:2;max-width:1150px;padding:0 24px}.topline{font-family:Georgia,serif;font-style:italic;font-size:clamp(18px,2vw,28px);color:rgba(246,239,227,.88)}.hero h1{font-size:clamp(64px,10vw,148px);line-height:.88;letter-spacing:.18em;margin:50px 0 34px;color:var(--champagne);text-shadow:0 8px 40px rgba(0,0,0,.55)}.subtitle{display:flex;align-items:center;gap:25px;justify-content:center;font-family:Georgia,serif;font-style:italic;color:var(--gold);font-size:clamp(20px,2.3vw,32px)}.subtitle:before,.subtitle:after{content:"";height:1px;width:95px;background:linear-gradient(90deg,transparent,var(--gold))}.subtitle:after{background:linear-gradient(90deg,var(--gold),transparent)}.cta{display:inline-block;margin-top:44px;padding:17px 42px;border-radius:999px;background:linear-gradient(135deg,#f1d98f,#c99b43);color:#111827;text-transform:uppercase;letter-spacing:.22em;font-weight:700;font-size:13px;box-shadow:0 18px 40px rgba(0,0,0,.35)}.domain{margin-top:28px;letter-spacing:.34em;color:rgba(246,239,227,.72);font-size:13px}.section{padding:115px 6vw}.light{background:var(--ivory);color:var(--ink)}.dark{background:var(--night)}.kicker{text-transform:uppercase;letter-spacing:.32em;color:var(--gold);font-size:12px;margin-bottom:24px}.title{font-size:clamp(42px,5.8vw,82px);line-height:1.02;margin:0}.body{font-size:18px;line-height:1.85;max-width:720px;color:rgba(24,34,51,.78)}.dark .body{color:rgba(246,239,227,.72)}.full{min-height:94vh;position:relative;display:flex;align-items:center;overflow:hidden}.full img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72)}.full:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 0%,rgba(8,15,31,.82) 38%,rgba(8,15,31,.22) 100%)}.full .copy{position:relative;z-index:2;padding:0 6vw;max-width:720px}.split{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.photo{width:100%;height:650px;object-fit:cover;box-shadow:0 28px 80px rgba(0,0,0,.25)}.words{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px}.word{font-family:Georgia,serif;font-size:32px;color:var(--champagne);padding:30px;border:1px solid rgba(233,210,163,.22);background:rgba(255,255,255,.025)}.creators{background:#efe4d1;color:var(--ink)}.creator-grid{max-width:1320px;margin:60px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:26px}.creator-card{background:var(--ivory);box-shadow:0 28px 80px rgba(0,0,0,.16)}.creator-card img{width:100%;height:660px;object-fit:cover}.creator-content{padding:34px}.creator-content h3{font-size:38px;margin:0 0 8px}.role{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:11px}.artists-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:60px}.artist-card{cursor:pointer;border:1px solid rgba(233,210,163,.20);background:rgba(255,255,255,.025);overflow:hidden;transition:.25s;text-align:left;color:inherit;font:inherit}.artist-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.055)}.artist-card img{width:100%;height:520px;object-fit:cover}.artist-content{padding:26px}.artist-content h3{font-size:30px;margin:0 0 8px}.artist-content p{font-size:14px;line-height:1.65;color:rgba(246,239,227,.68)}.gallery{background:var(--ivory);color:var(--ink)}.gallery-grid{max-width:1320px;margin:58px auto 0;display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-auto-rows:230px;gap:14px}.gallery-grid img{width:100%;height:100%;object-fit:cover}.g1{grid-row:span 2}.g4{grid-column:span 2}.g6{grid-row:span 2}.modal{position:fixed;inset:0;z-index:100;background:rgba(8,15,31,.92);display:flex;align-items:center;justify-content:center;padding:40px}.modal-inner{background:var(--ivory);color:var(--ink);max-width:1120px;max-height:90vh;overflow:auto;display:grid;grid-template-columns:.85fr 1.15fr;box-shadow:0 30px 100px rgba(0,0,0,.5)}.modal-inner img{width:100%;height:100%;min-height:650px;object-fit:cover}.modal-text{padding:48px}.close{position:absolute;top:24px;right:28px;background:transparent;border:1px solid var(--champagne);color:var(--champagne);border-radius:999px;padding:12px 18px;cursor:pointer}.tickets{background:var(--burgundy);text-align:center;padding:120px 6vw}.tickets .title{max-width:900px;margin:auto}.meta{margin:32px 0;color:var(--champagne);font-size:20px}footer{padding:45px;background:#070b14;text-align:center;color:rgba(246,239,227,.62);letter-spacing:.12em;font-size:12px}@media(max-width:900px){.links{display:none}.hero h1{letter-spacing:.08em}.subtitle:before,.subtitle:after{width:38px}.split,.creator-grid,.artists-grid,.gallery-grid,.modal-inner{grid-template-columns:1fr}.photo,.creator-card img,.artist-card img{height:430px}.gallery-grid{grid-auto-rows:250px}.g1,.g4,.g6{grid-row:auto;grid-column:auto}.words{grid-template-columns:1fr}.modal{padding:18px}.modal-inner img{min-height:360px}.modal-text{padding:28px}}.venue-tour{background:var(--night);padding:120px 6vw}.venue-intro{max-width:920px;margin:0 auto 70px}.venue-intro .body{color:rgba(246,239,227,.72)}.venue-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.venue-grid figure{margin:0;position:relative;overflow:hidden;min-height:390px}.venue-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}.venue-grid figure:hover img{transform:scale(1.025)}.venue-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:46px 28px 24px;background:linear-gradient(transparent,rgba(8,15,31,.9));font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne)}.venue-palace{grid-column:span 2;height:68vh}.venue-hall{grid-column:span 2;height:76vh}.experience-video{background:#000}.costume-detail{object-position:center 72%}.creator-feature{max-width:1220px;margin:auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:54px;align-items:end}.creator-feature>div:first-child{align-self:start;padding-top:20px}.creator-feature>img{width:100%;height:760px;object-fit:cover;grid-row:span 2;box-shadow:0 28px 80px rgba(0,0,0,.18)}.creator-profile{max-width:620px;padding-bottom:24px}.creator-profile h3{font-size:46px;margin:14px 0}.creator-lead{font-family:Georgia,serif;font-style:italic;font-size:28px;line-height:1.45;color:var(--burgundy)}@media(max-width:900px){.venue-grid,.creator-feature{grid-template-columns:1fr}.venue-palace,.venue-hall{grid-column:auto;height:52vh}.venue-grid figure{min-height:320px}.creator-feature>img{height:520px;grid-row:auto}.creator-profile h3{font-size:36px}}

/* Biography modal: make long translations fully scrollable. */
.modal{overflow-y:auto;overscroll-behavior:contain}
.modal-inner{width:min(1120px,100%);max-height:calc(100vh - 80px);overflow:hidden}
.modal-inner>img{min-height:0;height:100%;max-height:calc(100vh - 80px)}
.modal-text{min-width:0;max-height:calc(100vh - 80px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.modal-text .body{white-space:pre-line;padding-bottom:12px}
@media(max-width:680px){.modal-inner{max-height:none;overflow:hidden}.modal-inner>img{height:auto;max-height:none}.modal-text{max-height:none;overflow:visible}}
