/* Homepage hero: the video is an enhancement over a complete, always-visible poster. */
.tts-hero {
  --hero-red: #e52b35;
  --hero-ink: #f8f1e7;
  position: relative;
  isolation: isolate;
  min-height: min(850px, calc(100vh - 76px));
  padding: 0;
  overflow: hidden;
  color: var(--hero-ink);
  background: #1a1212;
}
.tts-hero__poster,
.tts-hero__video,
.tts-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.tts-hero__poster { z-index: 0; display: block; background: #241718; }
.tts-hero__poster img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tts-hero__video { z-index: 1; display: block; object-fit: cover; object-position: center; opacity: 0; transition: opacity 700ms ease; }
.tts-hero #home-hero-video { opacity: 0; }
.tts-hero[data-state="playing"] #home-hero-video,
.tts-hero[data-state="paused"] #home-hero-video { opacity: 1; filter: none; }
.tts-hero__shade {
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(3,10,27,.04) 0%, rgba(3,10,27,0) 55%, rgba(3,10,27,.48) 100%);
}
.tts-hero__shade:before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(4,11,28,.10) 0%, rgba(4,11,28,.18) 42%, rgba(4,11,28,.74) 70%, rgba(4,11,28,.91) 100%), linear-gradient(0deg, rgba(4,11,28,.48), transparent 34%);
  opacity: 1;
}
.tts-hero__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: min(100% - 48px, 620px);
  min-height: min(850px, calc(100vh - 76px));
  margin-left: auto;
  margin-right: clamp(28px, 8vw, 12%);
  padding: 84px 0 78px;
  text-align: left;
}
.tts-hero__eyebrow {
  margin: 0 0 20px;
  color: #f1c978;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .2em;
  line-height: 1.2;
}
.tts-hero__eyebrow:before { display: inline-block; width: 28px; height: 1px; margin: 0 11px 4px 0; content: ""; background: currentColor; }
.tts-hero h1 {
  max-width: 620px;
  margin: 0;
  color: #fffaf2;
  font-size: clamp(44px, 5.3vw, 76px);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.01;
  text-shadow: 0 3px 24px rgba(0,0,0,.3);
}
.tts-hero__support {
  max-width: 510px;
  margin: 24px 0 0;
  color: rgba(255,250,242,.86);
  font-size: 16px;
  line-height: 1.6;
}
.tts-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 31px; }
.tts-hero__primary { min-height: 58px; border-radius: 999px; font-size: 14px; font-weight: 800; text-decoration: none; transition: background-color 180ms ease; }
.tts-hero__primary { display: inline-flex; align-items: center; padding: 0 29px; color: #fffaf2; background: var(--hero-red); box-shadow: 0 14px 36px rgba(229,43,53,.28); }
.tts-hero__primary:hover, .tts-hero__primary:focus-visible { color: #fff; background: #f0444d; }
.tts-hero__primary:focus-visible { outline: 2px solid #f1c978; outline-offset: 4px; }
.tts-hero__trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 26px; color: rgba(255,250,242,.86); font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.tts-hero__trust span:before { display: inline-block; width: 5px; height: 5px; margin: 0 8px 2px 0; border-radius: 50%; content: ""; background: #f1c978; }
@media (min-width: 768px) and (max-width: 1024px) {
  .tts-hero__content { width: min(48%, 470px); margin-right: 5%; padding-top: 76px; }
  .tts-hero h1 { font-size: clamp(39px, 5.2vw, 54px); }
  .tts-hero__support { font-size: 15px; }
  .tts-hero__actions { gap: 10px; }
  .tts-hero__primary { padding-right: 19px; padding-left: 19px; }
}
@media (max-width: 767px) {
  .tts-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    background: #0b1837;
  }
  .tts-hero__poster {
    position: relative;
    inset: auto;
    display: block;
    flex: 0 0 auto;
    width: 100%;
    height: min(56.25vw, 330px);
    overflow: hidden;
    background: #101c3c;
  }
  .tts-hero__poster img { object-position: center; }
  .tts-hero__video {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 100%;
    height: min(56.25vw, 330px);
    object-fit: cover;
    object-position: center;
  }
  .tts-hero__shade {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: min(56.25vw, 330px);
    background: linear-gradient(180deg, rgba(3,10,27,.12), rgba(3,10,27,.22));
  }
  .tts-hero__shade:before { display: none; }
  .tts-hero__content {
    justify-content: flex-start;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 26px 22px 30px;
    background: #0b1837;
  }
  .tts-hero h1 { max-width: 560px; font-size: clamp(34px, 9.2vw, 44px); letter-spacing: -.045em; }
  .tts-hero__support { max-width: 520px; margin-top: 12px; font-size: 15px; line-height: 1.5; }
  .tts-hero__actions { width: 100%; max-width: 520px; margin-top: 17px; gap: 10px; }
  .tts-hero__primary { width: 100%; justify-content: center; }
  .tts-hero__trust { display: flex; gap: 8px 14px; margin-top: 15px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .tts-hero__video { transition: none; }
}

.banner-content {
    background-color: #111;
    overflow: hidden;
  }

  #home-hero-video {
    opacity: 1;
    visibility: visible;
    transition: opacity 180ms ease-in;
  }

  #home-hero-video.is-ready {
    opacity: 1;
    visibility: visible;
  }

  .banner-content.hero-loading > .container {
    opacity: 1;
    visibility: visible;
  }

  .banner-content > .container {
    transition: opacity 180ms ease-in;
  }

#santa-about {
      --santa-red: #9f2633;
      --santa-red-dark: #751d2a;
      --santa-evergreen: #164d43;
      --santa-gold: #c9983e;
      --santa-ink: #17323d;
      --santa-blue: #e8f3f7;
      position: relative;
      isolation: isolate;
      overflow: hidden;
      scroll-margin-top: 92px;
      padding: 84px 0 96px;
      background:
        radial-gradient(ellipse at 74% 37%, rgba(159,38,51,.20), transparent 28%),
        radial-gradient(ellipse at 78% 42%, rgba(201,152,62,.28), transparent 38%),
        radial-gradient(ellipse at 8% 88%, rgba(22,77,67,.18), transparent 31%),
        radial-gradient(ellipse at 46% 3%, rgba(255,255,255,.68), transparent 34%),
        linear-gradient(116deg, #cfe9f3 0%, #e8f4f7 31%, #f7f0df 57%, #ead6c6 78%, #d7e8e1 100%);
      background-size: 130% 130%, 120% 120%, 140% 140%, 130% 130%, 180% 180%;
      animation: santa-sky-drift 22s ease-in-out infinite alternate;
    }
    #santa-about:before,
    #santa-about:after {
      position: absolute;
      z-index: 0;
      content: "";
      pointer-events: none;
    }
    #santa-about:before {
      inset: 0;
      background:
        radial-gradient(circle at 76% 38%, rgba(159,38,51,.20), transparent 21%),
        radial-gradient(circle at 73% 39%, rgba(255,194,77,.30), transparent 36%),
        radial-gradient(ellipse at 20% 19%, rgba(255,255,255,.76), transparent 31%),
        linear-gradient(108deg, rgba(61,145,185,.12), transparent 38%, rgba(237,190,94,.13) 70%, transparent);
      filter: blur(20px);
      animation: santa-warmth 18s ease-in-out infinite alternate;
    }
    #santa-about:after {
      left: 0;
      right: 0;
      bottom: 0;
      height: 34%;
      background:
        linear-gradient(146deg, transparent 0 12%, rgba(22,77,67,.13) 12.2% 12.6%, transparent 12.8% 100%),
        linear-gradient(34deg, transparent 0 86%, rgba(22,77,67,.11) 86.2% 86.6%, transparent 86.8% 100%);
      clip-path: polygon(0 100%, 0 78%, 5% 67%, 10% 80%, 15% 58%, 21% 82%, 28% 64%, 35% 86%, 42% 69%, 50% 88%, 58% 64%, 66% 83%, 73% 58%, 80% 82%, 87% 68%, 94% 84%, 100% 62%, 100% 100%);
      opacity: .68;
    }
    #santa-about .santa-about-atmosphere {
      position: absolute;
      z-index: 0;
      inset: 0;
      overflow: hidden;
      pointer-events: none;
    }
    #santa-about .santa-about-atmosphere:before,
    #santa-about .santa-about-atmosphere:after {
      position: absolute;
      content: "";
      pointer-events: none;
    }
    #santa-about .santa-about-atmosphere:before {
      inset: 0;
      opacity: .72;
      background-image:
        radial-gradient(circle, rgba(255,255,255,.96) 0 1.4px, transparent 2.2px),
        radial-gradient(circle, rgba(255,255,255,.82) 0 2.2px, transparent 3.2px),
        radial-gradient(circle, rgba(201,152,62,.92) 0 1.2px, transparent 2.2px),
        radial-gradient(circle, rgba(255,255,255,.62) 0 3px, transparent 4.5px);
      background-position: 7% 13%, 46% 5%, 80% 29%;
      background-size: 137px 151px, 211px 183px, 173px 197px, 293px 257px;
      animation: santa-snow 14s linear infinite;
    }
    #santa-about .santa-about-atmosphere:after {
      top: 4px;
      left: 4%;
      width: 92%;
      height: 30px;
      opacity: .9;
      background:
        linear-gradient(178deg, transparent 45%, rgba(22,77,67,.34) 47% 50%, transparent 52%),
        radial-gradient(circle at 3% 55%, #edc56e 0 3px, rgba(237,197,110,.42) 4px, transparent 11px),
        radial-gradient(circle at 14% 55%, #ba3b49 0 3px, rgba(186,59,73,.35) 4px, transparent 11px),
        radial-gradient(circle at 27% 55%, #287064 0 3px, rgba(40,112,100,.3) 4px, transparent 11px),
        radial-gradient(circle at 40% 55%, #edc56e 0 3px, rgba(237,197,110,.42) 4px, transparent 11px),
        radial-gradient(circle at 53% 55%, #ba3b49 0 3px, rgba(186,59,73,.35) 4px, transparent 11px),
        radial-gradient(circle at 66% 55%, #287064 0 3px, rgba(40,112,100,.3) 4px, transparent 11px),
        radial-gradient(circle at 79% 55%, #edc56e 0 3px, rgba(237,197,110,.42) 4px, transparent 11px),
        radial-gradient(circle at 92% 55%, #ba3b49 0 3px, rgba(186,59,73,.35) 4px, transparent 11px);
      animation: santa-lights 3.8s ease-in-out infinite alternate;
    }
    #santa-about .santa-about-atmosphere span {
      position: absolute;
      display: block;
      pointer-events: none;
    }
    #santa-about .santa-atmosphere-stars {
      inset: 0;
      opacity: .82;
      background:
        radial-gradient(circle at 21% 31%, rgba(201,152,62,.95) 0 1px, transparent 2px),
        radial-gradient(circle at 37% 14%, rgba(255,255,255,.9) 0 1px, transparent 2px),
        radial-gradient(circle at 61% 22%, rgba(201,152,62,.9) 0 1px, transparent 2px),
        radial-gradient(circle at 91% 18%, rgba(255,255,255,.9) 0 1px, transparent 2px),
        radial-gradient(circle at 82% 76%, rgba(201,152,62,.85) 0 1px, transparent 2px);
      animation: santa-twinkle 4.6s ease-in-out infinite;
    }
    #santa-about .santa-atmosphere-snow {
      top: 17%;
      right: 13%;
      width: 260px;
      height: 310px;
      opacity: .72;
      background-image:
        radial-gradient(circle, rgba(255,255,255,.98) 0 2px, transparent 3px),
        radial-gradient(circle, rgba(255,227,165,.92) 0 1.5px, transparent 3px);
      background-size: 49px 63px, 71px 87px;
      filter: blur(.2px);
      animation: santa-float-snow 11s ease-in-out infinite alternate;
    }
    #santa-about .santa-atmosphere-pines {
      left: -12px;
      bottom: -4px;
      width: 190px;
      height: 135px;
      opacity: .38;
      background:
        linear-gradient(135deg, transparent 48%, #164d43 49% 53%, transparent 54%) 8px 15px/46px 82px,
        linear-gradient(45deg, transparent 48%, #164d43 49% 53%, transparent 54%) 8px 15px/46px 82px;
      transform: skewX(-8deg);
    }
    #santa-about .santa-atmosphere-pines:after {
      position: absolute;
      right: -110px;
      bottom: -4px;
      width: 190px;
      height: 135px;
      content: "";
      opacity: .8;
      background: inherit;
      transform: scaleX(-1);
    }
    #santa-about .santa-atmosphere-landscape {
      left: 0;
      right: 0;
      bottom: -1px;
      height: 105px;
      opacity: .4;
      background:
        radial-gradient(ellipse at 10% 102%, rgba(255,255,255,.9) 0 24%, transparent 25%),
        radial-gradient(ellipse at 39% 108%, rgba(255,255,255,.82) 0 31%, transparent 32%),
        radial-gradient(ellipse at 75% 106%, rgba(255,255,255,.86) 0 29%, transparent 30%),
        radial-gradient(ellipse at 104% 102%, rgba(255,255,255,.88) 0 28%, transparent 29%),
        linear-gradient(150deg, transparent 0 42%, rgba(72,123,130,.18) 43% 53%, transparent 54%) 68% 6px/180px 80px no-repeat;
    }
    #santa-about .santa-atmosphere-landscape:before,
    #santa-about .santa-atmosphere-landscape:after {
      position: absolute;
      bottom: 13px;
      content: "";
    }
    #santa-about .santa-atmosphere-landscape:before {
      left: 15%;
      width: 66px;
      height: 42px;
      border-radius: 3px 3px 0 0;
      background: rgba(22,77,67,.24);
      box-shadow: 8px -27px 0 -3px rgba(159,38,51,.22), 36px 8px 0 -10px rgba(22,77,67,.22);
      clip-path: polygon(0 28%, 50% 0, 100% 28%, 100% 100%, 0 100%);
    }
    #santa-about .santa-atmosphere-landscape:after {
      right: 8%;
      width: 180px;
      height: 85px;
      background: rgba(22,77,67,.32);
      clip-path: polygon(3% 100%, 14% 50%, 25% 100%, 38% 21%, 51% 100%, 65% 42%, 76% 100%, 89% 8%, 100% 100%);
    }
    #santa-about .santa-atmosphere-sleigh {
      top: 12%;
      right: -150px;
      width: 130px;
      height: 42px;
      opacity: .15;
      color: #164d43;
      animation: santa-sleigh-crossing 34s linear infinite;
    }
    #santa-about .santa-atmosphere-sleigh svg { display: block; width: 100%; height: 100%; fill: currentColor; }
    @keyframes santa-sky-drift { from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0; } to { background-position: 4% -3%, -3% 4%, 3% 1%, -2% 3%, 5% -2%; } }
    @keyframes santa-warmth { from { opacity: .72; transform: translate3d(-1%, 1%, 0) scale(1); } to { opacity: 1; transform: translate3d(2%, -1%, 0) scale(1.04); } }
    @keyframes santa-snow { from { transform: translate3d(0, -3%, 0); } to { transform: translate3d(-2%, 8%, 0); } }
    @keyframes santa-lights { from { opacity: .45; } to { opacity: .88; } }
    @keyframes santa-twinkle { 0%, 100% { opacity: .3; transform: scale(.98); } 50% { opacity: .82; transform: scale(1.02); } }
    @keyframes santa-float-snow { from { transform: translate3d(0, -8px, 0); } to { transform: translate3d(-10px, 12px, 0); } }
    @keyframes santa-sleigh-crossing { from { transform: translate3d(0, 4px, 0); } to { transform: translate3d(calc(-100vw - 300px), -18px, 0); } }
    #santa-about .santa-about-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr);
      grid-template-areas:
        "copy visual"
        "features visual"
        "cta visual";
      align-items: center;
      column-gap: clamp(42px, 7vw, 112px);
      row-gap: 24px;
      position: relative;
      z-index: 1;
    }
    #santa-about .santa-about-copy { grid-area: copy; }
    #santa-about .santa-about-label {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      margin: 0 0 18px;
      color: var(--santa-red);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .2em;
      line-height: 1.3;
      text-transform: uppercase;
    }
    #santa-about .santa-about-label:before {
      width: 28px;
      height: 2px;
      content: "";
      background: var(--santa-gold);
      box-shadow: 7px 0 0 rgba(201,152,62,.22);
    }
    #santa-about h2 {
      max-width: 600px;
      margin: 0;
      color: var(--santa-ink);
      font-size: clamp(35px, 4.6vw, 64px);
      font-weight: 800;
      letter-spacing: -.045em;
      line-height: .99;
    }
    #santa-about .santa-about-intro {
      max-width: 585px;
      margin: 22px 0 0;
      color: #3e5962;
      font-size: clamp(16px, 1.35vw, 19px);
      line-height: 1.65;
    }
    #santa-about .santa-about-note {
      display: inline-block;
      max-width: 500px;
      margin: 18px 0 0;
      padding: 12px 16px;
      border-left: 3px solid var(--santa-gold);
      color: var(--santa-evergreen);
      font-size: 14px;
      font-weight: 600;
      line-height: 1.55;
      background: rgba(255,255,255,.54);
    }
    #santa-about .santa-about-visual {
      position: relative;
      grid-area: visual;
      min-height: 480px;
      display: grid;
      place-items: center;
    }
    #santa-about .santa-about-visual:before {
      position: absolute;
      inset: 8% 3% 5%;
      content: "";
      border-radius: 42% 42% 25% 25%;
      background: radial-gradient(circle, rgba(255,255,255,.98) 0 30%, rgba(255,255,255,.28) 62%, transparent 72%);
      filter: blur(10px);
    }
    #santa-about .santa-about-frame {
      position: relative;
      z-index: 1;
      width: min(100%, 505px);
      padding: clamp(17px, 2.2vw, 28px);
      border: 1px solid rgba(201,152,62,.55);
      border-radius: 28px;
      background: linear-gradient(150deg, rgba(255,255,255,.94), rgba(232,243,247,.78));
      box-shadow: 0 25px 50px rgba(23,50,61,.16), 0 0 0 8px rgba(255,255,255,.34), 0 0 42px rgba(201,152,62,.2);
      transform: rotate(1.5deg);
    }
    #santa-about .santa-about-frame:before {
      position: absolute;
      inset: 10px;
      content: "";
      border: 1px solid rgba(159,38,51,.17);
      border-radius: 20px;
      pointer-events: none;
    }
    #santa-about .santa-about-frame img {
      position: relative;
      z-index: 1;
      display: block;
      width: 100%;
      height: auto;
      border-radius: 17px;
      filter: drop-shadow(0 14px 12px rgba(23,50,61,.15));
    }
    #santa-about .santa-about-tag {
      position: absolute;
      z-index: 2;
      right: -21px;
      bottom: 28px;
      max-width: 180px;
      padding: 12px 16px;
      border: 1px solid rgba(201,152,62,.45);
      border-radius: 14px 14px 4px 14px;
      color: var(--santa-evergreen);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .05em;
      line-height: 1.35;
      background: #fffdf8;
      box-shadow: 0 12px 24px rgba(23,50,61,.13);
    }
    #santa-about .santa-about-tag:after {
      position: absolute;
      top: -7px;
      right: 24px;
      width: 12px;
      height: 12px;
      content: "";
      border-top: 1px solid rgba(201,152,62,.45);
      border-left: 1px solid rgba(201,152,62,.45);
      background: #fffdf8;
      transform: rotate(45deg);
    }
    #santa-about .santa-about-features {
      display: grid;
      grid-area: features;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 11px;
      max-width: 650px;
    }
    #santa-about .santa-feature {
      display: flex;
      align-items: center;
      gap: 12px;
      min-height: 68px;
      padding: 11px 13px;
      border: 1px solid rgba(22,77,67,.12);
      border-radius: 13px;
      background: rgba(255,255,255,.68);
      box-shadow: 0 7px 17px rgba(23,50,61,.05);
      transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
    }
    #santa-about .santa-feature:hover {
      border-color: rgba(159,38,51,.3);
      box-shadow: 0 12px 24px rgba(23,50,61,.11);
      transform: translateY(-3px);
    }
    #santa-about .santa-feature-icon {
      display: grid;
      flex: 0 0 34px;
      place-items: center;
      width: 34px;
      height: 34px;
      border-radius: 10px;
      color: var(--santa-red);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: -.03em;
      background: #fae8e7;
    }
    #santa-about .santa-feature:nth-child(2) .santa-feature-icon,
    #santa-about .santa-feature:nth-child(4) .santa-feature-icon { color: var(--santa-evergreen); background: #e3f0ec; }
    #santa-about .santa-feature:nth-child(3) .santa-feature-icon { color: #936c1b; background: #f7edd0; }
    #santa-about .santa-feature-title {
      color: var(--santa-ink);
      font-size: 13px;
      font-weight: 800;
      line-height: 1.25;
    }
    #santa-about .santa-about-cta {
      display: inline-flex;
      grid-area: cta;
      align-items: center;
      justify-content: center;
      gap: 12px;
      min-height: 52px;
      padding: 14px 24px;
      border: 0;
      border-radius: 999px;
      color: #fffdf8;
      font-size: 14px;
      font-weight: 800;
      letter-spacing: .03em;
      text-decoration: none;
      background: var(--santa-red);
      box-shadow: 0 10px 22px rgba(159,38,51,.22), inset 0 -2px 0 rgba(0,0,0,.12);
      transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
    }
    #santa-about .santa-about-cta:after {
      width: 8px;
      height: 8px;
      content: "";
      border-top: 2px solid currentColor;
      border-right: 2px solid currentColor;
      transform: rotate(45deg);
    }
    #santa-about .santa-about-cta:hover,
    #santa-about .santa-about-cta:focus-visible {
      color: #fff;
      background: var(--santa-red-dark);
      box-shadow: 0 13px 28px rgba(159,38,51,.3), 0 0 0 4px rgba(201,152,62,.22);
      transform: translateY(-3px);
    }
    #santa-about .santa-about-cta:focus-visible { outline: 2px solid var(--santa-gold); outline-offset: 3px; }
    @media (max-width: 991px) {
      #santa-about { padding: 66px 0 74px; }
      #santa-about .santa-about-grid { column-gap: 34px; grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); }
      #santa-about .santa-about-visual { min-height: 390px; }
      #santa-about .santa-feature { min-height: 62px; }
    }
    @media (max-width: 767px) {
      #santa-about {
        padding: 58px 0 64px;
        animation-duration: 32s;
      }
      #santa-about .santa-about-atmosphere:before {
        opacity: .32;
        background-size: 191px 211px, 277px 239px, 227px 251px;
        animation-duration: 24s;
      }
      #santa-about .santa-about-atmosphere:after {
        left: 2%;
        width: 96%;
        opacity: .52;
      }
      #santa-about .santa-atmosphere-snow {
        top: 22%;
        right: 0;
        width: 150px;
        height: 210px;
        opacity: .28;
        background-size: 67px 81px;
        animation-duration: 16s;
      }
      #santa-about .santa-atmosphere-stars { opacity: .4; }
      #santa-about .santa-atmosphere-pines { opacity: .16; transform: scale(.72) skewX(-8deg); transform-origin: left bottom; }
      #santa-about .santa-atmosphere-landscape { height: 78px; opacity: .25; }
      #santa-about .santa-atmosphere-sleigh { display: none; }
      #santa-about .santa-about-grid {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 25px;
      }
      #santa-about .santa-about-copy { order: 1; }
      #santa-about .santa-about-visual { order: 2; min-height: 0; margin: 2px 12px 4px; }
      #santa-about .santa-about-features { order: 3; }
      #santa-about .santa-about-cta { order: 4; align-self: flex-start; width: auto; }
      #santa-about .santa-about-tag { right: -10px; bottom: 18px; }
    }
    @media (max-width: 430px) {
      #santa-about .santa-about-features { grid-template-columns: 1fr; }
      #santa-about .santa-about-cta { width: 100%; }
      #santa-about .santa-about-frame { padding: 14px; }
      #santa-about .santa-about-tag { right: -5px; max-width: 155px; font-size: 11px; }
    }
    @media (prefers-reduced-motion: reduce) {
      #santa-about,
      #santa-about:before,
      #santa-about .santa-about-atmosphere:before,
      #santa-about .santa-about-atmosphere:after,
      #santa-about .santa-atmosphere-stars,
      #santa-about .santa-atmosphere-snow,
      #santa-about .santa-atmosphere-sleigh { animation: none; }
      #santa-about .santa-feature,
      #santa-about .santa-about-cta { transition: none; }
      #santa-about .santa-about-frame { transform: none; }
    }

