/* ==========================================================================
   THE WHEATLESS WHISK - SEASONAL THEMES
   assets/js/seasonal.js picks the season from today's date and sets
   <html data-season="...">. Nothing here applies without that attribute.
     halloween  1-31 October
     christmas  1-31 December
     valentine  1-14 February
     easter     the 14 days before Easter Sunday, to Easter Monday
   Preview any theme with ?theme=halloween (or christmas, valentine, easter);
   ?theme=auto goes back to the date.
   ========================================================================== */

/* Shared pieces: falling/flying layer, garland under the header, greeting tag */
.ww-season-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 90;
}
.ww-p {
  position: absolute;
  top: -40px;
  left: var(--x, 50%);
  width: var(--s, 18px);
  height: var(--s, 18px);
  background: center / contain no-repeat;
  opacity: 0;
  will-change: transform, opacity;
  animation: ww-fall var(--d, 14s) linear var(--delay, 0s) infinite;
}
@keyframes ww-fall {
  0%   { transform: translate3d(0, 0, 0) rotate(0deg); opacity: 0; }
  8%   { opacity: var(--o, .9); }
  50%  { transform: translate3d(var(--sway, 30px), 55vh, 0) rotate(180deg); }
  92%  { opacity: var(--o, .9); }
  100% { transform: translate3d(0, 110vh, 0) rotate(360deg); opacity: 0; }
}
@keyframes ww-rise {
  0%   { transform: translate3d(0, 0, 0) scale(.7); opacity: 0; }
  10%  { opacity: var(--o, .8); }
  50%  { transform: translate3d(var(--sway, 30px), -55vh, 0) scale(1); }
  90%  { opacity: var(--o, .8); }
  100% { transform: translate3d(0, -115vh, 0) scale(.9); opacity: 0; }
}

.ww-garland {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 22px;
  pointer-events: none;
  background-repeat: repeat-x;
  background-position: 0 0;
}
/* Each light, heart or flag hangs from the string and swings on its own */
.ww-gi {
  position: absolute;
  width: var(--w, 12px);
  height: var(--h, 18px);
  margin-left: calc(var(--w, 12px) / -2);
  background: center top / contain no-repeat;
  transform-origin: 50% 0;
  animation: ww-swing var(--sd, 2.4s) ease-in-out var(--delay, 0s) infinite alternate;
}
@keyframes ww-swing {
  from { transform: rotate(calc(var(--sw, 7deg) * -1)); }
  to   { transform: rotate(var(--sw, 7deg)); }
}

html[data-season] .hero-badge-wrap { flex-wrap: wrap; }
html[data-season] .hero-badge-wrap .badge-tag { white-space: nowrap; }
.badge-tag.ww-season-tag {
  background: var(--color-primary);
  color: #FFF;
  border-color: transparent;
}

.ww-preview-pill {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px 8px 14px;
  border-radius: var(--radius-pill);
  background: #2A211D;
  color: #FFF;
  font-size: 0.8rem;
  font-weight: 600;
  box-shadow: var(--shadow-lg);
}
.ww-preview-pill a {
  background: rgba(255, 255, 255, .14);
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  .ww-season-layer { display: none; }
  .ww-garland, .ww-gi, .ww-spider, .ww-bunny, .ww-drop { animation: none !important; }
  .ww-drop, .ww-bunny { display: none; }
}
@media print {
  .ww-season-layer, .ww-garland, .ww-preview-pill, .ww-spider, .ww-bunny { display: none !important; }
}

/* ==========================================================================
   HALLOWEEN - all of October. Dark, moonlit and spooky.
   ========================================================================== */
