/* Event-specific presentation. The existing .ticket-panel and its controls are deliberately untouched. */
.christmas-landing{--christmas-gold:#f0c56e;--christmas-cream:#fff9ed;background:#090908;color:var(--christmas-cream)}
.christmas-landing .container{max-width:1240px}
.christmas-hero{position:relative;isolation:isolate;overflow:hidden;background:#080807}
.christmas-hero-art{position:absolute;inset:0;z-index:-2;background:url('festive-stage.webp') right 45%/auto 190% no-repeat}
.christmas-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080807 0%,rgba(8,8,7,.97) 32%,rgba(8,8,7,.62) 55%,rgba(8,8,7,.08) 85%),linear-gradient(0deg,#080807 0%,transparent 30%,rgba(8,8,7,.18) 100%)}
.christmas-hero-inner{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;min-height:740px;padding-top:76px;padding-bottom:74px;gap:28px}
.christmas-kicker{color:var(--christmas-gold);font-family:var(--font-body);font-size:.69rem;font-weight:700;letter-spacing:.18em;line-height:1.65;text-transform:uppercase;margin:0 0 25px}
.christmas-title{color:var(--christmas-cream);font-weight:400;line-height:1;margin:0 0 28px}
.christmas-title-top{display:block;font-family:var(--font-body);font-size:1.12rem;letter-spacing:.3em;font-weight:600;text-transform:uppercase;margin-bottom:7px}
.christmas-title-script{display:block;font-family:"Pinyon Script","Snell Roundhand",cursive;font-size:clamp(5rem,9.2vw,8.5rem);font-weight:400;line-height:1.08;margin-left:-9px}
.christmas-title-bottom{display:block;color:var(--christmas-gold);font-family:var(--font-body);font-size:clamp(.98rem,1.55vw,1.35rem);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
.christmas-hero-intro{font-size:1.08rem;font-weight:600;line-height:1.6;max-width:530px;margin-bottom:12px}
.christmas-hero-description{color:#d4cbbb;font-size:.92rem;max-width:535px;line-height:1.85;margin-bottom:26px}
.christmas-hero-description strong{color:var(--christmas-cream);font-weight:600}
.christmas-hero-date{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.86rem;line-height:1.7;font-weight:600;color:var(--christmas-cream)}
.christmas-hero-date b{font-weight:400;padding:0 7px;color:var(--christmas-gold)}
.christmas-hero-venue{font-size:.82rem;color:#d4cbbb;margin:4px 0 26px}
.christmas-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.christmas-button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:linear-gradient(110deg,#f7d58c,#d8a64a);border:1px solid #f5d28a;color:#181207;text-decoration:none;padding:15px 24px;min-height:54px;font-family:var(--font-body);font-size:.78rem;line-height:1.5;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,box-shadow .2s}
.christmas-button:hover{background:#ffe0a0;color:#181207;box-shadow:0 0 28px #e9b94d30}
.christmas-button span{font-size:1.25rem;line-height:1}
.christmas-text-link{display:inline-flex;align-items:center;gap:12px;color:var(--christmas-gold);font-size:.78rem;font-weight:600;line-height:1.6;text-decoration:none;border-bottom:1px solid #e5bd6859;padding-bottom:4px}
.christmas-text-link:hover{color:#fff0cf;border-color:currentColor}
.christmas-ticket-line{font-size:.72rem;color:#bdb4a4;margin:18px 0 0}
.christmas-ticket-line strong{font-weight:600;color:#eac883}.christmas-ticket-line>span{padding:0 7px;color:#82643a}
.christmas-hero-brand{text-align:center;align-self:start;padding-top:4px}
.christmas-hero-brand>img{width:min(270px,100%);height:auto;filter:drop-shadow(0 12px 30px #000);display:block;margin:0 auto}
.christmas-hero-brand-caption{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.2;color:#fff4d9;text-shadow:0 2px 10px #000;margin:4px auto;max-width:350px}
.christmas-hero-brand-caption em{color:var(--christmas-gold);font-weight:500}
.christmas-ribbon{border-top:1px solid #b2863b50;border-bottom:1px solid #b2863b50;background:#110e09d9}
.christmas-ribbon-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:17px;padding-bottom:17px;font-size:.7rem;font-weight:500;color:#dbc8a5}
.christmas-ribbon-inner i{font-style:normal;color:var(--christmas-gold);padding-right:8px}.christmas-ribbon-inner a{color:inherit;text-decoration:none}.christmas-ribbon-inner a:hover{color:white}
.christmas-booking{background:#f9f5ec;padding:90px 0;color:#393329;scroll-margin-top:110px}
.christmas-landing #book-tickets{scroll-margin-top:120px}
.christmas-story{padding-right:40px;scroll-margin-top:125px}
.christmas-story .christmas-kicker,.christmas-faq-section .christmas-kicker{color:#95651e}
.christmas-heading{font-family:var(--font-display);font-size:clamp(2.25rem,3.5vw,3.35rem);font-weight:600;line-height:1.06;letter-spacing:-.015em;margin:0 0 27px;color:inherit}
.christmas-heading em{font-weight:500;color:#b17a28}
.christmas-story>p:not(.christmas-kicker):not(.christmas-story-signoff){font-size:.88rem;line-height:1.95;max-width:650px}
.christmas-story .christmas-lead{font-weight:500;color:#221f19;font-size:1.05rem!important;line-height:1.8!important;margin-bottom:23px}
.christmas-performers{border-top:1px solid #cfb98d;margin-top:31px}
.christmas-performer{display:flex;gap:24px;border-bottom:1px solid #ddceb3;padding:25px 0 22px}
.christmas-performer-number{font-family:var(--font-display);font-size:2.3rem;color:#ae812e;line-height:1.15}
.christmas-mini-label{font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;color:#aa803b;line-height:1.6}
.christmas-performer h3{font-family:var(--font-display);font-size:1.95rem;line-height:1.1;color:#231e17;margin:0 0 11px}
.christmas-performer p:last-child{font-size:.81rem;line-height:1.85;margin:0}
.christmas-story-signoff{font-size:.98rem;line-height:1.75;color:#5c4930;margin:29px 0 0}.christmas-story-signoff strong{color:#292016;font-weight:600}
.christmas-charity{padding:95px 0;background:radial-gradient(ellipse at 6% 50%,#3c2c1638,transparent 60%),#15120e;scroll-margin-top:115px}
.christmas-charity-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:start}
.christmas-charity-mark{padding-top:10px}.christmas-charity-logo{padding:27px 25px;background:#fff;max-width:420px}
.christmas-charity-logo img{display:block;width:100%;height:auto}
.christmas-charity-mark>p:last-child{font-family:var(--font-display);font-size:3.6rem;line-height:1.06;color:#ead7b2;margin-top:30px}.christmas-charity-mark em{color:var(--christmas-gold)}
.christmas-charity-copy>.christmas-heading{font-size:2.8rem}
.christmas-charity-copy>p{font-size:.85rem;line-height:1.95;color:#d0c4b1}
.christmas-charity-note{border-left:2px solid #c0964a;padding:4px 0 2px 22px;margin-top:27px}
.christmas-charity-note h3{font-family:var(--font-body);font-size:.79rem;color:#f0d296;font-weight:600;margin:0 0 8px}
.christmas-charity-note p{font-size:.77rem;line-height:1.9;color:#cfc2ae;margin:0}
.christmas-visit{background:#090908;padding:80px 0;border-bottom:1px solid #98733e48}
.christmas-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px}
.christmas-section-heading .christmas-heading{margin-bottom:0}.christmas-section-heading .christmas-kicker{margin-bottom:16px}
.christmas-visit-grid{display:grid;grid-template-columns:1fr .85fr 1.15fr;border-top:1px solid #8b6b384f;padding-top:32px;gap:40px}
.christmas-visit-grid>div+div{border-left:1px solid #8b6b384f;padding-left:40px}
.christmas-visit-grid h3{font-family:var(--font-display);font-size:1.8rem;font-weight:600;line-height:1.2;color:#fff3d9;margin-bottom:15px}
.christmas-visit-grid p:last-child,.christmas-visit-grid address{color:#c2b6a1;font-size:.81rem;line-height:1.9;margin-bottom:0;font-style:normal}
.christmas-faq-section{background:#f9f5ec;color:#393329;padding:90px 0}
.christmas-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}
.christmas-faq-grid>div>p:last-child{font-size:.83rem;line-height:1.9}.christmas-faq-section .christmas-text-link{color:#86601e;border-color:#b49a70}.christmas-faq-section .christmas-text-link:hover{color:#38280e}
.christmas-faq{border-top:1px solid #d0b98e}
.christmas-faq details{border-bottom:1px solid #d0b98e}
.christmas-faq summary{list-style:none;cursor:pointer;position:relative;padding:22px 34px 22px 0;font-size:.83rem;font-weight:600;line-height:1.6;color:#33291c}
.christmas-faq summary::-webkit-details-marker{display:none}
.christmas-faq summary::after{content:"+";position:absolute;right:4px;top:20px;font-size:1.2rem;font-weight:400;color:#986e26}.christmas-faq details[open]>summary::after{content:"−"}
.christmas-faq details>div{padding:0 25px 21px 0}.christmas-faq details p{font-size:.81rem;line-height:1.9;margin-bottom:0}.christmas-faq details a{color:#86601e;text-decoration:underline}
.christmas-finale{position:relative;isolation:isolate;text-align:center;padding:90px 0 35px;background:#090807;overflow:hidden}
.christmas-finale::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent,#090807ee 22%,#090807ee 78%,transparent),url('festive-stage.webp') center bottom/100% auto no-repeat;opacity:.68}
.christmas-finale .christmas-heading{font-size:clamp(3rem,5vw,4.5rem);margin-bottom:20px}.christmas-finale .christmas-heading em{color:var(--christmas-gold)}
.christmas-finale-inner>p:not(.christmas-kicker){color:#d2c5af;font-size:.86rem;line-height:1.85;margin-bottom:28px}
.christmas-finale-links{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #b3894947;margin-top:70px;padding-top:25px}
.christmas-supporter{display:flex;align-items:center;gap:12px;color:#c0b49f;font-size:.6rem}.christmas-supporter img{width:122px;height:auto}
.christmas-landing a:focus-visible,.christmas-landing summary:focus-visible{outline:3px solid #ac7a29;outline-offset:5px}
@media(min-width:1400px){.christmas-hero-art{background-size:auto 210%;background-position:calc(100% + 40px) 45%}}
@media(max-width:1199px){.christmas-hero-inner{padding-left:35px;padding-right:35px}.christmas-hero-brand>img{width:230px}.christmas-story{padding-right:5px}.christmas-charity-grid{gap:50px}.christmas-faq-grid{gap:45px}.christmas-landing .container{max-width:100%;padding-left:30px;padding-right:30px}.christmas-hero-date{font-size:.76rem}}
@media(max-width:991px){.christmas-hero-inner{grid-template-columns:1.3fr .7fr;min-height:720px;padding-top:65px}.christmas-hero-brand>img{width:210px}.christmas-hero-brand-caption{font-size:1.2rem}.christmas-hero::before{background:linear-gradient(90deg,#080807 0%,#080807e8 38%,#08080744 100%),linear-gradient(0deg,#080807 0%,transparent 70%)}.christmas-ribbon-inner{flex-wrap:wrap;justify-content:center;text-align:center;gap:8px 24px}.christmas-booking{padding:65px 0}.christmas-story{padding:0 0 10px}.christmas-charity-grid{grid-template-columns:1fr 1.2fr;gap:35px}.christmas-charity-logo{padding:20px}.christmas-charity-mark>p:last-child{font-size:2.8rem}.christmas-charity-copy>.christmas-heading{font-size:2.3rem}.christmas-visit-grid{gap:20px}.christmas-visit-grid>div+div{padding-left:20px}.christmas-visit-grid h3{font-size:1.5rem}.christmas-faq-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:767px){.christmas-landing .container{padding-left:23px;padding-right:23px}.christmas-hero-inner{display:flex;flex-direction:column-reverse;gap:17px;align-items:stretch;padding-top:28px;padding-bottom:43px;min-height:0}.christmas-hero-brand{align-self:center;padding-top:0}.christmas-hero-brand>img{width:170px}.christmas-hero-brand-caption{display:none}.christmas-hero-art{background-position:center 33%;background-size:auto 155%;opacity:.6}.christmas-hero::before{background:linear-gradient(180deg,#08080720 0%,#080807ed 33%,#080807ee 82%,#080807 100%)}.christmas-hero-copy{text-align:center}.christmas-hero-copy>.christmas-kicker{font-size:.58rem;letter-spacing:.12em;margin-bottom:23px}.christmas-title-top{font-size:.92rem}.christmas-title-script{font-size:clamp(5rem,17vw,7.5rem);margin-left:-3px}.christmas-title-bottom{font-size:.94rem}.christmas-title{margin-bottom:23px}.christmas-hero-intro{font-size:.96rem;margin-left:auto;margin-right:auto}.christmas-hero-description{font-size:.82rem;max-width:470px;margin-left:auto;margin-right:auto}.christmas-hero-date{justify-content:center;flex-direction:column;gap:2px;font-size:.8rem}.christmas-hero-venue{font-size:.73rem;margin-top:8px}.christmas-actions{justify-content:center;gap:19px}.christmas-ticket-line{font-size:.63rem}.christmas-ribbon-inner{font-size:.63rem;padding-top:15px;padding-bottom:15px}.christmas-ribbon-inner>span:nth-child(2){display:none}.christmas-booking{padding:52px 0}.christmas-heading{font-size:2.5rem}.christmas-performer{gap:19px}.christmas-charity{padding:57px 0}.christmas-charity-grid{grid-template-columns:1fr;gap:25px}.christmas-charity-mark{padding:0}.christmas-charity-logo{max-width:330px}.christmas-charity-mark>p:last-child{font-size:2.7rem;margin-top:25px}.christmas-charity-copy>.christmas-heading{font-size:2.35rem}.christmas-visit{padding:55px 0}.christmas-section-heading{display:block;margin-bottom:27px}.christmas-section-heading>.christmas-text-link{margin-top:22px}.christmas-visit-grid{grid-template-columns:1fr;padding-top:0;border-top:0;gap:0}.christmas-visit-grid>div,.christmas-visit-grid>div+div{padding:23px 0;border-left:0;border-top:1px solid #8b6b384f}.christmas-visit-grid h3{font-size:1.8rem}.christmas-faq-section{padding:57px 0}.christmas-finale{padding:60px 0 28px}.christmas-finale .christmas-kicker{font-size:.58rem;letter-spacing:.12em}.christmas-finale-links{margin-top:45px;flex-direction:column;gap:25px}.christmas-supporter{align-self:flex-end}.christmas-faq summary{padding-top:20px;padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.christmas-button{transition:none}html:has(.christmas-landing){scroll-behavior:auto}}