.santa-offers { --midnight:#101b3b; --ink:#162344; --evergreen:#12483f; --red:#a52f3c; --gold:#d4a84c; position:relative; overflow:hidden; padding:clamp(72px,8vw,118px) 0 clamp(80px,9vw,130px); color:#fff8ec; background:radial-gradient(circle at 15% 13%,rgba(212,168,76,.2),transparent 24%),radial-gradient(circle at 88% 30%,rgba(165,47,60,.35),transparent 29%),linear-gradient(130deg,#0d1836 0%,#172751 45%,#4b172d 100%); }
    .santa-offers:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.58; background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(212,168,76,.8) 0 1px,transparent 2px); background-size:127px 151px,191px 203px; animation:santa-offer-snow 17s linear infinite; }
    .santa-offers:after { content:""; position:absolute; left:-5%; right:-5%; bottom:-2px; height:100px; background:linear-gradient(164deg,transparent 0 46%,rgba(255,248,236,.1) 47% 58%,transparent 59%),linear-gradient(18deg,transparent 0 53%,rgba(255,248,236,.08) 54% 68%,transparent 69%); clip-path:polygon(0 64%,10% 50%,20% 68%,31% 42%,41% 64%,53% 38%,63% 64%,75% 45%,87% 67%,100% 48%,100% 100%,0 100%); }
    .santa-offers .santa-offers-head, .santa-offers .santa-offer-grid { position:relative; z-index:1; }
    .santa-offers-head { max-width:720px; margin:0 auto 44px; text-align:center; }
    .santa-offers-kicker { display:inline-flex; align-items:center; gap:10px; margin:0 0 15px; color:#f2ca72; font-size:11px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
    .santa-offers-kicker:before,.santa-offers-kicker:after { content:""; width:27px; height:1px; background:#d4a84c; }
    .santa-offers h2 { margin:0; color:#fff8ec; font-size:clamp(34px,5vw,62px); font-weight:800; letter-spacing:-.045em; line-height:1; }
    .santa-offers-lede { max-width:600px; margin:19px auto 0; color:rgba(255,248,236,.76); font-size:16px; line-height:1.65; }
    .santa-offers-trust { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin:23px 0 0; }
    .santa-offers-trust span { padding:7px 12px; border:1px solid rgba(242,202,114,.3); border-radius:99px; color:#ffe5a4; font-size:11px; font-weight:700; letter-spacing:.04em; background:rgba(255,255,255,.06); }
    .santa-offer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:stretch; }
    .santa-offer-card { position:relative; display:flex; flex-direction:column; min-width:0; height:100%; padding:10px; border:1px solid rgba(242,202,114,.38); border-radius:24px; background:linear-gradient(160deg,rgba(255,253,246,.99),rgba(236,243,238,.98)); box-shadow:0 19px 35px rgba(4,12,34,.27),inset 0 0 0 1px rgba(255,255,255,.78); color:var(--ink); transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease; }
    .santa-offer-card:hover { border-color:#f2ca72; box-shadow:0 27px 46px rgba(4,12,34,.38),0 0 25px rgba(212,168,76,.16); transform:translateY(-8px); }
    .santa-offer-card.is-featured { border-color:#f2ca72; background:linear-gradient(160deg,#fffdf5,#e9f2ed); box-shadow:0 27px 52px rgba(4,12,34,.42),0 0 36px rgba(212,168,76,.25); transform:scale(1.012); }
    .santa-offer-card.is-featured:hover { transform:scale(1.012) translateY(-8px); }
    .santa-offer-ribbon { position:absolute; top:22px; right:22px; z-index:3; padding:7px 13px; border:1px solid rgba(242,202,114,.72); border-radius:999px; color:#fff8ec; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; background:var(--red); box-shadow:0 5px 12px rgba(73,13,24,.28); }
    .santa-offer-ribbon:after { content:""; position:absolute; right:10px; bottom:-4px; width:7px; height:7px; background:#f2ca72; transform:rotate(45deg); }
    .santa-offer-media { position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; border:1px solid rgba(212,168,76,.42); border-radius:17px 17px 13px 13px; background:#d8e7eb; box-shadow:inset 0 0 0 1px rgba(255,255,255,.48),0 8px 18px rgba(22,35,68,.13); }
    .santa-offer-media:before { content:""; position:absolute; z-index:2; inset:8px; border:1px solid rgba(255,248,236,.55); border-radius:11px; pointer-events:none; }
    .santa-offer-media:after { content:""; position:absolute; z-index:2; left:18px; bottom:13px; width:28px; height:2px; border-radius:4px; background:#e4bd64; box-shadow:0 0 10px rgba(212,168,76,.8); }
    .santa-offer-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 280ms ease; }
    .santa-offer-card:hover .santa-offer-media img { transform:scale(1.035); }
    .santa-offer-body { display:flex; flex:1; flex-direction:column; padding:25px 18px 15px; }
    .santa-offer-tag { min-height:12px; margin:0 0 11px; color:var(--red); font-size:9px; font-weight:800; letter-spacing:.15em; line-height:1.3; text-transform:uppercase; }
    .santa-offer-card h3 { display:-webkit-box; overflow:hidden; min-height:44px; margin:0 0 14px; color:var(--ink); font-size:20px; font-weight:800; letter-spacing:-.035em; line-height:1.1; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .santa-offer-subtitle { min-height:36px; margin:0 0 13px; color:var(--evergreen); font-size:14px; font-weight:700; line-height:1.28; }
    .santa-offer-description { min-height:59px; margin:0 0 19px; color:#586575; font-size:12px; line-height:1.55; }
    .santa-offer-benefits { display:flex; flex-direction:column; gap:9px; min-height:79px; margin:0 0 20px; padding:0; list-style:none; color:#344355; font-size:11px; line-height:1.4; }
    .santa-offer-benefits li { display:flex; align-items:flex-start; gap:8px; }
    .santa-offer-benefits li:before { flex:0 0 6px; width:6px; height:6px; margin-top:5px; border-radius:50%; content:""; background:var(--gold); }
    .santa-offer-body > span[aria-hidden="true"] { flex:1 1 auto; min-height:4px; }
    .santa-offer-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:15px; border-top:1px solid rgba(22,35,68,.13); }
    .santa-offer-price-label { display:block; margin-bottom:2px; color:#76808c; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
    .santa-offer-price { color:var(--ink); font-size:25px; font-weight:850; letter-spacing:-.04em; line-height:1; }
    .santa-offer-price.is-copy { display:block; max-width:112px; font-size:13px; letter-spacing:-.01em; line-height:1.18; }
    .santa-offer-cta { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; min-width:91px; min-height:43px; padding:11px 15px; border-radius:99px; color:#fffaf0; font-size:10px; font-weight:800; letter-spacing:.06em; text-align:center; text-decoration:none; text-transform:uppercase; background:var(--red); box-shadow:0 7px 13px rgba(165,47,60,.24); transition:transform 180ms ease,background-color 180ms ease,box-shadow 180ms ease; }
    .santa-offer-cta:before { content:""; position:absolute; top:0; bottom:0; left:-55%; width:35%; transform:skewX(-22deg); background:rgba(255,255,255,.32); transition:left 350ms ease; }
    .santa-offer-cta:hover,.santa-offer-cta:focus-visible { color:#fff; background:#7f2433; box-shadow:0 10px 18px rgba(165,47,60,.36); transform:translateY(-2px); }
    .santa-offer-cta:hover:before { left:120%; }
    .santa-offer-cta:focus-visible { outline:2px solid #f2ca72; outline-offset:3px; }
    @keyframes santa-offer-snow { from { background-position:0 0,0 0; } to { background-position:-22px 170px,31px 203px; } }
    @media (max-width:1100px) { .santa-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:790px; margin:0 auto; } .santa-offer-card.is-featured { transform:none; } .santa-offer-card.is-featured:hover { transform:translateY(-8px); } .santa-offer-body { padding:28px 25px 18px; } }
    @media (max-width:575px) { .santa-offers { padding:65px 0 78px; } .santa-offers-head { margin-bottom:31px; } .santa-offers-lede { font-size:14px; } .santa-offer-grid { grid-template-columns:1fr; gap:16px; padding:0 8px; } .santa-offer-body { padding:25px 20px 16px; } .santa-offer-card h3 { min-height:0; font-size:23px; } .santa-offer-subtitle,.santa-offer-description,.santa-offer-benefits { min-height:0; } .santa-offer-bottom { flex-wrap:wrap; margin-top:8px; } .santa-offer-cta { flex:1 0 100%; width:100%; margin-top:5px; } }
    @media (prefers-reduced-motion:reduce) { .santa-offers:before { animation:none; } .santa-offer-card,.santa-offer-media img,.santa-offer-cta { transition:none; } }

#testimonials.home-section3 {
      position: relative;
      overflow: hidden;
      scroll-margin-top: 92px;
      padding: 88px 0 96px;
      background-color: #f5eee3;
      background-position: center;
      background-size: cover;
    }
    #testimonials.home-section3:before {
      position: absolute;
      inset: 0;
      content: "";
      background: linear-gradient(112deg, rgba(245,238,227,.98) 0%, rgba(245,238,227,.9) 54%, rgba(245,238,227,.76) 100%);
    }
    #testimonials .testimonial-heading,
    #testimonials .testimonial-stage {
      position: relative;
      z-index: 1;
    }
    #testimonials .testimonial-heading {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 28px;
      margin-bottom: 34px;
    }
    #testimonials .testimonial-kicker {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 11px;
      color: #a92f36;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .2em;
      line-height: 1.3;
      text-transform: uppercase;
    }
    #testimonials .testimonial-kicker:before {
      width: 28px;
      height: 2px;
      content: "";
      background: #c49a38;
    }
    #testimonials .testimonial-heading h2 {
      max-width: 630px;
      margin: 0;
      color: #171836;
      font-size: clamp(30px, 4vw, 49px);
      font-weight: 800;
      letter-spacing: -.035em;
      line-height: 1.04;
    }
    #testimonials .testimonial-heading p {
      max-width: 265px;
      margin: 0 0 3px;
      color: #5d5a62;
      font-size: 14px;
      line-height: 1.6;
    }
    #testimonials .testimonial-controls {
      display: flex;
      flex: 0 0 auto;
      gap: 9px;
      margin-bottom: 3px;
    }
    #testimonials .testimonial-control {
      position: relative;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 1px solid rgba(23,24,54,.2);
      border-radius: 50%;
      background: rgba(255,253,250,.72);
      color: #171836;
      cursor: pointer;
      transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
    }
    #testimonials .testimonial-control:before {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 9px;
      height: 9px;
      content: "";
      border-left: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: translate(-35%, -50%) rotate(45deg);
    }
    #testimonials .testimonial-control.next:before {
      transform: translate(-65%, -50%) rotate(225deg);
    }
    #testimonials .testimonial-control:hover,
    #testimonials .testimonial-control:focus-visible {
      border-color: #a92f36;
      background: #a92f36;
      color: #fffdf9;
      outline: none;
      transform: translateY(-2px);
    }
    #testimonials .testimonial-control:focus-visible {
      box-shadow: 0 0 0 3px #f5eee3, 0 0 0 5px #c49a38;
    }
    #testimonials .testimonial-scroll {
      display: flex;
      flex-wrap: nowrap;
      gap: 22px;
      margin: 0;
      padding: 8px 3px 18px;
      overflow-x: auto;
      scroll-behavior: smooth;
      scrollbar-width: none;
    }
    #testimonials .testimonial-scroll::-webkit-scrollbar { display: none; }
    #testimonials .testimonial-scroll > .testimonial-item {
      flex: 0 0 calc((100% - 44px) / 3);
      min-width: 0;
      padding: 0;
    }
    #testimonials .testimonial-card {
      position: relative;
      display: flex;
      flex-direction: column;
      min-height: 282px;
      padding: 31px 29px 27px;
      overflow: hidden;
      border: 1px solid rgba(23,24,54,.11);
      border-radius: 4px;
      background: rgba(255,253,249,.94);
      box-shadow: 0 14px 30px rgba(23,24,54,.08);
      transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
    }
    #testimonials .testimonial-card:before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 4px;
      content: "";
      background: #a92f36;
      transform: scaleX(.28);
      transform-origin: left;
      transition: transform 220ms ease;
    }
    #testimonials .testimonial-card:after {
      position: absolute;
      top: 12px;
      right: 23px;
      content: "“";
      color: rgba(196,154,56,.22);
      font-family: Georgia, serif;
      font-size: 82px;
      line-height: 1;
    }
    #testimonials .testimonial-card:hover {
      border-color: rgba(169,47,54,.42);
      box-shadow: 0 20px 38px rgba(23,24,54,.14);
      transform: translateY(-5px);
    }
    #testimonials .testimonial-card:hover:before { transform: scaleX(1); }
    #testimonials .testimonial-card .testimonial-name {
      position: relative;
      z-index: 1;
      margin: 0 0 18px;
      color: #171836;
      font-size: 17px;
      font-weight: 800;
      letter-spacing: -.01em;
    }
    #testimonials .testimonial-card .testimonial-comment {
      position: relative;
      z-index: 1;
      flex: 1;
      margin: 0 0 24px;
      color: #484752;
      font-size: 15px;
      line-height: 1.68;
    }
    #testimonials .testimonial-card .testimonial-stars {
      display: flex;
      gap: 4px;
      align-items: center;
      padding-top: 17px;
      border-top: 1px solid rgba(23,24,54,.1);
    }
    #testimonials .testimonial-stars img {
      width: 15px;
      height: 15px;
      object-fit: contain;
    }
    #testimonials .testimonial-stars-label {
      margin-left: 7px;
      color: #7a6a45;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    @media (max-width: 991px) {
      #testimonials .testimonial-scroll > .testimonial-item { flex-basis: calc((100% - 22px) / 2); }
    }
    @media (max-width: 767px) {
      #testimonials.home-section3 { padding: 62px 0 70px; }
      #testimonials .testimonial-heading { display: block; margin-bottom: 24px; }
      #testimonials .testimonial-heading p { max-width: 330px; margin-top: 15px; }
      #testimonials .testimonial-controls { margin-top: 22px; }
      #testimonials .testimonial-scroll { gap: 14px; padding-right: 20px; }
      #testimonials .testimonial-scroll > .testimonial-item { flex-basis: calc(100% - 18px); }
      #testimonials .testimonial-card { min-height: 265px; padding: 27px 23px 23px; }
    }
    @media (prefers-reduced-motion: reduce) {
      #testimonials .testimonial-scroll { scroll-behavior: auto; }
      #testimonials .testimonial-card,
      #testimonials .testimonial-control { transition: none; }
    }

