.xmas-page{--navy:#132c52;--blue:#243f86;--ink:#22354b;--muted:#5b6976;--cream:#fffaf1;--green:#315c4e;--gold:#b58b43;--line:#e6e8e5;
  color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.6;overflow:hidden;background:#fff}
.xmas-page *{box-sizing:border-box}
.xmas-page a{color:inherit}
.xmas-page a:focus-visible{outline:3px solid #d79739;outline-offset:5px}
.xmas-page h1,.xmas-page h2,.xmas-page h3{font-family:Lora,Georgia,serif;line-height:1.17;color:var(--navy);margin:0}
.xmas-page p{margin:0}

.xmas-page .season-bar{background:var(--green);color:#fff9e9;text-align:center;font-size:12px;letter-spacing:1.4px;padding:9px 16px}
.xmas-page .season-bar span{color:#e9c67b;margin:0 15px}

.xmas-page .hero{background:radial-gradient(ellipse at 65% 20%,#fff0d9,transparent 65%),var(--cream);position:relative;border-bottom:1px solid #eee5d5}
.xmas-page .hero-inner{max-width:1250px;margin:auto;padding:58px 32px 54px;display:grid;grid-template-columns:.82fr 1.18fr;gap:36px;align-items:center}
.xmas-page .eyebrow{color:var(--green);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.xmas-page .eyebrow b{color:var(--gold);margin-right:8px}
.xmas-page h1{font-size:clamp(38px,4vw,58px);letter-spacing:-1.7px;margin:18px 0 22px}
.xmas-page h1 em{font-style:normal;color:var(--green)}
.xmas-page .intro{font-size:16px;max-width:390px;color:#536170;margin:0 0 25px}
.xmas-page .btn{display:inline-flex;align-items:center;gap:22px;background:var(--blue);color:#fff;text-decoration:none;border-radius:8px;padding:13px 21px;font-weight:600;font-size:14px}
.xmas-page .btn:hover{background:#182f6d}
.xmas-page .smallnote{font-size:12px;color:#6c756f;margin:15px 0 0}
.xmas-page .calendar{margin:0;position:relative}
.xmas-page .calendar-art{position:relative;display:block}
.xmas-page .calendar img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 16px 40px rgba(128,102,58,.08)}
.xmas-page .calendar-door{position:absolute;top:30%;width:14%;height:23%;border-radius:2px}
.xmas-page .door-one{left:36%}
.xmas-page .door-two{left:50.7%}
.xmas-page .calendar-door:hover{background:rgba(255,255,255,.12)}
.xmas-page .calendar figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:17px 5px 0;font-size:12px;color:#657064}
.xmas-page .progress{display:flex;gap:5px}
.xmas-page .progress i{height:6px;width:18px;border-radius:4px;background:#dbddcf}
.xmas-page .progress i:nth-child(-n+2){background:var(--green)}

.xmas-page .promise{max-width:1186px;margin:0 auto;display:flex;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);font-size:13px;color:#566474}
.xmas-page .promise span{display:flex;gap:10px;align-items:center}
.xmas-page .promise b{font-size:19px;color:#b48d4b;font-weight:400}

.xmas-page .content{max-width:1186px;margin:0 auto;padding:53px 0 64px}
.xmas-page .section-title{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px}
.xmas-page h2{font-size:34px;letter-spacing:-.6px}
.xmas-page .section-title p{color:var(--muted);margin:8px 0 0;font-size:14px}
.xmas-page .count{color:var(--green);font-size:12px;border:1px solid #dce6df;background:#f4f8f3;padding:6px 13px;border-radius:20px;white-space:nowrap}

.xmas-page .featured{display:grid;grid-template-columns:1fr 1.3fr;border:1px solid #dbe4eb;border-radius:18px;overflow:hidden;background:#f4f8fc;min-height:290px;margin-bottom:25px}
.xmas-page .featured.week-two{background:#f6f9f2;border-color:#dce6d7}
.xmas-page .featured-image{overflow:hidden;background:#f6eddd}
.xmas-page .featured img{width:100%;height:100%;max-height:350px;object-fit:cover;display:block}
.xmas-page .featured-copy{padding:30px 38px}
.xmas-page .badge{font-size:10px;letter-spacing:1.1px;font-weight:700;color:var(--green);text-transform:uppercase}
.xmas-page .badge .live{background:#e0ebe0;padding:5px 8px;border-radius:4px;margin-left:10px;letter-spacing:.4px}
.xmas-page .featured h3{font-size:28px;margin:17px 0 13px;max-width:535px}
.xmas-page .featured p{color:var(--muted);font-size:14px;margin:0 0 20px;max-width:500px}
.xmas-page .textlink{font-size:13px;font-weight:700;color:var(--blue);text-underline-offset:5px}

.xmas-page .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.xmas-page .teaser{border:1px solid #e3e6e1;border-radius:14px;padding:19px 22px 22px;position:relative;background:#fbfcfa;min-height:258px}
.xmas-page .weekline{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;letter-spacing:1.3px;color:#6f7776}
.xmas-page .closed{font-size:18px;color:#899888}
.xmas-page .clue-icon{height:65px;width:65px;display:flex;align-items:center;justify-content:center;margin:15px 0 14px;border-radius:50%;color:var(--green);background:#e9efe5}
.xmas-page .clue-icon svg{width:35px;height:35px}
.xmas-page .teaser h3{font-size:18px;line-height:1.3}
.xmas-page .teaser p{font-size:12px;color:#66716f;margin:8px 0 18px;min-height:20px}
.xmas-page .soon{font-size:10px;letter-spacing:.5px;color:#69746d;display:inline-block;border:1px dashed #b9c3b8;border-radius:5px;padding:3px 9px}
.xmas-page .teaser.blue{background:#f5f8fb}
.xmas-page .teaser.blue .clue-icon{background:#e6edf6;color:#3a5a87}
.xmas-page .teaser.peach{background:#fdf8f3}
.xmas-page .teaser.peach .clue-icon{background:#f6e9df;color:#a36948}
.xmas-page .teaser.gold{background:#fdfbf4}
.xmas-page .teaser.gold .clue-icon{background:#f5edd5;color:#9b7b39}
.xmas-page .return-card{grid-column:span 2;border-radius:14px;background:var(--navy);color:#edf3f8;padding:26px 25px;display:flex;flex-direction:column;justify-content:center}
.xmas-page .return-card .star{color:#e7c586;font-size:25px;margin-bottom:12px}
.xmas-page .return-card h3{color:#fff5df;font-size:23px}
.xmas-page .return-card p{color:#d4dce8;font-size:12px;margin:12px 0 0}

.xmas-page .why{background:#eef4f8;border-top:1px solid #e2eaf0;padding:49px 32px}
.xmas-page .why-inner{max-width:1186px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.xmas-page .why h2{font-size:31px;margin-top:12px}
.xmas-page .why p{color:#5b6876;font-size:14px}
.xmas-page .why .textlink{display:inline-block;margin-top:17px}

@media (max-width:1249px){.xmas-page .promise,.xmas-page .content{margin-left:32px;margin-right:32px}}
@media (max-width:900px){
  .xmas-page .hero-inner{gap:25px;padding-top:38px;padding-bottom:36px;grid-template-columns:.8fr 1.2fr}
  .xmas-page h1{font-size:40px}
  .xmas-page .intro{font-size:14px}
  .xmas-page .calendar figcaption{font-size:10px}
  .xmas-page .progress i{width:10px}
  .xmas-page .grid{grid-template-columns:repeat(2,1fr)}
  .xmas-page .featured-copy{padding:25px}
  .xmas-page .featured h3{font-size:24px}
  .xmas-page .promise{gap:15px;font-size:11px}
  .xmas-page .why-inner{gap:32px}
}
@media (max-width:620px){
  .xmas-page .season-bar{font-size:9px;letter-spacing:1px}
  .xmas-page .season-bar span{margin:0 5px}
  .xmas-page .hero-inner{display:flex;flex-direction:column;padding:33px 20px 27px;gap:30px}
  .xmas-page .hero-copy{text-align:center}
  .xmas-page h1{font-size:36px;letter-spacing:-1px;margin-top:14px}
  .xmas-page .intro{font-size:14px;max-width:440px;margin:0 auto 23px}
  .xmas-page .smallnote{font-size:11px}
  .xmas-page .calendar img{border-radius:13px}
  .xmas-page .calendar figcaption{font-size:10px;margin-top:12px}
  .xmas-page .promise{margin:0 20px;padding:20px 0;justify-content:center;flex-wrap:wrap;gap:7px 18px;font-size:10px}
  .xmas-page .content{margin:0 20px;padding:34px 0 38px}
  .xmas-page .section-title{align-items:start;margin-bottom:20px}
  .xmas-page .section-title h2{font-size:28px}
  .xmas-page .section-title p{font-size:12px}
  .xmas-page .count{font-size:9px;padding:4px 8px}
  .xmas-page .featured{display:block}
  .xmas-page .featured-image img{height:230px}
  .xmas-page .featured-copy{padding:24px}
  .xmas-page .featured h3{font-size:25px}
  .xmas-page .grid{gap:12px}
  .xmas-page .teaser{padding:15px;min-height:250px}
  .xmas-page .teaser h3{font-size:17px}
  .xmas-page .teaser p{font-size:11px}
  .xmas-page .clue-icon{width:54px;height:54px}
  .xmas-page .return-card{padding:20px}
  .xmas-page .return-card h3{font-size:21px}
  .xmas-page .why{padding:32px 20px}
  .xmas-page .why-inner{display:block}
  .xmas-page .why h2{font-size:28px;margin-bottom:19px}
  .xmas-page .why p{font-size:13px}
}
@media (prefers-reduced-motion:no-preference){.xmas-page{scroll-behavior:smooth}}