.christmasGreeting {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
  color: #edcf8b;
  font: 12px/1.5 Arial, sans-serif;
  letter-spacing: 1px;
}
.christmasGreeting > span:first-child { font-size: 22px; }
header .langToggle.christmasLanguage {
  position: relative;
  margin-left: 44px;
}
header .christmasTree {
  position: absolute;
  right: calc(100% + 9px);
  top: 50%;
  width: 36px;
  height: 48px;
  max-width: none;
  transform: translateY(-50%);
  filter: drop-shadow(0 0 6px #e6bd5a40);
  pointer-events: none;
}
.christmasDisabled header .langToggle.christmasLanguage { margin-left: 0; }
.christmasDisabled .christmasTree { display: none; }
.christmasToggle {
  min-height: 36px;
  padding: 6px 12px;
  border: 1px solid #d0a95466;
  border-radius: 30px;
  background: #080907b3;
  color: #eee8df;
  font: 11px/1.4 Arial, sans-serif;
  cursor: pointer;
}
.christmasToggle[hidden] { display: none; }
.christmasToggleFloating {
  position: fixed;
  left: max(12px, env(safe-area-inset-left));
  bottom: calc(12px + env(safe-area-inset-bottom));
  z-index: 30;
  min-height: 44px;
  background: #080907ed;
  box-shadow: 0 4px 18px #0005;
}
.christmasToggle:hover { border-color: #edcf8b; }
.christmasToggle:focus-visible { outline: 2px solid #edcf8b; outline-offset: 4px; }
.christmasSnow {
  position: fixed;
  inset: 0;
  z-index: 4;
  overflow: hidden;
  pointer-events: none;
}
.christmasSnow i {
  position: absolute;
  top: -40px;
  left: var(--x);
  width: var(--size);
  height: var(--size);
  color: #fff5ec;
  font: normal var(--size)/1 Georgia, serif;
  text-align: center;
  text-shadow: 0 0 7px #fff5dc66;
  opacity: 0;
  animation: christmasFall var(--duration) linear var(--delay) infinite;
}
.christmasLights {
  position: absolute;
  inset: 0 0 auto;
  height: 64px;
  display: flex;
  overflow: hidden;
  pointer-events: none;
}
.christmasStrand { position: relative; flex: 1; min-width: 0; }
.christmasStrand svg { position: absolute; top: 0; left: 0; width: 100%; height: 20px; overflow: visible; }
.christmasStrand path { fill: none; stroke: #66714d; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.christmasLights i {
  --bulb: #ffd477;
  --glow: #ffbe49;
  position: absolute;
  left: var(--x);
  top: calc(var(--drop) + 7px);
  width: 11px;
  height: 19px;
  border-radius: 45% 45% 50% 50% / 28% 28% 72% 72%;
  transform: translateX(-50%) rotate(var(--tilt));
  transform-origin: 50% -7px;
  background: radial-gradient(ellipse at 35% 28%, #fffbe9 0%, var(--bulb) 38%, var(--glow) 100%);
  box-shadow: inset -2px -3px 4px #0003, 0 0 9px 2px var(--glow);
  animation: christmasGlow 3.8s ease-in-out infinite alternate;
  animation-delay: var(--delay);
}
.christmasLights i:nth-of-type(3n + 2) { --bulb: #ff9c8f; --glow: #e85548; }
.christmasLights i:nth-of-type(3n) { --bulb: #9ee6bc; --glow: #3eac79; }
.christmasLights i::before {
  content: '';
  position: absolute;
  top: -7px;
  left: 2px;
  right: 2px;
  height: 8px;
  border-radius: 2px 2px 0 0;
  background: repeating-linear-gradient(0deg, #344337 0 2px, #6b7751 2px 3px);
}
.christmasLights i::after {
  content: '';
  position: absolute;
  inset: -13px;
  border-radius: 50%;
  background: radial-gradient(ellipse, var(--glow), transparent 68%);
  opacity: .2;
  z-index: -1;
}
@keyframes christmasFall {
  0% { transform: translate3d(0, -12px, 0); opacity: 0; }
  12% { opacity: .85; }
  85% { opacity: .65; }
  100% { transform: translate3d(45px, calc(100vh + 60px), 0) rotate(150deg); opacity: 0; }
}
@keyframes christmasGlow {
  from { opacity: .65; }
  to { opacity: 1; }
}
.christmasPaused .christmasSnow { display: none; }
.christmasPaused .christmasLights i { animation: none; }
.christmasDisabled .christmasSnow,
.christmasDisabled .christmasLights,
.christmasDisabled .christmasGreeting,
.christmasDisabled .christmasToggle { display: none; }
@media (max-width: 600px) {
  .christmasStrand:nth-child(n+3) { display: none; }
  .christmasLights i { width: 9px; height: 15px; }
  .christmasSnow i:nth-child(n+19) { display: none; }
  .christmasGreeting { font-size: 10px; gap: 8px; margin-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .christmasSnow { display: none; }
  .christmasLights i { animation: none; }
}

header nav>a.christmasCampaignLink{color:#e6c98d}
.homePage .heroImageShade{background:linear-gradient(90deg,#100b09e8,#100b0966 58%,#100b0910)}
.hwBunker .hwBunkerTankPumpkin{filter:drop-shadow(0 0 16px #dfc18a55)}
.footerPumpkinCopy h2 em,.footerPumpkinCopy>p{color:#dfc18a}
.footerPumpkinCopy>a{color:#f0dfb9;border-color:#dfc18a88}

/* Photographic Christmas backgrounds */
.homePage .heroImageMedia{background-image:url('assets/images/christmas-lounge-photo.jpg');background-position:center 52%}
.footerPumpkinPhoto{object-position:68% center}

/* Christmas stories on the home page */
.homePage .festiveSection{max-width:1280px;margin:0 auto;padding:88px 6%;color:#f4eade;box-sizing:border-box}
.festiveEyebrow{margin:0 0 20px;color:#dfc18a;font:600 10px/1.6 'Manrope',Arial,sans-serif;letter-spacing:2px}
.festiveSection h2{margin:0 0 26px;font:500 clamp(32px,3.5vw,52px)/1.16 'Playfair Display',Georgia,serif;letter-spacing:-.8px}
.festiveSection h2 em{color:#dfc18a;font-style:normal}
.festiveSection p:not(.festiveEyebrow){color:#c4b6aa;font:400 14px/1.95 'Manrope',Arial,sans-serif;margin:0 0 18px}
.festiveStory{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}
.festiveStoryPhoto{position:relative;min-width:0;height:490px;border-radius:160px 160px 12px 12px;overflow:hidden;border:1px solid #dfc18a40;background:#201510}
.festiveStoryPhoto img{display:block;width:100%;height:100%;object-fit:cover;object-position:68% center}
.festiveStoryPhoto>span{position:absolute;inset:auto 0 0;padding:55px 24px 24px;background:linear-gradient(transparent,#140d09dd);color:#e9d6b1;text-align:center;font:10px/1.7 'Manrope',Arial,sans-serif;letter-spacing:2px}
.festiveTextLink{display:inline-block;padding:10px 0;color:#dfc18a;font:600 10px/1.7 'Manrope',Arial,sans-serif;letter-spacing:1px;border-bottom:1px solid #dfc18a60}
.festiveTextLink:hover{color:#fff0cc;border-color:#fff0cc}
.festiveSection a:focus-visible{outline:2px solid #dfc18a;outline-offset:5px}
.homePage .festiveOccasions{max-width:none;background:radial-gradient(ellipse at 90% 0,#75313222,transparent 55%),#15100e;padding-left:max(6%,calc((100% - 1126px)/2));padding-right:max(6%,calc((100% - 1126px)/2));border-block:1px solid #dfc18a22}
.festiveSectionHeading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:32px}
.festiveSectionHeading>p{max-width:330px}
.festiveOccasionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.festiveOccasionGrid article{display:flex;flex-direction:column;align-items:start;padding:28px;border:1px solid #dfc18a33;border-radius:12px;background:linear-gradient(150deg,#32221a80,#1b141180)}
.festiveOccasionGrid article:nth-child(2){background:linear-gradient(150deg,#54263466,#1b141180)}
.festiveCardNumber{color:#dfc18a;font:11px/1.6 'Manrope',Arial,sans-serif;letter-spacing:3px}
.festiveOccasionGrid h3{font:500 25px/1.3 'Playfair Display',Georgia,serif;margin:30px 0 16px}
.festiveOccasionGrid .festiveTextLink{margin-top:auto}
.homePage .festiveLetter{display:grid;grid-template-columns:160px minmax(0,740px);gap:50px;align-items:start;padding-top:100px;padding-bottom:100px}
.festiveLetterSeal{display:flex;flex-direction:column;align-items:center;justify-content:center;width:130px;height:130px;margin-top:12px;border:1px solid #dfc18a60;border-radius:50%;background:radial-gradient(circle,#71334455,#27141d);color:#dfc18a;font:56px/1 Georgia,serif;transform:rotate(-12deg)}
.festiveLetterSeal span{font-size:16px;margin-top:8px}
.festiveSignature{display:block;margin:28px 0;color:#dfc18a;font:italic 22px/1.5 Georgia,serif}
.festiveLetterActions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.festiveReserve{display:inline-block;padding:16px 22px;border:1px solid #dfc18a;background:#dfc18a;color:#211710;font:700 10px/1.7 'Manrope',Arial,sans-serif;letter-spacing:1px}
.festiveReserve:hover{background:#f4dba9}
@media(max-width:900px){.festiveStory{gap:30px}.festiveStoryPhoto{height:440px}.festiveOccasionGrid{gap:12px}.festiveOccasionGrid article{padding:22px}.homePage .festiveLetter{grid-template-columns:100px minmax(0,1fr);gap:30px}.festiveLetterSeal{width:90px;height:90px;font-size:40px}}
@media(max-width:650px){.homePage .festiveSection{padding:54px 22px}.festiveStory{grid-template-columns:1fr;gap:32px}.festiveStoryPhoto{height:340px;max-width:420px;width:100%;margin:auto;border-radius:110px 110px 12px 12px}.festiveSectionHeading{display:block;margin-bottom:24px}.festiveSectionHeading>p{max-width:none}.festiveOccasionGrid{grid-template-columns:1fr;gap:16px}.festiveOccasionGrid h3{margin-top:18px}.homePage .festiveLetter{grid-template-columns:1fr;gap:24px}.festiveLetterSeal{margin:0}.festiveLetterActions{align-items:start;flex-direction:column;gap:12px}.festiveSection h2{letter-spacing:-.4px}}