/* A quiet editorial treatment for publication proof. The logo artwork stays
       untouched; each mark gets the same generous stage to prevent cropping. */
    #featured-in.home-section4 {
      position: relative;
      overflow: hidden;
      scroll-margin-top: 92px;
      padding: 74px 0 78px;
      background-color: #f8f2ee;
      background-position: left center;
      background-size: auto 100%;
    }
    #featured-in .featured-intro {
      position: relative;
      padding-left: 25px;
    }
    #featured-in .featured-intro:before {
      content: "";
      position: absolute;
      left: 0;
      top: 5px;
      width: 4px;
      height: 72px;
      border-radius: 4px;
      background: #b3262d;
    }
    #featured-in .featured-kicker {
      display: block;
      margin-bottom: 9px;
      color: #b3262d;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .22em;
      line-height: 1.4;
    }
    #featured-in .featured-title {
      margin: 0;
      color: #171836;
      font-size: clamp(26px, 3vw, 39px);
      font-weight: 800;
      letter-spacing: -.025em;
      line-height: 1.04;
    }
    #featured-in .featured-caption {
      max-width: 245px;
      margin: 14px 0 0;
      color: #64616a;
      font-size: 14px;
      line-height: 1.55;
    }
    #featured-in .featured-stage {
      position: relative;
      padding: 0 48px;
    }
    #featured-in .featured-publications-slider {
      margin: 0;
    }
    #featured-in .featured-publications-slider .box {
      padding: 0 9px;
      outline: none;
    }
    #featured-in .featured-publications-slider .image-container {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 136px;
      padding: 16px 18px;
      overflow: hidden;
      border: 1px solid rgba(23, 24, 54, .12);
      border-radius: 4px;
      background: rgba(255, 253, 250, .9);
      box-shadow: 0 12px 28px rgba(23, 24, 54, .07);
      transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    }
    #featured-in .featured-publications-slider .image-container:hover,
    #featured-in .featured-publications-slider a:focus-visible .image-container {
      border-color: rgba(179, 38, 45, .55);
      box-shadow: 0 16px 34px rgba(23, 24, 54, .13);
      transform: translateY(-3px);
    }
    #featured-in .featured-publications-slider img {
      display: block;
      width: 100%;
      height: 100%;
      max-width: 150px;
      max-height: 102px;
      object-fit: contain;
    }
    #featured-in .featured-publications-slider a {
      display: block;
      height: 100%;
      border-radius: 4px;
      outline: none;
    }
    #featured-in .featured-publications-slider a:focus-visible {
      box-shadow: 0 0 0 3px #d4a73b, 0 0 0 6px rgba(23, 24, 54, .25);
    }
    #featured-in .featured-arrow {
      position: absolute;
      z-index: 2;
      top: 50%;
      display: block !important;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 1px solid rgba(23, 24, 54, .2);
      border-radius: 50%;
      background: #fffdfa;
      color: #171836;
      font-size: 0;
      opacity: 1 !important;
      visibility: visible !important;
      transform: translateY(-50%);
      transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
    }
    #featured-in .featured-arrow:before {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      padding-bottom: 3px;
      content: "\2039";
      font-family: Arial, sans-serif;
      font-size: 28px;
      font-weight: 400;
      line-height: 1;
    }
    #featured-in .featured-arrow.prev { left: 5px; }
    #featured-in .featured-arrow.next { right: 5px; }
    #featured-in .featured-arrow.next:before { content: "\203A"; }
    #featured-in .featured-arrow:hover,
    #featured-in .featured-arrow:focus-visible {
      border-color: #b3262d;
      background: #b3262d;
      color: #fffdfa;
      outline: none;
      transform: translateY(-50%) scale(1.06);
    }
    #featured-in .slick-track {
      display: flex;
      align-items: center;
    }
    #featured-in .slick-slide { height: auto; }
    #featured-in .slick-dots {
      bottom: -34px;
    }
    #featured-in .slick-dots li { margin: 0 2px; }
    #featured-in .slick-dots li button:before {
      color: #b3262d;
      font-size: 8px;
      opacity: .35;
    }
    #featured-in .slick-dots li.slick-active button:before { opacity: 1; }
    @media (max-width: 767px) {
      #featured-in.home-section4 { padding: 53px 0 69px; }
      #featured-in .featured-intro { margin-bottom: 30px; }
      #featured-in .featured-caption { max-width: 310px; }
      #featured-in .featured-stage { padding: 0 43px; }
      #featured-in .featured-publications-slider .image-container { height: 126px; padding: 16px; }
      #featured-in .featured-publications-slider img { max-height: 92px; }
      #featured-in .featured-arrow { width: 35px; height: 35px; }
      #featured-in .featured-arrow.prev { left: 0; }
      #featured-in .featured-arrow.next { right: 0; }
    }
    @media (prefers-reduced-motion: reduce) {
      #featured-in .featured-publications-slider .image-container,
      #featured-in .featured-arrow { transition: none; }
    }

