@font-face{font-family:'DCP Festive Script';src:url('/assets/dcp-festive-script.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
.dcp-xmas-hero{position:relative;isolation:isolate;min-height:clamp(560px,53vw,720px);display:flex;align-items:center}.dcp-xmas-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 72%;z-index:-2}.dcp-xmas-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111 0%,#111e 22%,#111b 39%,#1114 61%,transparent 78%);z-index:-1}.dcp-xmas-inner{width:min(1440px,100%);margin:auto;padding:50px clamp(20px,5vw,76px)}.dcp-xmas-season{color:#febf01;font-family:'DCP Festive Script',cursive;font-size:clamp(30px,3vw,42px);line-height:1.2;letter-spacing:normal;font-weight:400;text-transform:none}.dcp-xmas-hero h1{margin:.28em 0;color:#febf01;font-size:clamp(40px,5.1vw,74px);line-height:1.02;letter-spacing:-.037em;max-width:11ch}.dcp-xmas-copy{font-size:clamp(18px,2vw,25px);line-height:1.45;max-width:29ch;margin:0 0 24px}.dcp-xmas-cta{display:inline-block;background:#febf01;color:#1f1f1f;text-decoration:none;padding:16px 23px;border-radius:5px;font-weight:800}.dcp-xmas-cta:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:680px){.dcp-xmas-hero{display:block;min-height:0}.dcp-xmas-hero:before{display:none}.dcp-xmas-scene{position:static;display:block;height:clamp(230px,82vw,340px);object-position:right 61%}.dcp-xmas-inner{padding:24px 20px 30px}.dcp-xmas-hero h1{max-width:16ch;font-size:clamp(31px,8.4vw,48px)}.dcp-xmas-copy{font-size:18px;max-width:36ch;margin-bottom:18px}}

/* Snow stays within the image area and sits behind the hero text. */
.dcp-xmas-inner { position: relative; z-index: 1; }
.dcp-xmas-snow { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.dcp-xmas-flake {
  position: absolute;
  top: -12px;
  bottom: 0;
  left: var(--left);
  width: var(--size);
  opacity: var(--opacity);
  animation: dcp-xmas-fall var(--duration) var(--delay) linear infinite;
}
.dcp-xmas-flake::before {
  content: '';
  display: block;
  width: var(--size);
  height: var(--size);
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 3px #ffffff66;
}
.dcp-xmas-flake--crystal::before {
  width: 7px;
  height: 7px;
  border-radius: 0;
  box-shadow: none;
  background: none;
  content: '\2726';
  color: #fff;
  font: 9px/1 Georgia, serif;
}
@keyframes dcp-xmas-fall {
  from { transform: translate3d(0, -12px, 0); }
  to { transform: translate3d(var(--drift), 100%, 0); }
}
.dcp-xmas-hero[data-snow-paused="true"] .dcp-xmas-flake { animation-play-state: paused; }
.dcp-xmas-toggle {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #ffffff66;
  border-radius: 5px;
  background: #1f1f1fd9;
  color: #fff;
  font: 12px/1.2 Arial, sans-serif;
  cursor: pointer;
}
.dcp-xmas-toggle:focus-visible { outline: 3px solid #febf01; outline-offset: 3px; }
@media (max-width: 680px) {
  .dcp-xmas-snow { bottom: auto; height: clamp(230px,82vw,340px); }
  .dcp-xmas-flake { left: var(--mobile-left); }
  .dcp-xmas-flake:nth-child(n+17) { display: none; }
  .dcp-xmas-toggle { bottom: auto; top: calc(clamp(230px,82vw,340px) - 44px); }
}
@media (prefers-reduced-motion: reduce) {
  .dcp-xmas-flake { animation: none; }
  .dcp-xmas-snow, .dcp-xmas-toggle { display: none; }
}


.dcp-xmas-hero { background:#1f1f1f; color:#fff; font-family:Arial,sans-serif; }
.dcp-xmas-hero, .dcp-xmas-hero * { box-sizing:border-box; }
.dcp-xmas-hero h1 { color:#febf01!important; font-family:Arial,sans-serif!important; font-weight:700!important; text-transform:none!important; }
.dcp-xmas-hero p { color:#fff; font-family:Arial,sans-serif; }
.dcp-xmas-hero .dcp-xmas-cta { color:#1f1f1f; font-family:Arial,sans-serif; line-height:1.2; }
.dcp-xmas-hero .dcp-xmas-cta:hover { background:#ffd24b; color:#1f1f1f; }
.dcp-xmas-trust { background:#1f1f1f; padding:24px 5%; }
.dcp-xmas-trust ul { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); max-width:1100px; list-style:none; margin:0 auto; padding:0; gap:14px; }
.dcp-xmas-trust li { text-align:center; padding:0 8px; border-right:1px solid #ffffff33; }
.dcp-xmas-trust li:last-child { border-right:0; }
.dcp-xmas-trust img { display:block; width:64px; height:64px; object-fit:contain; margin:0 auto 10px; }
.dcp-xmas-trust p { color:#fff; font:13px/1.4 Arial,sans-serif; margin:0; }
@media(max-width:680px) {
  .dcp-xmas-trust { padding:20px; }
  .dcp-xmas-trust ul { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 8px; }
  .dcp-xmas-trust li:nth-child(3) { border-right:0; }
  .dcp-xmas-trust img { width:52px; height:52px; }
}

/* Match the existing full-width homepage containers. */
.dcp-xmas-hero, .dcp-xmas-trust { margin-left:-30px; margin-right:-30px; }
.dcp-xmas-hero h1 { max-width:none; font-size:clamp(40px,4.8vw,70px); }
.dcp-xmas-hero h1 span { display:block; }
@media(max-width:680px) {
  .dcp-xmas-hero h1 { max-width:16ch; font-size:clamp(31px,8.4vw,48px); }
  .dcp-xmas-hero h1 span { display:inline; }
}

/* A small flame-texture animation stays inside the existing stove glass. */
.dcp-xmas-fire { position:absolute; z-index:-2; pointer-events:none; }
@media(prefers-reduced-motion:reduce) { .dcp-xmas-fire { display:none; } }
