@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{color-scheme:dark;--bg:#110b21;--text:#f5efff;--muted:#b4a6c9;--lavender:#c7a4ff;--purple:#a77aef;--line:rgba(206,177,255,.17)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.sky{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 50% 3%,#32204f 0%,transparent 42%),linear-gradient(155deg,#160e2b,#100a1e 60%,#170d2b)}.orb{position:absolute;border-radius:50%;filter:blur(85px);opacity:.25}.orb-one{width:420px;height:420px;top:15%;left:-180px;background:#7651d0}.orb-two{width:480px;height:480px;right:-200px;bottom:3%;background:#6232ab}.stars{position:absolute;inset:0}.star{position:absolute;width:2px;height:2px;border-radius:50%;background:#eadbff;opacity:.5;animation:twinkle var(--duration,4s) ease-in-out infinite;animation-delay:var(--delay,0s)}@keyframes twinkle{50%{opacity:.1;transform:scale(.5)}}.topbar{max-width:1180px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:700;font-size:17px;letter-spacing:-.5px}.brand-star{color:var(--lavender);margin-right:8px}.brand-heart{color:#b48aff;margin-left:4px}.top-note{color:#8f80a9;font-size:12px;letter-spacing:1px}main{max-width:1120px;margin:auto;padding:0 24px}.hero{text-align:center;padding:100px 0 103px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:#b69adf}.sparkle{color:#e4d0ff;font-size:17px;margin:0 10px}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(70px,11vw,132px);letter-spacing:-5px;line-height:1.13;font-weight:600;margin:22px 0 25px}.hero h1>span:first-child{color:#c9a5ff;font-style:italic}.wave{font-size:.42em;display:inline-block;vertical-align:top;margin-top:17px;color:#b68de9;animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-9px) rotate(9deg)}}.hero-text{font-size:clamp(15px,2vw,18px);line-height:1.9;color:#b9adcb}.hero-pill{display:inline-flex;gap:12px;align-items:center;margin-top:23px;padding:12px 20px;border:1px solid var(--line);border-radius:100px;background:rgba(195,154,255,.07);font-size:12px;color:#d9c5f6}.hero-pill span{color:#d3adff}.section-intro{text-align:center;margin-bottom:34px}.section-intro .eyebrow{margin-bottom:12px}.section-intro h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(27px,4vw,40px);font-weight:500;letter-spacing:-.7px;margin:0 0 11px}.section-intro h2 span{color:var(--lavender)}.section-intro>p:last-child{color:var(--muted);font-size:14px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.event-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;padding:31px 31px 24px;background:linear-gradient(145deg,rgba(69,44,105,.52),rgba(31,20,51,.92) 70%);box-shadow:0 18px 65px rgba(0,0,0,.14)}.event-card:before{content:'';position:absolute;width:240px;height:240px;right:-100px;top:-130px;border-radius:50%;background:#b17aff;filter:blur(80px);opacity:.13}.anniversary{background:linear-gradient(145deg,rgba(54,33,96,.6),rgba(29,18,50,.95) 70%)}.card-top{display:flex;align-items:center;justify-content:space-between}.card-icon{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(198,161,255,.25);border-radius:15px;color:#dbbbff;font-size:26px;background:rgba(178,125,255,.12)}.card-tag{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#bba1df}.card-kicker{color:#b79cd9;font-size:12px;margin:35px 0 8px}.event-card h3{font-family:'Playfair Display',Georgia,serif;font-size:31px;font-weight:500;margin:0}.event-card h3 span{font-family:'DM Sans',sans-serif;font-size:23px}.card-description{font-size:13px;line-height:1.7;color:#b9abcb;min-height:44px;margin:13px 0 30px}.timer{display:flex;justify-content:space-between;gap:6px;align-items:flex-start;padding:22px 14px;border-radius:15px;border:1px solid rgba(202,164,255,.13);background:rgba(13,8,28,.42)}.time-unit{text-align:center;min-width:0;flex:1}.time-unit strong{display:block;font-size:clamp(25px,3.7vw,42px);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-1.8px;color:#f2e9ff}.time-unit span{display:block;margin-top:5px;font-size:10px;color:#a996c5;text-transform:uppercase;letter-spacing:1.4px}.separator{font-size:25px;color:#775a9f;line-height:1.5}.card-footer{margin:23px 0 0;color:#9886b1;font-size:12px;text-align:center}.tiny-star{color:#c7a4ff;margin-right:5px}.letter{position:relative;text-align:center;margin:90px 0 100px;padding:58px 20px 64px;border:1px solid var(--line);border-radius:25px;background:radial-gradient(ellipse at center,rgba(116,74,166,.24),rgba(45,28,70,.22) 75%)}.letter-sparkle{font-size:31px;color:#c8a2fa}.letter>p{font-size:13px;color:#c4b0df;margin:16px 0}.letter h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(26px,4vw,42px);font-weight:500;line-height:1.5;margin:0}.letter h2 em{color:#c8a3ff}.letter-heart{position:absolute;bottom:15px;right:27px;font-size:31px;color:#8b68b8}footer{max-width:1120px;margin:auto;padding:0 32px 32px;display:flex;justify-content:center;gap:15px;align-items:center;color:#8e7ca8;font-size:11px;letter-spacing:.4px}.footer-heart{color:#c7a4ff}.footer-dot{color:#7b5d9e}.celebration-message{text-align:center;padding:18px 4px 10px}.celebration-emoji{font-size:31px}.celebration-message h4{font-family:'Playfair Display',Georgia,serif;font-size:28px;margin:12px 0}.celebration-message p{color:#d2c0e8;line-height:1.6}.celebrating{border-color:rgba(206,164,255,.55);box-shadow:0 0 50px rgba(149,100,220,.22)}.celebrating .timer{display:none}.confetti-layer{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}.confetti-piece{position:absolute;top:-40px;color:#d4b4ff;opacity:0;animation:fall linear forwards;font-size:20px}@keyframes fall{0%{transform:translateY(-40px) rotate(0);opacity:0}8%{opacity:1}85%{opacity:1}100%{transform:translateY(110vh) rotate(600deg);opacity:0}}@media(max-width:700px){.topbar{padding:22px}.top-note{display:none}.hero{padding:75px 0 85px}.hero h1{letter-spacing:-3px}.cards{grid-template-columns:1fr}.event-card{padding:26px 23px 23px}.timer{padding:20px 8px}.time-unit strong{font-size:clamp(27px,8vw,41px)}.letter{margin:65px 0 75px}footer{flex-wrap:wrap;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
