/* Holiday theme, Dec 1, 2026 – Jan 1, 2027 (Eastern). Every rule is scoped to
   html.hol-on, which the small inline script in each page's <head> adds only
   inside those dates (or with ?holiday-preview). Outside them this file does nothing. */
html.hol-on{
  --hol-pine:#173a2b;
  --hol-green:#1f5038;
  --hol-red:#9e2b2b;
  --hol-gold:#c9a24a;
  --hol-snow:#f6f8fa;
  --stone:#eef2ee;
  --bg:#fbfcfb;
}
html.hol-on .hol-banner{position:relative;z-index:60;background:linear-gradient(90deg,var(--hol-pine),var(--hol-green) 55%,#24603f);color:#f4efe0;text-align:center;font:500 .82rem/1.5 var(--sans);letter-spacing:.04em;padding:11px 48px 11px 16px;border-bottom:2px solid var(--hol-gold)}
html.hol-on .hol-banner strong{font-family:var(--display);font-style:italic;font-weight:500;font-size:1.15rem;color:#fff;margin-right:8px}
html.hol-on .hol-banner .hol-sep{opacity:.5;margin:0 10px}
html.hol-on .hol-banner a{color:#f3d98f;text-decoration:underline;text-underline-offset:3px}
html.hol-on .hol-banner .hol-star{display:inline-block;width:16px;height:16px;vertical-align:-2px;margin:0 8px;fill:var(--hol-gold)}
html.hol-on .hol-banner button{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:#f4efe0;font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;opacity:.8}
@media (max-width:640px){html.hol-on .hol-banner .hol-sep,html.hol-on .hol-banner .hol-from{display:none}html.hol-on .hol-banner{font-size:.78rem}html.hol-on .hol-banner strong{display:block}}

html.hol-on .eyebrow{color:var(--hol-red)}
html.hol-on .eyebrow::after{background:var(--hol-gold);height:2px}
html.hol-on .btn{background:var(--hol-green);border-color:var(--hol-green)}
html.hol-on .btn:hover{background:var(--hol-pine);border-color:var(--hol-pine)}
html.hol-on .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
html.hol-on .btn.ghost:hover{background:var(--ink);color:#fff}
html.hol-on .rule{background:var(--hol-gold)!important}
html.hol-on .hero .photo::before{background:linear-gradient(90deg,var(--stone),transparent)}

/* Hanging ornaments on the top section */
html.hol-on .hero{position:relative}
html.hol-on .hol-ornaments{position:absolute;top:0;left:0;right:0;height:0;z-index:3;pointer-events:none}
html.hol-on .hol-orn{position:absolute;top:0;transform-origin:50% 0;animation:hol-swing 3.6s ease-in-out infinite alternate}
html.hol-on .hol-orn svg{display:block;filter:drop-shadow(0 6px 8px rgba(20,40,30,.25))}
@keyframes hol-swing{0%{transform:rotate(-5deg)}100%{transform:rotate(5deg)}}

/* Falling snow across the screen (click-through) */
html.hol-on .hol-sky{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:40;transition:opacity 1.5s ease}
html.hol-on .hol-sky.hol-sky-out{opacity:0}
html.hol-on .hol-flake{position:absolute;top:-40px;animation:hol-fall linear infinite;will-change:transform}
html.hol-on .hol-flake svg{display:block;width:100%;height:100%;animation:hol-drift ease-in-out infinite alternate;filter:drop-shadow(0 1px 2px rgba(40,70,90,.35))}
@keyframes hol-fall{0%{transform:translateY(-40px)}100%{transform:translateY(calc(100vh + 60px))}}
@keyframes hol-drift{0%{transform:translateX(-18px) rotate(0)}100%{transform:translateX(18px) rotate(180deg)}}
@media (prefers-reduced-motion:reduce){html.hol-on .hol-sky{display:none}html.hol-on .hol-orn{animation:none}}
@media print{html.hol-on .hol-sky,html.hol-on .hol-banner,html.hol-on .hol-ornaments{display:none}}

/* Benefits note on the home page */
html.hol-on .hol-note{background:#fff;border:1px solid #d7e0d8;border-left:4px solid var(--hol-red);padding:16px 20px;max-width:520px;font:400 .95rem/1.6 var(--sans);color:var(--ink)}
html.hol-on .hol-note b{font-family:var(--display);font-style:italic;font-weight:500;font-size:1.2rem;color:var(--hol-green);display:block;margin-bottom:2px}

html.hol-on .cta{background:radial-gradient(ellipse at top,#e3ece5,var(--stone) 70%)}
html.hol-on .cta h2{color:var(--hol-green)}
html.hol-on footer.site{border-top:0!important}
html.hol-on footer.site::before{content:"";display:block;height:10px;margin-top:-64px;margin-bottom:54px;background:repeating-linear-gradient(90deg,var(--hol-red) 0 40px,var(--hol-gold) 40px 60px,var(--hol-green) 60px 100px,var(--hol-snow) 100px 110px)}

/* Christmas trees + menorah */
html.hol-on .hol-banner .hol-ico{display:inline-block;height:26px;width:auto;vertical-align:-7px;margin:0 5px;filter:drop-shadow(0 0 3px rgba(255,240,200,.45))}
html.hol-on .hol-scene{position:absolute;right:4%;bottom:0;z-index:3;display:flex;align-items:flex-end;gap:14px;pointer-events:none;filter:drop-shadow(0 10px 14px rgba(20,35,25,.28))}
html.hol-on .hol-scene svg{display:block;height:auto}
html.hol-on .hol-scene .tree-l{width:150px}
html.hol-on .hol-scene .tree-s{width:104px}
html.hol-on .hol-scene .menorah{width:150px;margin-bottom:6px}
html.hol-on .hol-scene .cane{width:46px;margin-bottom:2px}
html.hol-on .hol-cane svg{filter:drop-shadow(0 2px 3px rgba(80,20,20,.3))}
html.hol-on .hol-light{animation:hol-twinkle 1.8s ease-in-out infinite alternate}
html.hol-on .hol-flame{transform-box:fill-box;transform-origin:50% 100%;animation:hol-flicker 1.1s ease-in-out infinite alternate}
@keyframes hol-twinkle{0%{opacity:.45}100%{opacity:1}}
@keyframes hol-flicker{0%{transform:scale(1,1) rotate(-3deg)}50%{transform:scale(.92,1.08) rotate(2deg)}100%{transform:scale(1.04,.95) rotate(-1deg)}}
@media (max-width:899px){
  html.hol-on .hol-scene{right:3%;gap:8px}
  html.hol-on .hol-scene .tree-l{width:84px}
  html.hol-on .hol-scene .tree-s{width:60px}
  html.hol-on .hol-scene .menorah{width:92px;margin-bottom:4px}
  html.hol-on .hol-scene .cane{width:26px}
}
@media (prefers-reduced-motion:reduce){html.hol-on .hol-light,html.hol-on .hol-flame{animation:none}}

/* Floating elves and gingerbread figures */
html.hol-on .hol-float{position:absolute;left:-140px;animation:hol-across linear infinite;will-change:transform}
html.hol-on .hol-float.rtl{left:auto;right:-140px;animation-name:hol-across-rtl}
html.hol-on .hol-float svg{display:block;width:100%;height:auto;animation:hol-bob 2.8s ease-in-out infinite alternate;filter:drop-shadow(0 6px 8px rgba(30,40,30,.25))}
@keyframes hol-across{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 300px))}}
@keyframes hol-across-rtl{0%{transform:translateX(0)}100%{transform:translateX(calc(-100vw - 300px))}}
@keyframes hol-bob{0%{transform:translateY(-12px) rotate(-7deg)}100%{transform:translateY(12px) rotate(7deg)}}