html[data-season="halloween"] {
  --color-bg: #120D18;
  --color-surface: #1E1726;
  --color-surface-subtle: #18121F;
  --color-surface-dark: #0A070D;
  --color-primary: #F07F23;
  --color-primary-hover: #FF9A45;
  --color-primary-light: rgba(240, 127, 35, .14);
  --color-accent-gold: #F2B84B;
  --color-accent-gold-hover: #FFCB66;
  --color-accent-gold-light: rgba(242, 184, 75, .12);
  --color-accent-sage: #9CDB5A;
  --color-accent-sage-light: rgba(156, 219, 90, .12);
  --color-accent-terracotta: #E0562E;
  --color-text-main: #F4ECE2;
  --color-text-muted: #C2B5CF;
  --color-text-light: #8F829C;
  --color-border: #3A2D48;
  --color-border-light: #2A2034;
  --shadow-sm: 0 2px 10px rgba(0, 0, 0, .4);
  --shadow-md: 0 10px 28px rgba(0, 0, 0, .5);
  --shadow-lg: 0 18px 44px rgba(0, 0, 0, .6);
  --shadow-hover: 0 20px 48px rgba(240, 127, 35, .22);
  color-scheme: dark;
}
html[data-season="halloween"] body {
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(111, 60, 160, .28), transparent 60%),
    radial-gradient(900px 500px at -10% 40%, rgba(240, 127, 35, .08), transparent 60%),
    var(--color-bg);
  background-attachment: fixed;
}
html[data-season="halloween"] .site-header,
html[data-season="halloween"] .site-header.scrolled {
  background: rgba(14, 10, 19, .92);
  border-bottom-color: #2A2034;
}
html[data-season="halloween"] .brand-logo-img { border-color: #F07F23; box-shadow: 0 0 14px rgba(240, 127, 35, .35); }
html[data-season="halloween"] .ww-garland {
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 18' preserveAspectRatio='none'%3E%3Cpath fill='%23F07F23' d='M0 0H160V5H154V10a4 4 0 0 1-8 0V5H135V6a3 3 0 0 1-6 0V5H122.5V13.5a4.5 4.5 0 0 1-9.0 0V5H99V8a3 3 0 0 1-6 0V5H85V15a5 5 0 0 1-10 0V5H63V9a3 3 0 0 1-6 0V5H48V13a4 4 0 0 1-8 0V5H29V7a3 3 0 0 1-6 0V5H16V11a4 4 0 0 1-8 0V5H0z'/%3E%3Cpath fill='%236B2FA0' d='M0 0H160V2.2H0z'/%3E%3C/svg%3E");
  background-size: 160px 18px;
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .5));
}
html[data-season="halloween"] .ww-drop {
  position: absolute;
  top: 12px;
  width: 7px;
  height: 9px;
  margin-left: -3.5px;
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  background: #F07F23;
  opacity: 0;
  animation: ww-drip var(--sd, 4s) ease-in var(--delay, 0s) infinite;
}
@keyframes ww-drip {
  0%   { transform: translateY(0) scale(.2, .2); opacity: 0; }
  10%  { opacity: 1; }
  45%  { transform: translateY(2px) scale(1, 1.25); opacity: 1; }
  80%  { transform: translateY(70px) scale(.8, 1.1); opacity: .9; }
  100% { transform: translateY(110px) scale(.6, 1); opacity: 0; }
}
html[data-season="halloween"] .ww-spider {
  position: absolute;
  top: 0;
  left: 58px;
  width: 1px;
  height: 60px;
  background: rgba(233, 225, 245, .55);
  pointer-events: none;
  z-index: 2;
  animation: ww-dangle 9s ease-in-out infinite;
}
html[data-season="halloween"] .ww-spider::after {
  content: '';
  position: absolute;
  left: -13px;
  bottom: -20px;
  width: 27px;
  height: 24px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 24'%3E%3Cg stroke='%230B0710' stroke-width='1.6' fill='none' stroke-linecap='round'%3E%3Cpath d='M10 10L3 4M10 12L1 11M10 14L2 19M11 16L5 23M17 10l7-6M17 12l9-1M17 14l8 5M16 16l6 7'/%3E%3C/g%3E%3Cellipse cx='13.5' cy='14' rx='5' ry='6' fill='%230B0710'/%3E%3Ccircle cx='13.5' cy='7.5' r='3.4' fill='%230B0710'/%3E%3Ccircle cx='12.3' cy='7' r='.9' fill='%23FF8A2A'/%3E%3Ccircle cx='14.7' cy='7' r='.9' fill='%23FF8A2A'/%3E%3C/svg%3E") center / contain no-repeat;
  animation: ww-wiggle 1.2s ease-in-out infinite alternate;
}
@keyframes ww-dangle {
  0%, 100% { height: 40px; }
  40%      { height: 190px; }
  55%      { height: 175px; }
  70%      { height: 190px; }
}
@keyframes ww-wiggle {
  from { transform: rotate(-8deg); }
  to   { transform: rotate(8deg); }
}
html[data-season="halloween"] .announcement-bar {
  background: linear-gradient(90deg, #2B1240, #4A1D5E 50%, #2B1240);
  color: #F4ECE2;
}
html[data-season="halloween"] .announcement-bar a { color: #FFB066; }

/* Moon, fog and cobwebs around the hero */
html[data-season="halloween"] .hero-section,
html[data-season="halloween"] .xmas-hero {
  background:
    radial-gradient(circle at calc(50% + 590px) 60px, #FFF3D6 0 58px, rgba(255, 228, 170, .55) 60px, rgba(255, 190, 110, .12) 120px, transparent 220px),
    linear-gradient(180deg, transparent 55%, rgba(120, 95, 150, .18) 100%);
}
html[data-season="halloween"] .hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 170px;
  height: 170px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='none' stroke='%23E9E1F5' stroke-opacity='.45' stroke-width='1.1'%3E%3Cpath d='M0 0L170.0 0.0'/%3E%3Cpath d='M0 0L164.2 44.0'/%3E%3Cpath d='M0 0L144.2 90.1'/%3E%3Cpath d='M0 0L109.3 130.2'/%3E%3Cpath d='M0 0L63.7 157.6'/%3E%3Cpath d='M0 0L14.8 169.4'/%3E%3Cpath d='M0 0L0.0 170.0'/%3E%3Cpath d='M28.0 0.0Q22.8 3.0 27.0 7.2Q21.1 9.2 23.7 14.8Q17.3 15.1 18.0 21.4Q11.8 19.7 10.5 26.0Q5.4 22.3 2.4 27.9Q1.0 22.9 0.0 28.0'/%3E%3Cpath d='M58.0 0.0Q47.2 6.2 56.0 15.0Q43.6 19.0 49.2 30.7Q35.9 31.2 37.3 44.4Q24.5 40.8 21.7 53.8Q11.1 46.2 5.1 57.8Q2.1 47.5 0.0 58.0'/%3E%3Cpath d='M92.0 0.0Q74.8 9.8 88.9 23.8Q69.2 30.1 78.0 48.8Q56.9 49.5 59.1 70.5Q38.9 64.7 34.5 85.3Q17.6 73.4 8.0 91.6Q3.3 75.4 0.0 92.0'/%3E%3Cpath d='M130.0 0.0Q105.7 13.9 125.6 33.6Q97.8 42.5 110.2 68.9Q80.5 69.9 83.6 99.6Q54.9 91.4 48.7 120.5Q24.9 103.7 11.3 129.5Q4.6 106.5 0.0 130.0'/%3E%3C/svg%3E") 0 0 / contain no-repeat;
  pointer-events: none;
}
html[data-season="halloween"] .hero-section::after {
  content: '';
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -30px;
  height: 120px;
  background:
    radial-gradient(closest-side, rgba(200, 185, 220, .16), transparent) 0 30px / 340px 120px repeat-x,
    radial-gradient(closest-side, rgba(200, 185, 220, .12), transparent) 170px 50px / 420px 120px repeat-x;
  animation: ww-fog 26s linear infinite;
  pointer-events: none;
}
@keyframes ww-fog { to { transform: translateX(340px); } }
html[data-season="halloween"] .hero-grid { position: relative; z-index: 1; }
html[data-season="halloween"] .hero-title,
html[data-season="halloween"] .section-title {
  text-shadow: 0 0 22px rgba(240, 127, 35, .25);
}
html[data-season="halloween"] .hero-title span.accent-italic {
  color: #FF8A2A;
  text-shadow: 0 0 18px rgba(255, 138, 42, .55), 0 0 2px rgba(255, 200, 120, .6);
}
html[data-season="halloween"] .hero-image-card { background: #241B2E; border-color: #3A2D48; box-shadow: 0 0 0 1px #3A2D48, 0 0 40px rgba(240, 127, 35, .18); }
html[data-season="halloween"] .hero-floating-card {
  background: rgba(30, 23, 38, .94);
  border-color: rgba(240, 127, 35, .35);
}
html[data-season="halloween"] .btn-primary { box-shadow: 0 0 18px rgba(240, 127, 35, .35); }
html[data-season="halloween"] .btn-primary:hover { box-shadow: 0 0 26px rgba(255, 154, 69, .55); }
html[data-season="halloween"] .btn-header-lock { border-color: rgba(240, 127, 35, .4); }
html[data-season="halloween"] .safety-card {
  background: linear-gradient(135deg, #1E2A1C, #18221A);
  border-color: #2F4A2B;
}
html[data-season="halloween"] .safety-content p { color: #CFE3C6; }
html[data-season="halloween"] .safety-icon-wrap,
html[data-season="halloween"] .product-image-wrap,
html[data-season="halloween"] .moq-progress-bar-wrap { background: #2A2034; }
html[data-season="halloween"] .moq-tracker-card { background: linear-gradient(135deg, #221A2B, #1B1523); }
html[data-season="halloween"] .xmas-fact,
html[data-season="halloween"] .payment-choice,
html[data-season="halloween"] .passcode-input:focus { background: var(--color-surface); }
html[data-season="halloween"] .modal-overlay { background: rgba(5, 3, 8, .75); }
html[data-season="halloween"] input,
html[data-season="halloween"] select,
html[data-season="halloween"] textarea {
  background-color: #171120;
  color: var(--color-text-main);
  border-color: var(--color-border);
}
html[data-season="halloween"] ::placeholder { color: #8F829C; }
/* Page sections and cards with a white background written into the page */
html[data-season="halloween"] [style*="background: #FFF"],
html[data-season="halloween"] [style*="background:#FFF"],
html[data-season="halloween"] [style*="background: #fff"],
html[data-season="halloween"] [style*="background: white"] {
  background: var(--color-surface) !important;
}
html[data-season="halloween"] [style*="background:#FFF3E0"] { background: rgba(240, 127, 35, .14) !important; color: #FFB066 !important; border-color: rgba(240, 127, 35, .35) !important; }
html[data-season="halloween"] .brand-logo-img,
html[data-season="halloween"] .site-footer img { background: #FFF !important; }
html[data-season="halloween"] .site-footer {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 60'%3E%3Cpath fill='%231E1726' d='M0 60V44c40-8 80 2 130-4s90-10 140-2 100 4 150-2 70 0 100 4V60z'/%3E%3Cpath fill='%232B2236' d='M40 50V33.0a13.0 13.0 0 0 1 26 0V50z'/%3E%3Cpath fill='%232B2236' d='M118 50V38.0a10.0 10.0 0 0 1 20 0V50z'/%3E%3Cpath fill='%232B2236' d='M200 50V29.0a15.0 15.0 0 0 1 30 0V50z'/%3E%3Cpath fill='%232B2236' d='M300 50V35.0a11.0 11.0 0 0 1 22 0V50z'/%3E%3Cpath fill='%232B2236' d='M380 50V32.0a14.0 14.0 0 0 1 28 0V50z'/%3E%3Cpath fill='%232B2236' d='M460 50V39.0a9.0 9.0 0 0 1 18 0V50z'/%3E%3Cpath fill='%232B2236' d='M250 50V22h-6v-5h6v-6h5v6h6v5h-6v28z'/%3E%3Ccircle cx='168' cy='44' r='7' fill='%23F07F23'/%3E%3Cpath fill='%233F7A22' d='M167 36h2v3h-2z'/%3E%3Cpath fill='%237A3A08' d='M164 43l2-2 2 2zM170 43l2-2 2 2zM164 47h10l-2 1.5h-6z'/%3E%3Ccircle cx='430' cy='45' r='6' fill='%23F07F23'/%3E%3Cpath fill='%233F7A22' d='M429 38h2v3h-2z'/%3E%3C/svg%3E") center top / 520px 60px repeat-x,
    #0A070D;
  padding-top: 110px;
}

/* Bats: the span flies across, its ::before flaps the wings */
html[data-season="halloween"] .ww-p {
  top: var(--y, 20vh);
  left: -100px;
  width: calc(var(--s, 40px) * 2);
  height: var(--s, 40px);
  background: none;
  opacity: 1;
  filter: drop-shadow(0 0 6px rgba(240, 127, 35, .4));
  animation: ww-bat var(--d, 16s) linear var(--delay, 0s) infinite;
}
html[data-season="halloween"] .ww-p::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 40'%3E%3Cpath fill='%230B0710' d='M40 13c-1.5-3-2.5-6-2.5-6l-1.6 4.4c-2.4.2-4.2 1.6-4.2 1.6C27 8 16 4 2 9c6 1.6 9.6 6 10.4 11.5 3.8-2.6 9-2.4 11.8 1.2 2.6-2.4 7.8-2 10.4 2.6 1.4-2.2 3.4-3.4 5.4-3.4s4 1.2 5.4 3.4c2.6-4.6 7.8-5 10.4-2.6 2.8-3.6 8-3.8 11.8-1.2C68.4 15 72 10.6 78 9c-14-5-25-1-29.7 4 0 0-1.8-1.4-4.2-1.6L42.5 7S41.5 10 40 13z'/%3E%3Ccircle cx='38' cy='14.5' r='.9' fill='%23FF8A2A'/%3E%3Ccircle cx='42' cy='14.5' r='.9' fill='%23FF8A2A'/%3E%3C/svg%3E") center / contain no-repeat;
  animation: ww-flap var(--fd, .22s) ease-in-out infinite alternate;
}
html[data-season="halloween"] .ww-p:nth-child(3n) { animation-name: ww-bat-back; left: auto; right: -100px; }
@keyframes ww-flap {
  from { transform: scaleY(1); }
  to   { transform: scaleY(.3) translateY(-10%); }
}
@keyframes ww-bat {
  0%   { transform: translate3d(0, 0, 0); }
  20%  { transform: translate3d(26vw, -5vh, 0); }
  40%  { transform: translate3d(52vw, 4vh, 0); }
  60%  { transform: translate3d(78vw, -6vh, 0); }
  80%  { transform: translate3d(104vw, 3vh, 0); }
  100% { transform: translate3d(130vw, -2vh, 0); }
}
@keyframes ww-bat-back {
  0%   { transform: translate3d(0, 0, 0) scaleX(-1); }
  25%  { transform: translate3d(-32vw, 5vh, 0) scaleX(-1); }
  50%  { transform: translate3d(-64vw, -4vh, 0) scaleX(-1); }
  75%  { transform: translate3d(-96vw, 6vh, 0) scaleX(-1); }
  100% { transform: translate3d(-130vw, 0, 0) scaleX(-1); }
}

/* ==========================================================================
   CHRISTMAS - all of December. Pine, berry red, gold and snow.
   ========================================================================== */
html[data-season="christmas"] {
  --color-bg: #FBF8F1;
  --color-surface-subtle: #F4F0E4;
  --color-surface-dark: #12392A;
  --color-primary: #B3262E;
  --color-primary-hover: #941C23;
  --color-primary-light: #FBEDEC;
  --color-accent-gold: #C29A2C;
  --color-accent-gold-hover: #A8841F;
  --color-accent-gold-light: #FBF5E3;
  --color-accent-sage: #1E5A3E;
  --color-accent-sage-light: #E6F0EA;
  --color-border: #E6DCC8;
  --color-border-light: #F0E9DA;
}
html[data-season="christmas"] .announcement-bar {
  background: linear-gradient(90deg, #12392A, #1A4D38 50%, #12392A);
}
html[data-season="christmas"] .announcement-bar .badge { background: #B3262E; }
html[data-season="christmas"] .announcement-bar a { color: #F4D58A; }
html[data-season="christmas"] .ww-garland {
  height: 26px;
  top: calc(100% - 4px);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 26'%3E%3Cpath d='M0 4Q45 18 90 4T180 4' fill='none' stroke='%231F3A2C' stroke-width='1.6'/%3E%3C/svg%3E");
  background-size: 180px 26px;
}
html[data-season="christmas"] .ww-gi {
  --w: 10px;
  --h: 17px;
  --sw: 5deg;
  animation: ww-swing var(--sd, 2.4s) ease-in-out var(--delay, 0s) infinite alternate,
             ww-twinkle var(--td, 1.6s) ease-in-out var(--delay, 0s) infinite;
}
html[data-season="christmas"] .ww-gi--0 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 17'%3E%3Crect x='2.5' y='0' width='5' height='4' rx='1' fill='%232B3A33'/%3E%3Cellipse cx='5' cy='10.5' rx='4.2' ry='6.2' fill='%23E53935'/%3E%3Cellipse cx='3.6' cy='8.5' rx='1.2' ry='2' fill='%23FFF' opacity='.6'/%3E%3C/svg%3E"); --glow: #FF4D4D; }
html[data-season="christmas"] .ww-gi--1 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 17'%3E%3Crect x='2.5' y='0' width='5' height='4' rx='1' fill='%232B3A33'/%3E%3Cellipse cx='5' cy='10.5' rx='4.2' ry='6.2' fill='%23F4C430'/%3E%3Cellipse cx='3.6' cy='8.5' rx='1.2' ry='2' fill='%23FFF' opacity='.6'/%3E%3C/svg%3E"); --glow: #FFD54A; }
html[data-season="christmas"] .ww-gi--2 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 17'%3E%3Crect x='2.5' y='0' width='5' height='4' rx='1' fill='%232B3A33'/%3E%3Cellipse cx='5' cy='10.5' rx='4.2' ry='6.2' fill='%232E9E5B'/%3E%3Cellipse cx='3.6' cy='8.5' rx='1.2' ry='2' fill='%23FFF' opacity='.6'/%3E%3C/svg%3E"); --glow: #43D17F; }
html[data-season="christmas"] .ww-gi--3 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 17'%3E%3Crect x='2.5' y='0' width='5' height='4' rx='1' fill='%232B3A33'/%3E%3Cellipse cx='5' cy='10.5' rx='4.2' ry='6.2' fill='%233B82F6'/%3E%3Cellipse cx='3.6' cy='8.5' rx='1.2' ry='2' fill='%23FFF' opacity='.6'/%3E%3C/svg%3E"); --glow: #5AA2FF; }
@keyframes ww-twinkle {
  0%, 100% { filter: brightness(.75) drop-shadow(0 4px 2px rgba(0, 0, 0, 0)); }
  50%      { filter: brightness(1.35) drop-shadow(0 4px 6px var(--glow, #FFD54A)); }
}
html[data-season="christmas"] .hero-section,
html[data-season="christmas"] .xmas-hero {
  background:
    radial-gradient(700px 380px at 85% 10%, rgba(30, 90, 62, .10), transparent 70%),
    radial-gradient(500px 300px at 5% 90%, rgba(179, 38, 46, .07), transparent 70%);
}
html[data-season="christmas"] .hero-section::before {
  content: '';
  position: absolute;
  right: 3%;
  bottom: 0;
  width: 220px;
  height: 160px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 160'%3E%3Cpath fill='%231E5A3E' d='M150 18L177.0 81.0H163.2L187.2 130.0H168.0L195.0 146H105.0L132.0 130.0H112.8L136.8 81.0H123.0z'/%3E%3Crect x='145' y='146' width='10' height='12' fill='%236B4A2B'/%3E%3Cpath fill='%232A6E4D' d='M95 53.0L115.25 100.25H104.9L122.9 137.0H108.5L128.75 149.0H61.25L81.5 137.0H67.1L85.1 100.25H74.75z'/%3E%3Crect x='91.25' y='149.0' width='7.5' height='9.0' fill='%236B4A2B'/%3E%3Cpath fill='%232A6E4D' d='M195 74.0L211.2 111.8H202.92L217.32 141.2H205.8L222.0 150.8H168.0L184.2 141.2H172.68L187.08 111.8H178.8z'/%3E%3Crect x='192.0' y='150.8' width='6.0' height='7.199999999999999' fill='%236B4A2B'/%3E%3Cpath fill='%23F4C430' d='M150 12l3 6 6.5 1-4.7 4.5 1.1 6.5-5.9-3.1-5.9 3.1 1.1-6.5L140.5 19l6.5-1z'/%3E%3Ccircle cx='140' cy='70' r='4' fill='%23B3262E'/%3E%3Ccircle cx='162' cy='95' r='4' fill='%23F4C430'/%3E%3Ccircle cx='135' cy='120' r='4' fill='%23F4C430'/%3E%3Ccircle cx='168' cy='128' r='4' fill='%23B3262E'/%3E%3Ccircle cx='88' cy='100' r='4' fill='%23B3262E'/%3E%3Ccircle cx='196' cy='120' r='4' fill='%23F4C430'/%3E%3C/svg%3E") right bottom / contain no-repeat;
  opacity: .9;
  pointer-events: none;
}
html[data-season="christmas"] .hero-grid { position: relative; z-index: 1; }
html[data-season="christmas"] .hero-title span.accent-italic { color: #B3262E; }
html[data-season="christmas"] .hero-image-card { box-shadow: 0 0 0 6px #FFF, 0 0 0 8px #C29A2C, var(--shadow-lg); }
html[data-season="christmas"] .section-eyebrow { color: #B3262E; }
html[data-season="christmas"] .section-header .section-title::after {
  content: '';
  display: block;
  width: 120px;
  height: 14px;
  margin: 10px auto 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 14'%3E%3Cpath d='M0 7H44M76 7H120' stroke='%23C29A2C' stroke-width='1'/%3E%3Cpath fill='%231E5A3E' d='M60 7c-3-4-9-6-14-5 1 2 0 3-2 4 2 1 3 2 2 4 5 1 11-1 14-3zM60 7c3-4 9-6 14-5-1 2 0 3 2 4-2 1-3 2-2 4-5 1-11-1-14-3z'/%3E%3Ccircle cx='57.5' cy='9' r='2.4' fill='%23B3262E'/%3E%3Ccircle cx='62.5' cy='9' r='2.4' fill='%23B3262E'/%3E%3Ccircle cx='60' cy='5.5' r='2.4' fill='%23D13A42'/%3E%3C/svg%3E") center / contain no-repeat;
}
html[data-season="christmas"] .site-footer {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 34' preserveAspectRatio='none'%3E%3Cpath fill='%23FBF8F1' d='M0 0H600V14c-20 10-40 12-60 6s-35-12-60-4-45 14-70 8-40-14-65-8-40 16-70 10-35-12-60-8-45 14-70 8-35-10-55-6S20 26 0 18z'/%3E%3C/svg%3E") center top / 600px 34px repeat-x,
    #12392A;
  padding-top: 90px;
}
html[data-season="christmas"] .ww-p {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E4EEF7' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7M12 2l-2.5 2.5M12 2l2.5 2.5M12 22l-2.5-2.5M12 22l2.5-2.5'/%3E%3C/svg%3E");
  --o: .85;
}
html[data-season="christmas"] .ww-p:nth-child(2n) { background-image: radial-gradient(circle, #EAF2F8 0 45%, rgba(255,255,255,0) 70%); }
html[data-season="christmas"] .ww-season-layer { filter: drop-shadow(0 0 2px rgba(80, 110, 140, .55)); }

/* ==========================================================================
   VALENTINE'S - 1 to 14 February. Blush, rose and floating hearts.
   ========================================================================== */
html[data-season="valentine"] {
  --color-bg: #FFF7F8;
  --color-surface-subtle: #FFEFF2;
  --color-surface-dark: #4A1530;
  --color-primary: #D6336C;
  --color-primary-hover: #B82659;
  --color-primary-light: #FFE7EF;
  --color-accent-gold: #C98A5B;
  --color-accent-gold-light: #FCF1EA;
  --color-accent-sage: #8E2B4F;
  --color-accent-sage-light: #FBE6EE;
  --color-border: #F4D3DD;
  --color-border-light: #FAE6EC;
  --shadow-hover: 0 20px 48px rgba(214, 51, 108, .18);
}
html[data-season="valentine"] body {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='%23F6C9D6' opacity='.35'%3E%3Cpath transform='translate(14 18) scale(.6)' d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.6 4.2 9 4 10.8 5.4 12 7.2 13.2 5.4 15 4 17.4 4.2c3.7.3 5.7 4.1 4.2 7.5C19.5 16.4 12 21 12 21z'/%3E%3Cpath transform='translate(78 70) scale(.45) rotate(15 12 12)' d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.6 4.2 9 4 10.8 5.4 12 7.2 13.2 5.4 15 4 17.4 4.2c3.7.3 5.7 4.1 4.2 7.5C19.5 16.4 12 21 12 21z'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 120px 120px,
    var(--color-bg);
}
html[data-season="valentine"] .announcement-bar {
  background: linear-gradient(90deg, #4A1530, #7A1F47 50%, #4A1530);
}
html[data-season="valentine"] .announcement-bar .badge { background: #FF5C8D; }
html[data-season="valentine"] .announcement-bar a { color: #FFC2D4; }
html[data-season="valentine"] .ww-garland {
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 24'%3E%3Cpath d='M0 3Q37.5 12 75 3T150 3' fill='none' stroke='%23C98A5B' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 150px 24px;
}
html[data-season="valentine"] .ww-gi { --w: 14px; --h: 15px; --sw: 9deg; animation-name: ww-swing-beat; }
html[data-season="valentine"] .ww-gi--0 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E63E76' d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.6 4.2 9 4 10.8 5.4 12 7.2 13.2 5.4 15 4 17.4 4.2c3.7.3 5.7 4.1 4.2 7.5C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E"); }
html[data-season="valentine"] .ww-gi--1 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FF9DBB' d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.6 4.2 9 4 10.8 5.4 12 7.2 13.2 5.4 15 4 17.4 4.2c3.7.3 5.7 4.1 4.2 7.5C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E"); }
html[data-season="valentine"] .ww-gi--2 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23C2185B' d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.6 4.2 9 4 10.8 5.4 12 7.2 13.2 5.4 15 4 17.4 4.2c3.7.3 5.7 4.1 4.2 7.5C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E"); }
@keyframes ww-swing-beat {
  0%   { transform: rotate(-9deg) scale(1); }
  40%  { transform: rotate(0deg) scale(1.18); }
  60%  { transform: rotate(3deg) scale(1); }
  100% { transform: rotate(9deg) scale(1.08); }
}
html[data-season="valentine"] .hero-section,
html[data-season="valentine"] .xmas-hero {
  background:
    radial-gradient(600px 360px at 82% 30%, rgba(255, 92, 141, .16), transparent 70%),
    radial-gradient(500px 300px at 0% 100%, rgba(214, 51, 108, .08), transparent 70%);
}
html[data-season="valentine"] .hero-title span.accent-italic { color: #D6336C; }
html[data-season="valentine"] .hero-image-card {
  box-shadow: 0 0 0 6px #FFF, 0 0 0 8px #F6B3C8, var(--shadow-lg);
}
html[data-season="valentine"] .hero-visual { position: relative; }
html[data-season="valentine"] .hero-visual::after {
  content: '';
  position: absolute;
  top: -22px;
  right: -18px;
  width: 74px;
  height: 66px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E63E76' stroke='%23FFF' stroke-width='1.2' d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.6 4.2 9 4 10.8 5.4 12 7.2 13.2 5.4 15 4 17.4 4.2c3.7.3 5.7 4.1 4.2 7.5C19.5 16.4 12 21 12 21z'/%3E%3Cpath d='M6.5 7.5c-1.5.6-2.3 2-2 3.6' stroke='%23FFF' stroke-width='1.1' fill='none' stroke-linecap='round' opacity='.7'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: rotate(12deg);
  animation: ww-beat 1.6s ease-in-out infinite;
  z-index: 2;
}
@keyframes ww-beat {
  0%, 100% { transform: rotate(12deg) scale(1); }
  15%      { transform: rotate(12deg) scale(1.12); }
  30%      { transform: rotate(12deg) scale(1); }
  45%      { transform: rotate(12deg) scale(1.08); }
}
html[data-season="valentine"] .section-eyebrow::before { content: '\2665\00a0'; }
html[data-season="valentine"] .ww-p {
  top: auto;
  bottom: -40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E63E76' d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.6 4.2 9 4 10.8 5.4 12 7.2 13.2 5.4 15 4 17.4 4.2c3.7.3 5.7 4.1 4.2 7.5C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E");
  --o: .7;
  animation-name: ww-rise;
}
html[data-season="valentine"] .ww-p:nth-child(3n) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FF9DBB' d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.6 4.2 9 4 10.8 5.4 12 7.2 13.2 5.4 15 4 17.4 4.2c3.7.3 5.7 4.1 4.2 7.5C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E"); }

/* ==========================================================================
   EASTER - the 14 days before Easter Sunday, to Easter Monday.
   Spring pastels, bunting, blossom and eggs.
   ========================================================================== */
html[data-season="easter"] {
  --color-bg: #FFFDF4;
  --color-surface-subtle: #FAF6E6;
  --color-surface-dark: #3B3363;
  --color-primary: #8662C7;
  --color-primary-hover: #6E4CB0;
  --color-primary-light: #F1ECFA;
  --color-accent-gold: #D9A514;
  --color-accent-gold-light: #FFF7DA;
  --color-accent-sage: #3F8A55;
  --color-accent-sage-light: #E7F4EA;
  --color-border: #ECE4CF;
  --color-border-light: #F5F0DF;
  --shadow-hover: 0 20px 48px rgba(134, 98, 199, .18);
}
html[data-season="easter"] .announcement-bar {
  background: linear-gradient(90deg, #3B3363, #50458A 50%, #3B3363);
}
html[data-season="easter"] .announcement-bar .badge { background: #F2C230; color: #3B3363; }
html[data-season="easter"] .announcement-bar a { color: #FFE48A; }
html[data-season="easter"] .ww-garland {
  height: 26px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 26'%3E%3Cpath d='M0 2Q50 10 100 2T200 2' fill='none' stroke='%23B9A57A' stroke-width='1.2'/%3E%3C/svg%3E");
  background-size: 200px 26px;
}
html[data-season="easter"] .ww-gi { --w: 22px; --h: 19px; --sw: 11deg; animation-timing-function: cubic-bezier(.45, 0, .55, 1); }
html[data-season="easter"] .ww-gi--0 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 19'%3E%3Cpath fill='%23F7B7C8' d='M0 0H22L11 19z'/%3E%3Cpath d='M0 0H22' stroke='%23B9A57A' stroke-width='1.2'/%3E%3C/svg%3E"); }
html[data-season="easter"] .ww-gi--1 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 19'%3E%3Cpath fill='%23FFE07A' d='M0 0H22L11 19z'/%3E%3Cpath d='M0 0H22' stroke='%23B9A57A' stroke-width='1.2'/%3E%3C/svg%3E"); }
html[data-season="easter"] .ww-gi--2 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 19'%3E%3Cpath fill='%23B8E3C4' d='M0 0H22L11 19z'/%3E%3Cpath d='M0 0H22' stroke='%23B9A57A' stroke-width='1.2'/%3E%3C/svg%3E"); }
html[data-season="easter"] .ww-gi--3 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 19'%3E%3Cpath fill='%23C9B8F0' d='M0 0H22L11 19z'/%3E%3Cpath d='M0 0H22' stroke='%23B9A57A' stroke-width='1.2'/%3E%3C/svg%3E"); }
html[data-season="easter"] .ww-gi--4 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 19'%3E%3Cpath fill='%23A9D8F2' d='M0 0H22L11 19z'/%3E%3Cpath d='M0 0H22' stroke='%23B9A57A' stroke-width='1.2'/%3E%3C/svg%3E"); }
html[data-season="easter"] .ww-gi--5 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 19'%3E%3Cpath fill='%23FFC79A' d='M0 0H22L11 19z'/%3E%3Cpath d='M0 0H22' stroke='%23B9A57A' stroke-width='1.2'/%3E%3C/svg%3E"); }
html[data-season="easter"] .ww-bunny {
  position: absolute;
  left: -70px;
  bottom: 8px;
  width: 50px;
  height: 44px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 44'%3E%3Cellipse cx='22' cy='31' rx='15' ry='11' fill='%23F4EEE6'/%3E%3Ccircle cx='8' cy='30' r='4.5' fill='%23FFF'/%3E%3Ccircle cx='36' cy='21' r='8' fill='%23F4EEE6'/%3E%3Cellipse cx='33' cy='7' rx='3' ry='9' fill='%23F4EEE6' transform='rotate(-12 33 7)'/%3E%3Cellipse cx='40' cy='8' rx='3' ry='9' fill='%23F4EEE6' transform='rotate(14 40 8)'/%3E%3Cellipse cx='33' cy='7.5' rx='1.4' ry='6' fill='%23F7B7C8' transform='rotate(-12 33 7)'/%3E%3Cellipse cx='40' cy='8.5' rx='1.4' ry='6' fill='%23F7B7C8' transform='rotate(14 40 8)'/%3E%3Ccircle cx='39' cy='20' r='1.3' fill='%233B3363'/%3E%3Ccircle cx='43.6' cy='23' r='1.2' fill='%23E88AA3'/%3E%3Cellipse cx='30' cy='41' rx='6' ry='2.6' fill='%23E8DFD3'/%3E%3Cellipse cx='16' cy='41' rx='5' ry='2.4' fill='%23E8DFD3'/%3E%3Cpath d='M22 31c0-5 4-8 8-8' stroke='%23E2D8CB' stroke-width='1.3' fill='none'/%3E%3C/svg%3E") center bottom / contain no-repeat;
  pointer-events: none;
  z-index: 2;
  animation: ww-travel 26s linear infinite, ww-hop .5s cubic-bezier(.3, 0, .5, 1) infinite alternate;
}
@keyframes ww-travel {
  from { left: -70px; }
  to   { left: calc(100% + 70px); }
}
@keyframes ww-hop {
  from { transform: translateY(0) rotate(4deg); }
  to   { transform: translateY(-22px) rotate(-6deg); }
}
html[data-season="easter"] .hero-section,
html[data-season="easter"] .xmas-hero {
  background:
    radial-gradient(600px 360px at 85% 20%, rgba(242, 194, 48, .18), transparent 70%),
    radial-gradient(500px 300px at 0% 100%, rgba(134, 98, 199, .10), transparent 70%);
}
html[data-season="easter"] .hero-section { padding-bottom: 110px; }
html[data-season="easter"] .hero-section::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 70px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 70'%3E%3Cpath fill='%23BFE3B4' d='M0 70V40c60-14 120-10 180-2s120 10 200 0 160-12 260 2v30z'/%3E%3Cpath fill='%239FD195' d='M0 70V52c80-8 160-2 240 2s160 6 240-4 120-6 160 0v20z'/%3E%3Cpath d='M10 70q2-13 -3-17' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M32 70q2-14 -3-18' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M54 70q2-9 -3-13' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M76 70q2-13 -3-17' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M98 70q2-16 -3-20' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M120 70q2-8 -3-12' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M142 70q2-14 3-18' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M164 70q2-9 -3-13' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M186 70q2-9 3-13' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M208 70q2-8 -3-12' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M230 70q2-11 -3-15' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M252 70q2-14 -3-18' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M274 70q2-11 -3-15' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M296 70q2-16 -3-20' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M318 70q2-12 3-16' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M340 70q2-10 -3-14' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M362 70q2-12 -3-16' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M384 70q2-9 -3-13' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M406 70q2-13 -3-17' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M428 70q2-16 -3-20' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M450 70q2-8 -3-12' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M472 70q2-15 3-19' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M494 70q2-13 3-17' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M516 70q2-15 3-19' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M538 70q2-12 -3-16' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M560 70q2-10 -3-14' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M582 70q2-9 3-13' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M604 70q2-16 3-20' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cpath d='M626 70q2-13 3-17' stroke='%236BB35E' stroke-width='2' fill='none'/%3E%3Cg transform='translate(90 34) scale(1)'%3E%3Cpath fill='%23F7B7C8' d='M10 0C4.5 0 0 9 0 15.5S4.5 26 10 26s10-4 10-10.5S15.5 0 10 0z'/%3E%3Cpath d='M1 13c3-2 6 2 9 0s6-2 9 0' stroke='%23E63E76' stroke-width='1.8' fill='none'/%3E%3Ccircle cx='6' cy='19' r='1.4' fill='%23E63E76'/%3E%3Ccircle cx='14' cy='19' r='1.4' fill='%23E63E76'/%3E%3Ccircle cx='10' cy='7' r='1.4' fill='%23E63E76'/%3E%3C/g%3E%3Cg transform='translate(300 30) scale(1.1)'%3E%3Cpath fill='%23C9B8F0' d='M10 0C4.5 0 0 9 0 15.5S4.5 26 10 26s10-4 10-10.5S15.5 0 10 0z'/%3E%3Cpath d='M1 13c3-2 6 2 9 0s6-2 9 0' stroke='%238662C7' stroke-width='1.8' fill='none'/%3E%3Ccircle cx='6' cy='19' r='1.4' fill='%238662C7'/%3E%3Ccircle cx='14' cy='19' r='1.4' fill='%238662C7'/%3E%3Ccircle cx='10' cy='7' r='1.4' fill='%238662C7'/%3E%3C/g%3E%3Cg transform='translate(480 38) scale(0.9)'%3E%3Cpath fill='%23FFE07A' d='M10 0C4.5 0 0 9 0 15.5S4.5 26 10 26s10-4 10-10.5S15.5 0 10 0z'/%3E%3Cpath d='M1 13c3-2 6 2 9 0s6-2 9 0' stroke='%23D9A514' stroke-width='1.8' fill='none'/%3E%3Ccircle cx='6' cy='19' r='1.4' fill='%23D9A514'/%3E%3Ccircle cx='14' cy='19' r='1.4' fill='%23D9A514'/%3E%3Ccircle cx='10' cy='7' r='1.4' fill='%23D9A514'/%3E%3C/g%3E%3Cg transform='translate(200 48)'%3E%3Ccircle r='3' fill='%23FFF'/%3E%3Ccircle cx='5' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' cy='-4' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' cy='4' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' r='2' fill='%23F2C230'/%3E%3C/g%3E%3Cg transform='translate(410 50)'%3E%3Ccircle r='3' fill='%23FFF'/%3E%3Ccircle cx='5' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' cy='-4' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' cy='4' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' r='2' fill='%23F2C230'/%3E%3C/g%3E%3Cg transform='translate(570 46)'%3E%3Ccircle r='3' fill='%23FFF'/%3E%3Ccircle cx='5' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' cy='-4' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' cy='4' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' r='2' fill='%23F2C230'/%3E%3C/g%3E%3Cg transform='translate(40 52)'%3E%3Ccircle r='3' fill='%23FFF'/%3E%3Ccircle cx='5' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' cy='-4' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' cy='4' r='3' fill='%23FFF'/%3E%3Ccircle cx='2.5' r='2' fill='%23F2C230'/%3E%3C/g%3E%3C/svg%3E") center bottom / 640px 70px repeat-x;
  pointer-events: none;
}
html[data-season="easter"] .hero-grid { position: relative; z-index: 1; }
html[data-season="easter"] .hero-title span.accent-italic { color: #8662C7; }
html[data-season="easter"] .hero-image-card {
  box-shadow: 0 0 0 6px #FFF, 0 0 0 8px #F2C230, var(--shadow-lg);
}
html[data-season="easter"] .section-header .section-title::after {
  content: '';
  display: block;
  width: 110px;
  height: 22px;
  margin: 10px auto 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 22'%3E%3Cpath d='M0 14H30M80 14H110' stroke='%23D9A514' stroke-width='1'/%3E%3Cg transform='translate(34 0) scale(0.8)'%3E%3Cpath fill='%23C9B8F0' d='M10 0C4.5 0 0 9 0 15.5S4.5 26 10 26s10-4 10-10.5S15.5 0 10 0z'/%3E%3Cpath d='M1 13c3-2 6 2 9 0s6-2 9 0' stroke='%238662C7' stroke-width='1.8' fill='none'/%3E%3Ccircle cx='6' cy='19' r='1.4' fill='%238662C7'/%3E%3Ccircle cx='14' cy='19' r='1.4' fill='%238662C7'/%3E%3Ccircle cx='10' cy='7' r='1.4' fill='%238662C7'/%3E%3C/g%3E%3Cg transform='translate(48 1) scale(0.78)'%3E%3Cpath fill='%23FFE07A' d='M10 0C4.5 0 0 9 0 15.5S4.5 26 10 26s10-4 10-10.5S15.5 0 10 0z'/%3E%3Cpath d='M1 13c3-2 6 2 9 0s6-2 9 0' stroke='%23D9A514' stroke-width='1.8' fill='none'/%3E%3Ccircle cx='6' cy='19' r='1.4' fill='%23D9A514'/%3E%3Ccircle cx='14' cy='19' r='1.4' fill='%23D9A514'/%3E%3Ccircle cx='10' cy='7' r='1.4' fill='%23D9A514'/%3E%3C/g%3E%3Cg transform='translate(62 0) scale(0.8)'%3E%3Cpath fill='%23B8E3C4' d='M10 0C4.5 0 0 9 0 15.5S4.5 26 10 26s10-4 10-10.5S15.5 0 10 0z'/%3E%3Cpath d='M1 13c3-2 6 2 9 0s6-2 9 0' stroke='%233F8A55' stroke-width='1.8' fill='none'/%3E%3Ccircle cx='6' cy='19' r='1.4' fill='%233F8A55'/%3E%3Ccircle cx='14' cy='19' r='1.4' fill='%233F8A55'/%3E%3Ccircle cx='10' cy='7' r='1.4' fill='%233F8A55'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
html[data-season="easter"] .ww-p {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23F9C6D3'%3E%3Cellipse cx='12' cy='6.5' rx='4' ry='5.5' transform='rotate(0 12 12)'/%3E%3Cellipse cx='12' cy='6.5' rx='4' ry='5.5' transform='rotate(72 12 12)'/%3E%3Cellipse cx='12' cy='6.5' rx='4' ry='5.5' transform='rotate(144 12 12)'/%3E%3Cellipse cx='12' cy='6.5' rx='4' ry='5.5' transform='rotate(216 12 12)'/%3E%3Cellipse cx='12' cy='6.5' rx='4' ry='5.5' transform='rotate(288 12 12)'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='2.6' fill='%23F2C230'/%3E%3C/svg%3E");
  --o: .85;
  --s: 16px;
}
html[data-season="easter"] .ww-p:nth-child(4n) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='12' rx='5' ry='9' fill='%23FFE07A' transform='rotate(30 12 12)'/%3E%3C/svg%3E"); }
