/* The hotel green stays fixed; the current season changes the neutral canvas and accents. */
:root[data-season="spring"]{--season-accent:#567343;--season-soft:#f0f5ed;--season-border:#dce5d5;--season-canvas:#f7f9f3;--season-ink:#34512e}
:root[data-season="summer"]{--season-accent:#326b72;--season-soft:#f0f6f4;--season-border:#d9e7e3;--season-canvas:#faf9f3;--season-ink:#245359}
:root[data-season="autumn"]{--season-accent:#956633;--season-soft:#f7f1e7;--season-border:#e8ddcc;--season-canvas:#faf7f1;--season-ink:#724b24}
:root[data-season="winter"]{--season-accent:#4c6c82;--season-soft:#edf3f7;--season-border:#d9e4ed;--season-canvas:#f4f7fa;--season-ink:#345467}
:root[data-season]{--bg:var(--season-canvas);--line:var(--season-border)}
html[data-season] body,html[data-season] .shell{background:var(--season-canvas)}
html[data-season] .themed-section{border-top-color:var(--season-border)}
html[data-season] .day-programme-shelf{background:var(--season-soft)!important;border-color:var(--season-border)!important}
html[data-season] .partner-benefits.autumn-zone,html[data-season] .guest-specials{background:var(--season-soft);border-color:var(--season-border)}
html[data-season] .day-planner-panel,html[data-season] .stay-summary,html[data-season] .explorer-toolbar{border-color:var(--season-border)}
html[data-season] .badge.gray,html[data-season] .iconbox{background:var(--season-soft);color:var(--season-ink)}
html[data-season] .welcome-row .eyebrow{color:var(--season-ink)}
html[data-season] .card,html[data-season] .activity-card,html[data-season] .event-card,html[data-season] .dining-card,html[data-season] .venue-tile{border-color:var(--season-border)}
html[data-season] .checkin-welcome{background:var(--season-canvas)}
html[data-season] .checkin-copy{background:var(--season-soft)}
html[data-season] .checkin-eyebrow,html[data-season] .checkin-photo-label{color:var(--season-ink)}
html[data-season] .guest-concierge{border-color:var(--season-border)}
.season-day-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.85fr);gap:24px;align-items:center;margin-bottom:24px}
.season-day-copy{padding:4px 0;min-width:0}
.season-day-copy .eyebrow{color:var(--season-ink);font-size:.72rem}
.season-day-copy h2{color:var(--dark);font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.2;margin:10px 0}
.season-day-copy p{font-size:.9rem;line-height:1.5;color:var(--muted);margin:0;max-width:42ch}
.season-day-photo{width:100%;height:170px;object-fit:cover;border-radius:14px;display:block}
html[data-season="winter"] .season-day-photo{object-position:center 55%}
.day-programme-shelf .sectionhead{margin-top:0!important}
.day-programme-shelf>.sectionhead h2{font-size:1.15rem!important}
.day-programme-shelf .day-card{border-top:3px solid var(--season-accent)!important}
.day-programme-shelf .day-card-copy>.btn{color:var(--green);border-color:var(--season-border)}
.winter-discovery{padding-top:24px}
@media(max-width:700px){.season-day-intro{grid-template-columns:1fr;gap:16px;margin-bottom:20px}.season-day-photo{height:135px}.season-day-copy h2{font-size:1.55rem}.season-day-copy p{font-size:.83rem}.season-day-copy{padding:0}.season-day-photo{object-position:center}}
@media print{.season-day-intro,.winter-discovery{display:none}html[data-season] body{background:white}}
.carousel{scroll-snap-type:none!important;scroll-behavior:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.season-day-intro,.season-walk-heading{position:relative;overflow:hidden;isolation:isolate}
.season-day-copy,.season-day-photo,.season-walk-heading h2,.season-walk-symbol{position:relative;z-index:1}
.season-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.season-particles i{position:absolute;left:calc(var(--i)*11% + 2%);top:-25px;width:10px;height:16px;opacity:0;animation:season-drift calc(11s + var(--i)*.9s) linear infinite;animation-delay:calc(var(--i)*-2.4s);background:#b97337;border-radius:90% 10% 90% 10%}
html[data-season="winter"] .season-particles i{width:5px;height:5px;border-radius:50%;background:#e8f2f6;box-shadow:0 0 3px #6a96b4}
html[data-season="spring"] .season-particles i{width:8px;height:10px;background:#d4aaa6;border-radius:80% 30%}
html[data-season="summer"] .season-particles i{width:4px;height:4px;background:#c8a453;border-radius:50%}
@keyframes season-drift{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0deg)}12%{opacity:.45}85%{opacity:.35}100%{opacity:0;transform:translate3d(45px,280px,0) rotate(220deg)}}
.season-place-badge{position:absolute;top:12px;right:10px;display:inline-flex;align-items:center;gap:5px;background:#fff8efed;border:1px solid #cfaf8d;color:#694722;padding:6px 9px;border-radius:30px;font-size:.7rem;line-height:1;white-space:nowrap;box-shadow:0 2px 8px #142c2020}
.season-place-badge>span{font-size:1rem}
html[data-season="winter"] .season-place-badge{background:#f1f8fbee;color:#345d78;border-color:#bdd2df}
html[data-season="spring"] .season-place-badge{background:#f1f8f0ee;color:#456339;border-color:#bad0ad}
html[data-season="summer"] .season-place-badge{background:#fff8deee;color:#796227;border-color:#d8c281}
.season-walks{margin-block:28px;padding-top:0;border:1px solid var(--season-border);border-radius:22px;background:var(--season-soft);overflow:hidden}
.season-walk-heading{display:flex;align-items:center;gap:12px;padding:20px 22px}
.season-walk-heading h2{font-size:1.3rem;margin:0;color:var(--dark)}
.season-walk-symbol{font-size:2.3rem;color:var(--season-accent)}
.season-walks>.carousel{padding-inline:16px;padding-bottom:14px}
.season-walks>.carousel-controls{padding:0 16px 16px}
@media(max-width:700px){.season-walk-heading{padding:16px}.season-walk-heading h2{font-size:1.1rem}.season-place-badge{font-size:.65rem;padding:5px 7px;top:8px;right:7px}.season-particles i{width:7px;height:11px}}
@media(prefers-reduced-motion:reduce){.season-particles{display:none}}
