:root{color-scheme:dark;--ink: #141411;--paper: #eeece2;--panel: #20211b;--divider: #3d4036;--muted: #bcbdb0;--lime: #b4f150;--lime-hover: #ccfa8b;--green: #344f19;--title: #3e601d;--focus: #80b5ff;--error: #ffb8a9;--serif: Georgia, "Times New Roman", serif;--sans: Bahnschrift, "Segoe UI", system-ui, sans-serif;font:16px/1.5 var(--sans);color:var(--paper);background:var(--ink);--gutter: 40px}*,*:before,*:after{box-sizing:border-box}body,p,h1,h2,h3,dl,dd,ol{margin:0}h1,h2,h3{font-family:var(--serif);line-height:1}h1{font-size:clamp(2.65rem,6vw,5.5rem);letter-spacing:-.055em}h2{font-size:clamp(2.25rem,4.4vw,3.75rem);letter-spacing:-.045em}h3{font-size:clamp(1.45rem,3vw,1.85rem);letter-spacing:-.025em}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.hero :focus-visible,.programme :focus-visible{outline-color:#1451a0}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;top:.5rem;left:.5rem;background:var(--lime);color:var(--ink);padding:.5rem 1rem;z-index:5}.wrap{width:min(calc(100% - 2 * var(--gutter)),1200px);margin-inline:auto}.eyebrow,dt,.stage,.step{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow,.step{color:var(--lime)}.muted{color:var(--muted)}.error{color:var(--error)}.masthead{border-bottom:1px solid var(--divider)}.masthead-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}.masthead-inner>a{text-decoration:none}.masthead-inner>a:hover{text-decoration:underline}.wordmark{display:inline-flex;align-items:center;gap:11px}.wordmark span{display:grid;place-items:center;width:38px;height:38px;background:var(--lime);color:var(--ink);font:italic 1.7rem/1 var(--serif)}.button,.outline{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:.72rem 1.05rem;font-weight:700;text-decoration:none;text-align:center}.button{border:1px solid transparent;color:var(--ink);background:var(--lime)}.button:hover:not(:disabled){background:var(--lime-hover)}.outline{background:transparent;color:var(--paper);border:1px solid #85877a}.outline:hover:not(:disabled){background:var(--panel)}.hero{background:var(--paper);color:var(--ink);color-scheme:light}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(24px,5vw,72px);padding-block:clamp(32px,6vw,86px);align-items:center}.hero-copy h1{font-size:clamp(3.1rem,7.75vw,7rem);line-height:.93;margin-block:23px 20px}.hero h1 em{color:var(--title)}.hero-kicker{color:var(--green);display:flex;align-items:center;gap:.7rem}.hero-kicker span{width:24px;height:1px;background:currentColor}.subtitle{font:italic clamp(1.2rem,2.2vw,1.8rem)/1.25 var(--serif);max-width:32ch}.byline{margin-block:12px 24px}.event-facts{display:grid;grid-template-columns:1fr 1.1fr .82fr;gap:12px;border-top:1px solid #a4a497;margin-top:29px;padding-top:16px}.event-facts dt{color:var(--green)}.event-facts dd{font-size:.92rem;margin-top:4px}.poster{display:block;width:100%;height:auto}.booking,.centered{padding-block:clamp(46px,6vw,82px)}.section-heading{margin-bottom:24px}.section-heading h2,.programme h2,.centered h1,.booking>h1{margin-block:8px 12px}.section-heading>p:last-child,.state-card>p:not(.eyebrow){color:var(--muted)}.preview-banner{margin-bottom:18px;border-left:2px solid var(--lime);padding:.4rem .75rem;color:var(--muted)}.booking-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:18px;align-items:start}.panel{min-width:0;padding:clamp(14px,2.7vw,30px);border:1px solid var(--divider);background:var(--panel)}.panel h3{margin-bottom:20px}.step{display:inline-block;vertical-align:.25em;margin-right:7px}.seat-field{margin:0;padding:0;border:0;min-inline-size:0}.legend{display:flex;gap:8px 15px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{display:grid;place-items:center;width:15px;height:15px;border:1px solid #85877a;font-style:normal;line-height:1}.legend i.legend-selected{background:var(--lime);border-color:var(--lime);color:var(--ink)}.legend i.legend-unavailable{border-style:dashed}.stage{display:block;text-align:center;padding:6px;margin-block:18px 12px;border:1px solid var(--divider);color:var(--lime);background:var(--ink)}.map{display:grid;gap:5px}.seat-row{display:grid;grid-template-columns:minmax(13px,.55fr) repeat(10,minmax(0,1fr));align-items:center;gap:clamp(2px,.55vw,7px);text-align:center}.seat-row>span{color:var(--muted);font-size:.72rem}.seat{position:relative;cursor:pointer;min-width:0}.seat>span{display:grid;place-items:center;min-height:36px;border:1px solid #85877a;font-size:.8rem;font-variant-numeric:tabular-nums}.seat input:checked+span{color:var(--ink);background:var(--lime);border-color:var(--lime);font-weight:800}.seat input:disabled+span{cursor:not-allowed;border-style:dashed;color:var(--muted);background:var(--ink)}.seat input:focus-visible+span{outline:2px solid var(--focus);outline-offset:1px}.seat:hover input:not(:disabled):not(:checked)+span{background:#353a2c}#seat-note{margin-top:12px;font-size:.82rem}.details>label{display:grid;gap:6px;margin-bottom:14px;font-size:.88rem;font-weight:650}.details>label input{width:100%;min-height:46px;padding:.6rem .7rem;border:1px solid #85877a;border-radius:0;background:var(--ink);color:var(--paper);font-size:1rem;font-weight:400}.details input::placeholder{color:#a0a193}.order{padding:16px;margin-top:19px;color:var(--ink);background:var(--paper)}.order .eyebrow{color:var(--green)}.order>p+p{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;margin-top:7px}.order .total{border-top:1px dashed #777b6b;margin-top:10px;padding-top:9px;align-items:baseline}.order .total strong{font-size:1.35rem}.pay{width:100%;justify-content:space-between;margin-top:12px}.checkout-heading{font-size:clamp(2.5rem,6.25vw,4.75rem);margin-block:8px 12px}.checkout-subheading{font-size:clamp(1.45rem,2.5vw,2rem);margin-bottom:16px}.checkout-details{display:grid;gap:12px;margin-bottom:18px}.checkout-details>div{border-bottom:1px solid var(--divider);padding-bottom:10px}.checkout-details dt{color:var(--muted);font-size:.85rem}.checkout-details dd{font-weight:650;overflow-wrap:anywhere}.text-button{border:0;padding:4px;color:var(--lime);background:transparent;text-decoration:underline}.programme{background:var(--paper);color:var(--ink);padding-block:clamp(35px,6vw,76px)}.programme .eyebrow{color:var(--green)}.programme-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.programme ol{list-style:none;padding:0;border-bottom:1px solid #aaa99d}.programme li{display:grid;grid-template-columns:38px 1fr;padding:14px 0;border-top:1px solid #aaa99d;align-items:baseline;font:bold clamp(1rem,2vw,1.45rem)/1.2 var(--serif)}.programme li span{color:var(--green);font:700 .75rem var(--sans)}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-block:22px;border-top:1px solid var(--divider);font-size:.8rem;color:var(--muted)}.centered{max-width:720px}.state-card h1,.centered h1{font-size:clamp(2.5rem,6.25vw,4.75rem)}.state-card>p+p{margin-top:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-block:20px}.ticket{margin-top:20px;background:var(--paper);color:var(--ink);border-top:8px solid var(--lime);padding:clamp(18px,4vw,36px);overflow-wrap:anywhere}.ticket .eyebrow{color:var(--green)}.ticket h2{margin-block:10px}.ticket dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding-block:15px;margin-top:16px;border-block:1px dashed #777b6b}.ticket dd{font-weight:700;font-size:1.15rem}.ticket-id{margin-top:12px}.ticket-id span{margin-right:8px;font-size:.75rem;font-weight:700;text-transform:uppercase}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:12px;margin-top:20px}.metrics div{padding:14px;border:1px solid var(--divider)}.metrics dd{font:bold 2rem var(--serif)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}caption{text-align:left;margin-block:10px}th,td{padding:.6rem;border-bottom:1px solid var(--divider)}.admin-control{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;border:1px solid var(--divider);padding:18px;margin-top:20px;background:var(--panel)}.admin-control h2,.admin-detail h2{font-size:clamp(1.4rem,4vw,2rem);letter-spacing:-.025em;margin-block:6px 8px}.admin-control .actions{margin:0}.admin-toolbar{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;margin-block:14px}.admin-message{margin-top:12px;border-left:2px solid currentColor;padding:8px 12px}.admin-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;margin-block:18px}.admin-filters label,.admin-resolution label{display:grid;gap:5px;font-size:.875rem;font-weight:650}.admin input,.admin select{min-width:0;width:100%;min-height:44px;padding:.55rem .65rem;border:1px solid #85877a;border-radius:0;background:var(--ink);color:var(--paper);font:400 1rem var(--sans)}.admin-table{min-width:440px}.admin-state{display:inline-block;padding:2px 7px;border:1px solid #85877a;font-size:.8rem;white-space:nowrap}.admin-state.state-paid{border-color:var(--lime);color:var(--lime)}.admin-state.state-exception{border-color:var(--error);color:var(--error)}.admin-detail{overflow-wrap:anywhere}.admin-detail .admin-toolbar{margin-top:0}.admin-detail dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.admin-detail dt{color:var(--muted)}.admin-detail .actions p{flex-basis:100%}.admin-resolution,.admin-audit{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px dashed #85877a}.admin-resolution h3,.admin-audit h3{margin:0;font-size:1.35rem}.admin-resolution .button{justify-self:start}.admin-audit ul{margin:0;padding-left:1.25rem}@media(max-width:480px){.admin-filters{grid-template-columns:minmax(0,1fr)}.admin-table{min-width:0}.admin-table :is(th,td):nth-child(3){display:none}}@media(max-width:850px){:root{--gutter: 18px}}@media(max-width:680px){.hero-grid,.booking-grid,.programme-grid{grid-template-columns:minmax(0,1fr)}.poster{max-width:440px}}@media(max-width:365px){:root{--gutter: 12px}.panel{padding-inline:7px}.seat-row{grid-template-columns:12px repeat(10,minmax(0,1fr));gap:1px}.event-facts{gap:6px}.seat>span{font-size:.72rem}.masthead-inner{font-size:.88rem}}
