@import url('./fonts.css');

:root{--paper:#fcf6f2;--cream:#fffaf7;--pink:#f2d9dc;--rose:#ac536c;--rose-dark:#894358;--ink:#49343b;--muted:#79636b;--line:#e8d9d7;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:145px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--rose);outline-offset:6px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3,.handwritten{font-family:var(--serif)}em{font-weight:400;color:var(--rose)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:50;left:20px;top:-80px;background:white;padding:12px}.skip-link:focus{top:10px}.site-header{height:105px;margin:0 5.3%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:14px;letter-spacing:2.1px;display:flex;gap:13px;align-items:center;text-decoration:none;white-space:nowrap}.wordmark b{font-weight:650}.brand-flower{font-size:34px;line-height:1;color:var(--rose);font-weight:400}.header-date{font-size:9px;font-weight:550;letter-spacing:1.6px;color:var(--muted)}.header-date i{margin:0 14px;color:#d1a6b1}.made-for{font-size:11px;letter-spacing:.3px}.made-for>span:last-child{color:var(--rose);font-size:19px;margin-left:7px}.hero{position:relative;max-width:1600px;margin:auto;padding:79px 7.2% 0;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:660px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;line-height:1.8;display:flex;align-items:center;gap:12px;color:var(--rose)}.eyebrow>span:empty{display:block;width:22px;height:1px;background:var(--rose)}.hero-copy{padding-bottom:43px;position:relative;z-index:2}h1{font-size:clamp(62px,6.5vw,102px);line-height:1.08;letter-spacing:-3px;margin:24px 0 24px;position:relative;white-space:nowrap}h1 em{font-style:italic}.title-spark{width:28px;height:36px;fill:#b37b89;position:absolute;top:12px;right:5%}.hero-description{color:#79636b;font-size:13px;line-height:1.9}.button{border:1px solid transparent;border-radius:6px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:13px 23px;font-size:11px;font-weight:550;letter-spacing:.25px;line-height:1.6;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--rose);color:#fffaf7;box-shadow:0 7px 18px #a8506814}.primary:hover{background:var(--rose-dark);box-shadow:0 7px 20px #a8506829}.button span{font-size:18px;font-weight:400;line-height:1}.hero .primary{margin-top:31px}.secondary{background:#fff9f6;border-color:#d9bcc4;color:var(--rose-dark)}.secondary:hover{background:#f9e7e8}.micro{font-size:10px;color:var(--muted);letter-spacing:.1px}.hero-micro{margin-top:17px}.hero-micro span{font-size:17px;vertical-align:middle;margin-right:5px;color:var(--rose)}
.gift-scene{position:relative;height:470px;margin-left:15px;isolation:isolate}.gift-scene:before{content:'';position:absolute;inset:0 -10% 0 -10%;z-index:-2;background:radial-gradient(ellipse at 50% 55%,#f2d4d8 0, #f5e1e1 35%,transparent 70%);filter:blur(12px)}.orbit{position:absolute;border:1px solid #d9bfc556;inset:22px -3px 40px;border-radius:50%;transform:rotate(-28deg)}.orbit-two{inset:45px 33px 20px;transform:rotate(38deg)}.scene-caption{position:absolute;left:30%;top:4px;font-family:var(--serif);font-size:17px;font-style:italic;color:#9b727c;transform:rotate(-7deg)}.gift-shadow{position:absolute;width:280px;height:55px;border-radius:50%;background:#a55b7540;filter:blur(20px);left:50%;bottom:69px;transform:translateX(-50%)}.gift-box{position:absolute;top:145px;left:50%;width:242px;height:218px;transform:translateX(-50%) rotate(-7deg);filter:drop-shadow(10px 20px 20px #9e617928);animation:gift-float 6s ease-in-out infinite}.gift-front{position:absolute;left:0;top:12px;width:226px;height:192px;background:linear-gradient(105deg,#f9cdd3,#e9a9b9 60%,#d58da5);border-radius:2px 3px 8px 8px;box-shadow:inset 0 1px 2px #fff8}.gift-side{position:absolute;right:-17px;top:7px;width:36px;height:190px;transform:skewY(-21deg);background:linear-gradient(90deg,#d28ca3,#bc718e);border-radius:0 5px 5px 0}.gift-ribbon{position:absolute;width:47px;inset:0 auto 0 91px;background:linear-gradient(90deg,#a95376,#cb7b98 24%,#e5a8ba 50%,#be6a8a 90%);box-shadow:2px 0 4px #b66c843b,-2px 0 5px #aa607c2b}.gift-lid{position:absolute;left:-9px;top:-14px;width:255px;height:42px;border-radius:4px;background:linear-gradient(100deg,#ffdbe0,#e7a7bb);box-shadow:0 8px 10px #9b507137,inset 0 2px #ffecf0;transition:transform 1.2s var(--ease),opacity 1s;z-index:3}.gift-lid:before{content:'';position:absolute;left:0;top:-35px;width:255px;height:40px;transform:skewX(-36deg);transform-origin:bottom;background:linear-gradient(150deg,#ffe8e8,#eeb7c7);border-radius:4px 5px 0 0}.lid-ribbon{position:absolute;left:99px;top:0;bottom:0;width:48px;background:linear-gradient(90deg,#b15e81,#e3a0b6 50%,#b96b8a);z-index:1}.lid-ribbon:before{content:'';width:48px;height:40px;background:linear-gradient(90deg,#c782a0,#f0b9ca 50%,#c4819e);position:absolute;top:-39px;left:15px;transform:skewX(-36deg)}.bow{position:absolute;width:95px;height:60px;top:-77px;border:15px solid #ce8ba5;border-radius:55% 45% 50% 40%;z-index:3;box-shadow:inset 1px 3px 6px #a3517099,2px 3px 5px #ae6a8630;border-top-color:#ecb8c8;border-bottom-color:#b6688b;background:linear-gradient(135deg,#dca1b5,#bd7496)}.bow-left{left:35px;transform:rotate(23deg) skewX(14deg)}.bow-right{right:25px;transform:rotate(-28deg) skewX(-14deg);top:-82px}.bow-knot{position:absolute;left:111px;top:-46px;width:37px;height:31px;border-radius:40%;background:linear-gradient(100deg,#c281a0,#f1bfce 40%,#c27c9c);z-index:5;transform:rotate(-6deg);box-shadow:0 3px 5px #9d546b70}.ribbon-tail{position:absolute;z-index:4;top:-28px;width:43px;height:100px;background:linear-gradient(90deg,#ae577c,#dc9fb8 45%,#be7795);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%)}.tail-left{left:77px;transform:rotate(25deg)}.tail-right{left:143px;transform:rotate(-26deg);height:88px}.box-monogram{position:absolute;bottom:25px;right:15px;letter-spacing:3px;font-size:8px;color:#a05a76}.gift-tag{position:absolute;right:-46px;top:63px;font-family:var(--serif);background:#fffaf3;box-shadow:2px 4px 10px #9a546321;transform:rotate(22deg);padding:4px 16px;font-size:18px;border-radius:2px;z-index:4}.gift-tag:before{content:'';position:absolute;width:35px;height:1px;background:#ad6d87;left:-30px;top:8px;transform:rotate(27deg)}.gift-tag span{font-size:22px;color:#b27489;margin-left:5px}.gift-heart{position:absolute;left:90px;top:0;opacity:0;color:var(--rose);font-size:75px;transition:all 1.5s;z-index:0}.universe-open .gift-lid{transform:translate(-25px,-95px) rotate(-18deg);opacity:.7}.universe-open .gift-heart{opacity:1;top:-80px;transform:rotate(7deg)}.universe-open .gift-box{animation:none}.gift-annotation{position:absolute;bottom:14px;right:5px;display:flex;gap:13px;align-items:flex-start}.gift-annotation>span{font-size:8px;letter-spacing:1px;border-top:1px solid #b98b9a;padding-top:8px}.gift-annotation i{font-family:var(--serif);font-size:15px;line-height:1.5;color:#9a747e}.spark{position:absolute;color:#c38da0}.spark-one{left:6%;top:111px;font-size:36px}.spark-two{right:5%;top:112px;font-size:18px}.spark-three{right:8%;bottom:93px;font-size:30px}.petal{position:absolute;width:16px;height:27px;border-radius:90% 15% 80% 20%;background:linear-gradient(120deg,#f7d7d9,#da9db2);opacity:.65;box-shadow:1px 3px 4px #b5768b15}.petal-one{left:15%;bottom:90px;transform:rotate(35deg)}.petal-two{right:17%;top:45px;transform:rotate(-25deg);width:12px;height:20px}.petal-three{left:52%;bottom:27px;transform:rotate(80deg);width:20px;height:12px}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0 27px;margin-top:30px;font-size:8px;letter-spacing:1.4px;color:#79636b}.hero-bottom>span:nth-child(2){display:flex;align-items:center;gap:15px}.hero-bottom>span:nth-child(2)>span{font-size:16px}.invitation-note{grid-column:1/-1;text-align:center;max-width:650px;margin:50px auto 40px;padding:48px;border:1px solid #e0c3cb;border-radius:8px;background:linear-gradient(120deg,#fffaf7,#f9e9e8);box-shadow:0 10px 60px #9e61790a;animation:reveal .8s var(--ease)}.invitation-note .eyebrow{justify-content:center}.invitation-note h2{font-size:37px;line-height:1.2;margin:18px 0}.invitation-note p{font-size:13px;color:#80636d}.seal{width:56px;height:56px;border-radius:50%;margin:23px auto;background:linear-gradient(130deg,#c17b91,#9e4b65);border:3px double #df9eaf;color:#fff0ef;font-family:Georgia;font-size:32px;box-shadow:0 5px 14px #a1566c2b}.seal.unsealed{transform:rotate(-15deg);opacity:.55}.invitation-note .next{display:flex;margin:24px auto 0}
.journey-nav{position:sticky;top:0;z-index:20;background:#fcf6f2f5;backdrop-filter:blur(14px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 7.2% 0}.journey-caption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:var(--muted);margin-bottom:14px}.journey-caption span:last-child{letter-spacing:.6px}.chapter-links{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;max-width:1400px;margin:auto}.chapter-links button{border:0;background:transparent;display:flex;align-items:center;padding:0 0 15px;gap:10px;text-align:left;color:var(--ink);position:relative;white-space:nowrap}.chapter-links button>span{display:grid;place-items:center;min-width:25px;height:25px;border:1px solid #d8b7c2;border-radius:50%;font-size:8px;color:var(--rose)}.chapter-links b{font-size:10px;font-weight:450}.chapter-links i{font-size:14px;margin-left:auto;font-style:normal}.chapter-links button:disabled{opacity:.46}.chapter-links button[aria-current]{color:var(--rose)}.chapter-links button[aria-current]>span,.chapter-links button.completed>span{color:white;background:var(--rose);border-color:var(--rose)}.progress-track{height:2px;background:#ecdbdf;margin:0 -8.4%}.progress-track>span{display:block;width:0;height:100%;background:var(--rose);transition:width .6s}.chapters{max-width:1400px;margin:auto;padding:0 7.2%}.chapter-card{position:relative;padding:90px 0 80px;border-bottom:1px solid var(--line);animation:reveal .8s var(--ease)}.chapter-heading{text-align:center}.chapter-heading .eyebrow{justify-content:center;gap:18px}.chapter-heading .eyebrow span{color:var(--muted);font-size:8px}.chapter-heading h2{font-size:clamp(48px,5.1vw,72px);line-height:1.1;margin:24px 0 20px;letter-spacing:-1.5px}.chapter-heading>p:last-child{font-size:12px;line-height:1.9;color:var(--muted)}.cake-stage{text-align:center;position:relative;padding-top:23px}.cake-canvas{max-width:600px;position:relative;margin:auto;isolation:isolate}.cake-svg{display:block;width:100%;overflow:visible;filter:drop-shadow(0 15px 20px #c67b8910)}#cake-slice{opacity:0;transition:transform 1.2s var(--ease)}.cake-cut #cake-slice{opacity:1;transform:translate(54px,15px)}.candles{position:absolute;inset:0;pointer-events:none}.candle{position:absolute;width:44px;height:98px;background:transparent;border:0;transform:translate(-50%,-100%);pointer-events:auto;padding:0}.candle-stem{position:absolute;left:18px;bottom:0;width:9px;height:45px;border-radius:3px;background:repeating-linear-gradient(155deg,#faf0ea 0 7px,#d596aa 8px 11px);box-shadow:2px 1px 4px #c37b9433}.candle-flame{position:absolute;width:13px;height:23px;left:16px;bottom:49px;background:radial-gradient(ellipse at 50% 90%,#fff9d9,#ffdf9f 55%,#e7a272);border-radius:80% 40% 60% 50%;box-shadow:0 0 20px #f2b57566;transform-origin:bottom;animation:flicker 1.8s ease-in-out infinite alternate}.candle:nth-child(even) .candle-flame{animation-delay:-.7s}.candle.out .candle-flame{display:none}.candle-smoke{display:none;position:absolute;left:20px;bottom:47px;height:22px;width:14px;border-left:2px solid #b29da6;border-radius:50%;opacity:0}.candle.out .candle-smoke{display:block;animation:smoke 1.3s ease-out}.candle:disabled{pointer-events:none}.interaction-label{font-size:11px;letter-spacing:.5px;color:var(--rose);margin-top:-8px}.cake-spark{position:absolute;left:16%;top:25%;color:#b9899a;font-size:30px}.cake-stage>.button{margin-top:20px}.cut-target{position:absolute;inset:40% 25% 7%;cursor:crosshair;touch-action:none}.knife{position:absolute;top:47%;left:52%;width:82px;height:19px;transform:rotate(70deg);z-index:4;pointer-events:none;filter:drop-shadow(2px 3px 2px #64364233)}.knife:before{content:'';position:absolute;left:0;top:0;width:57px;height:17px;background:linear-gradient(#fff,#c3bdc3,#fdfcfc);clip-path:polygon(0 0,100% 0,100% 100%,20% 100%,0 60%);border-radius:4px}.knife span{position:absolute;left:55px;top:0;width:41px;height:17px;border-radius:3px;background:linear-gradient(#db9caf,#a86079)}.reveal-note{position:relative;max-width:590px;margin:30px auto 0;animation:reveal .6s var(--ease)}.reveal-note>span{display:inline-grid;place-items:center;width:65px;height:58px;background:#f0d0d8;border-radius:50% 50% 45% 45%;color:var(--rose);font-size:40px;margin-bottom:10px}.reveal-note p{font-family:var(--serif);font-size:27px;line-height:1.5}.actions{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:24px;flex-wrap:wrap}.text-button{border:0;background:transparent;padding:12px 0;font-size:11px;color:var(--rose-dark);text-underline-offset:5px}.text-button:hover{text-decoration:underline}.text-link{font-size:10px;text-underline-offset:5px;display:inline-block;color:var(--rose-dark);padding:10px 0}.royal-layout{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:55px;max-width:950px;margin:45px auto 0}.dragon-portrait{text-align:center;background:radial-gradient(ellipse,#f3e0e2,transparent 70%)}.dragon-portrait svg{width:100%;max-width:380px}.handwritten{font-size:23px;font-style:italic;color:var(--rose)}.dragon-portrait .handwritten{display:block;transform:rotate(-5deg);margin-top:-15px}.parchment{padding:35px 33px 32px;border:1px solid #e5d4bc;border-radius:5px 25px 5px 5px;background:linear-gradient(120deg,#fff9ee,#f6ecdf);box-shadow:5px 9px 28px #98724d09;position:relative}.parchment:before{content:'♜';position:absolute;top:18px;right:22px;font-size:30px;color:#c6a28b}.parchment .eyebrow{font-size:7px;letter-spacing:1.1px}.parchment h3{font-size:31px;margin:18px 0 15px}.parchment>p:not(.eyebrow){font-size:12px;color:#83695f;line-height:1.9}.episode-progress{margin:22px 0}.episode-progress>span{font-size:10px}.episode-progress strong{font-weight:550}.episode-progress>div{height:5px;background:#e8d7c7;border-radius:6px;margin:9px 0 5px;overflow:hidden}.episode-progress i{display:block;width:80%;height:100%;background:#be8794;border-radius:6px}.episode-progress small{font-size:9px;color:#806356}.parchment .button{gap:20px}.royal-answer{margin-top:20px!important}.royal-answer small{display:block;color:#8e7269;font-size:9px;margin:8px 0 16px}.record-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;max-width:950px;margin:70px auto 0}.turntable{height:335px;background:linear-gradient(130deg,#eec6cc,#dfb4c1 70%,#c69cab);border:1px solid #cd9aa9;border-radius:15px;position:relative;box-shadow:0 15px 0 -7px #bb919e,0 26px 35px -10px #94677933,inset 0 2px 3px #fff8;transform:rotate(-5deg);max-width:440px}.turntable-brand{position:absolute;left:25px;top:16px;font-family:var(--serif);font-style:italic;color:#8c5b70;font-size:17px}.vinyl{position:absolute;left:24px;top:54px;width:245px;height:245px;border-radius:50%;background:repeating-radial-gradient(circle,#6f6268 0 1px,#756970 1px 2px,#5b5058 3px 4px);box-shadow:0 5px 9px #6a42434d;border:7px solid #76656f;animation:spin 6s linear infinite;animation-play-state:paused}.vinyl:before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent,#f9edef42,transparent 22%,#eed3e150,transparent 50%,#eddde959,transparent 78%)}.vinyl-label{position:absolute;width:86px;height:86px;border-radius:50%;background:#e9bbc8;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#975d75;border:3px solid #dfa4b8}.vinyl-label span{font-size:6px;letter-spacing:1.4px}.vinyl-label b{font-size:28px;font-weight:400;line-height:1.25}.vinyl-label small{font-size:7px;letter-spacing:2px}.tonearm{position:absolute;right:49px;top:64px;width:13px;height:171px;background:linear-gradient(90deg,#a6a3a8,#fff3f5 40%,#b1a8b2 75%);border-radius:9px;transform:rotate(-18deg);transform-origin:top;box-shadow:2px 3px 3px #80666f33;transition:transform 1s}.tonearm:before{content:'';position:absolute;top:-15px;left:-11px;width:35px;height:35px;border-radius:50%;background:radial-gradient(circle,#c0b5be 25%,#f8e8eb 30%,#a196a3 60%,#e5d0d5 65%);box-shadow:0 2px 3px #80666f33}.tonearm>span{position:absolute;width:20px;height:35px;bottom:-19px;left:-4px;background:linear-gradient(90deg,#afa2af,#efe7ec,#ada0ad);border-radius:3px}.playing .vinyl{animation-play-state:running}.playing .tonearm{transform:rotate(25deg)}.record-light{position:absolute;bottom:26px;right:31px;width:6px;height:6px;border-radius:50%;background:#d4a4b4}.playing .record-light{background:#ac536c;box-shadow:0 0 7px #ac536c88}.turntable-speed{position:absolute;right:24px;bottom:44px;font-size:6px;letter-spacing:1px;color:#966778}.song-card h3{font-size:46px;line-height:1.2;margin:15px 0 8px}.artist{font-size:11px;color:var(--muted)}.artist span{display:block;font-size:15px;margin-top:5px}.song-divider{height:1px;width:50px;background:#dcbcc6;margin:23px 0}.song-card>p:not(.eyebrow,.artist,.micro){font-size:12px;color:var(--muted);line-height:1.9}.song-card .primary{margin-top:23px}.song-card .micro{margin:10px 0 0}.next-song{display:block;margin-top:15px}.next-song span{margin-left:15px}#song-player{margin-top:20px;width:100%;aspect-ratio:16/9;background:#f6dfe3;border-radius:6px;overflow:hidden}#song-player iframe{display:block;width:100%;height:100%;border:0}.wish-chapter{text-align:center}.constellation{position:relative;max-width:800px;height:340px;margin:40px auto 0;background:radial-gradient(ellipse,#f2dade88,transparent 68%)}.constellation>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.constellation path{fill:none;stroke:#d5a6b7;stroke-width:1;stroke-dasharray:4 7;transition:stroke 1s,filter 1s}.star-button{position:absolute;width:58px;height:58px;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);border:0;background:transparent;color:#c4879e;font-size:37px;text-shadow:0 0 20px #eac1cf;transition:color .3s,filter .3s,scale .3s}.star-button:hover{scale:1.15}.star-button span{position:absolute;font-size:8px;font-family:var(--sans);letter-spacing:1px;bottom:-11px;left:0;width:100%;color:#8c5c70}.star-button[aria-pressed=true]{color:var(--rose);filter:drop-shadow(0 0 9px #d89fb0)}.constellation.complete path{stroke:#ac536c;stroke-dasharray:none;filter:drop-shadow(0 0 7px #ca8da8)}.constellation.complete .star-button{color:#a7526e;text-shadow:0 0 22px #d4a4b4}.constellation-dust{position:absolute;font-size:10px;color:#cfa7b7}.dust-one{top:15%;left:10%}.dust-two{top:75%;left:32%;font-size:6px}.dust-three{top:26%;right:8%;font-size:15px}.wish-message{min-height:113px;max-width:600px;margin:12px auto}.wish-message>span{font-size:8px;letter-spacing:1.9px;color:var(--rose)}.wish-message p{font-family:var(--serif);font-size:32px;line-height:1.4;margin-top:12px}.wish-message p.wish-reveal{animation:reveal .45s var(--ease)}.wish-chapter>.button{margin-top:25px}.final-chapter{text-align:center}.final-gift-cover{margin:35px auto;padding:40px;max-width:550px;background:radial-gradient(ellipse,#f3d8de,transparent 70%)}.final-gift-cover>span{font-size:65px;display:block;filter:drop-shadow(0 7px 15px #a55b7520)}.final-gift-cover p{font-family:var(--serif);font-size:25px;margin:17px 0 23px}.jewelry-viewer{position:relative;margin-top:40px;height:520px;border:1px solid #eddae0;border-radius:12px;background:radial-gradient(ellipse at 50% 40%,#fff7f5,#efdadf);overflow:hidden;isolation:isolate}.jewelry-viewer canvas{width:100%;height:100%;display:block;touch-action:none}.model-status{position:absolute;inset:45% 10% auto;font-size:12px;color:var(--rose);z-index:3;pointer-events:none}.model-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:radial-gradient(ellipse,#fff7f5,#efdadf);z-index:5}.model-fallback>span{font-size:60px;color:var(--rose)}.model-fallback h3{font-size:37px;line-height:1.2;margin:15px 0}.model-fallback p{font-size:12px;max-width:450px;color:#86616e;margin:0 0 20px}.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;color:var(--muted);margin:8px 0}.final-message{margin:45px 0 30px}.final-message>span{font-size:40px;color:var(--rose)}.final-message h3{font-size:48px;line-height:1.2;margin:12px 0 23px}.final-message p{font-size:12px;color:var(--muted);margin:6px 0}.final-message .handwritten{font-size:26px;color:var(--rose);margin-top:25px}.finale{position:relative;overflow:hidden;min-height:650px;text-align:center;padding:80px 24px;background:radial-gradient(ellipse at 50% 50%,#f5dce0,#fcf5f1 75%);animation:reveal 1.2s}.finale .eyebrow{justify-content:center;font-size:8px}.finale-flower{font-size:48px;color:#b77a8e;display:block;margin:25px auto 10px}.finale h2{font-size:clamp(58px,6.5vw,90px);line-height:1.1;letter-spacing:-2px;margin-bottom:30px}.finale>p:not(.eyebrow,.micro){font-size:13px;color:#876673;margin:10px 0}.finale>.button{margin:30px 0 15px}.finale-petals{position:absolute;inset:0;pointer-events:none}.finale-petals>span{position:absolute;top:-40px;width:15px;height:24px;background:linear-gradient(120deg,#f5d6df,#d798b0);border-radius:80% 15% 70% 25%;opacity:.4;animation:petal-fall 12s linear infinite}footer{margin:0 5.3%;border-top:1px solid var(--line);min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .wordmark{font-size:11px;letter-spacing:1.8px;gap:7px}footer p{font-family:var(--serif);font-style:italic;font-size:20px;color:#805b69}footer>span{font-size:7px;color:var(--muted);letter-spacing:1.3px}.noscript{padding:30px;background:#fae3e6;text-align:center}#confetti{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.confetti-bit{position:absolute;left:50%;top:45%;width:6px;height:10px;background:#dba1b8;animation:confetti 1.8s var(--ease) forwards}
@keyframes gift-float{0%,100%{transform:translateX(-50%) translateY(0) rotate(-7deg)}50%{transform:translateX(-50%) translateY(-9px) rotate(-5deg)}}@keyframes flicker{from{transform:rotate(-5deg) scale(.95)}to{transform:rotate(5deg) scale(1.04)}}@keyframes smoke{0%{opacity:.6;transform:translateY(0) scale(.8)}100%{opacity:0;transform:translateY(-45px) scale(2)}}@keyframes reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes confetti{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot))}}@keyframes petal-fall{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:.5}90%{opacity:.4}100%{transform:translate(70px,750px) rotate(300deg);opacity:0}}
@media(min-width:1600px){.hero{padding-left:100px;padding-right:100px}.journey-nav{padding-left:max(7.2%,calc((100vw - 1400px)/2));padding-right:max(7.2%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.header-date{font-size:7px;letter-spacing:1px}.site-header{margin:0 5%;height:90px}.hero{padding:65px 6% 0;min-height:610px}h1{font-size:74px;letter-spacing:-2px}.gift-scene{height:440px;margin-left:0;transform:scale(.9);transform-origin:center}.chapter-links{gap:12px}.chapter-links b{font-size:8px}.chapter-links button{gap:7px}.chapter-links i{display:none}.record-layout{gap:40px}.turntable{height:300px}.vinyl{width:215px;height:215px;top:54px;left:18px}.tonearm{right:35px;height:150px}.hero-bottom{font-size:7px;letter-spacing:1px}.royal-layout{gap:25px}.parchment{padding:30px 23px}.eyebrow{font-size:8px}}
@media(max-width:760px){html{scroll-padding-top:110px}.site-header{height:78px;margin:0 6%}.wordmark{font-size:11px;letter-spacing:1.6px;gap:9px}.brand-flower{font-size:28px}.header-date{display:none}.made-for{font-size:10px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:44px 7% 0;min-height:unset}.hero-copy{padding:0;text-align:center}.hero-copy .eyebrow{justify-content:center;font-size:7px;letter-spacing:1.5px}h1{font-size:clamp(42px,11.7vw,78px);letter-spacing:-1.8px;margin:22px 0;white-space:normal}.title-spark{width:20px;right:2%;top:5px}.hero-description{font-size:11px}.button{min-height:48px;font-size:11px;padding:13px 20px;gap:25px}.hero .primary{margin-top:23px}.hero-micro{font-size:9px;margin-top:13px}.gift-scene{width:100%;height:390px;transform:scale(.85);margin:-5px 0 -27px;transform-origin:center}.gift-box{top:130px}.gift-shadow{bottom:39px}.orbit{inset:20px 0 0}.orbit-two{inset:35px 20px -10px}.scene-caption{top:4px;font-size:15px;left:24%}.gift-annotation{bottom:-5px;right:-15px}.spark-one{left:-1%;top:95px}.spark-two{right:-4%}.spark-three{right:-5%;bottom:55px}.hero-bottom{margin-top:20px;padding:21px 0;font-size:6px;letter-spacing:.8px}.hero-bottom>span:first-child{display:none}.hero-bottom>span:nth-child(2){gap:8px}.invitation-note{padding:30px 22px;margin:45px 0 20px}.invitation-note h2{font-size:31px}.invitation-note p{font-size:12px}.journey-nav{padding:12px 5% 0}.journey-caption{font-size:7px;margin-bottom:10px}.chapter-links{gap:4px}.chapter-links button{flex-direction:column;gap:5px;padding-bottom:11px;text-align:center}.chapter-links button>span{width:25px;height:25px;font-size:8px}.chapter-links b{font-size:7px;letter-spacing:-.1px;white-space:normal;line-height:1.3;min-height:18px}.progress-track{margin:0 -5.6%}.chapters{padding:0 6%}.chapter-card{padding:60px 0}.chapter-heading .eyebrow{font-size:7px;gap:10px;letter-spacing:1.2px}.chapter-heading .eyebrow span{font-size:6px;letter-spacing:1px}.chapter-heading h2{font-size:clamp(43px,9.5vw,63px);margin:21px 0 18px;letter-spacing:-1px}.chapter-heading>p:last-child{font-size:11px}.cake-stage{padding-top:38px}.candle{height:75px;width:44px}.candle-stem{height:32px;width:7px;left:19px}.candle-flame{width:11px;height:19px;left:17px;bottom:37px}.candle-smoke{bottom:34px}.interaction-label{font-size:10px;margin-top:12px}.cake-stage>.button{margin-top:15px}.cake-spark{left:6%;top:20%;font-size:22px}.reveal-note p{font-size:25px}.royal-layout{grid-template-columns:1fr;gap:30px;margin-top:25px}.dragon-portrait svg{max-width:290px}.dragon-portrait .handwritten{font-size:21px}.parchment{max-width:460px;margin:auto;padding:30px 25px}.parchment h3{font-size:32px}.record-layout{grid-template-columns:1fr;gap:45px;margin-top:45px}.turntable{width:340px;max-width:calc(100% - 16px);height:290px;margin:auto;transform:rotate(-4deg)}.vinyl{width:218px;height:218px;top:50px;left:18px}.tonearm{right:34px}.song-card{text-align:center}.song-card .eyebrow{justify-content:center}.song-card h3{font-size:43px}.song-divider{margin:20px auto}.next-song{margin:17px auto 0}.song-card .text-link{display:block}.constellation{height:260px;margin:30px -7px 0}.star-button{font-size:31px;width:48px;height:48px}.star-button span{font-size:7px;bottom:-8px}.wish-message{min-height:120px;margin-top:25px}.wish-message p{font-size:28px}.wish-message>span{font-size:7px;letter-spacing:1.6px}.jewelry-viewer{height:400px;margin-top:25px}.viewer-controls{font-size:8px;text-align:left}.viewer-controls .text-button{font-size:10px;white-space:nowrap}.final-message h3{font-size:40px}.final-message .handwritten{font-size:25px}.finale{padding:65px 20px;min-height:600px}.finale .eyebrow{font-size:6px;letter-spacing:1.5px}.finale h2{font-size:65px}.finale>p:not(.eyebrow,.micro){font-size:11px}footer{min-height:130px;flex-wrap:wrap;justify-content:center;gap:10px;padding:25px 15px}footer p{font-size:18px}footer>span{width:100%;text-align:center;font-size:6px}footer .wordmark{font-size:9px}.model-fallback h3{font-size:30px}.model-fallback p{font-size:11px}}
@media(max-width:360px){.site-header{margin:0 5%}.made-for{font-size:9px}.hero{padding-left:5%;padding-right:5%}h1{font-size:42px}.gift-scene{transform:scale(.77);margin-top:-15px;margin-bottom:-40px}.chapter-links b{font-size:6px}.chapter-heading .eyebrow span{font-size:5.5px}.turntable{height:265px}.vinyl{width:190px;height:190px}.tonearm{right:27px;height:135px}.finale h2{font-size:56px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.finale-petals{display:none}.gift-box{transform:translateX(-50%) rotate(-7deg)}}

h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}

.universe-open .scene-caption{opacity:0}@media(max-width:760px){.universe-open .gift-scene{margin-top:25px}}

.cake-cut #slice-gap{opacity:1}
.candle{--stem-height:45px;height:44px;transform:translate(-50%,calc(-100% - var(--stem-height) + 7px))}
.candle.back-candle{--stem-height:70px}
.candle-stem{top:calc(100% - 7px);bottom:auto;height:var(--stem-height);pointer-events:none}
.candle-flame,.candle-smoke{bottom:10px;pointer-events:none}
@media(max-width:760px){.candle{--stem-height:32px}.candle.back-candle{--stem-height:55px}.cake-stage{padding-top:65px}}
.hero{overflow:clip}
.record-layout>*{min-width:0}
@media(max-width:760px){.record-layout{grid-template-columns:minmax(0,1fr)}.tonearm{transform:rotate(-8deg)}}
@media(min-width:761px) and (max-width:1000px){.hero h1{font-size:6.8vw;letter-spacing:-1.5px}.hero .title-spark{right:-10px;width:21px}}