#santa-fun-things {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      scroll-margin-top: 92px;
      padding: clamp(76px, 9vw, 124px) 0 clamp(78px, 9vw, 128px);
      background-color: #dcecf5;
      background-image:
        linear-gradient(135deg, rgba(242,249,252,.94), rgba(215,235,243,.8)),
        url('/cdn/v1/images/section6-bg.webp');
      background-position: center;
      background-size: cover;
    }
    #santa-fun-things:before,
    #santa-fun-things:after {
      position: absolute;
      z-index: -1;
      content: "";
      pointer-events: none;
    }
    #santa-fun-things:before {
      inset: 0;
      opacity: .68;
      background:
        radial-gradient(circle at 7% 17%, #fff 0 2px, transparent 3px),
        radial-gradient(circle at 17% 72%, #fff 0 3px, transparent 4px),
        radial-gradient(circle at 87% 21%, #fff 0 2px, transparent 3px),
        radial-gradient(circle at 94% 73%, #fff 0 3px, transparent 4px),
        radial-gradient(circle at 75% 88%, rgba(255,255,255,.95) 0 2px, transparent 3px),
        linear-gradient(115deg, transparent 0 22%, rgba(255,255,255,.4) 50%, transparent 76%);
      background-size: auto, auto, auto, auto, auto, 100% 100%;
    }
    #santa-fun-things:after {
      top: -98px;
      left: 50%;
      width: min(720px, 90vw);
      height: 210px;
      border-radius: 50%;
      background: rgba(255,255,255,.64);
      filter: blur(3px);
      transform: translateX(-50%);
    }
    #santa-fun-things .santa-fun-heading {
      position: relative;
      max-width: 720px;
      margin: 0 auto clamp(34px, 5vw, 56px);
      text-align: center;
    }
    #santa-fun-things .santa-fun-heading:before,
    #santa-fun-things .santa-fun-heading:after {
      position: absolute;
      top: 22px;
      width: min(17vw, 170px);
      height: 1px;
      content: "";
      background: linear-gradient(90deg, transparent, rgba(175,126,42,.7));
    }
    #santa-fun-things .santa-fun-heading:before { right: calc(100% + 24px); }
    #santa-fun-things .santa-fun-heading:after {
      left: calc(100% + 24px);
      transform: rotate(180deg);
    }
    #santa-fun-things .santa-fun-label {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      margin-bottom: 13px;
      color: #a82f36;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .22em;
      line-height: 1.3;
      text-transform: uppercase;
    }
    #santa-fun-things .santa-fun-label:before,
    #santa-fun-things .santa-fun-label:after {
      width: 23px;
      height: 2px;
      content: "";
      border-radius: 3px;
      background: #c79b42;
    }
    #santa-fun-things .santa-fun-heading h2 {
      margin: 0;
      color: #173d4b;
      font-size: clamp(37px, 5vw, 66px);
      font-weight: 800;
      letter-spacing: -.055em;
      line-height: .98;
    }
    #santa-fun-things .santa-fun-heading p {
      max-width: 590px;
      margin: 19px auto 0;
      color: #486776;
      font-size: 16px;
      line-height: 1.65;
    }
    #santa-fun-things .santa-fun-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 17px;
      align-items: stretch;
    }
    #santa-fun-things .santa-fun-card {
      position: relative;
      display: flex;
      min-width: 0;
      min-height: 294px;
      overflow: hidden;
      border: 1px solid rgba(29,77,91,.13);
      border-radius: 22px;
      background: rgba(255,253,249,.9);
      box-shadow: 0 16px 32px rgba(38,83,100,.1);
      transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
    }
    #santa-fun-things .santa-fun-card:before {
      position: absolute;
      top: 0;
      right: 19px;
      left: 19px;
      height: 4px;
      content: "";
      border-radius: 0 0 5px 5px;
      background: var(--santa-card-accent, #af3039);
    }
    #santa-fun-things .santa-fun-card:after {
      position: absolute;
      right: -29px;
      bottom: -38px;
      width: 112px;
      height: 112px;
      content: "";
      border: 1px solid rgba(199,155,66,.2);
      border-radius: 50%;
    }
    #santa-fun-things .santa-fun-card:nth-child(2) { --santa-card-accent: #b47b2f; }
    #santa-fun-things .santa-fun-card:nth-child(3) { --santa-card-accent: #ad3039; }
    #santa-fun-things .santa-fun-card:nth-child(4) { --santa-card-accent: #27715f; }
    #santa-fun-things .santa-fun-card:nth-child(5) { --santa-card-accent: #c29135; }
    #santa-fun-things .santa-fun-card:hover,
    #santa-fun-things .santa-fun-card:focus-within {
      border-color: var(--santa-card-accent);
      box-shadow: 0 24px 42px rgba(38,83,100,.18);
      transform: translateY(-8px);
    }
    #santa-fun-things .santa-fun-card a {
      display: flex;
      width: 100%;
      min-height: 294px;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      padding: 28px 16px 24px;
      color: inherit;
      text-align: center;
      text-decoration: none;
    }
    #santa-fun-things .santa-fun-card a:focus-visible {
      outline: 3px solid #c79b42;
      outline-offset: -7px;
      border-radius: 18px;
    }
    #santa-fun-things .santa-fun-art {
      display: grid;
      place-items: center;
      width: 136px;
      height: 136px;
      margin-bottom: 20px;
      padding: 8px;
      border: 1px solid rgba(199,155,66,.28);
      border-radius: 50%;
      background: #fffdfa;
      box-shadow: 0 8px 0 rgba(199,155,66,.1), 0 12px 22px rgba(28,74,88,.11);
      transition: transform 220ms ease;
    }
    #santa-fun-things .santa-fun-card:hover .santa-fun-art,
    #santa-fun-things .santa-fun-card:focus-within .santa-fun-art {
      transform: scale(1.045) rotate(-2deg);
    }
    #santa-fun-things .santa-fun-art img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    #santa-fun-things .santa-fun-card h3 {
      margin: 0 0 8px;
      color: #194451;
      font-size: 18px;
      font-weight: 800;
      letter-spacing: -.02em;
      line-height: 1.15;
    }
    #santa-fun-things .santa-fun-card p {
      margin: 0;
      color: #68818a;
      font-size: 12px;
      line-height: 1.45;
    }
    @media (max-width: 1100px) {
      #santa-fun-things .santa-fun-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
    }
    @media (max-width: 680px) {
      #santa-fun-things { padding: 65px 0 74px; }
      #santa-fun-things .santa-fun-heading:before,
      #santa-fun-things .santa-fun-heading:after { display: none; }
      #santa-fun-things .santa-fun-heading p { padding: 0 13px; font-size: 15px; }
      #santa-fun-things .santa-fun-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
      #santa-fun-things .santa-fun-card { min-height: 255px; border-radius: 17px; }
      #santa-fun-things .santa-fun-card a { min-height: 255px; padding: 21px 10px 17px; }
      #santa-fun-things .santa-fun-art { width: 108px; height: 108px; margin-bottom: 15px; }
      #santa-fun-things .santa-fun-card h3 { font-size: 16px; }
      #santa-fun-things .santa-fun-card p { font-size: 11px; }
    }
    @media (max-width: 390px) {
      #santa-fun-things .santa-fun-grid { grid-template-columns: 1fr; max-width: 290px; margin: 0 auto; }
    }
    @media (prefers-reduced-motion: reduce) {
      #santa-fun-things .santa-fun-card,
      #santa-fun-things .santa-fun-art { transition: none; }
    }

