.christmas-only,[data-christmas-feature]:empty{display:none}
.christmas-season .christmas-only{display:block}
.christmas-season .hero .evergreen-copy,.christmas-season .hero-gallery,.christmas-season .hero-orbit,.christmas-season .hero-squiggle{display:none}
.christmas-season .hero.wrap{background:#f9eae5;padding-top:clamp(24px,4vw,56px);padding-bottom:clamp(24px,3vw,44px);border-top:5px solid #9a3343}
.christmas-season .hero-title h1{color:#602432}
.christmas-season .hero-title .hero-actions{display:none}
.christmas-stories{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:clamp(12px,2.2vw,30px);align-items:end;margin:24px auto 0;max-width:1180px;text-align:left}
.christmas-story{color:#43212d;text-decoration:none;display:block}
.christmas-story img{width:100%;height:auto;aspect-ratio:1.42;object-fit:cover;border-radius:22px 3px 22px 3px;display:block;background:#f5dbd8}
.christmas-story:nth-child(2) img{border-radius:3px 30px 3px 30px}
.christmas-story strong{display:flex;align-items:center;justify-content:space-between;font:inherit;font-weight:650;margin-top:9px;gap:10px}
.christmas-story:hover strong{text-decoration:underline;text-underline-offset:4px}
.christmas-strip{background:#f4d4d7;color:#532631;text-align:center;padding:7px 16px;font-size:.9rem;border-bottom:1px solid #b76572}
.christmas-strip a{color:inherit;text-underline-offset:3px}
@media(max-width:680px){.christmas-stories{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.christmas-story img{aspect-ratio:1/1.2}.christmas-story strong{font-size:.87rem;line-height:1.3;display:block}.christmas-story .icon{display:none}.christmas-strip{padding:5px 12px}}
@media(forced-colors:active){.christmas-story,.christmas-strip a{color:LinkText}}

.christmas-season .hero.wrap{position:relative;border-top:0}
.christmas-season .hero.wrap::before{content:"";display:block;height:22px;position:absolute;inset:0 0 auto;background:#a52638 url("christmas-wrap.webp") repeat-x left center;background-size:490px auto}
.christmas-selection{text-align:center}
.christmas-cta{margin-top:22px}
.app-christmas{padding:clamp(18px,3vw,36px);margin-bottom:32px;background:#f8ede9;border-radius:3px 28px 3px 3px}
.app-christmas h2{color:#602432;font-size:clamp(1.6rem,4vw,2.5rem);margin:0}
.app-christmas .christmas-stories{margin-top:16px}
.app-christmas .christmas-story img{aspect-ratio:3/2}
.christmas-season .hero-foot{margin-top:15px}
@media(max-width:680px){
 .christmas-season .hero.wrap{padding-top:42px}
 .christmas-stories{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 2px 9px;align-items:start;scrollbar-width:thin;scrollbar-color:#aa4959 #f5ded8}
 .christmas-story{flex:0 0 74%;scroll-snap-align:start}
 .christmas-story img{aspect-ratio:1.6}
 .christmas-story strong{font-size:1rem}
}

/* The full room and side station stay visible across the gallery. */
.gallery-room {min-width:0}
.gallery-room .main-photo img {width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.gallery-room .thumbnails {grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
@media(max-width:680px){
 .gallery-room .thumbnails {display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}
 .gallery-room .thumbnails button {flex:0 0 26%;scroll-snap-align:start}
}
/* A page-width paper garland, framed away from navigation and page content. */
.holiday-trim {
  --paper: #f7e8e5;
  --ink: #802a42;
  --foil: #b18a50;
  --thread: #d5aa9b;
  display: none;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.christmas-season .holiday-trim {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 3vw, 48px);
  padding: 0 clamp(12px, 4vw, 72px);
  min-height: 56px;
  background: var(--paper);
  color: var(--ink);
  border-block-end: 1px solid var(--thread);
}
.holiday-trim.trim-snow { --paper: #edeff6; --ink: #526489; --thread: #c3c6d8 }
.holiday-trim.trim-confectionery { --paper: #fff0e7; --ink: #ac3549; --thread: #dcaf9c }
.holiday-trim.trim-ornaments { --paper: #efeaf6; --ink: #3c518b; --thread: #c3abc9 }
.holiday-trim.trim-gingerbread { --paper: #eef0df; --ink: #876e3b; --thread: #c0bea1 }
.holiday-trim.trim-starlight { --paper: #fff1d6; --ink: #9a6631; --thread: #daca9e }
.holiday-trim.trim-stationery { --paper: #faf4ea; --ink: #a77b51; --thread: #dacbb5 }
.holiday-trim .christmas-strip {
  flex: 0 1 auto;
  border: 0;
  padding: 0;
  background: transparent;
  color: #492d3b;
  text-align: center;
  font-size: .875rem;
  line-height: 1.35;
}
.holiday-trim .christmas-strip a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 2px 4px;
}
.paper-wing {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  max-width: 520px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 8px;
  pointer-events: none;
  user-select: none;
}
.paper-wing::before {
  content: '';
  position: absolute;
  inset: -30px -15% auto;
  height: 45px;
  border-bottom: 1px solid var(--thread);
  border-radius: 50%;
}
.trim-snow .paper-wing::before, .trim-starlight .paper-wing::before {
  inset: 0;
  height: auto;
  border: 0;
  border-radius: 0;
  background: radial-gradient(circle at 11% 43%,var(--foil) 1px,transparent 1.5px),
              radial-gradient(circle at 47% 68%,var(--ink) 1px,transparent 1.5px),
              radial-gradient(circle at 72% 14%,var(--foil) 1.3px,transparent 1.8px),
              radial-gradient(circle at 90% 65%,var(--thread) 2px,transparent 2.5px);
}
.paper-charm {
  display: block;
  position: relative;
  width: 38px;
  height: 38px;
  flex: none;
  transform-origin: 50% 8%;
}
.paper-wing .paper-charm:nth-child(2) { width: 29px; height: 29px; color: var(--foil) }
.paper-wing:last-child .paper-charm:last-child { width: 41px; height: 41px; color: var(--ink) }
.trim-stationery .paper-charm { width: 25px; height: 25px }
.christmas-season .hero.wrap::before { height: 5px }
@keyframes ef-paper-sway {
  0%,100% { transform: rotate(-8deg) }
  50% { transform: rotate(8deg) }
}
@keyframes ef-snow-drift {
  0%,100% { transform: translate(-5px,-3px) rotate(-12deg) }
  50% { transform: translate(5px,4px) rotate(12deg) }
}
@media (prefers-reduced-motion: no-preference) {
  .christmas-season .paper-charm { animation: ef-paper-sway 5.6s ease-in-out infinite }
  .christmas-season .charm-flake, .christmas-season .charm-star {
    transform-origin: center;
    animation: ef-snow-drift 6.4s ease-in-out infinite;
  }
  .paper-wing .paper-charm:nth-child(2) { animation-delay: -2.4s }
  .paper-wing:last-child .paper-charm { animation-delay: -1.5s }
  .paper-wing:last-child .paper-charm:nth-child(2) { animation-delay: -3.2s }
  .christmas-season .trim-stationery .paper-charm { animation-duration: 3.2s; animation-iteration-count: 1 }
}
.motion-paused .holiday-trim .paper-charm { animation: none }
@media (max-width: 600px) {
  .christmas-season .holiday-trim { padding-inline: 10px; gap: 5px; min-height: 48px }
  .paper-wing { height: 48px }
  .paper-wing:first-of-type .paper-charm:nth-child(2), .paper-wing:last-child .paper-charm:first-child { display: none }
  .paper-wing .paper-charm, .paper-wing:last-child .paper-charm:last-child { width: 32px; height: 32px }
}
.access-contrast .holiday-trim .paper-wing { visibility: hidden }
@media (forced-colors: active) { .holiday-trim .paper-wing { visibility: hidden } }
@media print { .christmas-season .holiday-trim { display: none } }
.hero-snow { position: absolute; inset: 0; pointer-events: none; user-select: none }
.hero-snow svg { position: absolute; width: clamp(28px,3.5vw,55px); height: auto; color: #ad6675 }
.hero-snow svg:nth-child(1) { left: 6%; top: 24% }
.hero-snow svg:nth-child(2) { left: 13%; top: 59%; width: 16px; color: #ae8138 }
.hero-snow svg:nth-child(3) { right: 9%; top: 9%; width: 31px; color: #9e778e }
.hero-snow svg:nth-child(4) { right: 4%; top: 57% }
.hero-snow svg:nth-child(5) { right: 16%; top: 79%; width: 14px; color: #ae8138 }
@media (prefers-reduced-motion: no-preference) {
  .christmas-season .hero-snow svg { animation: ef-snow-drift 7s ease-in-out infinite }
  .christmas-season .hero-snow svg:nth-child(even) { animation-delay: -3s; animation-direction: reverse }
}
.motion-paused .hero-snow svg { animation: none !important }
@media (max-width: 740px), (forced-colors: active), print { .christmas-season .hero-snow { display: none } }
.access-contrast .hero-snow { visibility: hidden }
