.xmas2026{
  --navy:#003d89;
  --navy-dark:#0f3779;
  --green:#3ba45c;
  --red:#d9363e;
  --red-dark:#a8232a;
  --gold:#f5b72c;
  --gift-bg:#eef0f2;
  --flag-bg:#d9e2ee;
  --text:#333;
  --radius:12px;
  --content:1180px;
}
.xmas2026,.xmas2026 *{box-sizing:border-box;margin:0;padding:0}
.xmas2026{
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  color:var(--text);background:var(--gift-bg);line-height:1.6;
}
.xmas2026 img{max-width:100%;display:block}
.xmas2026 a{color:inherit;text-decoration:none}
.xmas2026 .inner{max-width:calc(var(--content) + 48px);margin:0 auto;padding:0 24px;position:relative}
.xmas2026 .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.xmas2026 .sec{background-repeat:no-repeat;background-position:center top;background-size:auto}

.xmas2026 .snow-edge{position:relative}
.xmas2026 .snow-edge::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:40px;z-index:1;
  background:radial-gradient(circle at 30px 40px,#fff 32px,transparent 33px) 0 0/60px 40px repeat-x;
}

.xmas2026 .sec-title{text-align:center;font-size:clamp(24px,5.5vw,68px);font-weight:900;letter-spacing:.06em;color:#fff;line-height:1.3}
.xmas2026 .sec-title .star{color:var(--gold);margin:0 .2em;font-size:.6em;vertical-align:middle}
.xmas2026 .sec-sub{text-align:center;color:#fff;font-size:clamp(15px,2.44vw,30px);margin-top:.5em}

.xmas2026 .hero{
  --u:1px;
  position:relative;overflow:hidden;
  height:calc(805 * var(--u));

  background:
    url(../images/intro-bg.jpg) center top/calc(1920 * var(--u)) auto no-repeat,
    linear-gradient(#003e89 calc(412 * var(--u)),#001966 0 calc(655 * var(--u)),#e8e7e9 0 calc(672 * var(--u)),#c5d2db 0);
}
@media (max-width:1228px){ .xmas2026 .hero{--u:calc(100vw / 1228)} }

.xmas2026 .hero h1{margin:0;font-size:0}
.xmas2026 .hero-el{position:absolute;display:block;max-width:none;height:auto}

.xmas2026 .hero-title  {width:calc(1111 * var(--u));left:calc(50% + (410 - 960) * var(--u));top:calc(63 * var(--u));z-index:3}
.xmas2026 .hero-snowman{width:calc(596 * var(--u)); left:calc(50% + (413 - 960) * var(--u));top:calc(406 * var(--u));z-index:2}
.xmas2026 .hero-car    {width:calc(1074 * var(--u));left:calc(50% + (843 - 960) * var(--u));top:calc(399 * var(--u));z-index:1}

.xmas2026 .hero-car{
  transform-origin:30% 85%;
  animation:carDriveIn .9s cubic-bezier(.1,.85,.2,1) 1.3s both,carBump 1.4s ease-in-out 2.2s infinite;
}
@keyframes carDriveIn{
  0%  {transform:translateX(calc(1800 * var(--u)))}
  55% {transform:translateX(calc(-55 * var(--u))) rotate(-3.5deg)}
  75% {transform:translateX(calc(12 * var(--u))) rotate(1.2deg)}
  90% {transform:translateX(calc(-4 * var(--u))) rotate(-.4deg)}
  100%{transform:none}
}
}
.xmas2026 .hero-snowman{transform-origin:15% 90%;animation:snowSway 3.2s ease-in-out infinite}
@keyframes carBump{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(-6 * var(--u)))}}
@keyframes snowSway{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg)}}

