body{min-height:100svh;display:flex;flex-direction:column;position:relative;background-color:#f7f0df;background-image:radial-gradient(ellipse at 80% 45%,#e3d8af66,transparent 50%),radial-gradient(#b9a77b20 .7px,transparent .7px)}
header,main,footer{position:relative;z-index:1}header{padding-block:17px}.lights{height:65px;flex-shrink:0;background:none;display:flex;justify-content:space-around;position:relative;animation:none;border-top:2px solid #285343;border-radius:0 0 50% 50%;margin-top:12px}.lights i{position:relative;display:block;width:10px;height:17px;border-radius:45% 45% 50% 50%;background:#b83a32;margin-top:12px;color:#b83a32;animation:bulb-breathe calc(4.8s / var(--motion-speed,1)) ease-in-out infinite}.lights i:before{content:'';position:absolute;bottom:100%;left:4px;width:2px;height:14px;background:#285343}.lights i:nth-child(3n+2){background:#ce9c3b;color:#ce9c3b;animation-delay:calc(-1.6s / var(--motion-speed,1))}.lights i:nth-child(3n){background:#3f745c;color:#3f745c;animation-delay:calc(-3.2s / var(--motion-speed,1))}.lights i:nth-child(even){margin-top:20px}.lights i:nth-child(even):before{height:22px}
main{width:100%;max-width:1320px;flex:1;min-height:0;padding:25px 52px 50px;gap:85px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}h1{font-size:clamp(38px,3.3vw,55px);letter-spacing:-2px;line-height:1.1;margin:16px 0 22px}h1 em{color:var(--green)}#maintenance-text{font-size:15px;max-width:450px;margin:0}.eyebrow{letter-spacing:2px}.status-dot{animation:bulb-breathe calc(5s / var(--motion-speed,1)) ease-in-out infinite}
#countdown{margin:22px 0 15px;max-width:460px;padding:18px 20px 12px;background:#fffdf6b8;border:1px solid #c4b88f;border-radius:4px;position:relative;box-shadow:5px 5px 0 #ded5bd66}#countdown:before{content:'✦';position:absolute;right:16px;top:-15px;color:#b4873f;background:var(--paper);padding:0 7px;font-size:22px}#reveal-label{font-size:8px;letter-spacing:1.5px;font-weight:bold;margin:0 0 13px}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.countdown-grid>div{text-align:center;border-right:1px solid #c5b89570}.countdown-grid>div:last-child{border:0}.countdown-grid strong{display:block;color:var(--red);font:normal 44px/1.2 Georgia;font-variant-numeric:tabular-nums}.countdown-grid span{font-size:10px;color:var(--green)}#reveal-date{text-align:center;font-size:10px;margin:12px 0 0;color:#697267}#launch-note{font:italic 20px Georgia;color:var(--green)}.facebook{margin-top:5px;padding:13px 22px}.reassurance{margin-top:15px;font-size:11px}
.postcard-scene{padding:20px 15px 0}.postcard{transform:rotate(3deg);border-radius:47% 47% 3px 3px;padding:12px 12px 24px;background:#fffdf7;box-shadow:0 15px 40px #59442e20}.postcard:before{display:none}.postcard img{height:350px;border-radius:47% 47% 2px 2px;object-position:center}.postcard figcaption{font-size:16px}.stamp{right:-5px;top:15px;width:105px;height:105px;font-size:9px;transform:rotate(12deg)}.little-note{margin-top:13px;margin-left:-16px;background:#e2e7d7;transform:rotate(-5deg)}.spark{bottom:-40px;right:-5px;font-size:70px}.postcard-scene:before{content:'';position:absolute;inset:-10px -5px 65px;border:1px dashed #b49a5c80;border-radius:48% 48% 4px 4px;transform:rotate(-4deg)}footer{padding-block:14px}.wish-stars{position:absolute;inset:130px 0 90px;overflow:hidden;pointer-events:none}.wish-stars span{position:absolute;color:#b38b3e;opacity:.35;font-size:23px;animation:wish-drift calc(8s / var(--motion-speed,1)) ease-in-out infinite}.wish-stars span:nth-child(1){left:8%;top:12%}.wish-stars span:nth-child(2){left:47%;top:4%;animation-delay:calc(-2s / var(--motion-speed,1))}.wish-stars span:nth-child(3){right:7%;top:60%;animation-delay:calc(-4s / var(--motion-speed,1))}.wish-stars span:nth-child(4){left:5%;top:80%;animation-delay:calc(-6s / var(--motion-speed,1))}.wish-stars span:nth-child(5){right:9%;top:14%;font-size:14px;animation-delay:calc(-3s / var(--motion-speed,1))}.wish-stars span:nth-child(6){left:52%;top:85%;font-size:15px;animation-delay:calc(-5s / var(--motion-speed,1))}
@keyframes bulb-breathe{0%,100%{box-shadow:0 0 3px 1px currentColor;opacity:.65}50%{box-shadow:0 0 14px 3px currentColor;opacity:1}}@keyframes wish-drift{0%,100%{transform:translateY(0) rotate(-8deg);opacity:.25}50%{transform:translateY(-14px) rotate(8deg);opacity:.65}}
body[data-animation=gentle] .wish-stars span{animation:none}body[data-animation=off] *,body[data-animation=off] *:before{animation:none!important}.paused *,.paused *:before{animation-play-state:paused!important}[hidden]{display:none!important}
@media(min-width:801px) and (max-height:820px){header{padding-block:10px}.lights{height:50px}main{padding-block:15px 35px}h1{font-size:42px;margin-block:12px 17px}.postcard img{height:290px}#countdown{margin-block:16px 10px;padding-block:13px 9px}.countdown-grid strong{font-size:36px}.reassurance{margin-top:10px}footer{padding-block:9px}}
@media(max-width:1100px){main{gap:45px;padding-inline:5%}h1{font-size:42px}.postcard img{height:300px}}
@media(max-width:800px){main{grid-template-columns:1fr;max-width:580px;gap:55px;padding:20px 8% 65px}h1{font-size:clamp(35px,7vw,46px);letter-spacing:-1.5px}.header-note{display:none}.postcard-scene{margin:0 12px}.postcard img{height:330px}.countdown-grid strong{font-size:34px}#countdown{padding-inline:12px}.lights i:nth-child(n+10){display:none}.wish-stars{opacity:.6}footer{flex-wrap:wrap}.stamp{right:-12px}.little-note{width:215px}.postcard figcaption{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
/* Clearly visible festive motion; the timer remains stable and readable. */
body[data-animation=festive] .postcard{animation:postcard-float calc(6s / var(--motion-speed,1)) ease-in-out infinite}
body[data-animation=festive] .lights i{transform-origin:50% -16px;animation:bulb-breathe calc(3s / var(--motion-speed,1)) ease-in-out infinite,bulb-swing calc(3.6s / var(--motion-speed,1)) ease-in-out infinite}
body[data-animation=festive] .lights i:nth-child(3n){animation-delay:calc(-1.2s / var(--motion-speed,1)),calc(-1.8s / var(--motion-speed,1))}
body[data-animation=festive] .lights i:nth-child(3n+2){animation-delay:calc(-2s / var(--motion-speed,1)),calc(-.9s / var(--motion-speed,1))}
body[data-animation=festive] .wish-stars span{animation:star-dance calc(5s / var(--motion-speed,1)) ease-in-out infinite}
body[data-animation=festive] #countdown:before{animation:star-dance calc(4s / var(--motion-speed,1)) ease-in-out infinite}
.snowfall{position:absolute;inset:110px 0 70px;pointer-events:none;overflow:hidden;z-index:0}.snowfall i{position:absolute;top:-25px;left:5%;width:6px;height:6px;border-radius:50%;background:#cba45d;opacity:0;animation:snow-fall calc(12s / var(--motion-speed,1)) linear infinite}.snowfall i:nth-child(3n){width:9px;height:9px;background:#fffdf5}.snowfall i:nth-child(2){left:12%;animation-delay:calc(-6s / var(--motion-speed,1))}.snowfall i:nth-child(3){left:19%;animation-delay:calc(-3s / var(--motion-speed,1))}.snowfall i:nth-child(4){left:26%;animation-delay:calc(-9s / var(--motion-speed,1))}.snowfall i:nth-child(5){left:33%;animation-delay:calc(-1s / var(--motion-speed,1))}.snowfall i:nth-child(6){left:40%;animation-delay:calc(-7s / var(--motion-speed,1))}.snowfall i:nth-child(7){left:47%;animation-delay:calc(-4s / var(--motion-speed,1))}.snowfall i:nth-child(8){left:54%;animation-delay:calc(-10s / var(--motion-speed,1))}.snowfall i:nth-child(9){left:61%;animation-delay:calc(-2s / var(--motion-speed,1))}.snowfall i:nth-child(10){left:68%;animation-delay:calc(-8s / var(--motion-speed,1))}.snowfall i:nth-child(11){left:75%;animation-delay:calc(-5s / var(--motion-speed,1))}.snowfall i:nth-child(12){left:82%;animation-delay:calc(-11s / var(--motion-speed,1))}.snowfall i:nth-child(13){left:89%;animation-delay:calc(-2.5s / var(--motion-speed,1))}.snowfall i:nth-child(14){left:96%;animation-delay:calc(-8.5s / var(--motion-speed,1))}.snowfall i:nth-child(15){left:8%;animation-delay:calc(-4.5s / var(--motion-speed,1))}.snowfall i:nth-child(16){left:37%;animation-delay:calc(-10.5s / var(--motion-speed,1))}.snowfall i:nth-child(17){left:58%;animation-delay:calc(-.5s / var(--motion-speed,1))}.snowfall i:nth-child(18){left:86%;animation-delay:calc(-6.5s / var(--motion-speed,1))}
body:not([data-animation=festive]) .snowfall{display:none}
@keyframes postcard-float{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-13px) rotate(1deg)}}
@keyframes bulb-swing{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
@keyframes star-dance{0%,100%{transform:translateY(0) rotate(-15deg) scale(.85);opacity:.35}50%{transform:translateY(-20px) rotate(35deg) scale(1.25);opacity:.9}}
@keyframes snow-fall{0%{transform:translate(0,0);opacity:0}10%{opacity:.65}90%{opacity:.5}100%{transform:translate(45px,850px);opacity:0}}
@media(prefers-reduced-motion:reduce){.snowfall{display:none}*,*:before{animation:none!important}}
