:root{--blue:#06477d;--yellow:#fed400;--cream:#fff9ed;--muted:#7b7b7b;--green:#38774b}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--blue);font-family:'Trebuchet MS',Arial,sans-serif}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #f19e25;outline-offset:5px}header{height:90px;max-width:1240px;margin:auto;display:flex;align-items:center;gap:32px;padding:0 42px;border-bottom:1px solid #e9e1d1}.brand{font-size:29px;font-weight:1000;letter-spacing:-1.7px;transform:rotate(-3deg)}.brand span{color:#ed3534;font-size:25px;margin-left:1px}.header-label{font-size:10px;letter-spacing:2px;font-weight:bold}.shop{margin-left:auto;font-size:13px;font-weight:bold}.shop span{margin-left:12px}.intro{text-align:center;padding:48px 20px 27px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.5px}.eyebrow>span{color:#ba8a29;font-size:17px;margin:0 9px}h1{font-size:clamp(36px,5vw,61px);line-height:1.13;letter-spacing:-2.2px;margin:18px 0 17px;font-weight:900}h1 span{color:#bc3432;position:relative;display:inline-block}h1 span:after{content:'';position:absolute;bottom:-6px;left:2%;width:96%;height:4px;background:#fed400;border-radius:100%;transform:rotate(-1deg)}.intro p{font-size:15px;line-height:1.8;color:#656a6c;margin:18px 0}.season{display:inline-flex;align-items:center;gap:8px;background:#f3ead8;border:1px solid #e8dcc3;padding:10px 16px;border-radius:30px;font-size:11px;font-weight:bold}.dot{width:6px;height:6px;background:#ac7c2c;border-radius:50%}.calendar-section{max-width:980px;margin:0 auto;padding:0 24px}.calendar-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:16px 8px}.today{border:0;background:none;color:var(--blue);font-size:12px;font-weight:bold}.today span{padding-left:8px}.cabinet{position:relative;aspect-ratio:1.18;background:repeating-linear-gradient(0deg,#492916 0%,#603a20 19%,#ac6b32 20%,#4f2c16 22%,#422310 24%);border:12px solid #9c612e;border-radius:17px 17px 8px 8px;box-shadow:0 16px 35px #6b431c26,inset 0 0 30px #0008;background-size:100% 100%;isolation:isolate}.cabinet.with-image{background-image:url('assets/workshop.webp');border:0;border-radius:18px;aspect-ratio:1.04;background-size:100% 100%}.garland{position:absolute;z-index:2;top:-2%;left:0;right:0;height:9%;border-radius:15px 15px 0 0;background:linear-gradient(170deg,#193c20,#305a2b 50%,#1f3d20);display:flex;justify-content:space-around;align-items:center;color:#ffe9a0;font-size:23px;text-shadow:0 0 10px #ffd861;box-shadow:0 4px 9px #0006}.garland i{width:9px;height:9px;border-radius:50%;background:#b02f2e}.with-image .garland{display:none}.gifts{position:absolute;inset:5% 5% 5%;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);column-gap:4%;row-gap:5.3%;align-items:end}.with-image .gifts{inset:7% 6% 7%;row-gap:3.7%}.gift{--paper:#1467a5;--ribbon:#f5cb35;position:relative;border:0;border-radius:4px;background:linear-gradient(115deg,#ffffff16,transparent 40%,#0002),var(--paper);height:80%;width:100%;box-shadow:inset 0 0 0 3px #ffffff15,inset -4px -4px 8px #0002,3px 5px 7px #0005;transition:transform .22s,filter .22s;transform-origin:bottom;display:flex;justify-content:center;align-items:center;outline:1px dashed #ffffffa0;outline-offset:-5px}.gift:nth-child(3n){height:69%}.gift:nth-child(4n){height:90%}.gift:before{content:'';position:absolute;top:0;bottom:0;left:42%;width:17%;background:linear-gradient(90deg,#ffffff20,transparent,#0001),var(--ribbon);box-shadow:1px 0 2px #0002}.gift:after{content:'';position:absolute;top:32%;left:0;right:0;height:13%;background:linear-gradient(#ffffff25,#0001),var(--ribbon)}.gift .bow{position:absolute;top:13%;left:50%;transform:translateX(-50%);width:57%;height:25%;z-index:2}.bow:before,.bow:after{content:'';position:absolute;width:52%;height:70%;background:var(--ribbon);border:2px solid #fff3;box-shadow:inset 2px 2px 5px #fff5,2px 2px 2px #0003;top:10%}.bow:before{left:0;border-radius:70% 75% 0 70%;transform:rotate(24deg)}.bow:after{right:0;border-radius:75% 70% 70% 0;transform:rotate(-24deg)}.day{z-index:3;position:relative;top:16%;background:#fff7e8;color:#06477d;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-weight:900;font-size:18px;box-shadow:0 2px 3px #0002}.gift.locked{filter:saturate(.72) brightness(.92)}.gift:hover{transform:translateY(-6px) rotate(-2deg);filter:brightness(1.07)}.gift.opened .day:after{content:'✓';font-size:9px;position:absolute;right:-3px;bottom:0;color:white;background:#367b42;border-radius:50%;padding:2px 3px}.gift.current{outline:3px solid #ffda00;outline-offset:4px}.gift.current .day{background:#fed400}.gift .today-tag{position:absolute;bottom:-16px;background:#fed400;border-radius:15px;padding:3px 10px;font-weight:bold;font-size:10px;z-index:5}.gift:last-child{height:95%;--paper:#07538e;--ribbon:#fed400}.gift:last-child .day{width:43px;height:43px;font-size:25px}.gift .tiny-star{position:absolute;bottom:10%;right:12%;color:#fff8;font-size:10px;z-index:1}.legend{display:flex;align-items:center;gap:24px;padding:21px 5px;color:#7c7b73;font-size:10px}.legend>span{display:flex;align-items:center;gap:7px}.legend>span:last-child{margin-left:auto}.legend-circle{width:7px;height:7px;display:inline-block;border-radius:50%;background:#ac9d81}.legend-circle.available{background:#397a4e}.how{max-width:1100px;margin:34px auto 0;display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:30px;padding:32px 36px 37px;border-top:1px solid #e6dfce;border-bottom:1px solid #e6dfce}.how-title>span{text-transform:uppercase;font-size:9px;letter-spacing:1.5px;color:#a18a62}.how h2{font-size:23px;margin:9px 0;letter-spacing:-.7px}.how b{font-size:13px;display:flex;gap:9px;align-items:center}.how em{background:#f4e8ce;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-style:normal}.how p{font-size:12px;line-height:1.7;color:#737674;margin:10px 0 0 34px}.closing{display:flex;justify-content:center;align-items:center;gap:34px;text-align:center;padding:28px 20px}.closing>span{color:#be9b56;font-size:26px}.closing p{font-size:15px;line-height:1.7}.closing strong{font-size:19px}footer{max-width:1160px;margin:auto;padding:22px 28px;border-top:1px solid #e6dfce;display:flex;gap:24px;font-size:10px;color:#7a7a70}footer>span{margin-right:auto}footer button{border:0;background:none;color:inherit;font-size:10px}dialog{padding:0;border:0;border-radius:18px;max-width:440px;width:calc(100% - 32px);color:var(--blue);background:var(--cream);box-shadow:0 20px 80px #0006}dialog::backdrop{background:#122332ad;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:13px;top:10px;border:0;border-radius:50%;width:32px;height:32px;background:#fff9;color:var(--blue);font-size:25px;z-index:3}.modal-art{height:165px;background:radial-gradient(ellipse,#fff4c2,#f2ddb0);display:flex;align-items:center;justify-content:center;position:relative}.mini-gift{height:85px;width:85px;border-radius:5px;background:linear-gradient(90deg,transparent 40%,#fed400 40% 60%,transparent 60%),linear-gradient(transparent 35%,#fed400 35% 50%,transparent 50%),#0b5b93;box-shadow:4px 7px 10px #7b501d33;transform:rotate(-8deg);color:white;text-align:center;padding-top:50px;font-size:22px}#modalDay{position:absolute;bottom:15px;font-size:11px;letter-spacing:2px;font-weight:bold}.modal-content{padding:30px;text-align:center}.modal-content h2{font-size:28px;margin:15px 0;letter-spacing:-1px}.modal-content p{font-size:14px;line-height:1.8;color:#74766f}.modal-content .eyebrow{font-size:9px}.cta{display:flex;justify-content:center;gap:20px;background:#33794c;color:white;border-radius:7px;padding:15px;margin-top:23px;font-weight:bold;font-size:13px}.modal-back{background:none;border:0;margin:18px 0 0;color:#6c776f;font-size:12px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:14px 22px;border-radius:9px;background:var(--blue);color:white;box-shadow:0 5px 30px #0003;font-size:13px;z-index:20;max-width:90%;width:max-content;display:none}.preview-bar{position:sticky;bottom:0;z-index:10;background:#06477d;color:#fff;padding:14px 25px;align-items:center;justify-content:center;gap:20px;font-size:11px;box-shadow:0 -5px 20px #0002}.preview-bar:not([hidden]){display:flex}.preview-bar select{margin-left:7px;padding:6px;border-radius:5px}.preview-bar button{background:#fed400;color:#06477d;border:0;border-radius:5px;padding:8px 13px;font-size:11px}.offer-code{padding:12px;background:#f4e8ce;border:1px dashed #ba9e65;border-radius:6px;font-size:20px;font-weight:bold}.offer-validity{font-size:11px;color:#79746b}@media(min-width:1200px){.calendar-section{max-width:870px}}@media(max-width:700px){header{height:72px;padding:0 20px}.header-label{display:none}.brand{font-size:25px}.shop{font-size:11px}.intro{padding-top:32px}.intro p{font-size:13px}h1{letter-spacing:-1.5px}.calendar-section{padding:0 12px}.calendar-top{font-size:10px;padding:15px 3px}.today{font-size:10px}.cabinet.with-image{aspect-ratio:.88;background-size:100% 100%}.gifts{column-gap:3%}.day{width:25px;height:25px;font-size:14px}.gift:last-child .day{width:30px;height:30px;font-size:19px}.gift{outline-offset:-3px}.legend{font-size:8px;gap:12px}.how{grid-template-columns:1fr;padding:27px 23px;gap:24px;margin-top:17px}.how p{margin-top:5px}.how-title{text-align:center}.closing{padding:18px 12px;gap:15px}.closing p{font-size:12px}.closing strong{font-size:15px}footer{flex-wrap:wrap;padding:20px;gap:16px}footer>span{width:100%}.preview-bar:not([hidden]){flex-wrap:wrap;gap:9px}.preview-bar>span{display:none}.gift .today-tag{font-size:8px;padding:2px 6px;bottom:-12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.with-image .gifts{inset:17% 6% 8%;row-gap:4%}[hidden]{display:none!important}
/* Sparkys identity: original shop typefaces, logo and brand colors. */
@font-face{font-family:Varela;src:url('assets/varela-round.woff2') format('woff2');font-display:swap}@font-face{font-family:GoodEatin;src:url('assets/good-eatin.woff2') format('woff2');font-display:swap}
:root{--blue:#004996;--yellow:#fed400;--cream:#fff;--green:#1aa465}body{font-family:Varela,Arial,sans-serif;color:#0b093b;background:#fff}header{border-bottom:0;max-width:1240px;height:108px}.brand{transform:none;letter-spacing:0;display:block}.brand img{display:block;width:205px;height:auto}.header-label{color:#004996;letter-spacing:1.2px}.shop{color:#004996}.intro{background:#fed400;padding:34px 20px 29px;position:relative;overflow:hidden}.intro:before,.intro:after{content:'✦';position:absolute;font-size:100px;line-height:1;color:#fff5;transform:rotate(15deg);pointer-events:none}.intro:before{left:6%;top:22px}.intro:after{right:6%;bottom:15px;font-size:72px;transform:rotate(-15deg)}.intro .eyebrow{color:#004996}.intro .eyebrow>span{color:#004996}h1{font-family:GoodEatin,Varela,sans-serif;font-size:clamp(43px,5.5vw,68px);font-weight:400;letter-spacing:0;color:#004996;margin:13px 0}h1 span{color:#004996}h1 span:after{display:none}.intro p{color:#0b093b;font-size:14px;line-height:1.8;margin:12px 0}.season{background:#fff;border:0;color:#004996;font-size:11px}.dot{background:#1aa465}.calendar-section{max-width:1110px;padding-top:13px}.calendar-top{color:#004996;padding:20px 8px}.calendar-top b{font-family:GoodEatin,Varela,sans-serif;font-size:19px;font-weight:400}.cabinet.with-image{aspect-ratio:1.05;border-radius:15px;box-shadow:0 14px 35px #6b431c30}.with-image .gifts{inset:17% 5% 8%;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));column-gap:.5%;row-gap:4%}.gift,.gift:nth-child(3n),.gift:nth-child(4n),.gift:last-child{height:100%;width:100%;background:none;box-shadow:none;border-radius:0;outline:none;filter:none;display:block}.gift:before,.gift:after{display:none}.gift-art,.toy-art{position:absolute;inset:0;overflow:hidden;pointer-events:none}.gift-art img,.toy-art img{position:absolute;top:0;width:400%;height:100%;max-width:none;object-fit:fill;filter:drop-shadow(2px 5px 3px #1d0d0966)}.gift .day{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);width:29px;height:29px;font-family:Varela,Arial,sans-serif;font-size:18px;font-weight:bold;background:#fff;color:#004996;box-shadow:0 2px 4px #0003;border:1px solid #fff8}.gift.locked{filter:none}.gift:hover{filter:none;transform:translateY(-5px) rotate(-3deg)}.gift:hover .gift-art img{filter:drop-shadow(0 0 6px #ffe47e) drop-shadow(2px 5px 3px #1d0d0966)}.gift.current{outline:none}.gift.current .gift-art img{filter:drop-shadow(0 0 6px #ffe47e) drop-shadow(0 0 2px #ffe47e)}.gift .today-tag{bottom:-6px;left:50%;transform:translateX(-50%);box-shadow:0 2px 4px #0004}.gift:last-child .day{width:35px;height:35px;font-size:22px}.gift:last-child{transform:scale(1.09);transform-origin:bottom}.gift:last-child:hover{transform:scale(1.12) rotate(-3deg)}.shelf-toy{position:relative;align-self:end;height:100%;width:100%;pointer-events:none}.toy-train{height:80%}.toy-horse{height:95%}.toy-drum{height:78%}.toy-art{inset:0 -3%}.how{background:#f3faff;border-radius:16px;border:0;margin-top:20px;color:#004996}.how h2{font-family:GoodEatin,Varela,sans-serif;font-size:30px;letter-spacing:0;font-weight:400}.how-title>span{color:#004996}.how em{background:#fed400;color:#004996}.how p{color:#494c5a}.closing{color:#004996}.closing strong{font-family:GoodEatin,Varela,sans-serif;font-weight:400;font-size:25px}.closing>span{color:#fed400}.modal-content h2{font-family:GoodEatin,Varela,sans-serif;font-weight:400;letter-spacing:0;font-size:34px}.cta{background:#1aa465;text-transform:uppercase}.legend{color:#5e6470}.legend-circle.closed{background:#004996}.modal-art{background:#fed400}
@media(min-width:1200px){.calendar-section{max-width:1110px}}
@media(max-width:700px){header{height:84px;padding:0 18px}.brand img{width:150px}.intro{padding:27px 14px 24px}.intro:before{font-size:58px;left:-17px;top:16px}.intro:after{font-size:50px;right:-11px;bottom:12px}h1{font-size:42px;letter-spacing:0}.intro p{font-size:12px}.calendar-section{padding:8px 6px 0}.calendar-top{padding:16px 7px;font-size:9px}.calendar-top b{font-size:15px}.cabinet.with-image{aspect-ratio:.83;border-radius:10px}.gift .day{width:21px;height:21px;font-size:12px}.gift:last-child .day{width:24px;height:24px;font-size:14px}.legend{padding:17px 5px;font-size:8px;gap:9px}.how{margin:15px 12px 0}.closing strong{font-size:20px}.gift .today-tag{font-size:8px;padding:2px 5px;bottom:-3px}}
/* Compact navigation after removing the logo and tagline. */
header{height:48px}
@media(max-width:700px){header{height:44px}}
/* One continuous festive backdrop joins the heading and toy cabinet. */
.advent-stage{position:relative;isolation:isolate;background:linear-gradient(180deg,#fed400 0%,#fed400 48%,#ffe461 78%,#fff2b7 100%);border-radius:0 0 32px 32px;padding-bottom:14px;overflow:hidden}
.advent-stage:before,.advent-stage:after{content:'✦';position:absolute;z-index:-1;pointer-events:none;color:#fff7;font-size:110px;line-height:1;top:42%;left:1.5%;transform:rotate(15deg)}.advent-stage:after{left:auto;right:1%;top:67%;font-size:85px;transform:rotate(-12deg)}
.advent-stage .intro{background:transparent;padding:32px 20px 24px;overflow:visible}.intro-logo{display:inline-block;margin:6px auto 0;position:relative;z-index:1}.intro-logo img{display:block;width:218px;height:auto}.advent-stage h1{margin:13px 0 15px}.advent-stage .calendar-section{padding-top:0}.advent-stage .cabinet.with-image{border-radius:20px;box-shadow:0 0 0 7px #fff5,0 16px 36px #63400930}.advent-stage .calendar-top{padding:24px 5px 12px;gap:15px;position:relative;z-index:1}.advent-stage .today{background:#fff;border-radius:22px;padding:12px 18px;box-shadow:0 2px 8px #78591012}.advent-stage .legend{padding:7px 5px 15px;color:#4f502f}.advent-stage .legend-circle.closed{background:#004996}
@media(max-width:700px){.advent-stage{border-radius:0 0 22px 22px;padding-bottom:6px}.advent-stage .intro{padding:25px 14px 20px}.advent-stage h1{margin:12px 0 15px}.intro-logo img{width:175px}.advent-stage .calendar-section{padding:0 10px}.advent-stage .cabinet.with-image{border-radius:12px;box-shadow:0 0 0 4px #fff5,0 10px 25px #63400925}.advent-stage .calendar-top{padding:18px 2px 12px;gap:5px}.advent-stage .today{padding:10px 11px}.advent-stage .legend{font-size:8px;padding:5px 2px 12px}.advent-stage:before,.advent-stage:after{display:none}}

#offerImage{width:100%;max-height:260px;object-fit:contain;margin:0 0 15px;border-radius:8px}#modalText,.offer-validity{white-space:pre-wrap}
/* Sparkys campaign assets: the mascot peeks from behind the cabinet. */
.advent-stage .intro:before,.advent-stage .intro:after,.advent-stage:before,.advent-stage:after{content:none;display:none}.advent-stage{padding-bottom:16px}.advent-stage .intro{padding:36px 20px 0}.advent-stage .calendar-section{padding-top:0}.cabinet-scene{position:relative;isolation:isolate;margin-top:138px}.peeking-mascot{position:absolute;width:245px;height:auto;right:30px;bottom:calc(100% - 117px);z-index:-1;pointer-events:none;filter:drop-shadow(0 5px 5px #7357101a)}.cabinet-scene .cabinet{z-index:1;position:relative}.sparkys-star{position:absolute;display:block;width:76px;aspect-ratio:4/5;overflow:hidden;pointer-events:none;mix-blend-mode:multiply;z-index:-1}.sparkys-star img{position:absolute;display:block;width:1011.25%;max-width:none;height:auto;left:-125%;top:-6%}.star-1{left:7%;top:35px;width:76px}.star-2{right:7%;top:44px;width:52px}.star-3{left:1%;top:39%;width:96px}.star-4{right:1%;top:56%;width:76px}.star-5{left:4%;bottom:75px;width:32px}.star-6{right:4%;bottom:55px;width:52px}.closing{padding:25px 20px 33px;margin:0}.closing .closing-star{position:relative;z-index:0;width:32px;flex-shrink:0}.closing>span{font-size:initial}
/* Eyelids blink briefly; steam leaves each locomotive's chimney. */
.bear-lid{position:absolute;top:28.2%;width:9.6%;height:4.4%;border-radius:50%;background:radial-gradient(ellipse at 50% 0,#cba371,#bb8953 65%,#9b6a36);box-shadow:inset 0 -1px 0 #4e3526;transform:scaleY(0);animation:bear-blink 6.8s infinite;transform-origin:center;z-index:2}.lid-left{left:35.4%}.lid-right{left:58.4%}.shelf-toy:nth-child(30) .bear-lid{animation-delay:2.8s}@keyframes bear-blink{0%,40%,43%,46%,100%{transform:scaleY(0)}41%,42%,44.5%,45%{transform:scaleY(1)}}
.chimney-smoke{position:absolute;left:23%;top:14%;width:26%;height:50%;pointer-events:none;z-index:4}.chimney-smoke i{position:absolute;left:18%;bottom:0;width:45%;aspect-ratio:1;background:radial-gradient(ellipse,#fffdf4b3 10%,#fffae366 45%,#fff0 74%);border-radius:50%;opacity:0;animation:train-steam 3.6s linear infinite}.chimney-smoke i:nth-child(2){animation-delay:.9s}.chimney-smoke i:nth-child(3){animation-delay:1.8s}.chimney-smoke i:nth-child(4){animation-delay:2.7s}.shelf-toy:nth-child(23) .chimney-smoke{animation-delay:1s}@keyframes train-steam{0%{opacity:0;transform:translate(0,0) scale(.35)}12%{opacity:.85}55%{opacity:.5;transform:translate(30%,-110%) scale(1.1)}100%{opacity:0;transform:translate(85%,-250%) scale(1.8)}}
@media(max-width:700px){.advent-stage .intro{padding:26px 10px 0}.advent-stage h1{font-size:clamp(28px,7.4vw,42px);margin-bottom:7px}.cabinet-scene{margin-top:103px}.peeking-mascot{width:168px;right:13px;bottom:calc(100% - 80px)}.star-1{left:2%;top:56px;width:32px}.star-2{right:1%;top:8px;width:32px}.star-3,.star-4{display:none}.star-5{left:1%;bottom:65px;width:32px}.star-6{right:1%;bottom:38px;width:32px}.closing{padding:20px 13px 28px}.closing .closing-star{width:24px}}
@media(prefers-reduced-motion:reduce){.bear-lid,.chimney-smoke i{animation:none!important}.bear-lid{transform:scaleY(0)}.chimney-smoke{display:none}}
.sparkys-star{mix-blend-mode:normal}.sparkys-star img{filter:url(#star-white-knockout)}.chimney-smoke{top:22%;height:1px}
.bear-lid{top:26%;width:7%;height:5%}.lid-left{left:38%}.lid-right{left:59.5%}
/* The mascot belongs to the scene: forepaws rest on the wooden top edge. */
.advent-stage .intro{max-width:1110px;margin:0 auto;min-height:238px;padding:52px 310px 50px 24px;text-align:left}.advent-stage .intro h1{font-size:clamp(42px,4.4vw,58px);line-height:1.1;margin:14px 0 0}.advent-stage .intro .eyebrow{font-size:10px;letter-spacing:1.9px}.cabinet-scene{margin-top:0}.mascot-perch{position:absolute;width:260px;right:40px;bottom:calc(100% - 35px);z-index:3;pointer-events:none;filter:drop-shadow(0 7px 4px #5e390433)}.mascot-perch img{display:block;width:100%;height:auto}.mascot-wink{position:absolute;left:48%;top:43%;width:4.5%;height:4%;background:linear-gradient(#f8c719,#e5ae08);border-radius:50%;box-shadow:inset 0 -1px 0 #805b19;transform:scaleY(0);transform-origin:center;animation:mascot-wink 7.4s infinite}
@keyframes mascot-wink{0%,62%,67%,100%{transform:scaleY(0)}63.5%,65.5%{transform:scaleY(1)}}
.advent-stage .calendar-top{justify-content:center;padding:23px 5px 10px}.advent-stage .legend{justify-content:center}.advent-stage .legend>span:last-child{margin-left:0;font-size:10px}
/* One eye winks, drumsticks alternate their taps, the horse rocks on its base. */
.lid-right{display:none}.toy-horse .toy-art{transform-origin:50% 85%;animation:rocking-horse 3.8s ease-in-out infinite}.toy-horse:nth-child(27) .toy-art{animation-delay:-1.9s}@keyframes rocking-horse{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.drum-body img{width:100%;height:100%;left:0!important;object-fit:contain}.drum-body{inset:0 -3%;overflow:visible}.drumstick{position:absolute;top:20%;width:66%;height:4.5%;border-radius:999px;background:linear-gradient(180deg,#ffe9bb,#c68c48 65%,#9b642e);box-shadow:0 1px 2px #311b1466;z-index:4;pointer-events:none}.drumstick:after{content:'';position:absolute;right:-2%;top:-25%;width:10%;height:150%;border-radius:50%;background:linear-gradient(#ffe9bb,#c68c48)}.stick-left{left:7%;transform-origin:8% 50%;animation:drum-tap-left 1.8s ease-in-out infinite}.stick-right{right:5%;transform-origin:92% 50%;animation:drum-tap-right 1.8s ease-in-out infinite}.stick-right:after{right:auto;left:-2%}@keyframes drum-tap-left{0%,36%,100%{transform:rotate(-38deg)}16%,20%{transform:rotate(8deg)}28%{transform:rotate(-26deg)}}@keyframes drum-tap-right{0%,18%,60%,100%{transform:rotate(38deg)}36%,40%{transform:rotate(-8deg)}49%{transform:rotate(26deg)}}
@media(max-width:900px) and (min-width:701px){.advent-stage .intro{padding-right:265px;min-height:228px}.advent-stage .intro h1{font-size:44px}.mascot-perch{width:235px;right:25px}}
@media(max-width:700px){.advent-stage .intro{min-height:0;text-align:center;padding:25px 12px 0}.advent-stage .intro h1{font-size:clamp(28px,7.4vw,42px);margin:12px 0 0}.advent-stage .intro .eyebrow{font-size:8px;letter-spacing:1.7px}.cabinet-scene{margin-top:145px}.mascot-perch{width:175px;right:20px;bottom:calc(100% - 24px)}.advent-stage .calendar-top{padding:18px 4px 8px}.mascot-wink{box-shadow:inset 0 -1px 0 #805b19}}
@media(prefers-reduced-motion:reduce){.mascot-wink,.toy-horse .toy-art,.drumstick{animation:none!important}.mascot-wink{transform:scaleY(0)}.toy-horse .toy-art{transform:none}.stick-left{transform:rotate(-18deg)}.stick-right{transform:rotate(18deg)}}
.mascot-wink{left:47.6%;top:49.5%;width:5%;height:6.2%}
.star-1{left:2%;top:35px;width:52px}
@media(max-width:700px){.star-1{left:2%;top:56px;width:32px}}
/* Clear space around the typography, with four consistent star sizes. */
.pale-star img{filter:url(#star-light-yellow)}.mascot-perch{bottom:calc(100% - 10px)}.star-1{left:2%;top:35px;width:52px}.star-2{right:4%;top:55px;width:36px}.star-3{width:76px}.star-4{width:52px}.star-5{width:24px}.star-6{width:36px}.header-star{z-index:-1}.hs-1{left:calc(50% - 500px);top:6px;width:24px}.hs-2{left:calc(50% - 300px);top:10px;width:36px}.hs-3{left:calc(50% - 120px);top:8px;width:24px}.hs-4{left:calc(50% + 50px);top:21px;width:36px}.hs-5{left:calc(50% - 340px);top:170px;width:52px}.hs-6{left:calc(50% - 100px);top:178px;width:24px}.hs-7{left:calc(50% + 120px);top:155px;width:36px}.hs-8{right:1%;top:3px;width:52px}
.closing{position:relative;isolation:isolate;min-height:180px;overflow:hidden;padding:35px 90px;display:flex;align-items:center;justify-content:center}.closing p{position:relative;z-index:2;margin:0}.closing .closing-star{position:absolute;z-index:0;flex-shrink:0}.closing .cs-1{left:7%;top:15px;width:52px}.closing .cs-2{left:25%;bottom:9px;width:24px}.closing .cs-3{left:14%;top:108px;width:36px}.closing .cs-4{right:8%;top:72px;width:52px}.closing .cs-5{right:25%;top:10px;width:24px}.closing .cs-6{right:16%;bottom:8px;width:36px}
/* Grips stay low while rounded tips arc down onto the drumskin from above. */
.drumstick{top:-5%;height:65%;width:4.6%;right:auto;transform-origin:50% 94%;background:linear-gradient(90deg,#a96d31,#ffe3a4 45%,#d59b55 75%,#9b642e)}.stick-left{left:14%;right:auto;transform-origin:50% 94%}.stick-right{left:80%;right:auto;transform-origin:50% 94%}.drumstick:after,.stick-right:after{top:-4%;left:-25%;right:auto;width:150%;height:12%;background:linear-gradient(90deg,#bd8543,#ffe8b6 45%,#dba866)}
@keyframes drum-tap-left{0%,36%,100%{transform:rotate(18deg)}16%,20%{transform:rotate(58deg)}28%{transform:rotate(28deg)}}@keyframes drum-tap-right{0%,18%,60%,100%{transform:rotate(-18deg)}36%,40%{transform:rotate(-58deg)}49%{transform:rotate(-28deg)}}
@media(max-width:1000px) and (min-width:701px){.hs-1{left:4%;top:5px}.hs-2{left:31%;top:3px;width:24px}.hs-3{left:50%;top:8px}.hs-4{display:none}.hs-5{left:25%;top:180px;width:36px}.hs-6{left:50%;top:188px}.hs-7{left:62%;top:169px;width:24px}.hs-8{width:36px}.star-1{width:36px;left:1%;top:117px}}
@media(max-width:700px){.mascot-perch{bottom:calc(100% - 5px)}.header-star{display:block}.hs-1{left:5%;top:8px;width:24px}.hs-2{left:29%;top:100px;width:24px}.hs-3{left:63%;top:4px;width:24px}.hs-4{display:none}.hs-5{left:8%;top:153px;width:36px}.hs-6{left:36%;top:188px;width:24px}.hs-7{display:none}.hs-8{right:3%;top:114px;width:24px}.star-1{display:none}.star-2{right:3%;top:10px;width:24px}.star-5,.star-6{width:24px}.closing{min-height:170px;padding:40px 45px}.closing .cs-1{left:3%;top:12px;width:36px}.closing .cs-2{left:24%;bottom:9px;width:24px}.closing .cs-3{left:4%;top:115px;width:24px}.closing .cs-4{right:3%;top:95px;width:36px}.closing .cs-5{right:24%;top:8px;width:24px}.closing .cs-6{right:18%;bottom:5px;width:24px}}
@media(prefers-reduced-motion:reduce){.stick-left{transform:rotate(18deg)}.stick-right{transform:rotate(-18deg)}}
@media(min-width:1001px){.hs-2,.hs-4{top:0}}
/* Explicit separate tip and tapered handle: the striking head is always uppermost. */
.drumstick{background:none;box-shadow:none;width:7%;height:60%;top:-10%;border-radius:0;transform-origin:50% 94%}.drumstick:after,.stick-right:after{content:none;display:none}.stick-shaft{position:absolute;inset:2% 16% 0;display:block;background:linear-gradient(90deg,#a66b2c,#ffe6b3 48%,#bb8040);clip-path:polygon(20% 0,80% 0,61% 100%,39% 100%);filter:drop-shadow(1px 1px 1px #4e2c2140)}.stick-tip{position:absolute;top:-4%;left:0;width:100%;height:16%;display:block;border-radius:50%;background:radial-gradient(ellipse at 35% 25%,#fff5d6,#f3d18e 55%,#ba8140);box-shadow:0 1px 1px #6f442c40}.stick-left{left:15%;transform-origin:50% 94%}.stick-right{left:78%;transform-origin:50% 94%}
@keyframes drum-tap-left{0%,36%,100%{transform:rotate(12deg)}16%,20%{transform:rotate(62deg)}28%{transform:rotate(26deg)}}@keyframes drum-tap-right{0%,18%,60%,100%{transform:rotate(-12deg)}36%,40%{transform:rotate(-62deg)}49%{transform:rotate(-26deg)}}
.intro .eyebrow{position:relative;z-index:2;display:table;background:#fed400;box-shadow:0 0 0 9px #fed400}.hs-2{top:0!important}.hs-4{top:0!important}
@media(max-width:700px){.intro .eyebrow{margin-left:auto;margin-right:auto}.hs-2{top:150px!important}}
@media(prefers-reduced-motion:reduce){.stick-left{transform:rotate(12deg)}.stick-right{transform:rotate(-12deg)}}
/* Snow follows the real outline of the lettering, keeping the title accessible. */
.advent-stage .intro{text-align:center}.intro .eyebrow{margin-left:auto;margin-right:auto}.advent-stage .intro .snow-title{width:100%;margin:12px auto 0;line-height:0}.snow-title svg{display:block;width:100%;max-width:720px;height:auto;margin:0 auto;overflow:visible}.snow-title svg text{font-family:GoodEatin,Varela,sans-serif;font-size:72px;font-weight:400;letter-spacing:0}.snow-title .title-blue{fill:#004996}.snow-title .letter-snow{fill:#fffefa}
@media(max-width:700px){.advent-stage .intro .snow-title{margin-top:12px}.snow-title svg{max-width:540px}}
.language-switch{display:flex;align-items:center;gap:6px;margin-right:auto;font-size:11px;color:#004996}.language-switch a{padding:6px 10px;border-radius:5px}.language-switch a[aria-current=page]{background:#fed400;font-weight:bold}.language-switch a:hover{background:#fff2ac}
