:root{--ink:#11100e;--paper:#f5f2eb;--red:#e33d2e;--blue:#1458d4;--lime:#d5ef55;--muted:#68645e;--line:#cdc8bd;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:var(--max);margin:auto;padding:0 24px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:15px;font-weight:900;text-transform:uppercase;line-height:.84;letter-spacing:0}.brand span{display:block;font-size:28px}.nav{display:flex;gap:28px;font-weight:700;font-size:14px}.button,.nav{align-items:center}.button{display:inline-flex;justify-content:center;gap:8px;border:0;background:var(--ink);color:white;padding:13px 18px;font-weight:800;min-height:44px}.button.red{background:var(--red)}.button.light{background:white;color:var(--ink);border:1px solid var(--line)}.button.small{padding:9px 12px;min-height:38px}.hero{min-height:590px;position:relative;background:#151515;color:white;display:flex;align-items:flex-end;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.hero:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85))}.hero-content{position:relative;z-index:1;padding:64px 24px;width:100%;max-width:var(--max);margin:auto}.eyebrow{font-weight:900;font-size:12px;letter-spacing:1.5px}.eyebrow,.hero h1{text-transform:uppercase}.hero h1{font-size:clamp(54px,9vw,126px);line-height:.82;margin:14px 0 24px;max-width:900px;letter-spacing:0}.hero-meta{display:flex;gap:18px;align-items:center;font-size:18px;font-weight:700}.section{padding:72px 0}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:28px}.section-head h2{font-size:42px;margin:0;text-transform:uppercase}.show-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.show-card{background:white;border:1px solid var(--line)}.show-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.show-card-body{padding:18px}.show-card h3{font-size:25px;margin:5px 0 14px}.show-card .date{color:var(--red);font-weight:900;text-transform:uppercase;font-size:13px}.newsletter{background:var(--blue);color:white;padding:58px 0}.newsletter-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:60px;gap:60px;align-items:end}.newsletter h2{font-size:48px;margin:0}.inline-form{display:flex}.inline-form input{flex:1 1;border:0;padding:15px}.footer{background:var(--ink);color:white;padding:48px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:40px;gap:40px}.show-detail{display:grid;grid-template-columns:minmax(280px,420px) 1fr;grid-gap:64px;gap:64px;padding:56px 0 80px}.show-detail img{width:100%;aspect-ratio:3/4;object-fit:cover}.show-detail h1{font-size:clamp(48px,7vw,88px);line-height:.9;text-transform:uppercase;margin:0 0 22px}.prose{line-height:1.65;color:#35322f}.performances{margin-top:40px;border-top:2px solid}.performance{display:grid;grid-template-columns:1fr auto;grid-gap:20px;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.performance strong{font-size:19px}.booking-layout{display:grid;grid-template-columns:1fr 380px;grid-gap:48px;gap:48px;padding:50px 0}.panel{background:white;border:1px solid var(--line);padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:13px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:white;padding:12px;min-height:44px}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px}.summary-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.summary-row.total{font-size:22px;font-weight:900;border-top:2px solid var(--ink);border-bottom:0;margin-top:12px}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-art{background:var(--red);padding:55px;color:white;display:flex;flex-direction:column;justify-content:space-between}.auth-art h1{font-size:72px;line-height:.86;text-transform:uppercase;margin:0}.auth-form{display:grid;place-items:center;padding:30px}.auth-form form{width:min(420px,100%)}.app-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:white;padding:28px 20px}.sidebar .brand{margin-bottom:42px}.side-nav{display:flex;flex-direction:column;gap:5px}.side-nav a{padding:12px;font-weight:700;color:#ccc}.side-nav a:hover{background:#292825;color:white}.app-main{padding:36px;overflow:auto}.app-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.app-head h1{font-size:36px;margin:0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:28px}.metric{background:white;border-top:4px solid var(--blue);padding:18px}.metric span{color:var(--muted);font-size:13px;font-weight:700}.metric strong{display:block;font-size:32px;margin-top:8px}.table-wrap{background:white;border:1px solid var(--line);overflow:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:14px;border-bottom:1px solid #e5e1d8;font-size:14px}th{color:var(--muted);background:#faf9f6}.badge,th{text-transform:uppercase;font-size:11px}.badge{display:inline-block;padding:5px 8px;font-weight:900;background:#e9e7e1}.badge.green{background:#dcefc4;color:#245a14}.badge.red{background:#f5cec8;color:#8a1b13}.door{background:#f0f1ed;min-height:100vh}.door-head{background:var(--ink);color:white;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;position:-webkit-sticky;position:sticky;top:0;z-index:4}.door-main{max-width:760px;margin:auto;padding:22px}.door-stat{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);margin-bottom:18px}.door-stat div{padding:13px;border-right:1px solid var(--line);text-align:center}.door-stat strong{display:block;font-size:23px}.search{width:100%;padding:14px;border:2px solid var(--ink);margin-bottom:15px}.attendee{background:white;border:1px solid var(--line);padding:16px;margin-bottom:10px;display:grid;grid-template-columns:1fr auto;grid-gap:14px;gap:14px}.attendee h3{margin:0 0 6px}.attendee p{margin:3px 0;color:var(--muted);font-size:13px}.empty{padding:60px 20px;text-align:center;color:var(--muted)}@media(max-width:800px){.nav a:not(.button){display:none}.hero{min-height:520px}.show-grid{grid-template-columns:1fr 1fr}.auth,.booking-layout,.newsletter-grid,.show-detail{grid-template-columns:1fr}.auth-art{min-height:340px}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.app-main{padding:20px}.metric-grid{grid-template-columns:1fr 1fr}.show-detail{gap:30px}.show-detail img{max-height:520px}.footer-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:520px){.shell{padding:0 16px}.site-header{height:72px}.show-grid{grid-template-columns:1fr}.hero-content{padding:42px 16px}.hero h1{font-size:52px}.section{padding:48px 0}.newsletter h2,.section-head h2{font-size:34px}.hero-meta{align-items:flex-start;flex-direction:column}.door-main{padding:12px}.door-stat{grid-template-columns:1fr 1fr}.attendee{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.app-main{padding:14px}.auth-art h1{font-size:52px}}.brand img{display:block;width:112px;height:62px;object-fit:contain}.newsletter-grid,.section-head{align-items:flex-end}:root{--ink:#f7f4fb;--paper:#09080b;--red:#8530db;--blue:#8530db;--lime:#c88cff;--muted:#a39ca9;--line:#312b37;--white:#151218}body{background:#09080b;color:#f7f4fb;background-image:radial-gradient(circle at 50% 0,rgba(133,48,219,.09),transparent 34rem)}.site-header{background:#09080b;border-color:#28222d;position:relative;z-index:10}.site-header:after{content:"";position:absolute;left:8%;right:8%;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#8530db,transparent);opacity:.65}.nav{color:#cfc8d3}.nav a:hover{color:#fff}.button{background:#eee9f3;color:#111}.button.red{background:#8530db;color:#fff;box-shadow:0 0 24px rgba(133,48,219,.32)}.button.light{background:#17131a;color:#fff;border-color:#443a4c}.eyebrow{color:#c88cff}.poster-stage{padding:58px 0 36px;overflow:hidden;background:linear-gradient(180deg,#09080b,#0e0b11)}.stage-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px}.stage-heading h1{font-size:clamp(58px,8vw,108px);line-height:.82;margin:12px 0 0;text-transform:uppercase}.stage-heading p{text-transform:uppercase;text-align:right;font-weight:900;line-height:1.1;font-size:18px;color:#a39ca9}.carousel-wrap{position:relative}.poster-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px max(7vw,24px) 30px;scrollbar-width:none}.poster-track::-webkit-scrollbar{display:none}.poster-slide{flex:0 0 clamp(225px,25vw,350px);scroll-snap-align:center;transition:transform .25s ease}.poster-slide:hover{transform:translateY(-7px)}.poster-frame{aspect-ratio:1/1.414;position:relative;background:#17131a;box-shadow:0 22px 45px rgba(0,0,0,.48);border:1px solid #332a3a;overflow:hidden}.poster-frame:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,rgba(0,0,0,.72))}.poster-frame img{width:100%;height:100%;object-fit:cover;display:block}.poster-number{position:absolute;z-index:1;right:12px;bottom:10px;font-weight:900;color:#fff;font-size:13px}.poster-caption{display:flex;justify-content:space-between;gap:12px;padding-top:14px;align-items:flex-start}.poster-caption span{color:#b67be9;text-transform:uppercase;font-weight:900;font-size:16px;line-height:1.1}.poster-caption h2{font-size:20px;margin:7px 0 4px;text-transform:uppercase}.poster-caption strong{font-size:12px;white-space:nowrap;margin-top:22px}.carousel-arrow{position:absolute;z-index:2;top:42%;width:48px;height:48px;border-radius:50%;border:1px solid #6f497e;background:rgba(9,8,11,.84);color:#fff;display:grid;place-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.carousel-arrow:hover{background:#8530db;box-shadow:0 0 30px rgba(133,48,219,.55)}.carousel-arrow.left{left:18px}.carousel-arrow.right{right:18px}.stage-footer{display:flex;justify-content:space-between;color:#827988;font-size:12px;text-transform:uppercase;font-weight:800}.text-link{color:#c88cff}.season-list{background:#09080b}.section-head{border-color:#51465a}.section-head h2{font-size:36px}.season-row{display:grid;grid-template-columns:170px 1fr 1.5fr auto;grid-gap:30px;gap:30px;align-items:center;padding:24px 0;border-bottom:1px solid #29232e}.season-row>span{color:#b67be9;font-weight:900;text-transform:uppercase;font-size:18px;line-height:1.15}.season-row h3{font-size:23px;margin:0}.season-row p{color:#9d96a1;line-height:1.45}.season-row strong,.season-row:hover h3{color:#c88cff}.newsletter{background:#17121b;border-top:1px solid #4d345d}.newsletter h2{color:#fff}.inline-form input{background:#0d0a10;color:#fff;border:1px solid #4a3f51}.footer{background:#050406}.show-detail .prose{color:#bcb5c0}.performances{border-color:#6d467c}.performance{border-color:#312b37}.attendee,.metric,.panel,.show-card,.table-wrap{background:#151218;border-color:#312b37}.field input,.field select,.field textarea{background:#100d12;color:#fff;border-color:#493f50}table th{background:#100d12;color:#aaa1ae}td,th{border-color:#302936}.app-main,.door{background:#0c0a0e}.sidebar{background:#070608}.auth-form{background:#09080b}.auth-art{background:#1b1023}.badge{background:#302638;color:#d8cae0}.badge.green{background:#263822;color:#c9efbb}.door-head{background:#080609;border-bottom:1px solid #8530db}.search{background:#151218;color:#fff;border-color:#8530db}.empty{color:#9f96a4}@media(max-width:800px){.season-row{grid-template-columns:140px 1fr}.season-row p{grid-column:2}.poster-slide{flex-basis:270px}.stage-heading{align-items:flex-end}}@media(max-width:520px){.poster-stage{padding-top:38px}.stage-heading p{display:none}.poster-track{padding-left:38px;padding-right:38px}.poster-slide{flex-basis:76vw}.carousel-arrow{width:40px;height:40px}.season-row{grid-template-columns:1fr}.season-row p{grid-column:auto}.stage-footer{display:none}}.basket-link{display:inline-flex;align-items:center;gap:7px}.basket-link strong{display:grid;place-items:center;background:#8530db;color:#fff;width:22px;height:22px;border-radius:50%;font-size:11px}.basket-page{padding-top:50px;padding-bottom:80px}.basket-page>h1,.confirmation-page>h1,.legal-page>h1{font-size:clamp(42px,7vw,76px);line-height:.95;text-transform:uppercase;margin:10px 0 36px}.basket-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);grid-gap:38px;gap:38px;align-items:start}.basket-list{border-top:1px solid #423849;margin-bottom:22px}.basket-item{display:grid;grid-template-columns:92px 1fr 44px;grid-gap:18px;gap:18px;padding:20px 0;border-bottom:1px solid #312b37}.basket-item>img{width:92px;aspect-ratio:3/4;object-fit:cover}.basket-item h2{font-size:21px;margin:0 0 6px}.basket-item p{color:#a39ca9;margin:0 0 14px}.basket-quantities{display:grid;grid-template-columns:1fr 34px 25px 34px;grid-gap:8px;gap:8px;align-items:center}.basket-quantities button,.icon-button{width:34px;height:34px;border:1px solid #51445a;background:#17131a;color:#fff;display:grid;place-items:center}.basket-quantities strong{text-align:center}.checkout-panel{background:#151218;border:1px solid #382f40;border-top:4px solid #8530db;padding:24px;position:-webkit-sticky;position:sticky;top:18px}.checkout-panel>h2{margin-top:0}.donation-field{background:#211629;border:1px solid #58346f;padding:16px}.checkout-note,.donation-field>p{color:#bdb3c3;font-size:13px;line-height:1.5}.donation-options{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.donation-options button{background:#120e15;color:#eee;border:1px solid #4b3d55;min-height:40px}.donation-options button.selected{background:#8530db;border-color:#b673f4}.custom-donation{display:grid;grid-template-columns:1fr 110px;align-items:center;margin-top:10px}.custom-donation input{text-align:right}.error-banner,.notice{padding:13px 15px;margin:14px 0;background:#2c2531;border-left:3px solid #c88cff;color:#eee}.error-banner,.form-error{background:#351c20;border-color:#e45b6a;color:#ffd5da}.basket-empty h2{color:#fff}.confirmation-page,.legal-page{max-width:760px}.confirmation-show{border-top:1px solid #3a3140;padding:16px 0}.confirmation-show h2{margin:0 0 5px}.donation-thanks{background:#211629;border-left:4px solid #8530db;padding:18px;margin:22px 0}.legal-page h2{margin-top:34px}.legal-page .prose{color:#c6beca}.icon-button{background:transparent}.button:disabled{opacity:.45;cursor:not-allowed}.discount-field{border-top:1px solid #493c51;padding-top:16px}.discount-entry{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.discount-entry input{text-transform:uppercase}.discount-success{color:#b9efc8;font-size:13px;line-height:1.5;margin:8px 0 0}.discount-field .form-error{font-size:13px;padding:9px 11px;margin:8px 0 0}.discount-summary{color:#cfa7f3}@media(max-width:800px){.basket-layout{grid-template-columns:1fr}.checkout-panel{position:static}.nav{gap:14px}.nav a.basket-link{display:inline-flex}.basket-link span{display:none}}@media(max-width:520px){.basket-item{grid-template-columns:68px 1fr 34px;gap:12px}.basket-item>img{width:68px}.basket-quantities{grid-template-columns:1fr 32px 20px 32px}.basket-quantities span{font-size:12px}.checkout-panel{padding:17px}}.confirmation-page .prose{color:#d4cdd8}.prose,.show-detail .prose{color:#c6beca}.poster-dates{display:grid;grid-gap:3px;gap:3px;min-height:39px}.poster-dates span{color:#b67be9;text-transform:uppercase;font-weight:900;font-size:16px;line-height:1.1}.poster-dates small{color:#aaa1ae;font-size:12px;font-weight:800;text-transform:uppercase}.poster-caption>strong{font-size:12px;white-space:nowrap;margin-top:22px}.season-row{grid-template-columns:210px 1fr 1.5fr auto}.season-dates{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none;color:#b67be9;font-weight:900;text-transform:uppercase;font-size:16px;line-height:1.15}.season-dates li+li{padding-top:6px;border-top:1px solid #33283a}@media(max-width:800px){.season-row{grid-template-columns:170px 1fr}.season-row p{grid-column:2}}@media(max-width:520px){.season-row{grid-template-columns:1fr}.season-row p{grid-column:auto}.season-dates{gap:4px}.season-dates li+li{padding-top:4px}}.newsletter-consent{margin:10px 0 0;color:#bcb5c0;font-size:12px;line-height:1.45}.newsletter-consent a{color:#d19aff;text-decoration:underline}.category-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:18px;scrollbar-width:none}.category-filters::-webkit-scrollbar{display:none}.category-filters button{border:1px solid #493b51;background:#100d12;color:#bbb2bf;min-height:38px;padding:0 15px;font-size:12px;font-weight:900;white-space:nowrap}.category-filters button:hover{color:#fff;border-color:#76508a}.category-filters button.active{background:#8530db;border-color:#a864e2;color:#fff;box-shadow:0 0 20px rgba(133,48,219,.3)}@media(max-width:520px){.category-filters{padding-left:16px;padding-right:16px}.category-filters.shell{max-width:none}}