.xmas2026 .hero-title{
  transform-origin:50% 60%;
  animation:rubberBand 1s ease both,titleFloat 3.6s ease-in-out 1s infinite;
}
@keyframes rubberBand{
  0%  {transform:scale3d(1,1,1)}
  30% {transform:scale3d(1.25,.75,1)}
  40% {transform:scale3d(.75,1.25,1)}
  50% {transform:scale3d(1.15,.85,1)}
  65% {transform:scale3d(.95,1.05,1)}
  75% {transform:scale3d(1.05,.95,1)}
  100%{transform:scale3d(1,1,1)}
}
@keyframes titleFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(calc(-8 * var(--u))) scale(1.02)}
}

.xmas2026 .hero-snow{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.xmas2026 .flake{
  position:absolute;top:-12px;border-radius:50%;background:#fff;
  box-shadow:0 0 6px rgba(255,255,255,.8);
  animation:snowFall var(--dur) linear var(--delay) infinite;
}
@keyframes snowFall{
  0%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(var(--sway),calc(400 * var(--u)),0)}
  100%{transform:translate3d(var(--dx),calc(830 * var(--u)),0)}
}

@media (prefers-reduced-motion:reduce){
  .xmas2026 .hero-car,.xmas2026 .hero-snowman,.xmas2026 .hero-title{animation:none}
  .xmas2026 .hero-snow{display:none}
}

.xmas2026 .gift{
  position:relative;z-index:5;overflow-x:clip;
  padding:20px 0 128px;

  background:#f4f4f4 url(../images/exclusive-bg.jpg) center center/1920px auto no-repeat fixed;
}

@media (hover:none){ .xmas2026 .gift{background-attachment:scroll} }

.xmas2026 .gift::before,.xmas2026 .gift::after{
  content:"";position:absolute;left:0;right:0;height:69px;pointer-events:none;
  background:url(../images/exclusive_bg-top.png) center top/1920px 69px repeat-x;
}
.xmas2026 .gift::before{top:-34px}
.xmas2026 .gift::after{bottom:-34px}

.xmas2026 .badges{display:flex;justify-content:center;gap:30px}
.xmas2026 .badges img{width:357px;max-width:31%;height:auto}

.xmas2026 .excl-title{display:block;width:871px;max-width:100%;height:auto;margin:79px auto 0}
.xmas2026 .gift-desc{
  text-align:center;color:#555;font-size:30px;line-height:46px;letter-spacing:.5px;
  margin:0;
}

.xmas2026 .excl{display:flex;justify-content:center;align-items:stretch;gap:5px;margin-top:43px}
.xmas2026 .excl a{
  position:relative;display:flex;flex-direction:column;width:555px;max-width:50%;
  padding:38px 6px 0 18px;transition:transform .2s;
}
.xmas2026 .excl a:hover{transform:translateY(-6px)}
.xmas2026 .excl a:focus-visible{outline:4px solid var(--gold);outline-offset:3px}
.xmas2026 .excl-tag{position:absolute;top:1%;left:0;width:63%;height:auto;z-index:2}
.xmas2026 .excl-frame{
  flex:1;display:flex;flex-direction:column;overflow:hidden;
  border:10px solid #31b370;border-radius:400px 400px 16px 16px;background:#fff7e8;
}
.xmas2026 .excl-prod{
  aspect-ratio:512/450;display:flex;align-items:flex-end;justify-content:center;padding:1% 0 5%;
}

