@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;1,600&display=swap');
:root{--paper:#faf7ef;--ink:#323a2e;--pink:#df587a;--line:#dcdccf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #8b3c8e;outline-offset:6px}header{max-width:1380px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px}.brand{font-size:24px;font-weight:700;letter-spacing:-2px}.brand span{color:var(--pink);padding:0 3px}.edition,.eyebrow,footer{font-size:10px;letter-spacing:2px;font-weight:600}.hero{max-width:1380px;padding:64px 8% 70px;margin:auto;position:relative}.eyebrow{display:block}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);margin-right:8px}.pretitle{margin:40px 0 16px;font-size:16px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(62px,8.5vw,128px);line-height:1.05;letter-spacing:-6px;margin:0;position:relative}em{color:var(--pink);font-weight:500}.spark{position:absolute;font-family:Georgia;color:var(--pink);font-size:110px;transform:rotate(12deg);margin-left:38px}.hero-bottom{display:flex;gap:70px;align-items:center;margin-top:30px}p{font-size:14px;line-height:1.8}.pill{border:1px solid var(--ink);border-radius:50px;padding:17px 24px;display:inline-flex;gap:35px;align-items:center;font-size:12px;background:transparent;transition:transform .2s,background .2s}.pill:hover{transform:translateY(-3px);background:#eee9df}.pill span{font-size:18px}.seal{position:absolute;right:10%;bottom:82px;background:#e6e9a7;width:125px;height:125px;border:1px dashed #667045;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:12px;transform:rotate(12deg);outline:7px solid #e6e9a7}.seal i{font:italic 23px Georgia}.ticker{background:var(--pink);color:var(--paper);padding:17px 0;white-space:nowrap;overflow:hidden;letter-spacing:3px;font-size:12px;word-spacing:12px}.cake-section{max-width:1200px;margin:auto;padding:100px 6%;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}h2{font-size:clamp(34px,4vw,55px);line-height:1.16;letter-spacing:-1.5px;margin:22px 0}.section-copy>p{color:#666c5e}.dark{background:var(--ink);color:var(--paper);margin-top:14px}.dark:hover{background:#4b5943}.status{font-size:11px!important;min-height:20px}.cake-art{height:330px;position:relative;background:radial-gradient(ellipse,#f7e1da,transparent 68%)}.candle{position:absolute;left:49%;top:45px;width:15px;height:80px;background:repeating-linear-gradient(135deg,#f1f3c1 0 7px,#9ca977 7px 13px);z-index:3}.flame{position:absolute;top:-34px;left:0;width:17px;height:29px;border-radius:80% 20% 60% 40%;background:#efab49;box-shadow:0 0 25px #f6c77a;transform:rotate(-20deg);animation:flicker 1s infinite alternate}.cake-top{position:absolute;top:112px;left:20%;width:60%;height:75px;border-radius:50%;background:#f5b7c5;z-index:2;border:2px solid #de8c9e}.cake-body{position:absolute;left:20%;top:149px;width:60%;height:110px;border-radius:0 0 50% 50% / 0 0 30% 30%;background:#e48ea7;box-shadow:inset -18px 0 #d97f99;display:flex;justify-content:space-around;padding-top:10px}.cake-body span{position:absolute;top:50px;font:italic 24px Georgia;color:#fff1df}.cake-body i{background:#f5b7c5;width:16%;height:28px;border-radius:0 0 20px 20px}.plate{position:absolute;top:230px;left:10%;width:80%;height:48px;background:#cbd2b0;border-radius:50%;z-index:-1}.cake-art{isolation:isolate}.cake-caption{position:absolute;bottom:5px;width:100%;text-align:center;font:italic 15px Georgia}.star{position:absolute;color:#8d9d6d;font-size:44px}.s1{left:9%;top:70px}.s2{right:7%;top:20px;font-size:65px}.wishes{padding:75px 8% 90px;background:#eeeee2}.wishes-title{display:flex;justify-content:space-between;align-items:end;max-width:1110px;margin:auto}.wishes-title>p{padding-bottom:16px;color:#666c5e}.notes{max-width:1110px;margin:35px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.note{border:0;background:#f7d9df;min-height:285px;padding:25px;text-align:center;position:relative;box-shadow:3px 5px 0 #333a2e09;transition:transform .2s}.note:first-child{transform:rotate(-2deg)}.note:nth-child(2){background:#e3e6b5;transform:rotate(1deg)}.note:last-child{background:#ebdfcb;transform:rotate(-1deg)}.note:hover{transform:translateY(-7px)}.number{position:absolute;left:20px;top:18px;font-size:10px}.note-icon{display:block;font:65px Georgia;margin:20px 0 10px}.note h3{font-size:25px;margin:10px 0 20px}.hint{font-size:9px;letter-spacing:1.5px}.note p{font:italic 18px/1.6 Georgia;margin:0}.note[aria-expanded=true] .note-icon{font-size:35px;margin:0}.closing{text-align:center;padding:85px 20px 70px}.closing h2{font-size:clamp(38px,5vw,65px)}.closing p{min-height:24px;font-size:12px}footer{padding:25px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px}.pink{color:var(--pink);padding:0 10px}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}.confetto{position:absolute;top:-20px;width:10px;height:16px;animation:fall 2.8s ease-in forwards}@keyframes fall{to{transform:translate(var(--drift),105vh) rotate(700deg)}}@keyframes flicker{to{transform:rotate(-8deg) scale(.9)}}@media(max-width:750px){header{padding:22px 6%}.edition{display:none}.hero{padding:45px 7% 55px}h1{letter-spacing:-3px}.pretitle{font-size:13px;margin-top:30px}.spark{font-size:60px;margin-left:14px}.hero-bottom{gap:12px;align-items:start;flex-direction:column}.seal{right:9%;bottom:70px;width:90px;height:90px;font-size:10px}.seal i{font-size:18px}.cake-section{grid-template-columns:1fr;gap:15px;padding:65px 8%}.cake-art{max-width:420px;width:100%;margin:auto}.wishes{padding:60px 8%}.wishes-title{display:block}.notes{grid-template-columns:1fr;gap:25px;max-width:400px}.note{min-height:260px}.closing{padding:65px 7% 45px}footer{gap:18px;flex-direction:column;align-items:center;font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