.home-section7 {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      scroll-margin-top: 92px;
      padding: clamp(72px, 8vw, 118px) 0 clamp(76px, 8vw, 124px);
      background-color: #9bc9e4;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat;
      background-image:
        linear-gradient(108deg, rgba(132,198,221,.8) 0%, rgba(182,221,233,.72) 43%, rgba(87,160,181,.28) 100%),
        url('/cdn/v1/images/section7-bg.webp') !important;
    }
    .home-section7:before {
      position: absolute;
      z-index: -2;
      inset: 0;
      content: "";
      background:
        radial-gradient(circle at 9% 19%, rgba(255,240,166,.88) 0 2px, transparent 4px),
        radial-gradient(circle at 16% 72%, rgba(255,255,255,.8) 0 2px, transparent 5px),
        radial-gradient(circle at 76% 18%, rgba(255,225,119,.92) 0 3px, transparent 6px),
        radial-gradient(circle at 88% 67%, rgba(255,255,255,.84) 0 2px, transparent 5px),
        radial-gradient(circle at 62% 84%, rgba(255,220,116,.86) 0 2px, transparent 5px),
        radial-gradient(ellipse at 4% 105%, rgba(8,77,70,.58) 0 9%, transparent 28%),
        radial-gradient(ellipse at 102% 104%, rgba(7,73,68,.52) 0 10%, transparent 29%),
        radial-gradient(circle at 84% 28%, rgba(255,206,91,.28), transparent 17%),
        linear-gradient(112deg, rgba(237,250,250,.32), rgba(255,255,255,.08) 49%, rgba(16,96,108,.14));
    }
    .home-section7:after {
      position: absolute;
      z-index: -1;
      top: 6%;
      right: 3%;
      width: 245px;
      height: 245px;
      content: "";
      border: 1px solid rgba(255,232,157,.55);
      border-radius: 50%;
      background:
        radial-gradient(circle at 23% 26%, rgba(255,249,203,.95) 0 2px, transparent 4px),
        radial-gradient(circle at 71% 18%, rgba(255,230,136,.95) 0 2px, transparent 4px),
        radial-gradient(circle at 82% 61%, rgba(255,255,255,.82) 0 2px, transparent 5px),
        radial-gradient(circle at 37% 77%, rgba(255,239,163,.85) 0 1px, transparent 4px),
        radial-gradient(circle at 50% 50%, rgba(255,215,111,.22), transparent 66%);
      box-shadow:
        0 0 0 18px rgba(255,255,255,.14),
        0 0 0 38px rgba(255,224,126,.17),
        0 0 54px rgba(255,220,122,.38);
      opacity: .9;
    }
    .home-section7:after {
      background-color: rgba(255,255,255,.04);
      background-image:
        linear-gradient(55deg, transparent 44%, rgba(255,249,205,.78) 45% 55%, transparent 56%),
        linear-gradient(-55deg, transparent 44%, rgba(255,249,205,.78) 45% 55%, transparent 56%),
        radial-gradient(circle at 15% 80%, rgba(179,44,54,.75) 0 4px, transparent 5px),
        radial-gradient(circle at 87% 82%, rgba(179,44,54,.72) 0 4px, transparent 5px),
        radial-gradient(circle at 50% 50%, transparent 0 63%, rgba(255,247,194,.18) 64% 65%, transparent 66%);
      background-size: 32px 32px, 32px 32px, auto, auto, auto;
      background-position: 20% 26%, 20% 26%, center, center, center;
      background-repeat: no-repeat;
    }
    .home-section7 .home-video-layout {
      display: grid;
      grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
      align-items: center;
      gap: clamp(38px, 6vw, 100px);
      max-width: 1250px;
      margin: 0 auto;
    }
    .home-section7 .home-video-copy {
      position: relative;
      padding-left: clamp(0px, 2vw, 25px);
    }
    .home-section7 .home-video-copy:before {
      position: absolute;
      top: 1px;
      left: 0;
      width: 4px;
      height: 78px;
      content: "";
      border-radius: 5px;
      background: #b12f38;
    }
    .home-section7 .home-video-label {
      display: block;
      margin-bottom: 15px;
      color: #aa3039;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .2em;
      line-height: 1.4;
      text-transform: uppercase;
    }
    .home-section7 .home-video-title {
      max-width: 510px;
      margin: 0;
      color: #1d1c3a;
      font-size: clamp(34px, 4.2vw, 59px);
      font-weight: 800;
      letter-spacing: -.045em;
      line-height: .99;
    }
    .home-section7 .home-video-description {
      max-width: 440px;
      margin: 22px 0 0;
      color: #5e5960;
      font-size: clamp(15px, 1.4vw, 17px);
      line-height: 1.65;
    }
    .home-section7 .home-video-card-wrap {
      position: relative;
      min-width: 0;
      order: 2;
      padding: 13px;
    }
    .home-section7 .home-video-card-wrap:before,
    .home-section7 .home-video-card-wrap:after {
      content: none;
    }
    .home-section7 .home-video-link {
      position: relative;
      display: block;
      overflow: hidden;
      border: 7px solid #fffdf9;
      border-radius: 18px;
      background: #1d1c3a;
      box-shadow:
        inset 0 0 0 1px rgba(205,164,78,.58),
        0 22px 46px rgba(31,46,59,.22),
        0 0 30px rgba(246,213,134,.22);
      transform: translateZ(0);
      transition: box-shadow 220ms ease, transform 220ms ease;
    }
    .home-section7 .home-video-link:before {
      content: none;
    }
    .home-section7 .home-video-link:hover,
    .home-section7 .home-video-link:focus-visible {
      box-shadow:
        inset 0 0 0 1px rgba(205,164,78,.72),
        0 27px 54px rgba(31,46,59,.28),
        0 0 36px rgba(246,213,134,.3);
      outline: none;
      transform: translateY(-3px);
    }
    .home-section7 .home-video-image {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      border-radius: 10px;
    }
    .home-section7 .home-video-badge {
      position: absolute;
      z-index: 2;
      top: 17px;
      left: 17px;
      padding: 7px 11px;
      border: 1px solid rgba(255,255,255,.34);
      border-radius: 3px;
      background: rgba(29,28,58,.68);
      color: #fffaf2;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .home-section7 .home-video-play {
      position: absolute;
      z-index: 2;
      top: 50%;
      left: 50%;
      display: grid;
      width: clamp(68px, 8vw, 94px);
      height: clamp(68px, 8vw, 94px);
      padding: 0;
      place-items: center;
      border: 3px solid rgba(232,194,111,.94);
      border-radius: 50%;
      background: #9f2935;
      box-shadow: 0 0 22px rgba(232,194,111,.46), 0 9px 23px rgba(28,20,33,.3);
      transform: translate(-50%, -50%);
      cursor: pointer;
      appearance: none;
      transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    }
    .home-section7 .home-video-play:before {
      width: 0;
      height: 0;
      content: "";
      border-top: 11px solid transparent;
      border-bottom: 11px solid transparent;
      border-left: 16px solid #fffdf8;
      transform: translateX(2px);
    }
    .home-section7 .home-video-link:hover .home-video-play,
    .home-section7 .home-video-link:focus-visible .home-video-play {
      background: #b7343e;
      box-shadow: 0 0 28px rgba(232,194,111,.58), 0 11px 28px rgba(28,20,33,.36);
      transform: translate(-50%, -50%) scale(1.04);
    }
    .home-section7 .home-video-play[hidden] {
      display: none;
    }
    .home-section7 .home-video-benefits {
      display: grid;
      gap: 11px;
      margin: 34px 0 0;
      padding: 0;
      list-style: none;
    }
    .home-section7 .home-video-benefit {
      display: flex;
      align-items: center;
      gap: 13px;
      min-height: 46px;
      padding: 10px 13px;
      border: 1px solid rgba(29,28,58,.1);
      border-radius: 5px;
      background: rgba(255,253,249,.6);
      color: #363347;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.3;
    }
    .home-section7 .home-video-benefit:before {
      flex: 0 0 9px;
      width: 9px;
      height: 9px;
      content: "";
      border: 2px solid #c49a46;
      border-radius: 50%;
      box-shadow: 0 0 0 3px rgba(196,154,70,.12);
    }
    .home-section7 .home-video-benefits-mobile {
      display: none;
    }
    @media (max-width: 767px) {
      .home-section7 {
        padding: 64px 0 72px;
      }
      .home-section7:after {
        top: 3%;
        right: -80px;
        width: 160px;
        height: 160px;
      }
      .home-section7 .home-video-layout {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 30px;
      }
      .home-section7 .home-video-copy {
        padding-left: 19px;
      }
      .home-section7 .home-video-copy:before {
        height: 69px;
      }
      .home-section7 .home-video-title {
        font-size: clamp(35px, 10vw, 48px);
      }
      .home-section7 .home-video-description {
        margin-top: 18px;
      }
      .home-section7 .home-video-card-wrap {
        order: 2;
        padding: 8px 0;
      }
      .home-section7 .home-video-benefits-desktop {
        display: none;
      }
      .home-section7 .home-video-benefits-mobile {
        display: grid;
        order: 3;
        margin-top: 0;
      }
      .home-section7 .home-video-badge {
        top: 12px;
        left: 12px;
        font-size: 9px;
      }
    }
    @media (min-width: 768px) and (max-width: 991px) {
      .home-section7 .home-video-layout {
        gap: 30px;
      }
      .home-section7 .home-video-title {
        font-size: clamp(34px, 5vw, 48px);
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .home-section7 .home-video-link,
      .home-section7 .home-video-play {
        transition: none;
      }
    }

/* Homepage-only declarations formerly carried by markup. */
.banner-content { background-color: #111; overflow: hidden; }
.home-hero-video { margin-bottom: -20%; aspect-ratio: 16 / 9; object-fit: cover; }
.home-hero-kicker { text-shadow: -2px 0 black, 0 2px black, 2px 0 black, 0 -2px black; }
.home-hero-custom { color: #ffbc00; }
.home-section3-testimonials { background-image: url('/cdn/v1/images/testi.webp'); }
.home-section4-featured { background-image: url('/cdn/v1/images/featuredbg.webp'); }
.home-section5-countdown { background-image: url('/cdn/v1/images/section5-bg.webp'); }
#santa-fun-things { background-image: linear-gradient(135deg, rgba(242,249,252,.94), rgba(215,235,243,.8)), url('/cdn/v1/images/section6-bg.webp'); }
.home-section7-preview { background-image: url('/cdn/v1/images/section7-bg.webp'); }

/* The North Pole journey: an open storybook scene rather than a card grid. */
#north-pole-journey {
  --journey-ink: #f8f2e7;
  --journey-muted: rgba(248,242,231,.72);
  --journey-gold: #e8bd62;
  --journey-red: #d86660;
  --journey-night: #101c43;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 32px 0 42px;
  color: var(--journey-ink);
  background: linear-gradient(135deg, #b9dce8 0%, #6c9db7 27%, #263d72 59%, #111c43 100%);
}
#north-pole-journey:before {
  position: absolute; inset: 0; content: ""; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 79% 21%, rgba(237,191,101,.25), transparent 20%),
    radial-gradient(ellipse at 45% 69%, rgba(48,117,110,.3), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.2), transparent 28%);
}
.journey-sky, .journey-sky span { position: absolute; inset: 0; pointer-events: none; }
.journey-stars {
  opacity: .75;
  background-image: radial-gradient(circle at 8% 24%, #fff 0 1px, transparent 2px), radial-gradient(circle at 23% 12%, #f7d988 0 1px, transparent 2px), radial-gradient(circle at 58% 17%, #fff 0 1px, transparent 2px), radial-gradient(circle at 84% 31%, #f7d988 0 1.5px, transparent 3px), radial-gradient(circle at 94% 12%, #fff 0 1px, transparent 2px), radial-gradient(circle at 73% 63%, #fff 0 1px, transparent 2px);
  background-size: 240px 190px, 310px 240px, 270px 220px, 370px 310px, 280px 250px, 260px 210px;
  animation: journey-twinkle 6s ease-in-out infinite alternate;
}
.journey-aurora {
  inset: 0 15% auto -10%; height: 43%; opacity: .25; filter: blur(25px);
  background: linear-gradient(165deg, transparent 30%, #90d7bd 42%, #e5d88a 49%, transparent 65%);
  transform: rotate(-7deg);
}
.journey-snow {
  opacity: .55;
  background-image: radial-gradient(circle, rgba(255,255,255,.8) 0 1px, transparent 2px), radial-gradient(circle, rgba(255,255,255,.55) 0 2px, transparent 3px);
  background-size: 83px 101px, 157px 191px;
  animation: journey-snowfall 18s linear infinite;
}
.journey-hills {
  inset: auto -5% 0; height: 34%;
  background: #f4f5ed;
  clip-path: polygon(0 66%, 12% 44%, 24% 69%, 37% 30%, 49% 68%, 62% 42%, 74% 72%, 87% 35%, 100% 64%, 100% 100%, 0 100%);
  opacity: .13;
}
.journey-pines {
  inset: auto 0 -2px; height: 25%;
  opacity: .32;
  background: linear-gradient(135deg, transparent 47%, #0e3a43 48% 54%, transparent 55%) 4% 100%/105px 180px repeat-x;
}
.journey-container { position: relative; z-index: 1; }
.journey-heading { max-width: 700px; margin: 0 auto; text-align: center; }
.journey-kicker { display: inline-flex; align-items: center; gap: 10px; color: #ffe2a1; font-size: 11px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }
.journey-kicker span { font-size: 16px; color: var(--journey-gold); }
.journey-heading h2 { margin: 10px 0 11px; font-size: clamp(38px, 5.3vw, 72px); font-weight: 800; letter-spacing: -.055em; line-height: .97; }
.journey-heading p { max-width: 585px; margin: auto; color: var(--journey-muted); font-size: 17px; line-height: 1.48; }
.journey-map { position: relative; min-height: 530px; margin: 20px 0 4px; }
.journey-path { position: absolute; z-index: 0; top: 0; left: 0; width: 100%; height: 500px; overflow: visible; }
.journey-path-track, .journey-path-progress { fill: none; stroke-linecap: round; stroke-width: 3; }
.journey-path-track { stroke: rgba(255,235,176,.2); stroke-dasharray: 5 13; }
.journey-path-progress { stroke: var(--journey-gold); stroke-width: 5; stroke-dasharray: 1270; stroke-dashoffset: 1270; filter: drop-shadow(0 0 7px rgba(232,189,98,.75)); transition: stroke-dashoffset .35s ease; }
.journey-comet { position: absolute; z-index: 2; top: 148px; left: 7%; width: 10px; height: 10px; border-radius: 50%; background: #fff2bf; box-shadow: 0 0 0 5px rgba(232,189,98,.14), 0 0 19px 5px #e8bd62; }
.journey-stages { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, 1fr); height: 100%; min-height: 530px; margin: 0; padding: 0; list-style: none; }
.journey-stage { display: flex; flex-direction: column; align-items: center; width: 100%; opacity: .67; transform: translateY(26px); transition: opacity .4s ease, transform .4s ease; }
.journey-stage:nth-child(even) { flex-direction: column-reverse; justify-content: flex-end; }
.journey-stage:nth-child(1) { padding-top: 48px; }
.journey-stage:nth-child(2) { padding-top: 200px; }
.journey-stage:nth-child(3) { padding-top: 68px; }
.journey-stage:nth-child(4) { padding-top: 214px; }
.journey-stage:nth-child(5) { padding-top: 126px; }
.journey-stage.is-active { opacity: 1; transform: translateY(0) scale(1.035); }
.journey-stage.is-past { opacity: .86; transform: translateY(4px); }
.journey-scene { position: relative; display: grid; place-items: center; width: 142px; height: 142px; margin-bottom: 21px; border: 1px solid rgba(255,226,161,.48); border-radius: 50%; background: radial-gradient(circle, rgba(255,246,215,.16), rgba(16,28,67,.48) 68%); box-shadow: 0 15px 30px rgba(6,17,48,.26), inset 0 0 0 7px rgba(255,255,255,.035); transition: box-shadow .4s ease; }
.journey-stage.is-active .journey-scene { box-shadow: 0 15px 30px rgba(6,17,48,.3), 0 0 0 7px rgba(232,189,98,.09), 0 0 30px rgba(232,189,98,.2); }
.journey-copy { max-width: 180px; text-align: center; }
.journey-number { display: block; margin-bottom: 8px; color: var(--journey-gold); font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.journey-copy h3 { margin: 0 0 8px; color: var(--journey-ink); font-size: 18px; font-weight: 800; letter-spacing: -.025em; line-height: 1.1; }
.journey-copy p { margin: 0; color: var(--journey-muted); font-size: 12px; line-height: 1.5; }
.letter-paper { display: grid; place-items: center; width: 81px; height: 62px; color: #793a36; font-family: Georgia, serif; font-size: 11px; background: #fff4da; box-shadow: 4px 7px 0 rgba(6,17,48,.22); transform: rotate(-7deg); }
.letter-paper i { color: #b84342; font-size: 18px; }
.stamp { position: absolute; right: 20px; bottom: 31px; display: grid; place-items: center; width: 25px; height: 25px; border: 2px dashed #c8574e; border-radius: 50%; color: #c8574e; font-size: 8px; font-weight: 900; transform: rotate(13deg); }
.envelope { position: relative; z-index: 1; color: #e8bd62; font-size: 50px; transform: rotate(-8deg); }
.trail { position: absolute; width: 65px; height: 25px; border-top: 2px dotted rgba(232,189,98,.65); transform: translateX(-39px) rotate(-18deg); }
.moon { position: absolute; top: 21px; right: 18px; width: 17px; height: 17px; border-radius: 50%; background: #ffe5a2; box-shadow: 0 0 18px #ffe5a2; }
.workshop-roof { position: absolute; top: 42px; width: 79px; height: 41px; background: #cf625e; clip-path: polygon(50% 0, 100% 43%, 91% 53%, 50% 19%, 9% 53%, 0 43%); }
.workshop-window { position: absolute; bottom: 40px; width: 56px; height: 47px; border: 5px solid #e8bd62; background: #f5c96b; box-shadow: 0 0 22px #e8bd62; }
.workshop-tree { position: absolute; bottom: 36px; right: 25px; width: 28px; height: 47px; background: #2d756b; clip-path: polygon(50% 0, 100% 40%, 72% 40%, 100% 72%, 66% 72%, 83% 100%, 17% 100%, 34% 72%, 0 72%, 28% 40%, 0 40%); }
.workshop-smoke { position: absolute; top: 25px; right: 36px; width: 17px; height: 25px; border-radius: 50%; border: 2px solid rgba(255,255,255,.55); border-bottom-color: transparent; transform: rotate(23deg); }
.phone { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 73px; height: 103px; border: 4px solid #f6edda; border-radius: 13px; color: #fff; background: #27386d; box-shadow: inset 0 -24px rgba(19,119,110,.35); }
.phone b { font-size: 9px; }.phone em { margin-top: 14px; color: #ffe2a1; font-size: 7px; font-style: normal; }.wave { width: 31px; height: 10px; margin-top: 8px; border-top: 2px solid #f3c968; border-radius: 50%; }
.ring { position: absolute; width: 102px; height: 102px; border: 1px solid rgba(232,189,98,.65); border-radius: 50%; animation: journey-ring 2.4s ease-out infinite; }
.memory-window { width: 89px; height: 70px; border: 7px solid #f3d790; border-bottom-width: 12px; background: linear-gradient(145deg, #344f84, #e1a85e); box-shadow: 0 0 24px rgba(232,189,98,.55); }
.memory-star { position: absolute; color: #ffe29a; font-size: 29px; animation: journey-star 2.7s ease-in-out infinite; }
.memory-gift { position: absolute; bottom: 28px; right: 24px; width: 28px; height: 24px; background: #d86660; box-shadow: inset 12px 0 #f0c363; }
.journey-ending { position: relative; max-width: 690px; margin: 10px auto 0; padding: 28px 25px 0; border-top: 1px solid rgba(255,226,161,.25); text-align: center; }
.journey-ending-star { display: block; margin-bottom: 12px; color: #ffe29a; font-size: 21px; }
.journey-ending h2 { margin: 0 0 9px; font-size: clamp(27px, 4vw, 43px); letter-spacing: -.04em; }
.journey-ending p { margin: 0 0 22px; color: var(--journey-muted); font-size: 14px; }
.journey-cta { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 54px; padding: 15px 23px; border: 1px solid #ffe2a1; border-radius: 999px; color: #182342; font-size: 13px; font-weight: 800; text-decoration: none; background: #ffe2a1; box-shadow: 0 12px 24px rgba(5,16,45,.25); transition: transform .2s ease, background-color .2s ease; }
.journey-cta:hover, .journey-cta:focus-visible { color: #182342; background: #fff1c8; transform: translateY(-3px); }
.journey-cta:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@keyframes journey-twinkle { from { opacity: .4; } to { opacity: .9; } }
@keyframes journey-snowfall { from { background-position: 0 -80px, 0 -120px; } to { background-position: 42px 180px, -31px 240px; } }
@keyframes journey-ring { from { opacity: .75; transform: scale(.75); } to { opacity: 0; transform: scale(1.22); } }
@keyframes journey-star { 0%,100% { transform: scale(.85) rotate(0); } 50% { transform: scale(1.12) rotate(10deg); } }
@media (max-width: 767px) {
  #north-pole-journey { padding: 30px 0 38px; }
  .journey-heading { padding: 0 9px; }.journey-heading h2 { font-size: 40px; }.journey-heading p { font-size: 15px; }
  .journey-map { min-height: 0; margin: 22px 0 0; padding-left: 22px; }
  .journey-path { top: 0; left: 29px; width: 4px; height: 100%; }
  .journey-path-track, .journey-path-progress { d: path("M 2 0 L 2 1000"); stroke-width: 3; }
  .journey-comet { top: 3px; left: 25px; width: 9px; height: 9px; }
  .journey-stages { display: flex; flex-direction: column; gap: 32px; min-height: 0; }
  .journey-stage, .journey-stage:nth-child(even), .journey-stage:nth-child(1), .journey-stage:nth-child(2), .journey-stage:nth-child(3), .journey-stage:nth-child(4), .journey-stage:nth-child(5) { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: 22px; padding: 0; transform: none; text-align: left; }
  .journey-stage.is-active { transform: scale(1.015); transform-origin: left center; }
  .journey-scene { width: 92px; height: 92px; margin: 0; }.journey-copy { max-width: none; text-align: left; }.journey-copy h3 { font-size: 18px; }.journey-copy p { font-size: 13px; }
  .letter-paper { width: 58px; height: 45px; font-size: 8px; }.stamp { right: 12px; bottom: 20px; transform: scale(.8) rotate(13deg); }.phone { transform: scale(.75); }.ring { transform: scale(.7); }
  .journey-ending { margin-top: 28px; padding-top: 24px; }.journey-ending h2 { font-size: 31px; }
}
@media (prefers-reduced-motion: reduce) {
  #north-pole-journey *, #north-pole-journey:before { animation: none !important; transition: none !important; }
  .journey-path-progress { stroke-dashoffset: 0; }
  .journey-stage { transform: none !important; }
}
