:root{--gold:#E7B43C;--gold-d:#A9781A;--pine:#1F6B3A;--snow:#FBFAF8}
.xbar{position:relative;z-index:901;background:linear-gradient(90deg,var(--rubino-d),#7a0d18 50%,var(--rubino-d));color:#fff;font-size:.9rem;overflow:hidden}
.xbar::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 50%,rgba(247,196,55,.22),transparent 30%),radial-gradient(circle at 88% 50%,rgba(247,196,55,.18),transparent 30%);pointer-events:none}
.xbar-in{position:relative;max-width:1440px;margin:0 auto;padding:.55rem calc(var(--gut) + 2.4rem) .55rem var(--gut);display:flex;align-items:center;justify-content:center;gap:.6rem 1rem;flex-wrap:wrap;text-align:center;min-height:44px}
.xbar-ic{color:var(--sun);display:inline-flex;animation:xTwinkle 2.4s ease-in-out infinite}
.xbar-t{margin:0;line-height:1.35}
.xbar-t b{color:var(--sun);font-weight:600}
.xbar-count{display:inline-flex;align-items:baseline;gap:.3rem;padding:.15rem .7rem;border-radius:999px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(247,196,55,.45);white-space:nowrap;font-size:.84rem}
.xbar-count b{color:var(--sun);font-family:var(--display);font-size:1.05rem}
.xbar-cta{display:inline-flex;align-items:center;gap:.3rem;color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:rgba(247,196,55,.7);text-underline-offset:3px;white-space:nowrap}
.xbar-cta:hover{color:var(--sun)}
.xbar-x{position:absolute;right:calc(var(--gut) - 6px);top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.75);display:grid;place-items:center;cursor:pointer}
.xbar-x:hover{background:rgba(255,255,255,.14);color:#fff}
@media(max-width:640px){.xbar{font-size:.82rem}.xbar-in{gap:.35rem .7rem;padding-block:.5rem}.xbar-ic{display:none}}

.hdr{overflow:visible}
.x-lights{position:absolute;left:0;right:0;top:100%;height:22px;overflow:hidden;pointer-events:none;display:flex;justify-content:space-between;padding:0 6px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='22'%3E%3Cpath d='M0 1.5Q32 14 64 1.5' fill='none' stroke='%233a2a1c' stroke-width='1.3' stroke-opacity='.55'/%3E%3C/svg%3E") repeat-x 0 0/64px 22px}
.x-lights i{flex:none;position:relative;width:7px;height:11px;margin-top:6px;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;background:var(--c);box-shadow:0 0 6px 1px var(--c),0 0 14px 2px var(--g);animation:xBulb 2.8s ease-in-out infinite;animation-delay:var(--d)}
.x-lights i::before{content:"";position:absolute;left:1px;top:-3px;width:5px;height:4px;border-radius:1px;background:#4a3a2a}
.x-lights i:nth-child(4n+1){--c:#ff3b4e;--g:rgba(255,59,78,.45);--d:0s}
.x-lights i:nth-child(4n+2){--c:#ffd24a;--g:rgba(255,210,74,.5);--d:.7s}
.x-lights i:nth-child(4n+3){--c:#3fd27a;--g:rgba(63,210,122,.45);--d:1.4s}
.x-lights i:nth-child(4n){--c:#ffffff;--g:rgba(200,225,255,.55);--d:2.1s}
.x-lights i:nth-child(2n){margin-top:5px}
.x-lights i:nth-child(3n){animation-duration:3.4s}
@media(max-width:1024px){.x-lights i:nth-child(n+34){display:none}}
@media(max-width:640px){.x-lights i:nth-child(n+20){display:none}}
@keyframes xBulb{0%,100%{opacity:1;filter:brightness(1.1)}50%{opacity:.35;filter:brightness(.7)}}
@keyframes xTwinkle{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.8) rotate(18deg);opacity:.7}}

.is-xmas .hero{background:radial-gradient(120% 90% at 78% 55%,#7a0d18 0%,var(--rubino) 45%,#2a0308 100%)}
.is-xmas .hero-title .ln:nth-child(2)>span{color:var(--sun)}
.x-orn{display:none}
.js .x-orn{display:block;position:absolute;z-index:3;left:var(--ox,-99px);top:calc(var(--oy,0px) - min(26vh,220px));width:2px;height:min(26vh,220px);transform:translateX(-50%);pointer-events:none;opacity:var(--copy-o,1);
  background:linear-gradient(to bottom,rgba(231,180,60,0),rgba(231,180,60,.9) 40%,#f3d27a)}
.x-orn-bow{position:absolute;left:50%;bottom:-10px;width:44px;height:30px;transform:translateX(-50%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 30'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffe9a8'/%3E%3Cstop offset='.55' stop-color='%23e7b43c'/%3E%3Cstop offset='1' stop-color='%23a9781a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M22 13C17 4 5 1 4 7s9 9 18 6zM22 13c5-9 17-12 18-6s-9 9-18 6z' fill='url(%23g)'/%3E%3Cpath d='M20 14l-7 15 5-3 3 4 1-15zM24 14l7 15-5-3-3 4-1-15z' fill='url(%23g)'/%3E%3Ccircle cx='22' cy='13' r='3.6' fill='%23f3d27a' stroke='%23a9781a' stroke-width='.8'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}
@media(max-width:820px){.js .x-orn{display:none}}
.x-stars{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:var(--copy-o,1)}
.x-stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff6d0;box-shadow:0 0 8px 2px rgba(247,196,55,.65);animation:xStar 3.2s ease-in-out infinite}
.x-stars i:nth-child(1){left:6%;top:14%;animation-delay:.2s}
.x-stars i:nth-child(2){left:18%;top:8%;animation-delay:1.4s}
.x-stars i:nth-child(3){left:31%;top:18%;animation-delay:.8s}
.x-stars i:nth-child(4){left:44%;top:9%;animation-delay:2.1s}
.x-stars i:nth-child(5){left:52%;top:22%;animation-delay:.5s}
.x-stars i:nth-child(6){left:9%;top:82%;animation-delay:1.1s}
.x-stars i:nth-child(7){left:26%;top:90%;animation-delay:2.6s}
.x-stars i:nth-child(8){left:47%;top:86%;animation-delay:.3s}
.x-stars i:nth-child(9){left:58%;top:70%;animation-delay:1.8s}
.x-stars i:nth-child(10){left:94%;top:12%;animation-delay:.9s}
.x-stars i:nth-child(11){left:97%;top:48%;animation-delay:2.3s}
.x-stars i:nth-child(12){left:91%;top:88%;animation-delay:1.5s}
.x-stars i:nth-child(13){left:3%;top:46%;animation-delay:2.9s}
.x-stars i:nth-child(14){left:38%;top:64%;animation-delay:.6s}
.x-stars i:nth-child(3n){width:4px;height:4px}
@keyframes xStar{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.25)}}

.x-gifts{position:relative;background:linear-gradient(180deg,#fff 0%,#FFF8EC 100%);overflow:hidden}
.x-gifts::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(231,180,60,.22),transparent 65%);pointer-events:none}
.x-gifts-in{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.x-gifts-head{position:sticky;top:calc(var(--head-h) + 40px)}
.x-kicker{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 1rem;padding:.4rem .85rem;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px rgba(169,120,26,.35);color:var(--gold-d);font-weight:600;font-size:.9rem}
.x-kicker svg{color:var(--pine)}
.x-count{display:inline-flex;align-items:center;gap:.9rem;margin-top:1.6rem;padding:1rem 1.4rem 1rem 1.2rem;border-radius:20px;background:var(--rubino);color:#fff;box-shadow:0 18px 40px -18px rgba(94,9,18,.6),inset 0 0 0 1px rgba(247,196,55,.35)}
.x-count b{font-family:var(--display);font-weight:780;font-stretch:84%;font-size:clamp(3rem,6vw,4.4rem);line-height:.85;color:var(--sun);letter-spacing:-.03em}
.x-count span{font-weight:600;line-height:1.2;font-size:1rem}
.x-hours{display:flex;align-items:flex-start;gap:.5rem;margin:1.2rem 0 0;font-weight:600;color:var(--ink)}
.x-hours svg{flex:none;color:var(--red);margin-top:.1rem}
.x-gift-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.x-gift{position:relative;display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.3rem 3.2rem 1.3rem 1.3rem;border-radius:18px;background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 1px 0 rgba(31,20,22,.04),0 0 0 1px var(--line);transition:transform .3s var(--ease-out),box-shadow .3s}
.x-gift:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(94,9,18,.45),0 0 0 1px rgba(211,31,45,.35)}
.x-gift-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;margin-bottom:.4rem;color:#fff;background:var(--ic)}
.x-gift-0{--ic:linear-gradient(135deg,#e2343f,#9c1022)}
.x-gift-1{--ic:linear-gradient(135deg,#2c8a4c,#175a30)}
.x-gift-2{--ic:linear-gradient(135deg,#f0c14a,#b8860b)}
.x-gift-3{--ic:linear-gradient(135deg,#7a0d18,#3a050b)}
.x-gift b{font-family:var(--display);font-size:1.18rem;line-height:1.15;font-weight:700}
.x-gift-cat{font-size:.88rem;color:var(--red-d);font-weight:600}
.x-gift-names{font-size:.88rem;color:var(--ink-2);line-height:1.4}
.x-gift-go{position:absolute;right:1.1rem;top:1.3rem;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--floor);color:var(--ink);transition:background .25s,color .25s,transform .3s var(--ease-out)}
.x-gift:hover .x-gift-go{background:var(--red);color:#fff;transform:translateX(3px)}
@media(max-width:900px){.x-gifts-in{grid-template-columns:minmax(0,1fr)}.x-gifts-head{position:static}}
@media(max-width:560px){.x-gift-grid{grid-template-columns:minmax(0,1fr)}}

.x-drift{position:absolute;left:0;top:-1px;width:100%;height:clamp(22px,4vw,48px);z-index:1;pointer-events:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.18))}
.is-xmas .ftr-top{padding-top:clamp(4.5rem,9vw,7rem)}

.x-snow{position:fixed;inset:0;width:100%;height:100%;z-index:850;pointer-events:none}
.snow-btn{left:76px}
.snow-btn[aria-pressed=true]{background:var(--rubino);color:#fff}
@media(prefers-reduced-motion:reduce){.x-lights i,.xbar-ic,.x-stars i{animation:none}}
.is-xmas .drawer{top:var(--hdr-b,var(--head-h))}
