@import"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400&display=swap";:root{--bg: #EDE3DD;--circle: rgba(255, 255, 255, .5);--text-dark: #410016;--text-pink: #827C36;--text-olive: #6B8074}*{margin:0;padding:0;box-sizing:border-box}html{scroll-snap-type:y mandatory;overflow-y:scroll;scroll-behavior:smooth}body{background:var(--bg);font-family:Source Code Pro,monospace;font-weight:400;color:var(--text-dark)}#page1{height:100vh;scroll-snap-align:start;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}#save-the-date{position:absolute;top:80px;left:50%;transform:translate(-50%);font-family:Source Code Pro,monospace;font-weight:400;font-size:clamp(12px,2.5vw,16px);color:var(--text-dark);text-transform:uppercase;letter-spacing:.1em;text-align:center;white-space:nowrap}#circle{width:clamp(320px,60vw,500px);height:clamp(320px,60vw,500px);border-radius:50%;background:var(--circle);box-shadow:0 10px 40px #0000001a;display:flex;align-items:center;justify-content:center;position:relative;margin-top:-60px}#countdown{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:clamp(20px,4vw,40px);align-items:center;justify-content:center;overflow:visible}#date-display{display:flex;gap:clamp(6px,1.5vw,10px);align-items:center;justify-content:center;opacity:0;margin-bottom:24px}#date-display.show{opacity:1}#date-display .countdown-num.show-num{visibility:visible;animation:fadeIn .3s ease-out forwards}#date-display .countdown-num{font-size:clamp(60px,12vw,100px);visibility:hidden;opacity:0}.countdown-num{font-family:Source Code Pro,monospace;font-size:clamp(60px,12vw,100px);font-weight:400;line-height:1;opacity:0;visibility:hidden;transition:transform .6s ease-in-out}#num-3{color:var(--text-pink)}#num-2,#num-1{color:var(--text-dark)}#display-3{color:var(--text-pink)}#display-2,#display-1{color:var(--text-dark)}#date-display .date-heart{color:#ffffff80;opacity:1;visibility:visible!important;font-size:clamp(28px,5.5vw,36px)!important;transition:color .3s ease-out}#date-display .date-heart.show-num{color:#ca9baa}.countdown-num.show{visibility:visible;animation:fadeIn .2s ease-out forwards}.countdown-num.hide{animation:fadeOut .3s ease-out forwards}.typing-cursor{display:none}#wipe-heart{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(140px,28vw,220px);color:#ca9baa;opacity:0;z-index:100;pointer-events:none}#wipe-heart.animate{animation:heartWipe 4.5s ease-in-out forwards}@keyframes heartWipe{0%{opacity:0;transform:translate(clamp(70px,14vw,120px),-50%) scale(1)}5%{opacity:1;transform:translate(clamp(70px,14vw,120px),-50%) scale(1)}40%{opacity:1;transform:translate(clamp(-120px,-24vw,-200px),-50%) scale(1)}85%{opacity:1;transform:translate(clamp(70px,14vw,120px),-50%) scale(1)}to{opacity:0;transform:translate(clamp(70px,14vw,120px),-50%) scale(1)}}#countdown.reposition{gap:clamp(4px,1vw,6px)}#countdown.reposition #num-3{transform:translate(clamp(155px,31vw,260px))}#countdown.reposition #num-2{transform:translate(clamp(-90px,-18vw,-150px))}#countdown.reposition #num-1{transform:translate(clamp(-115px,-23vw,-190px))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#countdown.fade-out{animation:fadeOut .6s ease-out forwards}@keyframes fadeOut{to{opacity:0}}#center-group{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:30px;transition:margin-top .6s ease-out}#center-group.centered{margin-top:0}#hero-content{text-align:center;opacity:0;display:flex;flex-direction:column;align-items:center}#hero-content.show{opacity:1}#hero-content #hero-date{display:none}#hero-date{font-family:Source Code Pro,monospace;font-weight:400;font-size:clamp(36px,7vw,56px);color:var(--text-dark);white-space:nowrap;text-align:center}#hero-names{font-family:Source Code Pro,monospace;font-weight:300;font-size:clamp(24px,4.5vw,36px);color:var(--text-dark);letter-spacing:.02em;white-space:nowrap}.date-num{opacity:0;visibility:hidden;display:inline-block}.date-num.show{visibility:visible;animation:fadeIn .2s ease-out forwards}#date-3{color:var(--text-pink)}#date-2,#date-1{color:var(--text-olive)}.date-part{opacity:0;display:inline-block}.date-part.show{animation:fadeIn .4s ease-out forwards}.date-dash{transform:scaleX(.5)}#hero-tagline{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin-top:clamp(240px,45vw,350px);font-family:Source Code Pro,monospace;font-weight:400;font-size:clamp(12px,2.5vw,16px);color:#ca9baa;text-transform:lowercase;text-align:center;overflow:hidden;white-space:nowrap;width:0}#hero-tagline.show{animation:typeText 1s steps(35) forwards}@keyframes typeText{to{width:100%}}#scroll-hint{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.6}#scroll-hint span{font-size:11px;font-weight:400;letter-spacing:.05em;color:var(--text-dark)}.chevron{width:12px;height:12px;border-right:2px solid var(--text-dark);border-bottom:2px solid var(--text-dark);transform:rotate(45deg);animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:rotate(45deg) translateY(0);opacity:.4}50%{transform:rotate(45deg) translateY(6px);opacity:1}}#page2{min-height:100vh;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;background:var(--bg)}.p2-content{background:transparent;padding:clamp(40px,6vw,56px) clamp(32px,5vw,48px);border-radius:24px;box-shadow:none;max-width:600px;width:100%;text-align:center}.p2-date{font-family:Source Code Pro,monospace;font-weight:400;font-size:clamp(48px,9vw,72px);line-height:1;margin-bottom:8px}.p2-num-dark{color:var(--text-dark)}.p2-num-blue{color:var(--text-pink)}.p2-heart{color:#ca9baa;font-size:clamp(22px,4.1vw,26px);vertical-align:middle;transform:translateY(-3px);display:inline-block}.p2-names{font-family:Source Code Pro,monospace;font-weight:300;font-size:clamp(20px,4vw,28px);color:var(--text-dark);margin-bottom:8px;letter-spacing:.02em}.p2-subtitle{font-family:Source Code Pro,monospace;font-size:12px;font-weight:400;letter-spacing:.1em;text-transform:lowercase;color:var(--text-pink);margin-bottom:44px}.program{width:100%;display:flex;flex-direction:column;gap:16px;margin-bottom:64px;text-align:left}.program-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;background:#ffffff80;border-radius:12px}.prog-time{font-family:Source Code Pro,monospace;font-size:14px;font-weight:400;color:var(--text-dark);min-width:60px;flex-shrink:0}.prog-event{flex:1;font-family:Source Code Pro,monospace;font-size:16px;font-weight:400;color:var(--text-dark);line-height:1.4}.prog-sub{display:block;font-size:13px;opacity:.7;margin-top:4px;line-height:1.5}.prog-green{color:var(--text-pink);opacity:1}.prog-inline{display:inline;font-size:12px}.prog-heart{color:#ca9baa;margin:0 4px}#rsvp-btn{font-family:Source Code Pro,monospace;font-size:14px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--text-dark);border:none;border-radius:50px;padding:16px 40px;cursor:pointer;transition:transform .2s,opacity .2s;width:100%;max-width:280px}#rsvp-btn:hover{transform:translateY(-2px);opacity:.9}#rsvp-btn:active{transform:translateY(0)}.p2-footer{margin-bottom:20px;font-size:13px;font-weight:400;letter-spacing:.05em;color:var(--text-dark);opacity:.7}@media(max-width:768px){.program-item{flex-direction:column;gap:8px}.prog-time{min-width:auto}}
