@font-face{font-family:'Great Vibes';src:url('assets/great-vibes.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('assets/playfair.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Assistant;src:url('assets/assistant.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--black:#000;--panel:#0c0b0b;--red:#880b19;--gold:#9f8561;--lightgold:#f1d499;--white:#fff;--muted:#c7c1bc;--line:#82715466;--display:'Playfair Display',Georgia,serif;--body:Assistant,Arial,sans-serif;--script:'Great Vibes',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px;background:#000}body{margin:0;color:#fff;background:#000;font:400 1.0625rem/1.65 var(--body)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400}h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.25}h2 em{font-style:normal;color:var(--lightgold)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--lightgold);outline-offset:5px}input:focus,select:focus{outline:2px solid var(--lightgold);outline-offset:2px}.container{width:min(1240px,calc(100% - 80px));margin-inline:auto}.section{padding-block:85px}.eyebrow{font-size:.9375rem;line-height:1.4;letter-spacing:.05em;color:var(--lightgold);margin-bottom:19px}.small-note{font-size:.875rem;line-height:1.5;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);border:1px solid var(--gold);padding:13px 27px;min-height:50px;font:400 1rem/1.3 var(--body);color:white;transition:background .2s,color .2s}.btn:hover{background:#f8f8f8;color:#000;border-color:#f8f8f8}.btn-outline{background:transparent;border:1px solid #e3d4bc;color:white}.text-link{display:inline-flex;align-items:center;gap:24px;padding:8px 0;border-bottom:1px solid var(--gold);font-size:1rem}.text-link:hover{color:var(--lightgold)}.skip{position:fixed;left:20px;top:-80px;padding:12px;background:#fff;color:#000;z-index:100}.skip:focus{top:0}
.opening-offer-banner{background:#000;border-bottom:1px solid #8f7347;color:var(--lightgold);padding:9px 22px;text-align:center;font-size:.9375rem;line-height:1.45;letter-spacing:.01em}.opening-offer-banner strong{color:#fff4d7;white-space:nowrap}.opening-offer-code{margin:12px 0 0;color:var(--lightgold);font-size:.875rem;line-height:1.45;text-align:center}.opening-offer-code[hidden]{display:none}.site-header{background:#000;border-bottom:1px solid #333}.nav-wrap{min-height:108px;display:flex;align-items:center;gap:38px}.brand{display:flex;flex-direction:column;align-items:center;white-space:nowrap;flex-shrink:0}.brand>span{font:400 2.55rem/1.15 var(--display)}.brand>small{font:400 .875rem/1.5 var(--body);letter-spacing:.11em}.main-nav{display:flex;align-items:center;gap:27px;margin-left:auto;font-size:1rem}.main-nav a:hover{color:var(--lightgold)}.nav-cta{min-height:44px;padding:11px 23px}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;background:#760b16;min-height:590px;display:grid;align-items:center;text-align:center;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-2;object-position:center;object-fit:fill}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#28000218,transparent 24%,#30020b14 50%,transparent 76%,#28000218)}.hero-inner{padding-block:60px 51px}.hero .eyebrow{color:#f5dfb4;letter-spacing:.1em;margin-bottom:8px;font-size:.9375rem}.hero h1{display:flex;flex-direction:column;align-items:center}.festive-script{font:400 clamp(6rem,9vw,9rem)/1.25 var(--script);padding:0 .25em;color:#ffe3a0;text-shadow:0 2px 1px #6a3509,0 0 22px #ecab4c44;display:block}.show-name{display:block;font:400 clamp(2.25rem,4vw,3.75rem)/1.2 var(--display);color:#fff7e8;margin-top:-7px}.hero-sub{font:400 1.375rem/1.4 var(--body);margin-top:25px}.hero-description{font-size:1.0625rem;line-height:1.65;margin-top:9px;color:#eddbd0}.hero-actions{display:flex;gap:13px;justify-content:center;margin-top:30px}.hero-actions .btn{background:#a58a5b;border-color:#efd29a;min-width:220px}.hero-actions .btn:hover{background:#fff;color:#000}.hero-actions .btn-outline{background:#3f000833}.hero-bottom{display:flex;gap:22px;justify-content:center;margin-top:24px;font-size:.9375rem;color:#f5dfb9}.hero-bottom>span:nth-child(2){font-size:.75rem;align-self:center}.preview-label{position:absolute;bottom:12px;right:18px;color:#eddfd6;font-size:.75rem}
.shows-section{border-bottom:1px solid #3c3327;background:#070707}.show-picker{display:grid;grid-template-columns:repeat(3,1fr)}.show-picker button{position:relative;background:none;color:#fff;border:0;border-inline:1px solid #333;padding:28px 30px;text-align:left;transition:background .2s}.show-picker button+button{border-left:0}.show-picker button[aria-pressed=true]{background:#1d1510}.show-picker button[aria-pressed=true]:before{content:'';height:3px;left:0;right:0;top:0;background:#c8a66b;position:absolute}.show-picker button:hover{background:#211810}.show-picker .season-label{display:block;font-size:.8125rem;color:#bda582;margin-bottom:9px}.show-picker strong{display:block;font:400 1.65rem/1.3 var(--display);margin-bottom:10px}.show-picker button>span:last-child{font-size:.9375rem;display:flex;align-items:center;justify-content:space-between;color:#d1cbc3}.show-picker i{font-style:normal;color:var(--lightgold)}
.experience-section{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.experience-photo{height:510px;position:relative}.experience-photo img{object-position:center 40%}.experience-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0009)}.experience-photo figcaption{position:absolute;bottom:18px;left:20px;z-index:1;font-size:.8125rem;color:#ded1c4}.experience-copy .lead{font-size:1.2rem;line-height:1.6;color:#f0e2d1;margin-top:24px}.experience-copy>p:not(.lead):not(.eyebrow){font-size:1.0625rem;line-height:1.8;color:var(--muted);margin-top:20px}.experience-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.experience-tags span{border:1px solid #7b654640;color:#dccbad;padding:7px 12px;font-size:.875rem}.experience-copy .text-link{margin-top:23px}
.packages-section{background:#090808;border-block:1px solid #29221b}.section-heading{text-align:center;max-width:850px;margin:0 auto}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p:not(.eyebrow):not(.small-note){margin:20px auto 0;color:#cfc7bf;max-width:740px;font-size:1.125rem;line-height:1.65}.section-heading .small-note{margin-top:15px}.price-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:40px}.price-row{border:1px solid #64523d;background:#030303;padding:29px 23px;display:flex;flex-direction:column;align-items:flex-start;position:relative;min-width:0}.price-row.featured{border-color:#d1b580;background:#1a120e}.price-row .tag{font-size:.8125rem;line-height:1.5;color:#c6ad8a;display:block;margin-bottom:13px}.price-row h3{font-size:1.625rem;line-height:1.35;min-height:70px}.price-row .price{font:400 2.875rem/1.15 var(--display);margin-top:23px;color:var(--lightgold)}.price-row .price small{font:400 .8125rem/1.5 var(--body);color:#bbb2a5;display:block;margin-top:4px}.price-row>p{font-size:1rem;line-height:1.65;color:#c9c2b8;margin-top:22px;margin-bottom:26px}.price-row button{margin-top:auto;width:100%;min-height:44px;background:var(--gold);border:1px solid var(--gold);color:#fff;padding:10px 14px;font-size:1rem}.price-row button:hover{background:#fff;border-color:#fff;color:#000}.package-footnote{font-size:.8125rem;text-align:center;color:#ac9e8d;margin-top:22px}.empty-packages{grid-column:1/-1;text-align:center;padding:30px;border:1px solid var(--line);font-size:1.125rem;color:var(--lightgold)}body[data-season=winter] .price-table{grid-template-columns:repeat(5,minmax(0,1fr))}body[data-season=winter] .price-row{padding-inline:18px}body[data-season=winter] .price-row h3{font-size:1.45rem}
.tables-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.tables-copy>p:not(.eyebrow){color:var(--muted);margin-top:24px;font-size:1.0625rem;line-height:1.8;max-width:500px}.tables-copy .btn{margin-top:28px}.table-steps>div{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid #534333}.table-steps>div:first-child{border-top:1px solid #534333}.table-steps>div>span{font:400 1.8rem/1.3 var(--display);color:#b89a6d}.table-steps h3{font-size:1.375rem;line-height:1.4;margin-bottom:8px}.table-steps p{font-size:1rem;line-height:1.6;color:var(--muted)}
.dates-section{background:#100b0b;border-block:1px solid #392d22}.booking-layout{margin-top:45px;display:grid;grid-template-columns:1.1fr 1fr;gap:50px}.calendar-panel .eyebrow{color:#eee1c8;font-size:1rem}.date-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.date-button{color:#fff;border:1px solid #705c47;background:#000;padding:16px 8px;min-height:126px;transition:background .2s}.date-button>span{display:block;font-size:.875rem;color:#cabba7;line-height:1.4}.date-button strong{display:block;margin:8px 0;font:400 2.5rem/1 var(--display)}.date-button:hover{border-color:#e6c98f;background:#28140e}.date-button[aria-pressed=true]{background:var(--gold);border-color:#e0c797}.date-button[aria-pressed=true]>span{color:white}.month-label{grid-column:1/-1;font-size:1rem;color:var(--lightgold);padding:15px 0 2px}.month-label:first-child{padding-top:0}.calendar-note{font-size:.875rem;color:var(--muted);margin-top:17px}.booking-panel{border:1px solid #7a6246;padding:31px;background:#000;align-self:start}.booking-panel .eyebrow{font-size:.875rem;margin-bottom:13px}.booking-panel h3{font-size:1.75rem;line-height:1.35}.form-row{display:grid;grid-template-columns:85px minmax(0,1fr);gap:17px;margin-top:26px}.form-row label{display:flex;flex-direction:column;gap:8px;color:#dbd2c8;font-size:.9375rem}.form-row input,.form-row select{width:100%;min-width:0;min-height:47px;background:#100d0a;border:1px solid #8f785b;color:#fff;border-radius:0;padding:10px 12px;font-size:1rem;color-scheme:dark}.form-row select:disabled{color:#aa9f91}#party-note{font-size:.8125rem;margin-top:16px}.subtotal{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #59482f;gap:20px;margin-top:24px;padding-top:23px}.subtotal>span{font-size:1rem}.subtotal strong{font:400 2.6rem/1.15 var(--display);color:var(--lightgold)}#price-note{font-size:.8125rem;margin-top:12px}.booking-message{border:1px solid var(--line);background:#1c1510;text-align:center;padding:14px;margin-top:24px;color:var(--lightgold);font-size:1rem}
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.faq-section h2{font-size:2.25rem}.faq-list{border-top:1px solid #66533b}details{border-bottom:1px solid #66533b}summary{cursor:pointer;font-size:1.125rem;line-height:1.5;padding:21px 32px 21px 0;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:20px;color:var(--lightgold)}details[open] summary:after{content:'−'}details>p{padding:0 20px 24px 0;font-size:1rem;line-height:1.75;color:var(--muted)}.closing{background:#5c0010 url('assets/proud-christmas-background.png') center/cover no-repeat;text-align:center;padding:55px 0 62px}.closing .eyebrow{margin-bottom:4px}.closing h2{font:400 clamp(3.5rem,6vw,5.5rem)/1.4 var(--script);color:#ffe3a0;text-shadow:0 2px 2px #5f310d}.closing .btn{margin-top:17px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-block:42px}.footer-main nav{display:flex;gap:28px;font-size:.9375rem}.footer-main nav a:hover{color:var(--lightgold)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #30271c;padding-block:20px;font-size:.75rem;color:#aaa198}
body[data-season=newyear] .hero h1 .festive-script{font-size:clamp(4.4rem,8.2vw,8.2rem)}body[data-season=newyear] .hero{background:#1e130c}body[data-season=newyear] .hero-media{opacity:.43}body[data-season=winter] .hero{background:#000;min-height:600px}body[data-season=winter] .hero-media{object-fit:cover;object-position:center 30%;opacity:.48}body[data-season=winter] .hero:after{background:linear-gradient(90deg,#000d,#0005,#000d)}body[data-season=winter] .hero h1 .festive-script{font:400 clamp(3.5rem,6vw,5.5rem)/1.2 var(--display);padding-block:12px}body[data-season=winter] .hero .show-name{font-size:clamp(2.25rem,4vw,3.75rem);margin-top:6px}body[data-season=winter] .closing{background:#14100a}body[data-season=winter] .closing h2{font-family:var(--display);font-size:3.25rem}
@media(max-width:1100px){.container{width:calc(100% - 60px)}.nav-wrap{gap:22px}.main-nav{gap:20px;font-size:.9375rem}.nav-cta{padding-inline:17px}.experience-section{gap:40px}.price-table{gap:12px}.price-row{padding:25px 18px}.price-row h3{font-size:1.45rem}.price-row>p{font-size:.9375rem}.tables-section{gap:60px}body[data-season=winter] .price-table{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-layout{gap:30px}.booking-panel{padding:26px}.show-picker button{padding-inline:24px}.show-picker strong{font-size:1.45rem}}
@media(max-width:820px){.section{padding-block:65px}.nav-wrap{min-height:96px}.brand>span{font-size:2.25rem}.main-nav{display:none;position:absolute;top:96px;left:0;right:0;background:#050505;z-index:5;padding:27px 30px;border-bottom:1px solid #745b3e}.main-nav.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.menu-toggle{display:flex;align-items:center;gap:10px;order:3;background:none;border:0;color:#fff;font-size:1rem;padding:9px}.menu-toggle span{font-size:1.25rem}.nav-cta{margin-left:auto}.hero{min-height:570px}.hero-inner{padding-block:45px 50px}.hero .festive-script{font-size:7rem}.hero .show-name{font-size:3rem}.hero-description{max-width:500px;margin-inline:auto}.show-picker button{padding:23px 18px}.show-picker strong{font-size:1.25rem}.show-picker button>span:last-child{font-size:.875rem}.show-picker .season-label{font-size:.75rem}.experience-section{gap:30px}.experience-photo{height:460px}.experience-copy h2{font-size:2rem}.experience-copy .lead{font-size:1.0625rem}.experience-copy>p:not(.lead):not(.eyebrow){font-size:1rem}.experience-tags{gap:6px}.experience-tags span{font-size:.8125rem;padding:6px 9px}.price-table,body[data-season=winter] .price-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.price-row{padding:28px}.price-row h3,body[data-season=winter] .price-row h3{font-size:1.6rem;min-height:0}.price-row>p{font-size:1rem}.tables-section{grid-template-columns:1fr;gap:34px}.tables-copy h2 br{display:none}.tables-copy>p:not(.eyebrow){max-width:700px}.booking-layout{grid-template-columns:1fr;gap:32px}.faq-section{grid-template-columns:1fr;gap:30px}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:15px 28px}.footer-bottom{flex-direction:column;gap:7px}}
@media(max-width:580px){.container{width:calc(100% - 36px)}.section{padding-block:50px}.nav-wrap{min-height:83px;gap:18px}.brand>span{font-size:2rem}.brand>small{font-size:.8125rem}.nav-cta{font-size:.875rem;min-height:42px;padding:10px 15px}.menu-toggle{font-size:.875rem;gap:7px;padding:6px 0}.menu-toggle span{font-size:1.125rem}.main-nav{top:83px}.hero{min-height:585px}.hero-inner{padding-block:35px 42px}.hero .eyebrow{font-size:.8125rem;letter-spacing:.035em;margin-bottom:9px}.hero .festive-script{font-size:clamp(5.3rem,21.2vw,7rem);line-height:1.3;padding-inline:.14em}.hero .show-name{font-size:clamp(1.8rem,7.3vw,2.5rem);margin-top:-4px}.hero-sub{font-size:1.1875rem;max-width:285px;margin:25px auto 0}.hero-description{font-size:1rem;line-height:1.6;max-width:300px;margin-top:12px}.hero-actions{flex-direction:column;align-items:center;gap:11px;margin-top:24px}.hero-actions .btn{width:min(290px,100%);min-height:47px;font-size:.9375rem}.hero-bottom{gap:10px;font-size:.8125rem;margin-top:22px}.hero-bottom>span:nth-child(2){font-size:.625rem}.preview-label{font-size:.75rem;bottom:10px;right:12px}.hero-media{object-fit:cover;object-position:left center;opacity:.72}.show-picker{width:100%;grid-template-columns:1fr}.show-picker button{padding:18px 23px;display:grid;grid-template-columns:1fr auto;gap:3px 20px;border-inline:0;border-bottom:1px solid #383029}.show-picker button+button{border-left:0}.show-picker button:before{display:none}.show-picker button[aria-pressed=true]{border-left:3px solid #d3b174;padding-left:20px;background:#21150d}.show-picker .season-label{grid-column:1;margin:0;font-size:.75rem}.show-picker strong{grid-column:1;font-size:1.15rem;margin:0;line-height:1.5}.show-picker button>span:last-child{grid-column:2;grid-row:1/3;gap:16px;font-size:.75rem}.experience-section{grid-template-columns:1fr;gap:30px}.experience-photo{height:auto;aspect-ratio:1/1;max-height:440px}.experience-copy h2{font-size:2.25rem}.experience-copy .lead{font-size:1.125rem}.experience-copy>p:not(.lead):not(.eyebrow){font-size:1.0625rem}.experience-copy .text-link{margin-top:17px}.eyebrow{font-size:.875rem;margin-bottom:15px}h2{font-size:2rem}.section-heading>p:not(.eyebrow):not(.small-note){font-size:1.0625rem;margin-top:18px}.price-table,body[data-season=winter] .price-table{grid-template-columns:1fr;gap:15px;margin-top:30px}.price-row{padding:25px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:17px}.price-row h3,body[data-season=winter] .price-row h3{font-size:1.5rem}.price-row .tag{font-size:.8125rem;margin-bottom:10px}.price-row .price{font-size:2.5rem;align-self:end;margin:0;text-align:right}.price-row .price small{font-size:.75rem}.price-row>p{grid-column:1/-1;margin-top:20px;margin-bottom:20px;font-size:1rem}.price-row button{grid-column:1/-1;font-size:1rem}.package-footnote{font-size:.8125rem}.table-steps>div{gap:20px;padding-block:22px}.table-steps h3{font-size:1.25rem}.table-steps>div>span{font-size:1.65rem}.table-steps p{font-size:1rem}.date-list{gap:8px}.date-button{padding:13px 5px;min-height:115px}.date-button strong{font-size:2.1rem;margin:9px 0}.date-button>span{font-size:.8125rem}.booking-panel{padding:25px 20px}.booking-panel h3{font-size:1.5rem}.form-row{grid-template-columns:67px minmax(0,1fr);gap:12px}.form-row input,.form-row select{font-size:.875rem;padding:10px 8px}.subtotal strong{font-size:2.4rem}.faq-section h2{font-size:2rem}summary{font-size:1.0625rem}.closing{padding:40px 0 48px}.closing h2{font-size:3.5rem}.closing .eyebrow{font-size:.8125rem}.footer-main{flex-direction:column;gap:28px;padding-block:34px}.footer-main nav{display:flex;flex-wrap:wrap;justify-content:center;gap:13px 25px;font-size:.875rem}.footer-bottom{text-align:center;font-size:.75rem}body[data-season=winter] .hero{min-height:580px}body[data-season=winter] .hero h1 .festive-script{font-size:3.5rem}body[data-season=winter] .hero .show-name{font-size:2.4rem}body[data-season=winter] .closing h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Christmas dressing continues across every show view and page section. */
.site-header{position:relative;padding-top:36px}
.site-header:before,.section:before,.closing:before,footer:before{content:'';position:absolute;top:0;left:0;right:0;pointer-events:none;background-image:url('assets/christmas-garland.png');background-position:center top;background-repeat:repeat-x;background-size:850px auto}
.site-header:before{height:45px;background-size:680px auto}
.section{position:relative;isolation:isolate;padding-top:125px}
.section:before{height:100px;z-index:-1}
.experience-photo{border:1px solid #b89761;box-shadow:0 0 0 7px #a8844520}
h2 em{text-shadow:0 0 18px #d39d4d33}
.show-picker .season-label:before{content:'✦';margin-right:9px;color:#e3bd74}
.price-row{background:linear-gradient(145deg,#330b11b3,#060404);box-shadow:inset 0 3px 0 #bc995e55}
.price-row.featured{background:linear-gradient(145deg,#4b0d16,#160c08);border-color:#e0bd79}
.packages-section{background:linear-gradient(#0d0809eb,#100709f7),url('assets/proud-christmas-background.png') center/cover}
.dates-section{background:linear-gradient(#19090ced,#100707f2),url('assets/proud-christmas-background.png') center/cover}
.closing,footer{position:relative;isolation:isolate;padding-top:90px}
.closing:before,footer:before{height:78px;z-index:-1}
footer{padding-top:50px}
footer:before{height:54px;background-size:720px auto}
body[data-season=winter] .closing{background:linear-gradient(#130a0abe,#190a09df),url('assets/proud-christmas-background.png') center/cover}
.calendar-panel{padding:25px 20px;border:1px solid #9f8561;background:linear-gradient(#29050ccf,#140809ec),url('assets/proud-christmas-background.png') center/cover;align-self:start;min-width:0}
.date-list.month-view{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekday{font-size:.875rem;text-align:center;color:#e0cfb4;padding:4px 0 9px}
.month-view .date-button,.calendar-off{min-height:85px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:9px 3px;line-height:1.3}
.month-view .date-button{background:#382312;border-color:#c7a368;color:#ffe6b1}
.month-view .date-button strong,.calendar-off strong{font:400 1.75rem/1.15 var(--display);margin:0 0 5px}
.month-view .date-button>span{font-size:.75rem;color:#ead2ab}
.month-view .date-button:hover{background:#6d482b;border-color:#ffe1a0}
.month-view .date-button[aria-pressed=true]{background:#b79761;color:#fff;border-color:#ffe7b5;box-shadow:inset 0 0 0 2px #ffe6b98c}
.month-view .date-button[aria-pressed=true]>span{color:#fff}
.month-view .newyear-date{background:#5b111d;border:2px solid #e4bd71}
.calendar-off{background:#0004;border:1px solid #6a594529;color:#968b7e}
.calendar-off>span{font-size:.75rem;color:#817362}
.calendar-legend{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:20px;font-size:.8125rem;color:#cfbc9f}
.calendar-legend[hidden]{display:none}
.calendar-legend>span{display:inline-flex;gap:7px;align-items:center}
.calendar-legend i{width:10px;height:10px;display:inline-block;border:1px solid #8e795e}
.show-swatch{background:#b79761}.off-swatch{background:#1c1514}
@media(max-width:820px){.main-nav{top:132px}.section{padding-top:115px}.section:before{height:90px;background-size:720px auto}.calendar-panel{padding:25px}.month-view .date-button,.calendar-off{min-height:90px}.calendar-legend{font-size:.875rem}}
@media(max-width:580px){.main-nav{top:119px}.section{padding-top:100px}.section:before{height:78px;background-size:530px auto}.site-header:before{background-size:500px auto}.closing{padding-top:80px}.closing:before{height:65px;background-size:520px auto}.calendar-panel{padding:21px 12px}.date-list.month-view{gap:5px}.calendar-weekday{font-size:.75rem}.month-view .date-button,.calendar-off{min-height:72px;padding:9px 2px}.month-view .date-button strong,.calendar-off strong{font-size:1.4rem}.month-view .date-button>span{font-size:.75rem}.calendar-legend{gap:8px 15px;font-size:.8125rem}.experience-photo{box-shadow:0 0 0 4px #a8844520}}

/* A quieter, more formal Proud Cabaret wordmark. */
.brand{gap:0;min-width:138px;color:#f1d499}
.brand>span:not(.brand-number){font:400 2.25rem/1 var(--display);text-transform:uppercase;letter-spacing:.1em;padding-left:.1em}
.brand>small{font:400 .7rem/1.7 var(--body);text-transform:uppercase;letter-spacing:.34em;padding-left:.34em;color:#fff1d5;margin-top:5px}
.brand>.brand-number{display:flex;align-items:center;gap:9px;font:400 .8rem/1.15 var(--display);margin-top:4px;letter-spacing:.12em}
.brand-number:before,.brand-number:after{content:'';width:27px;height:1px;background:#b5955e}
.month-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;margin-bottom:22px}
.month-controls[hidden]{display:none}
.month-controls button,.month-controls select{min-height:44px;background:#140b09;border:1px solid #ac8e60;color:#ffe8c0;border-radius:0;color-scheme:dark}
.month-controls select{width:100%;padding:8px 12px}.month-controls button:disabled{opacity:.35;cursor:default}
.month-controls button:not(:disabled):hover{background:#654321}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:580px){.brand{min-width:110px}.brand>span:not(.brand-number){font-size:1.8rem}.brand>small{font-size:.6rem}.brand>.brand-number{font-size:.75rem;margin-top:2px}.nav-wrap{gap:12px}.nav-cta{padding-inline:12px}.hero-bottom{flex-wrap:wrap}}

/* Original Proud performance film, with motion always under the visitor's control. */
.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.48;pointer-events:none}
.hero-film[hidden],.film-toggle[hidden]{display:none}
body[data-season=winter] .hero:after{z-index:-1;pointer-events:none}
.film-toggle{position:absolute;right:18px;bottom:40px;z-index:1;color:#f6e3be;border:1px solid #ad9361;background:#090807bf;padding:9px 13px;font-size:.875rem;min-height:42px}
.film-toggle:hover{background:#51351b}.film-section{background:#080707}
.film-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}
.film-heading>p{color:#c9b9a5;text-align:right;line-height:1.7}
.show-film{width:100%;margin:0}.show-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#090705;border:1px solid #ac8750;object-fit:cover}
.show-film figcaption{font-size:.8125rem;color:#a99d8a;margin-top:14px}
@media(max-width:820px){.film-heading{display:block}.film-heading>p{text-align:left;margin-top:20px}.film-toggle{bottom:35px}}
@media(max-width:580px){.film-heading{margin-bottom:25px}.film-heading h2{font-size:2rem}.film-heading>p{font-size:1rem}.film-toggle{position:relative;grid-row:2;justify-self:center;bottom:auto;right:auto;margin:0 0 30px}.hero-inner{grid-row:1}body[data-season=winter] .hero-inner{padding-bottom:25px}.show-film figcaption{font-size:.75rem}}

.performance-gallery{display:grid;grid-template-columns:1.55fr 1fr;gap:24px;margin-top:40px;align-items:stretch}
.performance-gallery figure{position:relative;overflow:hidden;border:1px solid #7b6240;background:#100b08}
.performance-gallery img{height:560px;object-fit:cover}.gallery-wide img{object-position:23% center}.gallery-portrait img{object-position:center 35%}
.performance-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:50px 28px 25px;background:linear-gradient(transparent,#000e);font:400 1.5rem/1.4 var(--display);color:#fff1d5}
.gallery-note{font-size:.8125rem;color:#ac9f8e;margin-top:15px}
body[data-season=newyear] .price-table{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:820px){.performance-gallery img{height:420px}.performance-gallery{gap:16px}.performance-gallery figcaption{font-size:1.2rem;padding:45px 20px 20px}body[data-season=newyear] .price-table{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.performance-gallery{grid-template-columns:1fr;gap:20px}.performance-gallery .gallery-wide img{height:380px}.performance-gallery .gallery-portrait img{height:420px}.performance-gallery figcaption{font-size:1.4rem}body[data-season=newyear] .price-table{grid-template-columns:1fr}}

/* Burgundy, champagne and illuminated greenery carry the festive mood down the page. */
body{background:radial-gradient(ellipse at 5% 32%,#4c102454,transparent 38%),radial-gradient(ellipse at 96% 75%,#61391533,transparent 35%),#100407}
.film-section{background:linear-gradient(135deg,#350918,#19080c 60%,#26150c);border-block:1px solid #8c654544}
.packages-section{background:linear-gradient(#390c19cf,#210b12e8),url('assets/proud-christmas-background.png') center/cover}
.dates-section{background:linear-gradient(#320b17d9,#18070de8),url('assets/proud-christmas-background.png') center/cover}
.experience-section,.gallery-section,.tables-section,.faq-section{background:radial-gradient(ellipse at 50% 0,#6c20341f,transparent 70%)}
.price-row{background:linear-gradient(145deg,#581429bd,#16090d);border-color:#ac805c88}
.price-row.featured{background:linear-gradient(145deg,#751d35,#2c0c15);border-color:#e5c68b;box-shadow:inset 0 3px 0 #e8c68277,0 8px 35px #b5681b10}
.experience-tags span{background:#5c1a293b;border-color:#b28a5b66}
.calendar-panel{background:linear-gradient(#471125dd,#210c15ee),url('assets/proud-christmas-background.png') center/cover}
.booking-panel{background:linear-gradient(145deg,#371019,#170b0f);border-color:#bb9568}
.section{padding-top:145px}.section:before{height:126px;background-size:960px auto;filter:drop-shadow(0 3px 10px #cb8e2730)}
.closing{background:linear-gradient(#560b21b5,#290912e0),url('assets/proud-christmas-background.png') center/cover}
footer{background:linear-gradient(#270a13,#100407)}
.nav-year{color:#f1d499;border-bottom:1px solid #a88b5c;padding-block:5px;white-space:nowrap}
.hero-actions{flex-wrap:wrap}.hero-film-link{flex-basis:100%;font-size:.9375rem;color:#f2d8ad;text-decoration:underline;text-underline-offset:5px;padding:3px 10px;margin-top:3px}
.season-anchor{position:absolute;top:0;left:0}
.booking-season-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:790px;margin:30px auto 0}
.booking-season-tabs button{color:#efdbc1;background:#1a0b10;border:1px solid #9f7855;padding:15px 12px;min-height:54px;font-size:1rem}
.booking-season-tabs button[aria-pressed=true]{color:#fff6e2;background:#733148;border-color:#f0ce8f;box-shadow:inset 0 -3px 0 #e3bb76}
.booking-season-tabs button:hover{background:#64283b;border-color:#e3bb76}
.booking-layout{margin-top:28px}
.performance-gallery{grid-template-columns:1fr 1fr}
.performance-gallery img{height:600px}.gallery-wide img,.gallery-portrait img{object-position:center 25%}
@media(min-width:821px) and (max-width:1100px){.main-nav{gap:14px;font-size:.875rem}.nav-wrap{gap:17px}.nav-cta{padding-inline:12px}}
@media(max-width:820px){.section{padding-top:125px}.section:before{height:106px;background-size:820px auto}.performance-gallery img{height:460px}.hero-actions{row-gap:10px}}
@media(max-width:580px){.section{padding-top:110px}.section:before{height:90px;background-size:640px auto}.booking-season-tabs{grid-template-columns:1fr;gap:8px;margin-top:24px}.booking-season-tabs button{padding:12px;min-height:48px}.hero-actions .hero-film-link{font-size:.875rem}.performance-gallery{grid-template-columns:1fr}.performance-gallery .gallery-wide img,.performance-gallery .gallery-portrait img{height:500px}.hero .show-name{font-size:2.4rem}.show-picker strong{font-size:1.25rem}}
.experience-photo img{object-position:25% center}
.gallery-wide img{object-position:33% center}
.gallery-portrait img{object-position:38% top}
.cookie-consent{position:fixed;left:18px;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:980px;margin:auto;padding:20px 22px;background:#13090e;color:#fff3df;border:1px solid #c59c60;box-shadow:0 12px 45px #000d}.cookie-consent[hidden]{display:none}.cookie-consent strong{font:400 1.25rem/1.2 var(--display);color:#f4d79d}.cookie-consent p{margin-top:6px;max-width:650px;font-size:.92rem;line-height:1.5}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions .btn{min-height:44px;padding:10px 14px;font-size:.85rem}
@media(max-width:700px){.cookie-consent{align-items:stretch;flex-direction:column;bottom:10px;left:10px;right:10px}.cookie-actions{display:grid;grid-template-columns:1fr}.cookie-actions .btn{width:100%}}
#extras-dialog{width:min(650px,calc(100% - 32px));max-height:90vh;overflow:auto;background:#160b10;color:#fff2de;border:1px solid #c59c60;padding:32px;border-radius:8px}#extras-dialog::backdrop{background:#000b}.extras-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.extras-header button{background:transparent;border:1px solid #c59c60;color:inherit;padding:10px 16px}#extras-dialog h2{font-size:2.5rem;margin:16px 0}#extras-dialog p{font-size:1rem;line-height:1.6}.extras-options{border:1px solid #72503b;padding:18px;margin:24px 0}.extras-options legend{padding:0 8px}.extras-options label{display:flex;gap:12px;padding:12px 0;align-items:center;cursor:pointer}.extras-options input{width:20px;height:20px;accent-color:#c59c60}#open-extras:disabled{opacity:.5;cursor:not-allowed}#send-enquiry[aria-disabled=true]{pointer-events:none;opacity:.5}@media(max-width:580px){#extras-dialog{padding:20px}#extras-dialog h2{font-size:2rem}}
.trust-strip{display:flex;justify-content:center;gap:12px 44px;flex-wrap:wrap;padding:18px 24px;background:#0d0809;border-block:1px solid #b8945c;color:#f6dfbb;font-size:.95rem;text-align:center}.trust-strip span:before{content:'✓';color:#d7b777;margin-right:8px}.christmas-parties{background:linear-gradient(135deg,#451226,#16090e)}.quote-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}.quote-layout .lead{font:400 1.35rem/1.6 var(--display);color:#f2d8ad;margin:22px 0}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:28px;border:1px solid #b58f5c;background:#12080c}.quote-form label{display:grid;gap:7px;color:#f4dfbf;font-size:.9rem}.quote-form input{width:100%;min-height:46px;padding:10px 12px;color:#fff;background:#080607;border:1px solid #795f43}.quote-form .btn,.quote-form .small-note{grid-column:1/-1}.sticky-book{display:none;position:fixed;left:14px;right:14px;bottom:12px;z-index:30;min-height:50px;align-items:center;justify-content:center;background:#c29d61;color:#100907;padding:13px 18px;text-align:center;font-weight:700;box-shadow:0 8px 35px #000a}.hero-price{max-width:820px}.hero-bottom{flex-wrap:wrap}
.press-strip{padding:58px 0;background:#16090e;border-bottom:1px solid #6c4f39}.press-strip h2{text-align:center;font-size:2rem;margin-bottom:30px}.press-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.press-quotes blockquote{margin:0;padding:22px;border:1px solid #785a40;background:#0d0809}.press-quotes p{font:400 1.08rem/1.55 var(--display);color:#fff4df}.press-quotes cite{display:block;margin-top:14px;font-style:normal;color:var(--lightgold);font-size:.86rem}.press-note{text-align:center;margin-top:20px;color:var(--muted);font-size:.82rem}.quote-actions{display:grid;gap:16px;padding:28px;border:1px solid #b58f5c;background:#12080c}.quote-actions .btn{width:100%;text-align:center}.footer-link{padding:0;border:0;background:none;color:inherit;cursor:pointer}.footer-link:hover{color:var(--lightgold)}
@media(max-width:820px){.quote-layout{grid-template-columns:1fr;gap:30px}.sticky-book{display:flex}body{padding-bottom:74px}}
@media(max-width:820px){.press-quotes{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.trust-strip{display:grid;gap:10px}.quote-form{grid-template-columns:1fr;padding:22px}.quote-form label{grid-column:1/-1}}
@media(max-width:580px){.press-quotes{grid-template-columns:1fr}.press-strip{padding:42px 0}.press-strip h2{font-size:1.7rem}.quote-actions{padding:22px}}

.brand-logo{display:block;width:180px;height:auto}.embedded-booking{margin-top:28px;min-width:0}.season-widget{background:#fff;color:#170f12;border-radius:8px;padding:24px 12px}.season-widget h3{font-size:1.35rem;margin:0 12px 20px}.season-widget[hidden],.booking-layout[hidden]{display:none!important}.menu-preview p{max-width:850px;margin-top:16px;line-height:1.7}.embedded-booking iframe{max-width:100%}#dates{scroll-margin-top:20px}@media(max-width:580px){.brand-logo{width:115px}.season-widget{padding:16px 4px}.cookie-consent{bottom:76px}}

.christmas-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}.christmas-menu-grid article{padding:24px;border:1px solid rgba(201,164,92,.3);border-radius:12px}.christmas-menu-grid h3{color:#C9A45C}.christmas-menu-grid li{margin-bottom:12px}.price-ladder{padding-top:20px;padding-bottom:20px;text-align:center}.menu-preview a{color:inherit;text-decoration:underline}@media(max-width:680px){.christmas-menu-grid{grid-template-columns:1fr}.christmas-menu-grid article{padding:18px}}

#exit-offer{width:min(680px,calc(100% - 32px));max-height:90vh;overflow:auto;background:#160b10;color:#fff2de;border:1px solid #c59c60;padding:32px;border-radius:8px}#exit-offer::backdrop{background:#000b}#exit-offer h2{font-size:2.5rem;margin:16px 0}#exit-offer p{font-size:1rem;line-height:1.6}.exit-signup{margin:24px 0;background:#fff;padding:20px;border-radius:8px}@media(max-width:580px){#exit-offer{padding:20px}#exit-offer h2{font-size:2rem}}

#celebration-quote-form{max-width:780px;margin-top:28px;text-align:left}#extras-dialog{max-height:90vh;overflow-y:auto}#extras-quote-form{padding:20px;margin-top:20px}#open-extras-public{margin-bottom:22px}

/* Visible mailing list entry points */
.signup-visible{scroll-margin-top:150px;text-align:center;border:1px solid #b99a62;border-radius:12px;margin-top:24px;margin-bottom:24px;padding:32px 20px}.signup-embed{max-width:640px;margin:20px auto;min-height:180px;background:#fff;border-radius:8px;padding:16px}.signup-sticky{position:fixed;top:0;right:16px;z-index:90;background:#d9b976;color:#14100a;padding:10px 18px;border-radius:0 0 8px 8px;font-weight:700;text-decoration:none}.signup-sticky:focus-visible{outline:3px solid #fff;outline-offset:2px}@media(max-width:760px){.signup-sticky{top:auto;bottom:calc(78px + env(safe-area-inset-bottom));left:16px;right:16px;text-align:center;border-radius:8px}.signup-visible{padding:24px 12px}.signup-embed{padding:8px}}

#mailing-list-form{max-width:640px;margin:24px auto;text-align:left}#mailing-list-form label{display:block;margin:12px 0}#mailing-list-form input:not([type=checkbox]),#mailing-list-form select{display:block;width:100%;box-sizing:border-box;padding:12px;border:1px solid #bfa66b;border-radius:5px;background:#fff;color:#161616;font:inherit}#mailing-list-form fieldset{border:1px solid #bfa66b;padding:14px;display:flex;gap:16px}#mailing-list-form fieldset label{flex:1}#mailing-list-form .signup-consent{display:flex;gap:12px;align-items:flex-start}#mailing-list-form input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
.booking-sticky{position:fixed;top:0;right:16px;z-index:100;background:#d9b976;color:#14100a;padding:12px 24px;border-radius:0 0 8px 8px;font-weight:800;text-decoration:none;box-shadow:0 2px 8px #0006}.booking-sticky:focus-visible{outline:3px solid #fff;outline-offset:2px}@media(max-width:760px){.booking-sticky{right:12px;padding:12px 20px;font-size:16px}}

.booking-sticky{position:sticky;display:block;top:0;right:auto;text-align:center;border-radius:0;width:100%;box-sizing:border-box}@media(max-width:760px){.booking-sticky{right:auto;padding:12px 20px}}
