/* Optional snow scene. The header, brand palette and underlying layout stay intact. */
.winter-hero { position:absolute; inset:0; z-index:3; pointer-events:none; user-select:none; overflow:hidden; }
.winter-hero__snow { display:block; width:100%; height:100%; }
.frame-hero[data-winter-active] .frame-hero__art img { animation:none; transform-origin:50% 50%; }
.winter-frame { position:relative; transform-origin:50% 50%; }
.frame-hero__art .winter-frame > picture > img { animation:none; }
.frame-hero__art .winter-photo { position:absolute; overflow:hidden; background:#f3f1ee; }
.frame-hero__art .winter-photo img { width:100%; height:100%; object-fit:cover; filter:none; animation:none; }
.winter-photo::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 1px 2px #182c3433; background:linear-gradient(120deg,#ffffff0c,transparent 55%); }
.frame-hero[data-winter-active]::after { z-index:2; }
.frame-hero[data-winter-active] .frame-hero__copy { z-index:4; }
.frame-hero[data-winter-active] .frame-hero__motion-toggle { z-index:5; bottom:0; left:50%; right:auto; transform:translateX(-50%); background:#ffffffdb; }
/* Give the snowbank its own space in the fuller desktop gallery. */
@media (min-width:1360px) {
 .frame-hero[data-winter-active] .frame-hero__art--blue-flow { display:none; }
}
@media (min-width:1360px) and (max-width:2199px) {
 .frame-hero[data-winter-active] .frame-hero__art--leaf-shadow { top:468px; }
}
/* A keyboard alternative to the unadvertised pointer easter eggs. */
.winter-hero__play { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.winter-hero__play:focus-visible { z-index:6; left:50%; bottom:46px; transform:translateX(-50%); width:auto; height:auto; margin:0; padding:8px 14px; clip:auto; overflow:visible; border:1px solid #c8d2dd; border-radius:6px; background:#fff; color:#24385f; outline:2px solid #526fa6; outline-offset:2px; font:inherit; font-size:13px; }
@media (max-width:767px) {
 .frame-hero[data-winter-active] .frame-hero__inner { padding-bottom:40px; }
 .frame-hero[data-winter-active] .frame-hero__motion-toggle { width:36px; height:36px; min-height:36px; padding:0; justify-content:center; border-radius:50%; background:#f8f9faaa; }
 .frame-hero[data-winter-active] .frame-hero__motion-toggle span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
}
@media (forced-colors:active), print {
 .winter-hero, .winter-hero__play { display:none; }
}
