.countdown{background:transparent;color:var(--ink);padding:90px 5% 105px;overflow:hidden}.countdown h2{color:var(--wine);font-size:clamp(35px,4.3vw,61px)}.countdown>.eyebrow{color:#816445}.countdown>p{font-size:20px;color:#755d43;margin:45px 0 0}
.clock-shell{position:relative;max-width:1080px;margin:100px auto 75px;padding:66px 55px 60px;isolation:isolate}
.clock-shell:before,.clock-shell:after{content:'';position:absolute;inset:12px 0;border:1px solid #aa8955;border-radius:130px / 65px;pointer-events:none;z-index:-1}
.clock-shell:after{inset:18px 6px;border-color:#c8ad7a88;border-radius:125px / 60px}
.clock-floral{position:absolute;left:50%;width:70%;height:160px;object-fit:contain;transform:translateX(-50%);pointer-events:none;z-index:2}.floral-top{top:-78px}.floral-bottom{bottom:-82px;transform:translateX(-50%) rotate(180deg)}
.clock-case{position:relative}.clock{display:flex;align-items:flex-start;justify-content:center;gap:26px;margin:0;--digit-w:76px;--digit-h:126px;--digit-font:94px}
.clock-unit{min-width:0;text-align:center}.clock-digits{display:flex;gap:5px;justify-content:center}.clock .clock-label{font-family:'DM Sans',sans-serif;display:block;font-size:9px;letter-spacing:2.5px;line-height:1.5;margin-top:20px;color:#725336}
.flip-digit{width:var(--digit-w);height:var(--digit-h);position:relative;perspective:550px;border-radius:12px;background:#341a1b;box-shadow:0 5px 0 #39221c,0 7px 0 #ad8a52,0 10px 16px #42291c29;border:1px solid #ad8a52}
.flip-digit:before,.flip-digit:after{content:'';position:absolute;z-index:10;width:5px;height:16px;top:calc(50% - 8px);background:linear-gradient(90deg,#805b2c,#e1bd77,#8b6330);border:1px solid #694720;border-radius:2px;box-shadow:0 1px 2px #0007}.flip-digit:before{left:-3px}.flip-digit:after{right:-3px}
.flip-leaf{position:absolute;left:0;right:0;height:50%;overflow:hidden;backface-visibility:hidden;color:#f1dbaf;background:linear-gradient(110deg,#763a39,#5d2a2c);border:1px solid #d6b27a20}
.flip-leaf b{position:absolute;display:block;width:100%;height:var(--digit-h);font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:var(--digit-font);line-height:var(--digit-h);letter-spacing:-1px;text-align:center;font-variant-numeric:tabular-nums;color:inherit;text-shadow:0 1px 1px #21101280}
.top-static,.top-moving{top:0;border-radius:11px 11px 0 0;border-bottom:1px solid #241416;box-shadow:inset 0 2px 3px #e7bd8220;transform-origin:bottom}.top-static b,.top-moving b{top:0}
.bottom-static,.bottom-moving{bottom:0;border-radius:0 0 11px 11px;background:linear-gradient(110deg,#6a3233,#502327);border-top:1px solid #c6a17240;transform-origin:top}.bottom-static b,.bottom-moving b{top:calc(-1 * var(--digit-h) / 2)}
.top-static{z-index:1}.bottom-static{z-index:1}.top-moving{z-index:4;visibility:hidden}.bottom-moving{z-index:3;visibility:hidden;transform:rotateX(90deg)}
.flipping .top-moving{visibility:visible;animation:foldUpper .36s cubic-bezier(.5,0,.8,.5) forwards}.flipping .bottom-moving{visibility:visible;animation:unfoldLower .36s .36s cubic-bezier(.2,.5,.4,1) forwards}
@keyframes foldUpper{from{transform:rotateX(0deg);filter:brightness(1)}to{transform:rotateX(-90deg);filter:brightness(.55)}}
@keyframes unfoldLower{from{transform:rotateX(90deg);filter:brightness(.6)}to{transform:rotateX(0deg);filter:brightness(1)}}
@media(max-width:1000px){.clock{--digit-w:58px;--digit-h:104px;--digit-font:77px;gap:20px}.clock-shell{padding:60px 45px}.clock-floral{width:80%;height:145px}.floral-top{top:-72px}.floral-bottom{bottom:-74px}}
@media(max-width:700px){.clock{--digit-w:40px;--digit-h:79px;--digit-font:57px;gap:15px}.clock-shell{padding:54px 28px;margin-top:85px}.clock .clock-label{font-size:8px;letter-spacing:1.6px}.clock-floral{width:88%;height:122px}.floral-top{top:-59px}.floral-bottom{bottom:-60px}}
@media(max-width:600px){.countdown{padding:75px 15px 75px}.countdown h2{font-size:35px;max-width:340px;margin-left:auto;margin-right:auto}.clock{--digit-w:clamp(24px,7.4vw,35px);--digit-h:64px;--digit-font:47px;gap:10px}.clock-digits{gap:3px}.clock-shell{padding:48px 14px 43px;margin-top:77px;margin-bottom:57px}.clock-shell:before{border-radius:55px / 45px}.clock-shell:after{border-radius:51px / 40px}.clock-floral{width:94%;height:100px}.floral-top{top:-44px}.floral-bottom{bottom:-48px}.clock .clock-label{font-size:7px;letter-spacing:1px;margin-top:16px}.flip-digit{border-radius:7px;box-shadow:0 3px 0 #39221c,0 4px 0 #ad8a52,0 7px 10px #42291c29}.top-static,.top-moving{border-radius:6px 6px 0 0}.bottom-static,.bottom-moving{border-radius:0 0 6px 6px}.flip-digit:before,.flip-digit:after{width:3px;height:11px;top:calc(50% - 5.5px)}.flip-digit:before{left:-2px}.flip-digit:after{right:-2px}.countdown>p{font-size:17px;margin-top:28px}.event-grid{gap:0}.event{margin-bottom:45px}.invitation{margin:0;padding-left:24px;padding-right:24px}}
@media(prefers-reduced-motion:reduce){.flip-leaf{animation:none!important}}

/* Reference keepsake: real torn-paper silhouette and burgundy scratch cover. */
.reveal{padding:70px 5% 60px;background:linear-gradient(#d4c2a1,var(--paper) 100px)}
.reveal>.eyebrow{font-size:10px;margin-bottom:28px}
.reveal h2{font-size:clamp(58px,8vw,100px);color:#463c2d;margin-bottom:38px}
.reveal>.italic{font-size:clamp(22px,2.5vw,29px)}
.scratch-card{width:min(940px,100%);max-width:none;height:auto;aspect-ratio:2;clip-path:none;background:transparent;box-shadow:none;margin:46px auto 25px;filter:drop-shadow(0 4px 5px #49302022);user-select:none}
.date-content{inset:0;isolation:isolate;padding:20px 9%;gap:12px}
.date-content:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,#ecd09b,#d8b77e);mask:url('assets/scratch-paper.png') center/100% 100% no-repeat;-webkit-mask:url('assets/scratch-paper.png') center/100% 100% no-repeat}
.date-content strong{font-size:clamp(30px,4.6vw,57px)}
.date-content .eyebrow{font-size:10px}
#scratch{cursor:crosshair}
.reveal-status:empty{display:none}
.countdown{background:var(--paper);padding-top:80px}
.countdown>.eyebrow{font-size:10px;margin:0 0 30px}
.countdown>h2{font-size:clamp(35px,5.1vw,70px)}
.countdown>.italic{font-style:normal;font-size:23px}
.countdown>.time-note{font-size:8px;margin-top:16px}
.clock-shell{max-width:1350px}
.clock span{margin-top:0;letter-spacing:normal}
.clock .clock-label{margin-top:20px}
@media(min-width:1200px){.clock{--digit-w:76px;--digit-h:126px;--digit-font:94px}.clock-shell{padding:66px 55px 60px}}
@media(max-width:600px){.reveal{padding:60px 16px 40px}.reveal>.eyebrow{font-size:8px}.reveal h2{font-size:58px;margin-bottom:26px}.scratch-card{margin-top:30px;aspect-ratio:1.8}.date-content{gap:6px}.date-content .eyebrow{font-size:7px}.date-content .location{font-size:16px}.date-content em{font-size:19px}.date-content strong{font-size:29px}.countdown{padding-inline:10px}.clock-shell{padding-inline:9px}.clock{--digit-w:clamp(21px,6.45vw,35px);--digit-h:64px;--digit-font:47px;gap:8px}.clock .clock-label{margin-top:16px;font-size:7px}.countdown>.eyebrow{font-size:8px}.countdown>.italic{font-size:19px}.countdown>.time-note{font-size:7px}.clock-floral{width:92%}}
[hidden]{display:none!important}