.xmas2026 .excl-prod img{width:var(--w);height:auto;max-width:none}
.xmas2026 .excl-body{
  flex:1;display:flex;flex-direction:column;background:#31b370;color:#fff;text-align:center;
  padding:18px 20px 16px;
}
.xmas2026 .excl-body h3{font-size:25px;line-height:1.45;font-weight:700}
.xmas2026 .excl-body p{flex:1;font-size:19px;line-height:1.65;margin-top:10px}
.xmas2026 .excl-price{
  margin-top:12px;padding-top:10px;border-top:3px dotted rgba(255,255,255,.75);
  font-size:22px;font-weight:700;
}
.xmas2026 .excl-price em{font-style:normal;font-size:30px;color:#fff799}

.xmas2026 .grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 21px}
.xmas2026 .card{
  background:#fff;border-radius:14px;display:flex;align-items:stretch;
  gap:clamp(12px,1.6vw,19px);padding:clamp(14px,2.6vw,31px) clamp(14px,2.6vw,30px);
  transition:transform .2s;
}
.xmas2026 .card:hover{transform:translateY(-5px)}
.xmas2026 .card:focus-visible,.xmas2026 .set:focus-visible{outline:4px solid var(--gold);outline-offset:3px}
.xmas2026 .card img{width:min(257px,44%);height:auto;align-self:flex-start;flex-shrink:0}
.xmas2026 .card-info{display:flex;flex-direction:column;min-width:0;padding-top:clamp(0px,1.1vw,13px)}
.xmas2026 .card-info h4{font-size:clamp(17px,2.5vw,30px);line-height:1.57;font-weight:700;color:#222}
.xmas2026 .card-info p{font-size:clamp(14px,2.37vw,28px);line-height:1.5;color:#444;margin-top:.15em}
.xmas2026 .card-price{margin-top:auto;padding-bottom:clamp(6px,1vw,12px);
  font-size:clamp(13px,2.2vw,26px);color:#555;line-height:1.5}
.xmas2026 .card-price b{display:block;line-height:1.15;margin-bottom:0;font-weight:700;font-size:clamp(14px,2.03vw,24px);color:#555}
.xmas2026 .card-price b em{font-style:normal;font-size:clamp(22px,3.05vw,36px);color:var(--red)}

.xmas2026 .budget{position:relative;background:#003e89;overflow:clip}

.xmas2026 .budget-bg{position:absolute;inset:0;pointer-events:none}
.xmas2026 .budget-bg-stick{
  position:sticky;top:0;height:100vh;
  background:url(../images/intro-bg.jpg) center bottom/cover no-repeat;
}
.xmas2026 .budget .inner{position:relative;padding-top:158px;padding-bottom:72px}

.xmas2026 .budget-title{display:block;width:995px;max-width:100%;height:auto;margin:0 auto}

.xmas2026 .budget .sec-sub{color:#dcc9ac;font-size:30px;line-height:46px;letter-spacing:.5px;margin:-104px 0 0}

.xmas2026 .tabs{display:flex;justify-content:center;gap:26px;margin:21px 0 21px}
.xmas2026 .tab{
  position:relative;width:352px;max-width:33%;padding:0;border:0;background:none;cursor:pointer;
  transition:transform .15s;
}
.xmas2026 .tab picture{display:block}
.xmas2026 .tab img{display:block;width:100%;height:auto}

.xmas2026 .tab .t-on{position:absolute;inset:0;opacity:0;transition:opacity .15s}
.xmas2026 .tab:hover .t-on,.xmas2026 .tab[aria-selected="true"] .t-on{opacity:1}
.xmas2026 .tab:hover{transform:translateY(-3px)}
.xmas2026 .tab:focus-visible{outline:4px solid var(--gold);outline-offset:3px;border-radius:40px}
.xmas2026 .budget .grid{max-width:1176px;margin:0 auto}
.xmas2026 .panel[hidden]{display:none}
.xmas2026 .panel{animation:panelIn .25s ease}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.xmas2026 .flagship{
  position:relative;z-index:4;
  padding:50px 0 0;margin-top:-2px;

  background:
    url(../images/package-bg.png) center bottom/1920px auto no-repeat scroll,
    linear-gradient(to top,transparent 230px,#c5d2db 230px) scroll,
    url(../images/gift-bg.png) center center/1920px auto no-repeat fixed,
    var(--navy);
}
.xmas2026 .flag-title{display:block;width:1013px;max-width:100%;height:auto;margin:0 auto}

.xmas2026 .sets{
  display:grid;grid-template-columns:repeat(3,381px);justify-content:center;
  grid-template-rows:repeat(4,auto);column-gap:24px;margin-top:31px;
}
.xmas2026 .set{
  grid-row:span 4;display:grid;grid-template-rows:subgrid;row-gap:0;
  background:#fff;border:7px solid #5d9e6c;border-radius:20px;   overflow:hidden;text-align:center;
  transition:transform .2s;
}
.xmas2026 .set:hover{transform:translateY(-5px)}
.xmas2026 .set-head{
  background:#5d9e6c;color:#fff;font-size:28px;line-height:41px;
  padding:18px 14px;display:flex;align-items:center;justify-content:center;
}
.xmas2026 .set img{width:366px;max-width:96%;height:auto;margin:46px auto 0}
.xmas2026 .set h4{font-size:31px;line-height:46px;font-weight:700;color:#333;padding:12px 10px 0}
.xmas2026 .set .card-price{
  margin:14px 28px 0;padding:10px 0 20px;border-top:2px dashed #999;
  font-size:24px;color:#555;line-height:1.4;
}
.xmas2026 .set .card-price b{display:inline;font-weight:700}
.xmas2026 .set .card-price em{font-style:normal;font-size:33px;color:var(--red);font-weight:700}

@media (min-width:769px) and (max-width:1230px){
  .xmas2026 .sets{grid-template-columns:repeat(3,1fr);column-gap:2vw}
  .xmas2026 .set-head{font-size:2.3vw;line-height:1.45;padding:1.4vw 1vw}
  .xmas2026 .set img{margin-top:3.6vw}
  .xmas2026 .set h4{font-size:2.5vw;line-height:1.5}
  .xmas2026 .set .card-price{font-size:1.95vw;margin:1.2vw 2vw 0}
  .xmas2026 .set .card-price em{font-size:2.7vw}
}

.xmas2026 .themes{
  background:var(--navy) url(../images/gift-bg.png) center center/1920px auto no-repeat fixed;
  overflow:clip;padding:183px 0 95px;
}
@media (hover:none){ .xmas2026 .themes{background-attachment:scroll;background-position:center top} }

@media (hover:none){ .xmas2026 .flagship{background:url(../images/package-bg.png) center bottom/1920px auto no-repeat,linear-gradient(to top,transparent 230px,#c5d2db 230px),var(--navy)} }
.xmas2026 .theme + .theme{margin-top:130px}
.xmas2026 .theme-title{display:block;width:1044px;max-width:100%;height:auto;margin:0 auto 55px}
.xmas2026 .theme-box{
  background:#e9f2f7;border-radius:14px;padding:37px 40px;position:relative;
  max-width:1200px;margin:0 auto;
}
.xmas2026 .theme-box .grid{gap:31px 30px}

.xmas2026 .themes{position:relative}
.xmas2026 .deco-layer{position:absolute;inset:0;z-index:2;pointer-events:none}
.xmas2026 .deco-stick{position:sticky;top:0;height:100vh}
.xmas2026 .deco{position:absolute;pointer-events:none;max-width:none;height:auto}

.xmas2026 .deco-santa{width:474px;right:calc(50% + 600px - 114px);bottom:30px;animation:floatY 3s ease-in-out infinite}
.xmas2026 .deco-reindeer{width:min(295px,calc(50vw - 618px));right:58px;top:90px;transform-origin:50% 100%;animation:sway 3.6s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes sway{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(10px) rotate(2.5deg)}}

.xmas2026 .notes{
  position:relative;
  padding:185px 0 0;font-size:18px;line-height:1.7;color:#555;
  background:
    linear-gradient(to bottom,transparent 30px,#c5d2db 30px),
    url(../images/gift-bg.png) center center/1920px auto no-repeat fixed,
    var(--navy);
}
.xmas2026 .notes::before{
  content:"";position:absolute;left:0;right:0;top:0;height:370px;pointer-events:none;
  background:url(../images/copyright-bg.png) center top/1920px auto no-repeat;
}
.xmas2026 .notes .inner{position:relative;z-index:1;padding-bottom:10px;width:fit-content}
.xmas2026 .notes h3{font-size:1.05em;margin-bottom:.3em;color:#444}
.xmas2026 .notes ol{padding-left:1.4em}
.xmas2026 .copyright{
  position:relative;z-index:1;padding:110px 0 60px;
  font-size:16px;color:var(--navy);text-align:center;
  background:
    url(../images/copyright-bg.png) center -370px/1920px auto no-repeat,
    linear-gradient(to bottom,#c5d2db 62px,#e6e7e8 62px);
}
@media (hover:none){ .xmas2026 .notes{background:linear-gradient(to bottom,transparent 30px,#c5d2db 30px),var(--navy)} }

@media (max-width:1700px){
  .xmas2026 .deco-santa{width:330px;right:calc(50% + 600px - 70px)}
  .xmas2026 .deco-reindeer{width:min(205px,calc(50vw - 618px))}
}

@media (max-width:1500px){
  .xmas2026 .themes{display:flex;flex-direction:column;padding-bottom:20px}
  .xmas2026 .deco-layer{position:static;order:2;margin-top:6px}
  .xmas2026 .deco-stick{
    position:static;height:auto;display:flex;justify-content:center;align-items:flex-end;gap:4%;
    max-width:760px;margin:0 auto;padding:0 7% 0 16px;width:100%;
  }
  .xmas2026 .deco{position:static}
  .xmas2026 .deco-santa{width:min(46%,300px)}
  .xmas2026 .deco-reindeer{width:min(26%,180px)}
}

@media (max-width:768px){
  .xmas2026 .themes{padding-top:60px;padding-bottom:0}
  .xmas2026 .deco-layer{margin-top:34px}
  .xmas2026 .budget .inner{padding-top:50px;padding-bottom:30px}
  .xmas2026 .theme + .theme{margin-top:50px}
  .xmas2026 .sets{grid-template-columns:1fr}
  .xmas2026 .gift{padding:4px 0 70px;background:#fff}
  .xmas2026 .gift::before,.xmas2026 .gift::after{height:35px;background-size:960px 35px}
  .xmas2026 .gift::before{top:-17px}
  .xmas2026 .gift::after{bottom:-17px}

  .xmas2026 .badges{gap:4px;margin:0 -12px}
  .xmas2026 .badges img{width:calc((100% - 8px) / 3);max-width:none}
  .xmas2026 .excl-title{margin-top:36px}
  .xmas2026 .gift-desc{font-size:clamp(17px,4.4vw,20px);line-height:1.55;letter-spacing:0;margin-top:-4px}
  .xmas2026 .excl{flex-direction:column;align-items:center;gap:16px;margin-top:24px}
  .xmas2026 .excl a{max-width:100%;width:100%;max-width:555px;padding-top:9%}
  .xmas2026 .excl-frame{border-width:7px}
  .xmas2026 .excl-body{padding:14px 14px 12px}
  .xmas2026 .excl-body h3{font-size:clamp(19px,5vw,23px)}
  .xmas2026 .excl-body p{font-size:clamp(16px,4.2vw,19px);margin-top:6px}
  .xmas2026 .excl-price{font-size:clamp(18px,4.6vw,21px)}
  .xmas2026 .excl-price em{font-size:clamp(24px,6.4vw,28px)}
  .xmas2026 .flagship{padding-top:10px;
    background:
      url(../images/package-bg.png) center bottom/960px auto no-repeat scroll,
      linear-gradient(to top,transparent 115px,#c5d2db 115px) scroll,
      var(--navy);}
  .xmas2026 .sets{grid-template-columns:min(80%,340px);
    grid-template-rows:none;row-gap:20px;margin-top:20px}
  .xmas2026 .set{grid-row:auto;grid-template-rows:auto}
  .xmas2026 .set-head{font-size:clamp(18px,4.8vw,22px);line-height:1.55;padding:12px 10px}
  .xmas2026 .set img{margin-top:16px;max-width:80%}
  .xmas2026 .set h4{font-size:clamp(20px,5.4vw,24px);line-height:1.5;padding-top:8px}
  .xmas2026 .set .card-price{font-size:clamp(16px,4.3vw,19px);margin:10px 20px 0;padding:8px 0 14px}
  .xmas2026 .set .card-price em{font-size:clamp(25px,6.6vw,30px)}
  .xmas2026 .budget .sec-sub{font-size:clamp(17px,4.4vw,20px);line-height:1.55;letter-spacing:0;margin-top:-9%}
  .xmas2026 .tabs{gap:6px;margin:18px -12px}
  .xmas2026 .tab{width:calc((100% - 12px) / 3);max-width:none}
  .xmas2026 .budget .grid{margin:0 -12px}

  .xmas2026 .grid{grid-template-columns:1fr 1fr;gap:20px 12px}
  .xmas2026 .card{
    display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:10px;
    justify-items:center;text-align:center;padding:18px 10px 20px;
  }
  .xmas2026 .card-info{display:contents}
  .xmas2026 .card-info h4{order:1;align-self:center;font-size:clamp(17px,4.6vw,21px);line-height:1.45}
  .xmas2026 .card img{order:2;width:100%;max-width:170px;align-self:start}
  .xmas2026 .card-price{order:3;align-self:end;margin-top:0;padding-bottom:0;font-size:0}
  .xmas2026 .card-price b{font-size:clamp(13px,3.6vw,16px)}
  .xmas2026 .card-price b em{font-size:clamp(20px,5.4vw,24px)}
  .xmas2026 .notes{padding-top:85px;font-size:13px;line-height:1.7;
    background:linear-gradient(to bottom,transparent 15px,#c5d2db 15px),var(--navy)}
  .xmas2026 .notes::before{height:185px;background-size:960px auto}
  .xmas2026 .copyright{padding:58px 0 30px;font-size:12px;
    background:url(../images/copyright-bg.png) center -185px/960px auto no-repeat,linear-gradient(to bottom,#c5d2db 31px,#e6e7e8 31px)}
  .xmas2026 .theme-title{margin-bottom:20px}
  .xmas2026 .theme-box{padding:10px}
  .xmas2026 .theme-box .grid{gap:20px 10px}
}
@media (prefers-reduced-motion:reduce){
  .xmas2026 .panel,.xmas2026 .deco{animation:none}
  .xmas2026 .card{transition:none}
}

@media (min-width:769px) and (max-width:1180px){
  .xmas2026 .gift-desc{font-size:2.55vw;line-height:1.5;letter-spacing:0}
}
@media (min-width:769px) and (max-width:1180px){
  .xmas2026 .budget .sec-sub{font-size:2.55vw;line-height:1.5;letter-spacing:0;margin-top:-8.8vw}
  .xmas2026 .card{min-height:0}
}
@media (min-width:769px) and (max-width:1180px){
  .xmas2026 .excl a{padding-top:3.2vw}
  .xmas2026 .excl-body h3{font-size:2.1vw}
  .xmas2026 .excl-body p{font-size:1.6vw}
  .xmas2026 .excl-price{font-size:1.9vw}
  .xmas2026 .excl-price em{font-size:2.5vw}
}

.xmas2026 .reveal{opacity:0}
.xmas2026 .reveal.is-in{animation:bounceIn .75s cubic-bezier(.215,.61,.355,1) both}
@keyframes bounceIn{
  0%  {opacity:0;transform:scale3d(.3,.3,.3)}
  20% {transform:scale3d(1.1,1.1,1.1)}
  40% {transform:scale3d(.9,.9,.9)}
  60% {opacity:1;transform:scale3d(1.03,1.03,1.03)}
  80% {transform:scale3d(.97,.97,.97)}
  100%{opacity:1;transform:scale3d(1,1,1)}
}

.xmas2026 .excl-title.reveal.is-in{animation:wobble 1s ease both}
@keyframes wobble{
  0%  {opacity:1;transform:translate3d(0,0,0)}
  15% {transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}
  30% {transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}
  45% {transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}
  60% {transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}
  75% {transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}

.xmas2026 .flag-title.reveal.is-in{animation:tada 1.1s ease both}
@keyframes tada{
  0%      {opacity:0;transform:scale3d(.9,.9,.9)}
  10%,20% {opacity:1;transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}
  30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}
  40%,60%,80%    {transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}
  100%    {opacity:1;transform:scale3d(1,1,1)}
}

.xmas2026 .themes .theme:nth-of-type(1) .theme-title.reveal.is-in{transform-origin:left bottom;animation:rotateInDownLeft .9s ease-out both}
.xmas2026 .themes .theme:nth-of-type(2) .theme-title.reveal.is-in{transform-origin:right bottom;animation:rotateInDownRight .9s ease-out both}
@keyframes rotateInDownLeft{
  0%  {opacity:0;transform:rotate3d(0,0,1,-45deg)}
  100%{opacity:1;transform:none}
}
@keyframes rotateInDownRight{
  0%  {opacity:0;transform:rotate3d(0,0,1,45deg)}
  100%{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .xmas2026 .reveal{opacity:1}
  .xmas2026 .reveal.is-in{animation:none}
}

.xmas2026 .hero-logo{position:absolute;top:30px;right:40px;z-index:6;display:block}
.xmas2026 .hero-logo img{width:71px;height:auto}
.xmas2026 .to-top{
  position:fixed;right:24px;bottom:24px;z-index:50;
  width:64px;height:64px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--red);color:#fff;font-size:14px;font-weight:700;line-height:1.1;letter-spacing:.5px;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .25s,transform .25s,visibility .25s,background .2s;
}
.xmas2026 .to-top span{font-size:12px}
.xmas2026 .to-top.show{opacity:1;visibility:visible;transform:none}
.xmas2026 .to-top:hover{background:#b8262d}
.xmas2026 .to-top:focus-visible{outline:4px solid var(--gold);outline-offset:3px}
@media (max-width:768px){
  .xmas2026 .hero-logo{top:10px;right:12px}
  .xmas2026 .hero-logo img{width:44px}
  .xmas2026 .to-top{right:14px;bottom:14px;width:48px;height:48px;font-size:12px}
  .xmas2026 .to-top span{font-size:10px}
}

.xmas2026 .card-sub{display:block;font-weight:400;font-size:.87em;color:#444}

@media (max-width:768px){
  .xmas2026 .hero{height:calc(1380 * var(--u))}
  .xmas2026 .hero-title{top:calc(190 * var(--u))}
  .xmas2026 .hero-snowman{width:calc(800 * var(--u));left:calc(50% - 550 * var(--u));top:calc(538 * var(--u))}
  .xmas2026 .hero-car{width:calc(1520 * var(--u));left:calc(50% - 480 * var(--u));top:calc(780 * var(--u))}
}

.xmas2026 .badges img:nth-child(1){--sw:3.2s;--d:0s}
.xmas2026 .badges img:nth-child(2){--sw:3.6s;--d:-1.1s}
.xmas2026 .badges img:nth-child(3){--sw:3s;--d:-2s}
.xmas2026 .badges img{
  transform-origin:50% 6%;
  animation:badgeSwing var(--sw) ease-in-out var(--d) infinite;
}
@keyframes badgeSwing{
  0%,100%{transform:rotate(0)}
  25%{transform:rotate(3deg)}
  75%{transform:rotate(-3deg)}
}
@media (prefers-reduced-motion:reduce){
  .xmas2026 .badges img{animation:none}
}

.xmas2026 .quick-nav{position:fixed;z-index:60;right:0;top:50%;transform:translateY(-50%)}
.xmas2026 .qn-toggle{display:none}
.xmas2026 .qn-list{list-style:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.xmas2026 .qn-list a{
  display:block;writing-mode:vertical-rl;height:max-content;white-space:nowrap;
  font-size:clamp(11px,1.7vh,17px);font-weight:700;line-height:1;letter-spacing:.12em;
  padding:.75em .6em .65em .7em;
  background:var(--red);color:#fff;
  border:3px solid #fff;border-right:0;border-radius:12px 0 0 12px;
  box-shadow:-2px 3px 10px rgba(0,0,0,.22);
  transition:background .2s,padding .2s;
}
.xmas2026 .qn-list a:hover{background:#b8262d}
.xmas2026 .qn-list a.is-active{background:var(--gold);color:var(--navy);padding-right:calc(.6em + 6px)}
.xmas2026 .qn-list a:focus-visible{outline:4px solid var(--gold);outline-offset:2px}
.xmas2026 #xmas-exclusive,.xmas2026 #xmas-budget,.xmas2026 #xmas-flagship,.xmas2026 #xmas-kids,.xmas2026 #xmas-adults{scroll-margin-top:20px}

@media (max-width:768px){
  .xmas2026 .quick-nav{top:4px;left:4px;right:auto;transform:none}
  .xmas2026 .qn-toggle{
    display:flex;align-items:center;justify-content:center;
    width:42px;height:42px;padding:0;cursor:pointer;
    background:var(--red);border:2px solid #fff;border-radius:10px;
    box-shadow:0 3px 10px rgba(0,0,0,.25);
  }
  .xmas2026 .qn-toggle span,.xmas2026 .qn-toggle span::before,.xmas2026 .qn-toggle span::after{
    display:block;width:20px;height:2px;border-radius:1px;background:#fff;transition:transform .25s,background .25s;
  }
  .xmas2026 .qn-toggle span{position:relative}
  .xmas2026 .qn-toggle span::before,.xmas2026 .qn-toggle span::after{content:"";position:absolute;left:0}
  .xmas2026 .qn-toggle span::before{top:-6px}
  .xmas2026 .qn-toggle span::after{top:6px}
  .xmas2026 .quick-nav.is-open .qn-toggle span{background:transparent}
  .xmas2026 .quick-nav.is-open .qn-toggle span::before{transform:translateY(6px) rotate(45deg)}
  .xmas2026 .quick-nav.is-open .qn-toggle span::after{transform:translateY(-6px) rotate(-45deg)}
  .xmas2026 .qn-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

  .xmas2026 .qn-list{
    position:absolute;top:50px;left:0;align-items:stretch;gap:0;
    background:var(--red);border:2px solid #fff;border-radius:10px;overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,.28);
    visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0);
    transition:clip-path .3s ease,opacity .2s,visibility 0s .3s;
  }
  .xmas2026 .quick-nav.is-open .qn-list{
    visibility:visible;opacity:1;clip-path:inset(0 -12px -12px 0);
    transition:clip-path .3s ease,opacity .2s,visibility 0s;
  }
  .xmas2026 .qn-list a{
    writing-mode:horizontal-tb;white-space:nowrap;height:auto;
    font-size:16px;letter-spacing:.06em;padding:11px 20px;
    border:0;border-radius:0;box-shadow:none;
  }
  .xmas2026 .qn-list li + li a{border-top:1px dashed rgba(255,255,255,.7)}
  .xmas2026 .qn-list a.is-active{padding-right:20px}
  .xmas2026 .qn-list a:focus-visible{outline-offset:-4px}
  .xmas2026 #xmas-exclusive,.xmas2026 #xmas-budget,.xmas2026 #xmas-flagship,.xmas2026 #xmas-kids,.xmas2026 #xmas-adults{scroll-margin-top:62px}
}
@media (prefers-reduced-motion:reduce){
  .xmas2026 .qn-list,.xmas2026 .qn-list a,.xmas2026 .qn-toggle span,.xmas2026 .qn-toggle span::before,.xmas2026 .qn-toggle span::after{transition:none}
}
