/* Christmas theme based on the user's HTML reference. Layout lives in styles.css. */
:root{color-scheme:dark;--cream:#0b1120;--paper:#131e32;--ink:#f8fafc;--muted:#b1bed0;--red:#dc3438;--red-dark:#b91c24;--gold:#f5b940;--line:#ffffff16;--soft-red:#521f2a;--radius:22px}
body{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.65}
h1,h2,.program-card h3,.booking-summary h3{font-family:'Russo One','Arial Black',Arial,sans-serif;font-weight:400;letter-spacing:-.025em}
h2{font-size:clamp(30px,3.5vw,46px);line-height:1.25}h2 em{font-style:normal;color:var(--gold)}
::selection{background:var(--gold);color:#0b1120}:focus-visible{outline-color:var(--gold)}
html{scroll-padding-top:110px}.wrap{max-width:1260px}.section{padding-block:80px}
.eyebrow{color:var(--gold);letter-spacing:.15em}.section-heading>p{font-size:14px}.section-heading .eyebrow{margin-bottom:13px}
.button{background:linear-gradient(115deg,#e4453b,#c51f30);border-color:#f56c5940;border-radius:13px;box-shadow:0 8px 26px #e32b2b26;font-size:15px;transition:filter .2s,transform .2s,box-shadow .2s;line-height:1.35}
.button:hover{background:linear-gradient(115deg,#ef5847,#d32638);border-color:#f56c5980;box-shadow:0 12px 30px #e32b2b38}
.button-small{font-size:13px}.button-outline{background:#ffffff04;border-color:#f5b94070;color:#fde8a5;box-shadow:none}
.button-outline:hover{background:#f5b94012;border-color:#f5b940a0;color:#fff2be;box-shadow:none}
.text-button{color:#fde8a5;border-color:#f5b94050;font-size:14px;min-height:44px}.text-button:hover{color:#fff;border-color:var(--gold)}
.announcement{position:relative;z-index:10;background:linear-gradient(100deg,#8e1725,#955711 50%,#8e1725);padding:9px 20px;font-size:12px;font-weight:500;text-align:center;color:#fff3da}
.announcement a{display:inline-block;margin-left:20px;text-decoration:underline;text-underline-offset:3px}
.site-header{background:#0f172aee;border-bottom:1px solid #f5b94020;backdrop-filter:blur(18px)}
.header-inner{height:88px;gap:24px}.site-header .brand{padding-left:60px;position:relative}
.brand-emblem{position:absolute;left:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:46px;height:46px;border:2px solid var(--gold);border-radius:14px;background:#f5b94009;box-shadow:0 0 22px #f5b9401c;font-size:22px}
.brand-caption{color:var(--gold);letter-spacing:.2em;margin:0 0 5px;font-size:9px}
.brand-name{font-family:'Russo One','Arial Black',Arial,sans-serif;font-weight:400;font-style:normal;letter-spacing:.04em;color:#fff;font-size:26px;text-transform:uppercase}
.brand-star{position:static;font-size:16px;color:#ef4444;margin-left:5px}.navigation{font-size:12px;gap:24px;color:#d4deee;margin-right:0}.navigation a:hover{color:var(--gold)}
.header-actions{display:flex;align-items:center;gap:24px;flex-shrink:0}.header-phone{display:flex;flex-direction:column;text-align:right;line-height:1.5}.header-phone span{color:var(--muted);font-size:10px}.header-phone strong{font-size:12px;color:var(--gold)}
.lights-garland{display:flex;justify-content:space-around;gap:20px;position:absolute;top:-5px;left:0;width:100%;height:35px;overflow:hidden;pointer-events:none;z-index:2}
.light-bulb{flex:0 0 8px;height:12px;border-radius:50% 50% 60% 60%;position:relative;animation:light-glow 2.8s ease-in-out infinite alternate}
.light-bulb:before{content:'';position:absolute;top:-3px;left:2px;width:4px;height:4px;background:#475569;border-radius:1px}
.light-bulb:nth-child(4n+1){color:#ef4444;background:currentColor;box-shadow:0 0 11px currentColor;animation-delay:-.5s}
.light-bulb:nth-child(4n+2){color:#fbbf24;background:currentColor;box-shadow:0 0 11px currentColor;animation-delay:-1.3s}
.light-bulb:nth-child(4n+3){color:#34d399;background:currentColor;box-shadow:0 0 11px currentColor;animation-delay:-.9s}
.light-bulb:nth-child(4n+4){color:#38bdf8;background:currentColor;box-shadow:0 0 11px currentColor;animation-delay:-2s}
@keyframes light-glow{from{opacity:.45}to{opacity:1}}
#snow-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
.hero{padding:58px 0 76px;background:radial-gradient(ellipse at 63% 35%,#ac222b25,transparent 55%),radial-gradient(ellipse at 92% 10%,#f59e0b12,transparent 48%)}
.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:68px}.hero-copy{position:relative;z-index:1}
.hero .eyebrow{display:inline-flex;gap:9px;font-size:11px;letter-spacing:.035em;color:#fde8a5;background:#ffffff08;border:1px solid #ffffff18;border-radius:30px;padding:9px 14px}
.green-dot{width:7px;height:7px;background:#fbbf24;box-shadow:0 0 12px #fbbf2460;flex-shrink:0}
.hero h1{font-size:clamp(48px,5.3vw,72px);line-height:1.13;text-transform:uppercase;letter-spacing:-.025em;margin:27px 0 24px;white-space:normal}
.hero h1 em{display:block;font-style:normal;font-weight:400;letter-spacing:-.025em;color:var(--gold);background:linear-gradient(100deg,#fff2bc,#f5b940 60%,#ffce67);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 18px #f5b94012)}
.hero-description{max-width:495px;font-size:18px;line-height:1.75;color:#bdc9da}.hero-tags span{font-size:12px;border-color:#f5b94030;background:#f5b94008;color:#fde8a5;font-weight:600;padding:7px 13px}
.hero-actions .button{background:linear-gradient(105deg,#e73e3a,#c8222f 70%,#aa621c);font-size:15px;padding-inline:25px}.hero-note{margin-top:34px;font-size:12px}.hero-note strong{color:#e6edf6;font-weight:500}
.hero-art{padding:14px 0 0}.hero-art:before{content:'';position:absolute;inset:15px -20px -20px;border-radius:45px;background:linear-gradient(145deg,#d42a253e,#f59e0b22,#0b112000);filter:blur(30px)}
.hero-photo{height:575px;border-radius:30px;border:2px solid #e3b551b3;box-shadow:0 18px 55px #0005;transform:none}
.hero-photo:before{content:'';position:absolute;z-index:1;inset:8px;border:1px solid #fff1ca60;border-radius:21px;pointer-events:none}.hero-photo img{object-position:center 0}
.photo-bottom{background:linear-gradient(transparent,#0b1120e6 70%);padding:52px 23px 25px;color:#fff3d1;font-size:12px;font-weight:600}.photo-bottom span{color:var(--gold)}
.art-caption{top:-3px;left:-21px;background:linear-gradient(135deg,#791e24,#3c1220);border-color:#e3b5518c;box-shadow:0 8px 24px #0005;padding:13px 19px 13px 46px;border-radius:13px;transform:rotate(-4deg);font-size:11px;color:#f6d396}.art-caption strong{color:#fff}.art-caption .icon{left:15px}
.art-spark{text-shadow:0 0 20px #f5b94040}.spark-one{font-size:42px;left:-21px}.spark-two{font-size:45px;right:-19px;top:100px}
.hero-ribbon{position:absolute;z-index:2;left:22px;right:22px;bottom:-17px;background:linear-gradient(100deg,#941e29,#c52c2d,#941e29);border:1px solid #e3b551a0;border-radius:10px;padding:10px 8px;text-align:center;font-family:'Russo One','Arial Black',Arial,sans-serif;font-size:13px;letter-spacing:.06em;color:#ffe6a5;box-shadow:0 8px 20px #0005}
.adventure{background:#0f182b}.journey{gap:20px}.journey-step{border:1px solid #ffffff12;border-radius:17px;background:#142037;overflow:hidden}
.step-photo{height:183px;border-radius:0;border-bottom:1px solid #ffffff10;background-color:#222944}.step-number{color:#fff3d1;background:#12182de0;border:1px solid #f5b94065;font-size:13px;padding:6px 10px;border-radius:7px}.step-label{background:#981f2ae8;color:#ffe6a5;padding:5px 9px}
.journey-step h3{font-size:16px;margin:20px 20px 9px}.journey-step p{font-size:13px;line-height:1.75;margin:0 20px 24px}
.programs{background:radial-gradient(ellipse at 10% 70%,#981d2420,transparent 65%)}
.program-card{background:linear-gradient(130deg,#152036,#0e182a);border-color:#ffffff20;padding:30px 34px;overflow:hidden}
.primary-program{border:1px solid #f5b940a0;background:linear-gradient(140deg,#641c27,#391827 42%,#131c30);box-shadow:0 12px 40px #9d28221a}
.primary-program:before{height:3px;background:linear-gradient(90deg,#f5b940,#fff1c0,#f5b940)}
.program-type{color:var(--gold)}.duration{color:#c2ccda}.program-card h3{font-size:32px}.program-tagline{color:#c4cede;font-size:13px}
.price{color:#fde8a5;font-size:48px;line-height:1.2;font-weight:800;flex-wrap:wrap}.price>small{font-size:12px;font-weight:500}.program-list{font-size:14px;line-height:1.6;gap:15px}.program-list .icon{color:#69d8b4}.primary-program .program-list .icon{color:#f1c86a}.minus-mark{color:#edab9f}
.program-detail{background:#ffffff06;border:1px solid #ffffff0b;border-radius:10px;color:#c4cede;font-size:12px;line-height:1.7}.primary-program .program-detail{background:#f5b9400d;border-color:#f5b94025;color:#f5deb0}
.adult-note{background:#ffffff03;border-color:#ffffff16;border-radius:14px}.adult-icon{color:var(--gold);background:#f5b94009;border:1px solid #f5b9403a;border-radius:14px}.adult-note p{line-height:1.75}.adult-note strong{color:#fde8a5}
.booking{background:linear-gradient(180deg,#0f172a,#31141f44 50%,#0f172a)}.booking-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:30px}.booking-fields{background:#101c30b3;border-color:#ffffff18}
.field-number{color:var(--gold);border-color:#f5b94050;background:#f5b94008;border-radius:9px}
.program-toggle span{background:#ffffff03;border-color:#ffffff1f;border-radius:10px;min-height:76px;font-size:12px;gap:4px}.program-toggle span strong{font-size:17px}.program-toggle input:checked+span{border-color:var(--gold);background:#f5b9400d;color:#fde8a5}
.calendar-week{color:#c0cbdd;font-size:11px}.calendar-week span:nth-last-child(-n+2){color:var(--gold)}.calendar-days{gap:4px}
.calendar-days button{min-height:36px;border:1px solid #f5b94022;background:#f5b94008;color:#ecdfb6;border-radius:6px}
.calendar-days button:hover:not(:disabled){background:#f5b94025;border-color:#f5b94070}.calendar-days button:disabled{color:#61728a;border-color:transparent}.calendar-days button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#171c2c;font-weight:800}.calendar-days button[aria-pressed=true]:hover{background:#fde8a5}
.time-options button{background:#1b2a40;border-color:#ffffff25;color:#fff;min-height:42px;border-radius:8px}.time-options button:hover{background:#25344a;border-color:#f5b94080}.time-options button[aria-pressed=true]{background:#9d2430;border-color:#e3aa5a}
.schedule-note,.calendar-help{font-size:11px;line-height:1.75}.calendar-key{background:#b68d38}.date-label{line-height:1.6}
.form-label{color:#e7edf7;font-weight:600;font-size:12px;gap:9px}.form-label input,.form-label select,textarea{background:#1b2a40;border-color:#ffffff23;color:#f8fafc;min-height:48px;border-radius:8px;font-size:13px}.form-label input::placeholder{color:#90a1ba}.field-hint{color:var(--muted)}
.stepper{height:48px;background:#1b2a40;border-color:#ffffff23;border-radius:8px}.stepper button{background:#ffffff06;color:var(--gold);min-width:32px}.stepper button:hover:not(:disabled){background:#f5b94020}.stepper button:disabled{color:#66798f}.stepper input{min-height:46px;border-radius:0;border:0}.adults-choice{max-width:350px}
.booking-summary{color:#f8fafc;background:linear-gradient(145deg,#39212c,#151f33 65%);border:1px dashed #f5b940a6;top:112px;overflow:visible}
.booking-summary:before,.booking-summary:after{content:'';position:absolute;width:20px;height:20px;top:49%;background:#131829;border-radius:50%;border:1px solid #f5b940a6}.booking-summary:before{left:-11px;clip-path:inset(0 0 0 50%)}.booking-summary:after{right:-11px;clip-path:inset(0 50% 0 0)}
.booking-summary .eyebrow{color:var(--gold);max-width:80%;font-size:10px}.booking-summary h3{font-size:27px;line-height:1.3}.summary-star{font-size:34px;color:var(--gold);opacity:1}.summary-facts{border:0;padding-top:0;font-size:12px}.summary-facts .icon{color:var(--gold)}
.ticket-divider{display:flex;gap:7px;align-items:center;margin-top:20px;color:#f5b94080}.ticket-divider:before,.ticket-divider:after{content:'';flex:1;height:1px;background:#f5b94035}
.cost-lines{border-color:#f5b94025;color:#dbe4f0;gap:12px}.cost-lines strong{color:#fff;font-weight:500}.total-row{font-size:12px;color:#dbe4f0;margin-top:23px}.total-row strong{font-size:39px;color:var(--gold);font-weight:800}
.button-light{background:linear-gradient(110deg,#f8cb62,#e6a32d);border-color:var(--gold);color:#1b1822;box-shadow:0 5px 25px #f5b94015}.button-light:hover{background:linear-gradient(110deg,#ffdb85,#f2b84b);border-color:var(--gold);color:#1b1822;box-shadow:0 8px 28px #f5b94025}.summary-disclaimer{font-size:11px;color:#cdd7e6;line-height:1.75}
.questions{background:#0c1425}.contact-link{color:var(--gold);font-size:18px}.faq-list summary{font-size:15px;font-weight:600}.faq-list p{line-height:1.8}.faq-list p a{color:var(--gold)}
.closing{padding:45px 0;background:linear-gradient(110deg,#651e29,#431925 60%,#181e30);border-color:#f5b94030}.closing .eyebrow{color:var(--gold)}.closing h2{font-size:36px;color:#fff1cf}.closing-snow{color:#f5b94010}
.site-footer{background:#0b1120}.footer-brand .brand-name{font-size:25px}.footer-contacts a:first-child{color:var(--gold)}.footer-contacts a:last-child{color:#d4dced}
dialog{border:1px solid #f5b94050;background:#131e32;color:#f8fafc;box-shadow:0 30px 90px #0008}dialog::backdrop{background:#050b19c9}.dialog-close{background:#132036;color:#fff;border-color:#f5b94080;width:44px;height:44px}.dialog-close:hover{background:#253449}.request-dialog h2{font-size:34px}.request-dialog .copy-status{color:var(--gold)}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0b1120}::-webkit-scrollbar-thumb{background:#5d3944;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#b88742}
@media(min-width:1400px){.hero h1{font-size:74px}.hero-photo{height:590px}}
@media(max-width:1150px){.header-phone{display:none}.header-inner{gap:20px}.hero-grid{gap:45px}.hero-photo{height:550px}.journey{gap:15px}.step-photo{height:160px}.journey-step h3{margin-inline:16px;font-size:15px}.journey-step p{margin-inline:16px;font-size:12px}.booking-fields{padding:24px}.group-fields{grid-template-columns:1fr 1fr}.group-fields>label:last-child{grid-column:1/-1}}
@media(max-width:930px){.navigation{display:none}.header-phone{display:flex}.hero-grid{gap:36px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.hero-photo{height:520px}.hero h1{font-size:clamp(43px,5.8vw,54px)}.hero-description{font-size:16px}.hero .eyebrow{font-size:10px;padding:8px 11px}.journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.step-photo{height:205px}.journey-step h3{font-size:17px;margin-inline:22px}.journey-step p{font-size:14px;margin-inline:22px}.program-card{padding:27px}.program-top{flex-direction:column;align-items:flex-start;gap:9px}.program-card h3{font-size:27px}.booking-grid{grid-template-columns:minmax(0,1fr)}.booking-summary{position:relative;top:auto;padding:30px}.group-fields{grid-template-columns:1fr 1fr 1fr}.group-fields>label:last-child{grid-column:auto}.calendar-and-times{grid-template-columns:1.15fr 1fr;gap:32px}.calendar-days button{min-height:44px;font-size:14px}.calendar-week{font-size:12px}.calendar-heading,.time-picker h3{font-size:15px}.summary-facts{font-size:14px}.cost-lines{font-size:13px}.total-row strong{font-size:44px}.questions-grid{grid-template-columns:1fr;gap:30px}.questions h2 br{display:none}.closing h2{font-size:30px}}
@media(max-width:650px){
 html{scroll-padding-top:92px}body{padding-bottom:88px}.wrap{padding-inline:22px}.section{padding-block:54px}
 .announcement{font-size:10px;line-height:1.7;padding:10px 17px}.announcement a{display:none}.header-inner{height:76px;gap:15px}.brand-emblem{width:39px;height:39px;border-radius:11px;font-size:20px}.site-header .brand{padding-left:48px}.brand-name{font-size:22px}.brand-caption{font-size:8px}.brand-star{font-size:13px}.header-phone{display:none}.header-inner .button{font-size:11px;padding:12px 14px}.header-inner .button .icon{display:none}
 .hero{padding:32px 0 57px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:33px}.hero-copy{text-align:center;padding:0}.hero .eyebrow{font-size:10px;justify-content:center;padding:8px 12px}.hero h1{font-size:clamp(38px,9.8vw,60px);line-height:1.14;margin:25px 0 21px}.hero-description{max-width:440px;margin-inline:auto;font-size:16px;line-height:1.75}.hero-tags{justify-content:center;margin-top:20px;gap:8px}.hero-tags span{font-size:11px;padding:7px 11px}.hero-actions{justify-content:center;flex-direction:column;gap:13px;margin-top:24px}.hero-actions .button{width:100%;max-width:390px;font-size:14px}.text-button{font-size:13px}.hero-note{text-align:left;justify-content:center;margin-top:20px;padding-top:19px;font-size:11px;gap:13px}.note-separator{margin-inline:5px}
 .hero-art{width:100%;max-width:410px;margin-inline:auto;padding-top:10px}.hero-photo{height:auto;aspect-ratio:4/5;border-radius:24px}.hero-photo:before{border-radius:16px}.art-caption{left:3px;top:-1px;font-size:10px;padding:10px 15px 10px 42px}.art-caption .icon{top:15px;left:13px;width:18px;height:18px}.art-spark{font-size:33px}.spark-one{left:-9px}.spark-two{right:-9px;top:85px}.hero-ribbon{left:17px;right:17px;font-size:11px}.photo-bottom{font-size:11px;padding:45px 20px 27px}
 .section-heading{display:block;margin-bottom:29px}.section-heading>p{text-align:left;margin-top:15px;font-size:13px}.section-heading>p br{display:none}.eyebrow{font-size:10px;letter-spacing:.11em}h2{font-size:30px}
 .journey{grid-template-columns:1fr;gap:19px}.step-photo{height:auto;aspect-ratio:1.75}.journey-step h3{font-size:18px;margin:22px 22px 10px}.journey-step p{font-size:14px;margin:0 22px 24px}.step-number{font-size:14px}.step-label{font-size:11px;padding:6px 11px}
 .program-grid{grid-template-columns:1fr;gap:22px}.program-card{padding:28px 23px}.program-top{flex-direction:row;align-items:center;font-size:10px;gap:8px;margin-bottom:21px}.program-card h3{font-size:29px}.program-tagline{font-size:13px}.price{font-size:45px;margin:24px 0;gap:8px}.price>small{font-size:12px}.program-list{font-size:14px;gap:17px}.program-detail{font-size:12px;padding:14px}.program-pick{font-size:13px;padding-inline:18px}.adult-note{align-items:flex-start;gap:14px;padding:20px}.adult-icon{width:36px;height:36px;border-radius:11px}.adult-note h3{font-size:14px}.adult-note p{font-size:12px;line-height:1.8}
 .booking-grid{gap:25px}.booking-fields{padding:24px 20px}legend{font-size:15px;gap:9px}.program-toggle{grid-template-columns:1fr;gap:9px}.program-toggle span{flex-direction:row;justify-content:space-between;align-items:center;min-height:59px;padding:13px;font-size:12px}.program-toggle span strong{font-size:16px;white-space:nowrap}.calendar-and-times{grid-template-columns:1fr;gap:24px}.calendar-days{gap:5px}.calendar-days button{min-height:44px;font-size:14px;border-radius:7px}.calendar-heading{font-size:14px}.calendar-heading>span{font-size:11px}.calendar-week{font-size:12px}.time-picker h3{font-size:14px}.time-options button{font-size:16px;min-height:48px}.date-label{font-size:13px}.schedule-note,.calendar-help{font-size:12px;line-height:1.75}.group-fields{grid-template-columns:1fr;gap:22px}.form-label{font-size:14px;gap:9px}.form-label input,.form-label select{min-height:50px;font-size:16px;padding:12px}.field-hint{font-size:12px}.stepper{height:50px}.stepper button{min-width:52px;font-size:25px}.stepper input{font-size:17px;min-height:48px}.adults-choice{max-width:none}
 .booking-summary{padding:29px 23px}.booking-summary h3{font-size:26px}.booking-summary .eyebrow{font-size:9px}.summary-facts{font-size:13px}.summary-star{right:24px}.cost-lines{font-size:12px}.total-row strong{font-size:40px}.button-light{font-size:14px}.summary-disclaimer{font-size:12px}.faq-list summary{font-size:14px;line-height:1.6}.faq-list p{font-size:14px;padding-right:0}.contact-link{font-size:17px}.questions-grid{gap:29px}
 .closing-inner{align-items:flex-start;flex-direction:column;gap:24px}.closing h2{font-size:29px}.closing .button{width:100%;font-size:14px}.closing-snow{right:-30px;top:-20px;font-size:170px}.footer-inner{flex-wrap:wrap;gap:22px}.footer-inner>p{margin:0;font-size:11px}.footer-contacts{width:100%;text-align:left;gap:10px;font-size:13px}.footer-contacts a{min-height:32px}.footer-brand .brand-name{font-size:25px}
 .mobile-booking-bar{display:flex;background:#0e192bee;border-top:1px solid #f5b94040;z-index:25;backdrop-filter:blur(14px);padding:13px 20px calc(13px + env(safe-area-inset-bottom))}.mobile-booking-bar>span{color:#c5d1e3}.mobile-booking-bar strong{color:var(--gold)}.mobile-booking-bar .button{font-size:12px}.request-dialog{padding:28px 22px}.request-dialog h2{font-size:27px;padding-right:30px}.request-dialog .eyebrow{max-width:82%}.request-dialog textarea{font-size:16px}.request-actions .button{font-size:13px}
}
@media(max-width:360px){.wrap{padding-inline:17px}.brand-emblem{display:none}.site-header .brand{padding-left:0}.hero h1{font-size:36px}.hero .eyebrow{font-size:9px}.hero-note{font-size:10px;gap:9px}.program-card h3{font-size:26px}.program-top{flex-direction:column;align-items:flex-start}.booking-fields{padding-inline:16px}.calendar-days{gap:3px}.calendar-days button{font-size:13px}.program-toggle span{font-size:11px}.program-toggle span strong{font-size:15px}.total-row strong{font-size:36px}}
/* Reset the original tablet layout where the ticket now has its own divider. */
@media(max-width:930px){.booking-summary{display:block}.booking-summary .cost-lines{border-top:1px solid #f5b94025;margin-top:26px;padding-top:21px}.booking-summary .total-row{margin-top:23px}}
@media(max-width:650px){.time-options{grid-template-columns:1fr 1fr}.footer-inner{display:flex}.hero-actions .text-button{font-size:13px}.booking-summary .summary-facts{font-size:13px}.booking-summary .cost-lines{font-size:12px}.booking-summary .summary-disclaimer{font-size:12px}.calendar-week{gap:5px}.contact-caption{font-size:13px}.adult-note p{font-size:13px}}
.adult-policy{margin-top:19px;padding:14px 16px;background:#ffffff04;border-left:2px solid #f5b94080;border-radius:0 8px 8px 0;color:#cdd7e6;font-size:13px;line-height:1.75}.adult-policy strong{color:#fde8a5}
.capacity-note{display:flex;align-items:flex-start;gap:10px;margin-top:17px;padding:13px 15px;border:1px solid #f5b94040;border-radius:10px;background:#f5b94008;color:#fde8a5;font-size:13px;line-height:1.7}.capacity-note .icon{width:18px;height:18px;margin-top:3px}.capacity-note.capacity-error{border-color:#ef777b;background:#8f182224;color:#ffd3d3}
.booking-summary .button:disabled{opacity:.5;cursor:not-allowed;filter:none;transform:none;box-shadow:none}
@media(max-width:650px){.adult-policy,.capacity-note{font-size:14px}.adult-policy{padding:14px}.capacity-note{padding:13px}}
/* Display the new illustrations in full, using their original proportions. */
.hero-photo{height:auto;aspect-ratio:3/4}.hero-photo img{object-fit:contain;object-position:center}
.step-photo{height:auto;aspect-ratio:4/3;background-image:none}.step-photo>img{width:100%;height:100%;object-fit:contain;object-position:center}
.availability-panel{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px;padding:14px 16px;background:#f5b94008;border:1px solid #f5b94035;border-radius:10px;color:#fde8a5}.availability-panel p{font-size:12px;line-height:1.75}.availability-panel button{flex-shrink:0;padding:10px 12px;min-height:44px;border:1px solid #f5b94065;background:#1b2a40;color:#fde8a5;border-radius:8px;font-size:12px}.availability-panel button:hover:not(:disabled){background:#2c394d}.availability-panel button:disabled{opacity:.55;cursor:wait}.availability-panel.availability-error{border-color:#e17e76;background:#7b222322;color:#ffd9d3}
.calendar-days .calendar-unavailable-day{min-height:36px}.request-actions .button:disabled{opacity:.5;cursor:wait;transform:none;box-shadow:none}
@media(max-width:930px){.calendar-days .calendar-unavailable-day{min-height:44px}}
@media(max-width:650px){.availability-panel{align-items:flex-start;gap:10px;padding:13px}.availability-panel p,.availability-panel button{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}#snow-canvas{display:none}}
