
/* v0.3.1: the original dark design, with more readable type and easier controls. */
:root{color-scheme:dark}
.header nav{font-size:15px;gap:28px}
.nav-ticket{min-height:46px;font-size:14px}
.hero .gold-button,.gold-button{min-height:52px;font-size:16px}
.hero-facts strong{font-size:18px}
.hero-facts small{font-size:14px;line-height:1.7}
.hero-price strong{font-size:38px}
.hero-price small{font-size:12px;line-height:1.5}
.hero-intro{font-size:19px}
.edition{font-size:11px;letter-spacing:1.5px}
.explore{font-size:13px}
.intro-copy>p,.buffet-copy>p,.location-copy>p,.about>div:last-child p{font-size:17px}
.highlight h3{font-size:23px}
.highlight .category{font-size:11px;letter-spacing:1.4px}
.highlight>p:last-child{font-size:15px;line-height:1.75;color:#d1bfb1}
.image-disclaimer,.buffet-photo figcaption,.map-note{font-size:12px;color:#c2afa2}
.evening-intro,.timeline-row p,.booking-panel>p,.centered>p:last-child{font-size:16px}
.booking-layout{align-items:start}
.booking-panel{padding:8px 0}
.panel-label{font-size:11px;letter-spacing:1.4px;line-height:1.8;display:block}
.quantity-row,.total-row{font-size:16px}
.stepper{height:48px}
.stepper button{width:46px}
.stepper input{width:56px}
#quantity-hint{font-size:12px;line-height:1.7;color:#c2afa2}
#quantity[aria-invalid=true]{outline:2px solid var(--pink);outline-offset:-2px}
[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.booking-panel .wide{font-size:16px;gap:14px}
.booking-panel .action-note{font-size:13px;line-height:1.8;color:#cbb8aa}
.copy-request{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:9px 17px;border:1px solid #997344;border-radius:3px;background:transparent;color:var(--gold-light);font-size:14px;text-align:center}
.copy-request:hover{background:#2b1b20}
.copy-request[hidden],.request-fallback[hidden],.mobile-ticket[hidden]{display:none}
.booking-panel .copy-status{font-size:13px;color:var(--gold-light);margin:10px 0 0;line-height:1.6}
.copy-status:empty{display:none}
.request-fallback{margin:14px 0 0;border:1px solid var(--line);padding:14px}
.request-fallback summary{font-size:14px;cursor:pointer;color:var(--gold-light)}
.request-fallback label{display:block;font-size:13px;margin-top:14px}
.request-fallback textarea{width:100%;resize:vertical;margin-top:8px;padding:12px;background:#10090b;color:var(--text);border:1px solid var(--line);font:14px/1.6 var(--sans)}
.request-fallback p{font-size:13px;margin:10px 0 0;overflow-wrap:anywhere}
.request-fallback a{text-decoration:underline;text-underline-offset:3px}
.booking-steps p,.ticket-local,.contact-options summary,.faqs details>p{font-size:15px;line-height:1.8}
.contact-options summary{min-height:48px}
.faqs summary{font-size:17px;padding-block:22px}
.faqs details>p{color:#d1bfb1}
.footer-top>a:not(.brand){font-size:15px}
.footer-bottom,.footer-link{font-size:13px}
.footer-link{display:inline-flex;align-items:center;min-height:44px}
.footer-bottom{align-items:center}
.dialog-close{width:44px;height:44px}
textarea:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
@media(min-width:901px) and (max-width:1150px){.header nav{gap:19px;font-size:14px}.hero-facts strong{font-size:16px}.hero-facts small{font-size:13px}.hero .gold-button{padding:16px 19px;font-size:15px}.hero h1{font-size:7.8vw}.hero-price strong{font-size:32px}}
@media(max-width:900px){
 .header{height:80px;padding-inline:24px;gap:14px}.header>.brand{margin-right:auto}.menu-toggle{display:block;width:44px;height:44px;flex:none}
 .header nav{display:none;position:absolute;left:0;right:0;top:80px;margin:0;flex-direction:column;align-items:stretch;background:#170e12;border-bottom:1px solid #795535;padding:14px 25px;gap:0;box-shadow:0 16px 24px #0005}
 .header nav.open{display:flex}.header nav a{font-size:17px;padding:13px 0}.header nav a::after{display:none}.nav-ticket>span{display:inline}
 .hero-facts strong{font-size:16px}.hero-facts small{font-size:13px}.hero-intro{font-size:17px}.hero-price strong{font-size:31px}.hero .gold-button{font-size:15px;padding:15px 19px}
 .hero .edition{font-size:10px;letter-spacing:1px}.hero-content{padding-right:24px}.hero-price small{font-size:12px}.highlight>p:last-child{font-size:15px}.booking-layout{grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:30px}.quantity-row{font-size:14px}
 .booking-panel .wide{font-size:15px;gap:8px}.footer-top{flex-wrap:wrap}
}
@media(max-width:680px){
 html{scroll-padding-top:98px}.header{height:76px;padding-inline:17px;gap:8px}.header nav{top:76px}.header>.nav-ticket{font-size:12px;min-height:44px;padding:9px 12px}.nav-ticket>span{display:none}
 .hero-content{padding:0 24px 36px}.hero .edition{font-size:10px;letter-spacing:.8px;margin-bottom:18px}.hero-intro{font-size:17px}.hero-facts{margin:24px auto;max-width:380px}.hero-facts>p{gap:12px}.hero-facts small{font-size:13px}.hero-actions{gap:20px;align-items:center}.hero .gold-button{font-size:15px;padding:15px 20px}.hero-price strong{font-size:34px}.hero-price small{font-size:11px}.hero-price{gap:2px}.explore{font-size:12px}
 .feature-ribbon{font-size:10px;letter-spacing:1px;gap:9px 16px}.intro-copy>p,.buffet-copy>p,.location-copy>p,.about>div:last-child p{font-size:16px}.highlight h3{font-size:21px}.highlight .category{font-size:10px}.highlight>p:last-child{font-size:14px}
 .booking-layout{grid-template-columns:1fr;gap:36px}.booking-panel h3{font-size:34px}.booking-panel{padding:0}.booking-panel>p{font-size:16px}.quantity-row{font-size:16px}.booking-panel .wide{font-size:16px}.paper-ticket{max-width:350px;width:100%;margin-inline:auto}.faqs summary{font-size:16px}.faqs details>p{font-size:15px}
 .mobile-ticket{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));min-height:64px;font-size:13px}.mobile-ticket b{font-size:14px}.footer{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.footer-bottom{align-items:start}.footer-link{font-size:13px}.footer-top>a:not(.brand){font-size:14px}
}
@media(max-width:380px){.hero h1{font-size:16.9vw}.hero-facts strong{font-size:15px}.hero-facts small{font-size:12px}.hero .gold-button{font-size:14px;padding-inline:17px}.hero-actions{gap:18px}.hero-content{padding-inline:20px}.header>.brand{min-width:140px}.header>.brand>span{font-size:20px}.header>.nav-ticket{padding-inline:9px}}
@media(forced-colors:active){.gold-text{background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}.gold-button,.stepper,.copy-request{border:1px solid ButtonText}}
