@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{color-scheme:dark;--cream:#f1eddf;--gold:#c9b884}*{box-sizing:border-box}body{margin:0;background:#172620;color:var(--cream);font-family:'DM Sans',sans-serif;min-height:100svh;overflow-x:hidden;background-image:radial-gradient(ellipse at 50% 35%,#33433766,transparent 65%)}body:before{content:'';position:fixed;inset:14px;border:1px solid #c9b88422;pointer-events:none;z-index:5}header,footer{display:flex;align-items:center;justify-content:space-between;padding:36px 5%;position:relative;z-index:3}.brand{font-size:11px;letter-spacing:2.5px;font-weight:600;text-decoration:none;color:inherit}.brand span{margin:0 10px;color:var(--gold)}button{font:inherit;color:inherit;cursor:pointer}#sound{background:#ffffff06;border:1px solid #c9b88455;padding:12px 19px;border-radius:50px;font-size:12px}button:hover{background:#c9b88422}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}main{text-align:center;position:relative;z-index:2;padding:35px 20px 10px}.eyebrow{display:flex;gap:10px;justify-content:center;align-items:center;font-size:10px;letter-spacing:3px;color:var(--gold)}.dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(54px,6.9vw,100px);line-height:1.1;letter-spacing:-3px;margin:30px 0 23px}h1 em{color:var(--gold);font-weight:500}#intro p{font-size:14px;line-height:1.9;color:#c3c9bd}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:25px;margin:42px auto 24px}.countdown div{min-width:86px;display:flex;flex-direction:column;gap:12px}.countdown strong{font-weight:400;font-size:62px;letter-spacing:-2px;font-variant-numeric:tabular-nums;line-height:1}.countdown span{font-size:8px;letter-spacing:2.7px;color:#a6ae9e}.countdown b{font-weight:400;font-size:33px;color:#ad9c7077;line-height:1.5}.date{font-size:9px;letter-spacing:2px;color:var(--gold)}.date span{padding:0 12px}.invitation{display:flex;align-items:center;justify-content:center;gap:33px;margin:38px 0 20px;color:var(--gold)}.invitation p{font-size:12px;line-height:1.9;color:#b9c3b4}.invitation i{font-family:'Playfair Display',serif;font-size:16px;color:var(--cream)}footer{margin-top:28px;font-size:8px;letter-spacing:2px;color:#9da895}footer span:last-child{font-size:11px;letter-spacing:0}#confetti,.lights{position:fixed;inset:0;pointer-events:none;width:100%;height:100%}#confetti{z-index:4}.lights{opacity:0;z-index:0}.disco{font-size:42px;color:#e5c2fc}.free{font-weight:700;letter-spacing:4px;font-size:clamp(17px,3vw,32px);margin:20px 0 8px}.woo{letter-spacing:6px;color:#f5ca78;font-size:16px}.party{background:#150c25;transition:background 1s}.party .lights{opacity:1;background:conic-gradient(from 0deg at 50% -20%,transparent,#b733f133,transparent,#30d2db33,transparent,#f7bb4b33,transparent);animation:spin 12s linear infinite;transform:scale(2)}.party h1{font-size:clamp(43px,7vw,94px);margin:12px 0}.party h1 em{color:#e6b7ff}.party .countdown{display:none}.party #date{margin:25px 0;color:#e6b7ff}.party #celebrate{border:1px solid #e6b7ff77;background:#ffffff0a;padding:15px 26px;border-radius:50px;margin-top:24px;font-size:12px}.party #musicHint{font-size:11px;color:#bdafcc;margin-top:18px}.zero .countdown{animation:blink .5s steps(2) 5}.zero #intro{opacity:.3}@keyframes blink{50%{opacity:0}}@keyframes spin{to{transform:scale(2) rotate(360deg)}}[hidden]{display:none!important}@media(max-width:600px){header{padding:32px 27px}.brand{font-size:8px;letter-spacing:1.3px}.brand span{margin:0 4px}#sound{font-size:10px;padding:10px 12px}main{padding-top:50px}h1{letter-spacing:-2px;margin-top:32px}.eyebrow{font-size:8px;letter-spacing:2px}.countdown{gap:10px;margin-top:40px}.countdown div{min-width:56px}.countdown strong{font-size:43px}.countdown b{font-size:25px}.countdown span{font-size:7px;letter-spacing:1.5px}.date{font-size:7px;letter-spacing:1.2px}.date span{padding:0 5px}footer{padding:30px;gap:20px;flex-direction:column;margin-top:20px}.party main{padding-top:25px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.lights{display:none}}
