.christmas-app{background:radial-gradient(ellipse at 75% 15%,#1e2b48bf,transparent 48%),hsl(var(--night));color:hsl(var(--snow));font-family:var(--font-body);min-height:100dvh}.calendar-nav,.calendar-hero,.calendar-section,.calendar-footer{z-index:2;max-width:1040px;margin:auto;position:relative}.calendar-nav{justify-content:space-between;align-items:center;padding:48px 32px 12px;display:flex}.brand-mark{align-items:center;gap:11px;font-size:14px;line-height:1.2;display:flex}.brand-mark strong{letter-spacing:.07em;opacity:.65;margin-top:4px;font-size:12px;font-weight:600;display:block}.brand-icon{color:hsl(var(--christmas-gold));background:hsl(var(--christmas-gold)/.08);border:1px solid hsl(var(--christmas-gold)/.23);border-radius:12px;padding:10px}.grownups-button{border:1px solid hsl(var(--snow)/.16);color:hsl(var(--snow)/.75);border-radius:99px;align-items:center;gap:7px;padding:9px 15px;font-size:12px;transition:background .2s;display:flex}.grownups-button:hover{background:hsl(var(--snow)/.08)}.fairy-lights{border-bottom:2px solid hsl(var(--snow)/.12);z-index:3;border-radius:0 0 50% 50%;justify-content:space-around;width:100%;height:26px;display:flex;position:absolute;top:-9px;left:0}.fairy-lights i{background:hsl(var(--bulb));width:7px;height:12px;box-shadow:0 0 12px 3px hsl(var(--bulb)/.35);animation:3s ease-in-out infinite alternate twinkle;animation-delay:calc(var(--i)*-.27s);border-radius:50%;margin-top:16px}.red{--bulb:354 85% 67%}.green{--bulb:151 63% 60%}.gold{--bulb:43 95% 70%}.purple{--bulb:278 70% 76%}.blue{--bulb:209 80% 70%}.snowfall{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.snowfall i{font-size:calc(4px + var(--i)*.16px);color:hsl(var(--snow)/.3);animation:snowfall calc(19s + var(--i)*.6s) linear infinite;animation-delay:calc(var(--i)*-1.8s);position:absolute;top:-20px}.calendar-hero{grid-template-columns:1.5fr 1fr;align-items:center;gap:30px;padding:48px 48px 40px;display:grid}.eyebrow{letter-spacing:.22em;color:hsl(var(--christmas-gold)/.85);align-items:center;gap:8px;margin-bottom:19px;font-size:9px;font-weight:800;display:flex}.eyebrow>span{background:currentColor;border-radius:50%;width:5px;height:5px}.hero-copy h1{font-family:var(--font-heading);letter-spacing:-.02em;font-size:clamp(35px,4.8vw,58px);line-height:1.13}.hero-copy h1 span{color:hsl(var(--christmas-gold))}.hero-description{color:hsl(var(--snow)/.65);margin-top:18px;font-size:14px;line-height:1.8}.hero-badges{flex-wrap:wrap;align-items:center;gap:10px;margin-top:23px;display:flex}.nice-badge,.sleep-badge{border-radius:99px;align-items:center;gap:7px;padding:8px 11px;font-size:10px;font-weight:700;display:inline-flex}.nice-badge{color:#afe4cc;background:hsl(var(--christmas-green)/.35);border:1px solid #afe4cc26}.sleep-badge{color:hsl(var(--snow)/.75)}.sleep-badge>span{color:hsl(var(--christmas-gold));font-size:20px;line-height:10px}.hero-art{justify-content:center;align-items:center;height:252px;display:flex;position:relative}.moon-disc{width:216px;height:216px;box-shadow:0 0 70px hsl(var(--christmas-gold)/.07);background:radial-gradient(circle at 35% 30%,#e6d7bc,#c2b08e);border-radius:50%;position:absolute}.santa-illustration{filter:drop-shadow(0 14px 10px hsl(var(--night)/.3));font-size:172px;position:relative;transform:rotate(-5deg)}.santa-note{white-space:nowrap;background:hsl(var(--paper));color:hsl(var(--ink));box-shadow:0 6px 20px hsl(var(--night)/.25);border-radius:5px;align-items:center;gap:8px;padding:10px 18px;font-size:12px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)rotate(-4deg)}.art-star{color:hsl(var(--christmas-gold));font-size:25px;position:absolute}.star-one{top:14%;left:8%}.star-two{font-size:38px;top:35%;right:4%}.star-three{font-size:17px;bottom:15%;left:4%}.art-orbit{border:1px dashed hsl(var(--christmas-gold)/.14);pointer-events:none;border-radius:50%;position:absolute;inset:4% 10%;transform:rotate(-20deg)scaleX(1.18)}.calendar-section{padding:19px 32px 26px}.calendar-intro{justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.calendar-intro>div{align-items:center;gap:11px;display:flex}.calendar-intro h2{font-family:var(--font-heading);font-size:21px}.tiny-star{color:hsl(var(--christmas-gold));font-size:17px}.calendar-intro p{color:hsl(var(--snow)/.45);font-size:11px}.present-grid{perspective:1000px;grid-template-columns:repeat(6,minmax(0,1fr));gap:17px;display:grid}.present{--gift:var(--christmas-red);aspect-ratio:1.28;background:linear-gradient(130deg,hsl(var(--gift)),hsl(var(--gift)/.78));border:1px solid hsl(var(--snow)/.11);box-shadow:inset 0 2px 0 hsl(var(--snow)/.09),0 5px 0 hsl(var(--gift)/.4),0 9px 18px hsl(var(--night)/.3);isolation:isolate;transform-style:preserve-3d;border-radius:11px;transition:transform .2s,box-shadow .2s;position:relative;overflow:visible}.present:hover{transform:translateY(-3px)}.present-red{--gift:var(--christmas-red)}.present-green{--gift:var(--christmas-green)}.present-gold{--gift:38 56% 46%}.present-purple{--gift:var(--christmas-purple)}.present-blue{--gift:var(--christmas-blue)}.present-pattern{border-radius:inherit;background-image:radial-gradient(hsl(var(--snow)/.12) 1px,transparent 1px);z-index:-1;background-size:14px 14px;position:absolute;inset:0}.ribbon-vertical{background:hsl(var(--christmas-gold)/.4);border-inline:1px solid hsl(var(--christmas-gold)/.12);z-index:-1;width:14%;position:absolute;top:0;bottom:0;left:43%}.ribbon-horizontal{background:hsl(var(--christmas-gold)/.3);z-index:-1;height:13%;position:absolute;top:29%;left:0;right:0}.present-bow{color:hsl(var(--christmas-gold)/.8);text-shadow:1px 2px 2px hsl(var(--night)/.2);font-family:Georgia,serif;font-size:45px;font-weight:900;line-height:1;position:absolute;top:-13px;left:50%;transform:translate(-50%)rotate(-5deg)}.present-number{font-size:38px;font-weight:900;font-family:var(--font-body);color:hsl(var(--snow));text-shadow:0 3px 1px hsl(var(--night)/.2);margin-top:12px;display:inline-block;position:relative}.door-lock{opacity:.4;position:absolute;bottom:9px;right:10px}.present-snowflake{opacity:.16;position:absolute;bottom:10px;left:10px;transform:rotate(15deg)}.calendar-hint{color:hsl(var(--snow)/.45);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:24px;font-size:10px;display:flex}.calendar-footer{border-top:1px solid hsl(var(--snow)/.07);color:hsl(var(--snow)/.35);justify-content:center;align-items:center;gap:9px;padding:20px 24px 27px;font-size:10px;display:flex}.calendar-footer svg{color:hsl(var(--christmas-gold)/.65)}@keyframes twinkle{to{opacity:.45;box-shadow:0 0 7px hsl(var(--bulb)/.2)}}@keyframes snowfall{to{transform:translate(35px,1100px)rotate(120deg)}}@media (width<=640px){.calendar-nav{padding:42px 20px 8px}.brand-mark{font-size:12px}.brand-mark strong{font-size:10px}.brand-icon{padding:8px}.grownups-button{padding:8px 11px;font-size:10px}.calendar-hero{text-align:center;grid-template-columns:1fr;gap:8px;padding:32px 22px 28px}.eyebrow{justify-content:center;margin-bottom:16px;font-size:8px}.hero-description{margin-top:14px;font-size:12px}.hero-badges{justify-content:center;margin-top:16px}.hero-art{height:160px;display:none}.calendar-section{padding:10px 18px 22px}.calendar-intro{justify-content:center;padding-bottom:22px}.calendar-intro h2{font-size:19px}.calendar-intro p{display:none}.present-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 11px}.present{aspect-ratio:.95;border-radius:9px}.present-number{font-size:29px}.present-bow{font-size:36px;top:-11px}.present-snowflake{width:15px;bottom:7px;left:6px}.door-lock{width:10px;bottom:7px;right:6px}.calendar-hint{font-size:9px;line-height:1.7}.calendar-hint span{display:none}.calendar-footer{gap:6px;padding-bottom:22px;font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.snowfall{display:none}}
