@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(./caveat-latin-600-normal-zlTlWIYU.woff2) format("woff2"),url(./caveat-latin-600-normal-DUjB8dgm.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(./cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2) format("woff2"),url(./cormorant-garamond-latin-400-italic-BLh7T8o8.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(./dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(./dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(./dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}:root{font-family:DM Sans,sans-serif;color:#fff;background:#63cddd;font-synthesis:none;--pink:#ff4a9e;--blush:#ffd8e7;--serif:"Cormorant Garamond",Georgia,serif;--script:"Caveat","Segoe Print",cursive}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{min-width:320px}button{font:inherit;color:inherit;cursor:pointer;border:0;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #ff8cbb;outline-offset:5px}button:disabled{opacity:.35;cursor:default}::selection{color:#fff;background:#ef3b8f}.birthday-site{position:relative;width:100%;height:100dvh;overflow:hidden;isolation:isolate;background:#63cddd;touch-action:pan-x pan-y}.birthday-site:after{content:"";position:absolute;top:15px;right:15px;bottom:15px;left:15px;z-index:8;border:1px solid #ffffffc4;border-radius:24px;pointer-events:none}.scene-art{position:absolute;z-index:-2;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#5ccad6;animation:art-arrive 1s cubic-bezier(.2,.72,.2,1) both}.scene-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}.scene-wash{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#10546b9c 0%,#125e7480 26%,#1c6c7d36 49%,transparent 72%),linear-gradient(0deg,#123c5c53,transparent 25%,transparent 85%,#15556c36)}.scene-0 .scene-wash{background:linear-gradient(90deg,#091d48a8 0%,#101f5382 32%,#191e4b29 60%,transparent 78%),linear-gradient(0deg,#13194473,transparent 35%,transparent 82%,#111d4c55)}.topbar{position:absolute;z-index:5;top:0;left:7.5%;right:7.5%;height:91px;display:flex;align-items:center;gap:clamp(14px,3vw,38px);border-bottom:1px solid #ffffff8a}.monogram{flex:none;background:transparent;padding:0;font-family:var(--script);font-size:35px;font-weight:600;line-height:1}.monogram span{color:#ff9fc7}.occasion{padding-left:23px;border-left:1px solid #ffffff80;font-size:7px;letter-spacing:2px;white-space:nowrap;text-shadow:0 1px 7px #24586980}.occasion i{color:#ffe0ee;font-style:normal}.topbar nav{margin-left:auto;display:flex;gap:clamp(17px,3vw,44px);align-items:center}.topbar nav button{position:relative;background:transparent;padding:12px 0;font-size:10px;text-shadow:0 1px 8px #24586985}.topbar nav button:after{content:"";position:absolute;left:0;bottom:5px;width:0;height:2px;border-radius:2px;background:#ff78b0;transition:width .25s}.topbar nav button:hover:after,.topbar nav button.current:after{width:100%}.sound-toggle{display:inline-flex;align-items:center;gap:7px;background:transparent;font-size:9px;padding:8px 0 8px 7px}.sound-toggle:hover{color:#ffd3e6}.story-area{position:absolute;top:91px;right:0;bottom:77px;left:0;display:flex;align-items:center;pointer-events:none}.story-scene{width:min(68%,860px);padding-left:9.5%;pointer-events:auto;animation:story-arrive .75s cubic-bezier(.18,.76,.24,1) both}.story-scene.story-0{padding-left:7.5%}.story-scene.story-0 h1{font-size:clamp(72px,7.4vw,100px);letter-spacing:-1.5px;line-height:.8}.story-area.reverse .story-scene{animation-name:story-return}.story-kicker{display:flex;align-items:center;gap:10px;color:#fff8fb;font-size:8px;letter-spacing:2px;text-shadow:0 1px 10px #15566aaa}.story-kicker>i{width:6px;height:6px;border-radius:50%;background:#ff92bd;box-shadow:0 0 13px #ff72ad}.story-kicker svg{color:#ffc1d9}h1,h2,p{margin:0}h1{width:fit-content;margin:27px 0 18px;color:#fff;font-family:var(--script);font-size:clamp(91px,11.4vw,153px);font-weight:600;letter-spacing:-3px;line-height:.7;text-shadow:0 3px 23px #154c5f74}h1 em{color:#ffb0d0;font-style:normal}.pink-dot{color:#ff77b2}.story-heading{width:fit-content;margin:22px 0 19px;color:#fff;font-family:var(--script);font-size:clamp(67px,8vw,107px);font-weight:600;letter-spacing:-1.6px;line-height:.83;text-shadow:0 3px 20px #15516894}.story-heading em{color:#ffc1db;font-style:normal}.story-4 .story-heading{font-size:clamp(58px,6vw,82px)}.scene-subtitle{margin:20px 0 6px;color:#fff7fb;font-size:11px;font-weight:500;letter-spacing:1px;text-shadow:0 1px 10px #14546c96}.scene-copy{max-width:405px;color:#fff;font-size:12px;line-height:1.85;text-shadow:0 1px 11px #145169b8}.story-cta{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:20px;margin-top:21px;padding:11px 20px;border:1px solid #ffffffd9;border-radius:99px;background:#fffcf8;box-shadow:0 5px 24px #14576b2b;color:#365a6b;font-size:10px;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s}.story-cta svg{color:var(--pink)}.story-cta:hover{transform:translateY(-2px);background:#fff2f7;box-shadow:0 8px 27px #14576b50}.waking-signoff{max-width:360px;color:#ffe0ec}.scene-5 .story-heading{max-width:580px}.candle-flames{position:absolute;z-index:1;left:64%;top:34%;display:flex;gap:27px;align-items:flex-end;height:28px;pointer-events:none;transform:translate(-50%,-50%)}.candle-flames i{display:block;width:9px;height:16px;border-radius:70% 10% 60% 50%;background:#ffdc91;box-shadow:0 0 8px 4px #ffba589c,0 0 20px 9px #ff987653;transform:rotate(-12deg);animation:flicker .8s infinite alternate}.candle-flames i:nth-child(2){height:20px;animation-delay:.22s}.candle-flames i:nth-child(3){height:13px;animation-delay:.4s}.candle-flames span{position:absolute;top:-1px;left:50%;width:55px;height:35px;border-radius:50%;background:#ffc97620;filter:blur(10px);transform:translate(-50%)}.candle-flames.flames-out i,.candle-flames.flames-out span{opacity:0;animation:none}.candle-flames.flames-out:after{content:"";position:absolute;top:-27px;left:10px;width:29px;height:38px;border-radius:50%;background:radial-gradient(ellipse at 50% 85%,#f8eff299 0 12%,#ffffff6e 22%,transparent 70%);filter:blur(5px);animation:smoke-rise 2.2s ease-out both}.cake-vignette{display:none}.story-nav{position:absolute;z-index:5;top:50%;right:4.4%;display:flex;flex-direction:column;align-items:flex-end;gap:17px;transform:translateY(-50%)}.story-nav button{display:flex;align-items:center;gap:10px;padding:5px 0;background:transparent}.story-nav button span{opacity:0;transform:translate(4px);font-size:8px;text-shadow:0 1px 8px #15556c;transition:opacity .2s,transform .2s}.story-nav button:hover span,.story-nav button:focus-visible span{opacity:1;transform:translate(0)}.story-nav button i{width:6px;height:6px;border-radius:50%;background:#ffffffd0;box-shadow:0 1px 5px #2768796a;transition:transform .2s,background .2s}.story-nav button[aria-current] i{transform:scale(1.4);background:#ff5b9d;outline:1px solid white;outline-offset:3px}.bottom-bar{position:absolute;z-index:5;right:7.5%;bottom:0;left:7.5%;height:66px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff80;text-shadow:0 1px 7px #15566c66}.counter{display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:1px}.counter strong{color:#fff;font-family:var(--serif);font-size:22px;font-weight:400}.counter i{width:25px;height:1px;background:#ffffffb0}.scroll-guide{display:flex;align-items:center;gap:9px;color:#fff;font-size:7px;letter-spacing:1.5px}.scroll-guide svg{color:#ffd0e2}.stepper{display:flex;gap:9px}.stepper button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #ffffffa3;border-radius:50%;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stepper button:hover:not(:disabled){color:var(--pink);background:#fff}.screenreader-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.love-overlay{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:28px;background:#112144a8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:overlay-in .5s ease both}.love-note{position:relative;max-width:790px;width:90%;text-align:center;animation:note-in .8s cubic-bezier(.18,.75,.2,1) both}.love-close{position:absolute;top:-42px;right:0;width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffffb0;border-radius:50%;background:#ffffff20;color:#fff}.love-heart{color:#ffb0d0;margin-bottom:16px;fill:#ff9fc830}.love-kicker{display:block;margin-bottom:19px;font-size:8px;letter-spacing:2.3px;text-shadow:0 1px 8px #18264c}.love-note h2{color:#fff;font-family:var(--script);font-size:clamp(43px,7vw,80px);font-weight:600;line-height:.97;text-shadow:0 3px 20px #152b4c88}.love-note h2 em{color:#ffc2da;font-style:normal}.love-note p{margin:20px auto 0;color:#fffafd;font-size:clamp(11px,1.25vw,14px);line-height:1.9;text-shadow:0 1px 8px #152d4e}.love-signature{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;color:#ffe5ef;font-family:var(--script);font-size:24px;font-weight:600}.love-signature svg{color:#ffb4d1}.confetti{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-18px;width:7px;height:12px;animation:confetti-fall 4s ease-in forwards}@keyframes art-arrive{0%{opacity:.3;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes story-arrive{0%{opacity:0;transform:translateY(32px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes story-return{0%{opacity:0;transform:translateY(-32px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes flicker{to{transform:rotate(10deg) scale(.82);opacity:.8}}@keyframes smoke-rise{to{opacity:0;transform:translate(-5px,-35px) scale(1.55)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes note-in{0%{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes confetti-fall{to{transform:translate(45px,108vh) rotate(690deg)}}@media(min-width:1500px){.topbar{height:100px}.story-area{inset-block:100px 85px}.bottom-bar{height:76px}.story-scene{padding-left:11%}.story-kicker{font-size:9px}.scene-subtitle,.scene-copy{font-size:14px}.story-cta{padding:14px 23px;font-size:11px}}@media(max-width:800px){.topbar{left:6%;right:6%;height:76px;gap:17px}.occasion{padding-left:15px;font-size:6px;letter-spacing:1.5px}.story-area{top:76px;right:0;bottom:70px;left:0}.story-scene{width:76%;padding-left:7.5%}h1{font-size:clamp(84px,13vw,112px)}.story-heading{font-size:clamp(63px,9vw,80px)}.bottom-bar{left:6%;right:6%;height:58px}.scene-wash{background:linear-gradient(90deg,#10546bab 0%,#125e747f 25%,#1c6c7d36 57%,transparent 82%),linear-gradient(0deg,#123c5c60,transparent 30%,transparent 84%,#15556c38)}.scene-0 .scene-wash{background:linear-gradient(90deg,#091d4aaa 0%,#101f5382 30%,#191e4b30 59%,transparent 82%),linear-gradient(0deg,#13194474,transparent 35%,transparent 82%,#111d4c5b)}.candle-flames{left:64%;top:34%}}@media(max-width:560px){.birthday-site:after{top:8px;right:8px;bottom:8px;left:8px;border-radius:18px}.scene-art img{object-position:70% center}.scene-0 .scene-art img{object-position:54% center}.scene-1 .scene-art img{object-position:65% center}.scene-2 .scene-art img,.scene-3 .scene-art img{object-position:70% center}.scene-4 .scene-art img{object-position:85% center}.scene-5 .scene-art img{object-position:70% center}.scene-wash{background:linear-gradient(90deg,#10556ab1,#125b718f 25%,#165c7145 57%,#14596d10),linear-gradient(0deg,#103d5d75 0%,transparent 27%,transparent 76%,#16546c55 100%)}.scene-0 .scene-wash{background:linear-gradient(90deg,#091d4aba,#101f5397 29%,#191e4b51 61%,#121c4a12),linear-gradient(0deg,#13194485,transparent 35%,transparent 77%,#111d4c60)}.topbar{top:7px;left:7%;right:7%;height:60px;gap:12px}.monogram{font-size:30px}.occasion{max-width:100px;padding-left:10px;font-size:5px;letter-spacing:1px;line-height:1.8;white-space:normal}.occasion i{display:block}.topbar nav{gap:13px}.topbar nav button{font-size:8px;padding:10px 0}.sound-toggle{gap:0;padding-left:2px}.sound-toggle span{display:none}.story-area{top:68px;right:0;bottom:63px;left:0}.story-scene{width:87%;padding-left:8%}.story-kicker{gap:7px;font-size:6px;letter-spacing:1.5px}.story-kicker svg{width:11px}h1{margin:24px 0 15px;font-size:clamp(76px,19vw,100px);line-height:.72;letter-spacing:-1.8px}.story-heading{margin:20px 0 15px;font-size:clamp(57px,14.5vw,73px);line-height:.87;letter-spacing:-1px}.scene-subtitle{margin-top:17px;font-size:9px}.scene-copy{max-width:300px;font-size:10px;line-height:1.8}.story-cta{min-height:42px;margin-top:16px;padding:10px 17px;gap:16px;font-size:9px}.story-nav{top:auto;right:9%;bottom:79px;flex-direction:row;gap:17px;transform:none}.story-nav button span{display:none}.story-nav button i{width:5px;height:5px}.bottom-bar{left:8%;right:8%;height:54px}.counter{gap:6px;font-size:7px}.counter strong{font-size:20px}.counter i{width:17px}.scroll-guide{gap:5px;font-size:5px;letter-spacing:.8px}.scroll-guide svg{width:11px}.stepper{gap:6px}.stepper button{width:27px;height:27px}.stepper svg{width:14px}.scene-4 .story-scene{align-self:flex-end;margin-bottom:14px;width:90%}.scene-4 .story-heading{margin:14px 0 12px;font-size:clamp(41px,10vw,50px);line-height:.95}.scene-4 .scene-copy{max-width:280px;font-size:10px}.scene-4 .story-cta{min-height:40px;margin-top:12px}.scene-4 .candle-flames{left:10%;top:36%;gap:25px;height:20px}.candle-flames i{width:6px;height:12px}.candle-flames i:nth-child(2){height:16px}.candle-flames i:nth-child(3){height:10px}.candle-flames.flames-out:after{top:-20px;left:8px;width:22px;height:30px}.love-overlay{padding:22px}.love-note{width:100%}.love-close{top:-47px}.love-heart{width:24px;height:24px;margin-bottom:12px}.love-kicker{margin-bottom:15px;font-size:6px;letter-spacing:1.5px}.love-note h2{font-size:clamp(37px,10vw,52px);line-height:.98}.love-note p{margin-top:15px;font-size:10px}.love-signature{margin-top:14px;font-size:20px}}@media(max-height:650px)and (min-width:561px){.topbar{height:63px}.story-area{top:63px;right:0;bottom:53px;left:0}.bottom-bar{height:43px}h1{margin:16px 0 11px;font-size:78px}.story-heading{margin:13px 0;font-size:58px}.scene-copy{font-size:9px}.scene-subtitle{margin-top:14px}.story-cta{min-height:39px;margin-top:13px;padding:9px 16px}.story-nav{gap:12px}}@media(max-height:650px)and (max-width:560px){.topbar{height:51px}.story-area{top:57px;right:0;bottom:48px;left:0}.bottom-bar{height:42px}.story-scene{width:90%}h1{margin:14px 0 8px;font-size:70px}.story-heading{margin:12px 0 10px;font-size:49px}.scene-subtitle{margin-top:12px}.scene-copy{font-size:8px}.story-cta{min-height:37px;margin-top:11px;padding:8px 14px}.story-nav{bottom:62px}.love-note h2{font-size:37px}.love-note p{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
