/* Stable surfaces. Animate transforms without changing photo dimensions. */
.holiday-hero-scene{display:none}
:root[data-season="christmas"] .hero.wrap{height:clamp(730px,54vw,920px)}
:root[data-season="christmas"] .hero::before{opacity:.3}
:root[data-season="christmas"] .hero>.hero-visual{display:none}
:root[data-season="christmas"] .holiday-hero-scene{display:block;position:absolute;z-index:2;right:1vw;top:4%;width:min(56vw,950px);height:85%}
.holiday-hero-orbit{position:absolute;inset:11% 5% 9% 11%;border:1px solid #dabc8733;border-radius:50%;transform:rotate(-24deg);pointer-events:none}
.holiday-deck{position:absolute;inset:0 0 11%}
.holiday-photo{position:absolute;left:14%;top:24%;width:82%;margin:0;cursor:pointer;will-change:transform;transition:transform .8s cubic-bezier(.22,.7,.2,1)!important}
.holiday-photo[data-position="front"]{z-index:3;transform:translate3d(0,0,0) rotate(-2deg)}
.holiday-photo[data-position="back-left"]{z-index:1;transform:translate3d(-20%,-38%,0) rotate(-8deg) scale(.78)}
.holiday-photo[data-position="back-right"]{z-index:2;transform:translate3d(17%,46%,0) rotate(6deg) scale(.66)}
.holiday-photo-float{--float-duration:9s;--float-delay:0s;position:relative;padding:2px;border:1px solid #dbc79f;border-radius:15px;background:#fff8e8;overflow:hidden;box-shadow:0 16px 32px #001c174d;backface-visibility:hidden;animation:holiday-photo-float var(--float-duration) var(--float-delay) ease-in-out infinite!important;animation-play-state:var(--float-state,paused)!important}
.holiday-photo:nth-child(2) .holiday-photo-float{--float-duration:10.5s;--float-delay:-3s}
.holiday-photo:nth-child(3) .holiday-photo-float{--float-duration:12s;--float-delay:-6s}
.holiday-photo img{display:block;width:100%;height:auto;object-fit:contain;border-radius:11px;background:#f4ede2}
.holiday-hero-scene[data-motion="running"]{--float-state:running}
.holiday-photo:focus-visible{outline:2px solid #f7dcaa;outline-offset:6px;border-radius:16px}
:root[data-season="christmas"] .hero-copy{pointer-events:none}
:root[data-season="christmas"] .hero-copy a,:root[data-season="christmas"] .hero-copy button{pointer-events:auto}
@keyframes holiday-photo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(min-width:1700px){:root[data-season="christmas"] .holiday-hero-scene{right:max(2vw,calc((100vw - 1720px)/2));width:900px}}
@media(max-width:1100px) and (min-width:901px){
  :root[data-season="christmas"] .hero-copy{width:42%}
  :root[data-season="christmas"] .holiday-hero-scene{top:10%;height:76%;width:54vw;right:0}
  .holiday-photo{left:10%;width:85%}
}
@media(max-width:900px){
  :root[data-season="christmas"] .hero.wrap{display:flex;flex-direction:column;height:auto;min-height:0;padding:40px var(--season-inset) 30px;gap:0}
  :root[data-season="christmas"] .hero::before{background-position:center bottom;background-size:auto 75%;opacity:.25}
  :root[data-season="christmas"] .hero-copy{position:relative;inset:auto;width:100%;max-width:640px;align-self:flex-start;padding:0}
  :root[data-season="christmas"] .hero h1{font-size:clamp(56px,9.5vw,84px);line-height:1.02}
  :root[data-season="christmas"] .hero .eyebrow{margin-bottom:22px}
  :root[data-season="christmas"] .hero-intro{max-width:440px;margin-top:22px}
  :root[data-season="christmas"] .hero-actions{margin-top:24px}
  :root[data-season="christmas"] .hero-footnote{margin-top:25px}
  :root[data-season="christmas"] .holiday-hero-scene{position:relative;inset:auto;width:min(100%,700px);height:auto;aspect-ratio:1.2;flex:none;margin:30px auto 24px}
  .holiday-deck{bottom:12%}
  .holiday-photo{left:13%;top:23%;width:80%}
}
@media(max-width:520px){
  :root[data-season="christmas"] .hero.wrap{padding-top:28px;padding-bottom:20px}
  :root[data-season="christmas"] .hero h1{font-size:clamp(48px,12.5vw,65px);letter-spacing:-2px}
  :root[data-season="christmas"] .hero-intro{font-size:14px;line-height:1.8}
  :root[data-season="christmas"] .holiday-hero-scene{margin-top:35px;aspect-ratio:1.04}
  .holiday-deck{bottom:16%}
  .holiday-photo{left:6%;top:23%;width:88%}
}
@media print{.holiday-photo-float{animation:none!important}}
