/* Christmas polish only: section order, dimensions and booking behaviour stay intact. */
:root{--green:#184d3b;--dark:#193d31;--red:#b43532;--gold:#ba934b;--line:#dfdfca}
body{background:#fffaf0}
.preview-bar{background:#174737;color:#fff5dc;border-bottom:1px solid #d2b46a}
.preview-bar>span{border-color:#cdb477;color:#ffedbb}
.header{background:#fffaf0}
.school-flower{color:#b78b3e}
.school-brand{color:#1b503a}
.hero{background:radial-gradient(ellipse at 80% 42%,#dce9d9 0%,#eaf0df 27%,transparent 58%),radial-gradient(ellipse at 6% 13%,#ffeddb 0%,transparent 37%),#fffaf0}
.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:30px;pointer-events:none;background:linear-gradient(180deg,transparent,#fffaf0)}
.hero-overline{color:#887141}
.nahar-word{color:#ac3034;text-shadow:0 1px #fff}
.vinteria-word{color:#164b38;text-shadow:0 2px 0 #fff6d8,0 12px 32px #345d3410}
.hero-tagline em{color:#ad3035}
.hero-copy>.eyebrow{color:#25533b}
.hero-copy>.eyebrow::before{content:"✦";color:#b18b3c;font-size:15px;margin-right:2px}
.hero-art{isolation:isolate}
.globe-illustration{filter:drop-shadow(0 20px 19px #2d54371a)}
.globe-hint{background:#fff8df!important;color:#315840!important;border-color:#d7b45d!important;box-shadow:0 3px 12px #35532912}
.date-stamp{background:radial-gradient(circle,#fffaf0 55%,#f5e5bd);border-color:#b58b3a;box-shadow:0 0 0 5px #fffaf0,0 0 0 6px #c8af70,0 9px 22px #76522415}
.date-stamp strong{color:#ad3338}
.fairy-strand{overflow:visible!important}
.fairy-strand svg{overflow:visible}
.fairy-bulb:nth-child(4n+1){color:#c64c3e}
.fairy-bulb:nth-child(4n+2){color:#d7ae48}
.fairy-bulb:nth-child(4n+3){color:#679875}
.fairy-bulb:nth-child(4n){color:#f7d98b}
.fairy-bulb ellipse{fill:currentColor;filter:drop-shadow(0 0 3px currentColor)}
.hanging-ornaments i::after{box-shadow:inset -4px -3px 6px #5b261b25,inset 3px 1px 3px #ffffff70,0 4px 9px #58452f14}
.btn{background:linear-gradient(135deg,#bc3d36,#a52c30);border:1px solid #98282d;box-shadow:inset 0 1px 0 #ffffff36,0 4px 0 #7f272815,0 7px 18px #a6332d19;border-radius:8px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn:hover{background:linear-gradient(135deg,#c64a3f,#aa2c30);box-shadow:inset 0 1px 0 #ffffff45,0 5px 0 #7f272815,0 10px 23px #a6332d26;transform:translateY(-3px)}
.btn:active{transform:translateY(0);box-shadow:inset 0 1px 3px #6b191a28}
.btn.outline{background:#fffaf0;border-color:#aeb99b;color:#214f42;box-shadow:0 3px 10px #294e3510}
.btn:disabled{transform:none;box-shadow:none}
.btn span{transition:transform .25s ease}
.btn:hover span{transform:translate(3px,-1px)}
.event-ribbon{position:relative;background:linear-gradient(105deg,#164632,#235d43 48%,#164632);border-top:3px solid #c4a15c;border-bottom:3px solid #c4a15c;box-shadow:inset 0 1px #f9e8b94d,inset 0 -1px #f9e8b94d}
.event-ribbon .ribbon-icon{color:#f3d38c}
.ribbon-star{color:#e9ca80}
.experience{position:relative;background:radial-gradient(ellipse at 50% 0%,#f8f0d9,transparent 48%)}
.experience-card{border:1px solid #dcd9be;border-radius:14px;box-shadow:0 4px 0 #e8dfc74d,0 14px 35px #2c49320a;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.experience-card:hover{border-color:#b9b98e;transform:translateY(-7px);box-shadow:0 6px 0 #e8dfc74d,0 20px 38px #2c493216}
.experience-card .card-art{position:relative;isolation:isolate;overflow:hidden}
.card-art::after{content:"";position:absolute;inset:0;pointer-events:none;border:7px solid #fff9e51f;border-bottom:0;z-index:3}
.lights-art{background:linear-gradient(145deg,#e9ecdc,#dce6d2)}
.food-art{background:linear-gradient(145deg,#f7e2d4,#f5d8c9)}
.play-art{background:linear-gradient(145deg,#e3e9d5,#cfdcc4)}
.card-art .christmas-sticker{position:absolute;bottom:10px;right:12px;width:57px;height:69px;z-index:2;pointer-events:none;transform:rotate(8deg);filter:drop-shadow(0 4px 3px #2f402416)}
.card-art .christmas-sticker--cane{width:45px;height:76px;right:15px;transform:rotate(13deg)}
.card-art .christmas-sticker--tree{right:16px;width:64px;height:79px;transform:rotate(-5deg)}
.category{color:#8a6734;letter-spacing:1.7px}
.experience-body>a{color:#25543d;border-bottom-color:#d9dcc8}
.registration-section{background:radial-gradient(ellipse at 0 10%,#f4ead34d,transparent 43%),linear-gradient(135deg,#edf1e4,#e8eddd 65%,#f1f1e3)}
.form-card{border:1px solid #d5dbc5;border-radius:17px;box-shadow:0 14px 50px #214e3310,inset 0 1px 0 #fff}
.steps{border-bottom:1px solid #e4dfcb;padding-bottom:19px}
.step b{background:#e8eddd;border:1px solid #d7ddc5}
.step.active b{background:#20533d;box-shadow:0 0 0 4px #e4ebd6;border-color:#20533d;color:#fff6df}
.step.complete b{background:#c0cdaa;color:#224b35}
.step-line{background:linear-gradient(90deg,#afc19a,#d7b66b)}
.field input,.field select{background:#fffdf8;border-color:#d4d8c4;border-radius:7px;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus{border-color:#597c4d;box-shadow:0 0 0 3px #61884f15}
.field input[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:#ad3434;box-shadow:0 0 0 2px #ad343414}
.field-validation-error{display:block;color:#a42f30;font-size:12px;line-height:1.6;margin-top:6px;letter-spacing:0;font-weight:500}
.quantity-row{border-bottom-color:#e6e4d1}
.quantity-icon{background:#edf0df;color:#3f6548;border:1px solid #dfe4ce}
.counter{border-color:#cdd6b9;border-radius:9px;overflow:hidden;background:#fffdf5}
.counter button:not(:disabled):hover{background:#e3ecd6;color:#254f38}
.counter button:not(:disabled):active{background:#cbdab9;transform:scale(.91)}
.counter output{font-weight:600;color:#224f38}
.summary-card{border:1px solid #c6cfb4;border-radius:16px;box-shadow:0 12px 32px #254c3512}
.summary-top{position:relative;background:linear-gradient(145deg,#e3e9d4,#f4edd7);overflow:hidden}
.summary-top::before,.summary-top::after{content:"✦";position:absolute;color:#c3a66a;font-size:22px;top:24px;opacity:.7}
.summary-top::before{left:21px}.summary-top::after{right:23px;font-size:15px;top:41px}
.summary-top h3{color:#22503b}.summary-top h3 em{color:#ad3c33}
.summary-total{border-top-color:#c5ccaf;color:#224c36}
.summary-price-note{color:#85622d;line-height:1.65}
.coupon-wallet-preview{border:1px dashed #b2c398;background:linear-gradient(110deg,#f3f4e8,#e7eddb);border-radius:10px}
.mini-ticket{box-shadow:0 3px 8px #2f533311}
.preview-payment{border:1px solid #e0cf9f;background:linear-gradient(110deg,#faf1d9,#fff8e9);border-radius:9px}
.review-details{background:#f0f3e7;border:1px solid #e0e6d0;border-radius:9px}
.visit-art{border-radius:18px;background:radial-gradient(circle at 50% 42%,#faf0cd,#e3e9d6 65%);border:1px solid #d8ddc5;overflow:hidden;isolation:isolate}
.ornament{background:linear-gradient(110deg,#d25440,#a82f33 70%);box-shadow:inset 12px 1px 14px #f6a97540,inset -8px -5px 12px #671e3030,0 15px 25px #8b3c2b20}
.ornament::after{box-shadow:inset 0 0 0 2px #fff0c52b}
.faq-list details{border-bottom-color:#d9ddc7;transition:background .25s,border-color .25s}
.faq-list details[open]{background:linear-gradient(90deg,#f1f3e5,transparent);border-color:#aabc8d}
.faq-list summary>span{color:#a03932}
.closing{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 40%,#f6edcf,#dfe8d1 75%)}
.closing>.festive-bough{position:absolute;width:200px;height:130px;opacity:.65;pointer-events:none;z-index:-1}
.closing>.festive-bough--left{left:-20px;top:0;transform:rotate(-10deg)}
.closing>.festive-bough--right{right:-20px;bottom:0;transform:rotate(170deg)}
.welcome-invitation{border:1px solid #d8b56d;box-shadow:0 20px 90px #17372d45,inset 0 0 0 7px #fcf6e7,inset 0 0 0 8px #d9bc7a63;background:radial-gradient(ellipse at 50% 10%,#fff9e6,#faf6ea 70%)}
.welcome-invitation::backdrop{background:#173e306e;backdrop-filter:blur(5px)}
.welcome-invitation .eyebrow{color:#927139}
.digital-pass{box-shadow:0 7px 30px #32513517}
.christmas-bough{position:absolute;pointer-events:none;width:134px;height:88px;z-index:4}
.christmas-bough--left{top:0;left:0;transform:rotate(-9deg);transform-origin:0 0}
.christmas-bough--right{top:0;right:0;transform:scaleX(-1) rotate(-9deg);transform-origin:100% 0}
.santa-flight{position:absolute;width:133px;height:70px;left:11%;top:21%;opacity:0;pointer-events:none;z-index:5;will-change:transform,opacity}
.festive-spark{position:fixed;pointer-events:none;z-index:9999;width:12px;height:12px;background:#c19c48;clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%);contain:strict}
.snow i:nth-child(3n){background:none!important}
.snow i:nth-child(3n)::after{content:"❄";position:absolute;color:#fffdf3;text-shadow:0 0 2px #c1cfb1;font-size:12px;line-height:1}
.motion-on .christmas-sticker{animation:christmas-rock 5s ease-in-out infinite;transform-origin:50% 90%}
.motion-on .christmas-sticker--tree{animation-delay:-2s;animation-duration:6s}
.motion-on .hero-copy .title-star{animation:christmas-star 6s ease-in-out infinite}
.motion-on .summary-top::before{animation:christmas-star 7s ease-in-out infinite}
@keyframes christmas-rock{0%,100%{transform:rotate(5deg)}50%{transform:rotate(-5deg)}}
@keyframes christmas-star{0%,100%{opacity:.5;transform:rotate(0) scale(.9)}50%{opacity:1;transform:rotate(20deg) scale(1.07)}}
@media(max-width:700px){.christmas-bough{width:86px;height:60px}.card-art .christmas-sticker{width:48px;height:59px}.card-art .christmas-sticker--tree{width:56px;height:70px}.closing>.festive-bough{width:130px;height:95px}.santa-flight{width:105px;height:60px}.experience-card:hover{transform:none}.hero{background:radial-gradient(ellipse at 70% 70%,#e3ecda,transparent 60%),#fffaf0}.fairy-bulb ellipse{filter:none}.btn:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.christmas-sticker,.title-star,.summary-top::before{animation:none!important}.santa-flight,.festive-spark{display:none!important}.experience-card,.btn{transition:none!important}}
.motion-off .santa-flight,.motion-off .festive-spark,.motion-hidden .festive-spark{display:none!important}
@media print{.christmas-bough,.festive-bough,.santa-flight,.festive-spark{display:none!important}}

/* Readable typography overrides follow all legacy responsive rules. */
body{font-size:17px;line-height:1.65}nav{font-size:15px}.school-brand small{font-size:9px}.preview-bar{font-size:12px;min-height:38px;height:auto;padding:7px 14px}.preview-bar>span{font-size:10px}
.eyebrow,.hero .eyebrow,.registration-title .eyebrow,.visit-copy .eyebrow{font-size:12px;letter-spacing:1.7px}.hero-overline{font-size:22px}.hero-tagline{font-size:clamp(36px,3.3vw,48px)}.hero-desc{font-size:18px;line-height:1.8;color:#506553}.hero-footnote{font-size:13px}.explore,.text-btn{font-size:15px}
.btn,.btn.small,.nav-actions .small,.hero-ctas .btn,.form-actions .btn,.visit-copy .btn,.closing .btn{font-size:15px;min-height:50px;padding:16px 23px;border-radius:9px}.nav-actions .text-btn,.form-actions .text-btn{font-size:14px}.hero-bottom,.hero-bottom>span{font-size:16px}.hero-bottom button{font-size:12px;min-height:36px}.globe-hint{opacity:1;font-size:12px}.art-note{font-size:16px}.art-note em{font-size:18px}
.event-ribbon small{font-size:11px}.event-ribbon strong{font-size:17px;line-height:1.5}h2,.section-heading h2,.registration-title h2,.visit-copy h2,.faq h2{font-size:clamp(38px,4vw,58px);line-height:1.15;letter-spacing:-1.7px}.section-heading>p,.registration-title>p:last-child,.visit-copy>p:not(.eyebrow),.faq>div>p:last-child{font-size:17px;line-height:1.8;color:#566650}
.experience-body{padding:28px}.category{font-size:11px;color:#657554}.experience-body h3{font-size:29px;min-height:0}.experience-body p{font-size:16px;line-height:1.8;color:#59684f;min-height:0}.experience-body a{font-size:14px}.programme-note,.year-note{font-size:13px;line-height:1.8}
.step{font-size:13px;gap:8px}.step b{width:28px;height:28px;font-size:12px;flex-shrink:0}.step-kicker{font-size:11px}.form-step h3{font-size:36px;line-height:1.2}.form-intro{font-size:16px;color:#63705b;line-height:1.8}.field{font-size:14px}.field input,.field select,.child-row input,.child-row select{font-size:16px;min-height:52px;border-radius:8px;padding-inline:14px}.phone-input>span{font-size:14px;top:35px;left:14px}.phone-input input{padding-left:61px}
.family-heading h4,.quantity-name h4{font-size:16px}.family-heading span,.quantity-name p,.quantity-price small{font-size:12px;color:#65705b}.quantity-price{font-size:16px}.counter button{width:36px;height:40px;font-size:22px}.counter output{width:28px;font-size:16px}.soft-note,.form-actions>span{font-size:13px}
.summary-top h3{font-size:36px}.summary-top p,.summary-top>span:last-child{font-size:10px;line-height:1.8;letter-spacing:1px}.summary-label h4{font-size:16px}.summary-label>span{font-size:12px}.summary-item{font-size:15px;color:#5b6b51;margin:16px 0}.summary-total{font-size:17px}.summary-total strong{font-size:43px}.summary-price-note,.summary-footer,.empty-extras{font-size:12px;line-height:1.7}.summary-note p{font-size:22px}.check-label,.how-coupons p,.preview-payment p,.review-details,.review-items{font-size:15px;line-height:1.75}.field-validation-error{font-size:14px}
.visit-copy dt{font-size:12px}.visit-copy dd{font-size:17px}.visit-copy dd small{font-size:13px}.visit-greeting{font-size:32px}.faq-list summary{font-size:17px;padding-block:24px}.faq-list details p{font-size:16px;color:#566650;line-height:1.85}.closing>p{font-size:clamp(38px,4vw,58px)}footer>p{font-size:13px}footer>p span,footer .text-btn,.footer-fine{font-size:12px!important}
.form-card{box-shadow:0 22px 65px #193d2b0d,inset 0 1px 0 #fff}.summary-card{box-shadow:0 22px 55px #25492e15}.experience-card{box-shadow:0 12px 35px #24482d0c;border-radius:18px}.card-art{border-radius:17px 17px 0 0}
.motion-on .globe-illustration{animation:wonder-float 6s ease-in-out infinite}.motion-on .globe-window{animation:hearth-glow 3.5s ease-in-out infinite alternate}.motion-on .date-stamp{animation:stamp-bob 5s ease-in-out infinite}.motion-on .experience-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px #24482d20}.motion-on .btn:hover{transform:translateY(-4px);box-shadow:0 12px 25px #8c292b30}.santa-flight{width:180px;height:100px;top:15%}
@keyframes wonder-float{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-13px) rotate(.5deg)}}@keyframes hearth-glow{from{opacity:.6}to{opacity:1;filter:drop-shadow(0 0 5px #ffd87b)}}@keyframes stamp-bob{50%{translate:0 -7px}}
@media(max-width:1000px){nav{gap:15px;font-size:13px}.quantity-icon{display:none}.quantity-row{flex-wrap:wrap}.quantity-name{flex:1;min-width:110px}.experience-body{padding:22px}.step{font-size:12px;gap:5px}}
@media(max-width:600px){body{font-size:16px}.preview-bar{font-size:10px}.preview-bar>span{font-size:9px}.school-brand{font-size:17px}.school-brand small{font-size:7px}.nav-actions{gap:10px}.nav-actions .small{font-size:12px;padding:12px;gap:8px}.nav-actions .text-btn{font-size:12px}.hero .eyebrow{font-size:10px}.hero-overline{font-size:19px}.hero-tagline{font-size:36px}.hero-desc{font-size:17px;max-width:330px}.hero-footnote{font-size:12px}.hero-ctas{flex-wrap:wrap;gap:18px}.hero-bottom>span{font-size:13px;max-width:145px}.hero-bottom button{font-size:11px}.motion-controls{gap:4px 10px}.art-note{font-size:12px}.art-note em{font-size:13px}.globe-hint{font-size:10px}.event-ribbon small{font-size:10px}.event-ribbon strong{font-size:15px}.experience-body{padding:25px}.step{font-size:11px;gap:5px}.step b{width:24px;height:24px;font-size:11px}.form-step h3{font-size:31px}.form-card{padding:24px 18px}.form-actions{flex-wrap:wrap;gap:16px}.form-actions .btn{white-space:normal;font-size:14px;padding:15px}.quantity-name h4,.quantity-price{font-size:15px}.counter button{width:32px}.check-label{font-size:14px}.faq-list summary{font-size:16px}.closing>p{font-size:38px}.santa-flight{width:135px;height:80px}.hero-bottom{gap:12px}.motion-on .experience-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.globe-illustration,.globe-window,.date-stamp{animation:none!important}}

#booking-form{scroll-margin-top:28px}.registration-availability{padding:18px 22px;border:1px solid #c8b47f;border-radius:10px;background:#fff3d9;color:#765526;font-size:16px;line-height:1.7}.megdesk-back{font-size:14px;color:#335b49;display:inline-flex;align-items:center;gap:8px;margin:12px 0}
