@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}:root{font-family:Manrope,sans-serif;color:#34252b;background:#fff9f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-weight:400;--cream:#fff9f2;--burgundy:#642a39;--pink:#e8bcc3;--gold:#c9a77b;--muted:#806d70}*{box-sizing:border-box}body{margin:0;min-width:280px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #a46844;outline-offset:6px}main:focus,section:focus{outline:none}button{touch-action:manipulation}::selection{background:#e8bcc3;color:#34252b}.site-shell{position:relative;max-width:1440px;padding:0 64px;margin:auto;min-height:100svh;display:flex;flex-direction:column}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #642a3912;gap:16px}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Cormorant Garamond,serif;font-size:27px;font-weight:600;white-space:nowrap}.wordmark-dot{color:#a96678;margin-left:-10px}.header-note{font-size:9px;letter-spacing:3px;display:flex;align-items:center;gap:21px;color:#80615c}.header-note span{font-size:20px}.journey{width:min(650px,100%);margin:35px auto 0}.journey ol{list-style:none;padding:0;margin:0;display:flex;justify-content:space-between;gap:10px}.journey li{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.3px;color:#89757a}.step-dot{width:23px;height:23px;border:1px solid #c9a77b50;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px}.current{color:var(--burgundy)!important;font-weight:600}.current .step-dot{background:var(--burgundy);color:var(--cream);border-color:var(--burgundy);box-shadow:0 0 0 4px #642a3908}.complete .step-dot{background:#ead8d8;border-color:#ead8d8;color:var(--burgundy)}.journey-track{height:1px;background:#642a3910;margin-top:19px}.journey-track span{display:block;height:1px;background:#a66f76;transition:width .5s}main{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 0 64px}.scene{width:100%;text-align:center;animation:scene-in .65s ease both}.eyebrow{font-size:9px;font-weight:600;letter-spacing:3px;color:#8c605c;margin:0 0 20px;line-height:1.8}h1,h2,p{margin-top:0}h1,h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;color:var(--burgundy)}h1{font-size:clamp(40px,5vw,65px);line-height:1.08;letter-spacing:-1.5px;margin-bottom:22px}h2{font-size:34px;line-height:1.15}.subtitle{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:0}.welcome h1{font-size:clamp(64px,7vw,94px);letter-spacing:-3px;margin-bottom:15px}.title-heart{display:inline-block;color:#a96978;font-size:.55em;vertical-align:middle;margin-left:17px;transform:rotate(12deg)}.primary,.secondary{min-height:49px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 27px;font-size:11px;font-weight:500;transition:transform .2s,box-shadow .2s,background .2s}.primary{background:var(--burgundy);color:var(--cream);border:1px solid var(--burgundy);box-shadow:0 6px 18px #642a3912}.primary:hover{background:#78384a;box-shadow:0 8px 24px #642a3925;transform:translateY(-2px)}.primary:active,.secondary:active{transform:translateY(1px)}.secondary{background:transparent;color:var(--burgundy);border:1px solid #642a3938}.secondary:hover{background:#642a3908}.envelope-stage{width:440px;max-width:100%;height:265px;margin:15px auto 3px;position:relative;display:grid;place-items:center;perspective:1100px}.orbit{position:absolute;width:380px;height:230px;border:1px solid #c9a77b25;border-radius:50%;transform:rotate(-18deg);pointer-events:none}.orbit-two{width:395px;height:212px;transform:rotate(15deg)}.little-spark{position:absolute;color:#b08d64}.spark-one{top:38px;right:34px;font-size:28px}.spark-two{bottom:42px;left:37px;font-size:15px}.envelope{width:282px;height:174px;background:none;border:0;padding:0;position:relative;transform:rotate(-7deg);transition:transform .6s;filter:drop-shadow(1px 18px 15px #5e35351b)}.envelope:hover:not(:disabled){transform:rotate(-3deg) translateY(-6px)}.envelope-back{position:absolute;inset:0;border-radius:4px;background:#e7bfc2;border:1px solid #b97e871a}.envelope-note{position:absolute;inset:10px 15px;background:#fffdf8;border:1px solid #c9a77b30;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;color:#99636e;transition:transform .6s .15s;z-index:1}.envelope-note>span{font-size:8px;letter-spacing:2px}.envelope-front{position:absolute;inset:0;background:linear-gradient(115deg,#efd5d3,#e3b8bd);clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);border-radius:3px;z-index:3}.envelope-front:after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,#f2d9d6,#e9c1c4);clip-path:polygon(0 100%,50% 45%,100% 100%);border-top:1px solid #d4a4a9}.envelope-flap{position:absolute;inset:0;background:linear-gradient(165deg,#f0d5d3,#e6bec1);clip-path:polygon(0 0,100% 0,50% 60%);transform-origin:top;transition:transform .6s,z-index .1s .3s;z-index:4}.wax-seal{border-radius:45% 51% 48% 46%;background:radial-gradient(circle at 35% 30%,#a14f61,#773444 60%,#642a39);width:48px;height:48px;color:#e7b6b7;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 3px #773544,inset 0 0 0 4px #b56c7650,2px 3px 6px #642a3920}.envelope .wax-seal{position:absolute;left:calc(50% - 24px);top:73px;z-index:5;transition:opacity .25s}.envelope.opened{transform:rotate(0) translateY(30px)}.opened .envelope-flap{transform:rotateX(180deg);z-index:0}.opened .envelope-note{transform:translateY(-75px)}.opened .wax-seal{opacity:0}.envelope-hint{font-family:Cormorant Garamond,serif;font-style:italic;font-size:21px;color:#8a6669;margin-bottom:22px}.time-note{font-size:9px;letter-spacing:.6px;color:var(--muted);margin:21px 0 0}.intro-note{max-width:480px;margin:22px auto 0}.intro-note h2{margin-bottom:16px;font-style:italic;font-size:38px}.intro-note p{font-size:13px;line-height:1.9;color:#705a60;margin-bottom:9px}.intro-note .primary{margin-top:19px}.is-open .envelope-stage{height:225px}.is-open .subtitle{display:none}.is-open h1{font-size:60px}.quiz{max-width:570px}.quiz-top{display:flex;justify-content:space-between;align-items:center;margin:30px 0 25px;font-family:Cormorant Garamond,serif;font-size:25px;color:var(--burgundy)}.muted{color:#987f83;font-size:18px}.heart-counter{display:flex;gap:10px;color:#b59498}.collected{fill:#9c5365;color:#9c5365;animation:heart-pop .45s ease}.question-card h1{font-size:clamp(36px,4.5vw,51px);line-height:1.14;margin:0 0 33px;text-align:left}.options{display:grid;gap:12px}.option{background:#fffdf9cc;border:1px solid #c9a77b52;min-height:70px;border-radius:6px;padding:17px 22px;display:flex;text-align:left;align-items:center;gap:17px;font-size:13px;color:#513c43;transition:background .2s,transform .2s,border .2s,opacity .2s}.option>svg{margin-left:auto;color:#a78084;flex-shrink:0}.option-emoji{font-size:23px;width:30px;flex-shrink:0}.option:hover:not(:disabled){background:#f9eeee;border-color:#b97886;transform:translate(3px)}.option.selected{background:#f4e4e5;border-color:#98606d;color:var(--burgundy)}.option:disabled:not(.selected){opacity:.55}.reaction{display:flex;align-items:flex-start;text-align:left;gap:14px;padding:22px 5px;margin-top:9px;color:var(--burgundy);min-height:96px}.reaction svg{flex-shrink:0;margin-top:3px}.reaction p{font-size:13px;line-height:1.85;margin-bottom:0}.quiz .primary{width:100%}.quiet-note{font-size:11px;color:var(--muted);line-height:1.8;margin:28px 0 0}.gifts-scene{max-width:790px}.gifts-scene h1{max-width:550px;margin-left:auto;margin-right:auto}.gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:55px auto 25px;max-width:660px}.gift{background:none;border:0;color:var(--burgundy);display:flex;flex-direction:column;align-items:center;padding:20px 5px;transition:opacity .35s,transform .35s}.gift:hover:not(:disabled){transform:translateY(-7px)}.gift-box{display:block;position:relative;width:130px;height:115px;background:linear-gradient(100deg,#e8bdc3,#d9a3ad);box-shadow:4px 12px 18px #642a3915;border-radius:2px;margin-bottom:25px}.box-1{background:linear-gradient(100deg,#743e4d,#572c3c)}.box-2{background:linear-gradient(100deg,#dfc6a5,#c9aa83)}.gift-lid{position:absolute;top:-9px;left:-5px;right:-5px;height:24px;background:#eccbd0;box-shadow:0 3px 5px #642a3913;z-index:3;transition:transform .6s,opacity .6s}.box-1 .gift-lid{background:#814b5a}.box-2 .gift-lid{background:#e6d1b7}.gift-ribbon{position:absolute;inset:0 43%;background:#fff3dd90;z-index:2}.gift-bow{position:absolute;top:-47px;left:0;right:0;font-size:67px;line-height:1;color:#bf8d93;z-index:4;transition:transform .6s,opacity .6s}.box-1 .gift-bow{color:#be9794}.box-2 .gift-bow{color:#b18a63}.gift-number{font-size:9px;letter-spacing:2px;margin-bottom:9px}.gift-hint{font-family:Cormorant Garamond,serif;font-size:21px}.gift-glow{position:absolute;left:0;right:0;top:16px;font-size:58px;color:var(--burgundy);opacity:0;transition:transform .6s,opacity .5s;z-index:1}.chosen .gift-lid,.chosen .gift-bow{transform:translateY(-58px) rotate(-14deg);opacity:0}.chosen .gift-glow{transform:translateY(-65px);opacity:1}.unchosen{opacity:.35}.gift-result{max-width:540px;margin:auto;border-top:1px solid #c9a77b50;padding-top:28px}.gift-result .eyebrow{margin-bottom:12px}.gift-result h2{font-size:32px;margin-bottom:14px}.gift-result>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8}.gift-result .primary{margin-top:11px}.letter-scene{max-width:650px}.folded-letter{display:flex;align-items:center;flex-direction:column;gap:27px;position:relative;width:min(400px,100%);min-height:240px;margin:45px auto 10px;background:linear-gradient(173deg,#fffcf7 49.5%,#eadcce,#fffaf1 50.5%);border:1px solid #d7bf9e85;color:var(--burgundy);font-family:Cormorant Garamond,serif;font-size:26px;box-shadow:0 15px 35px #642a390b;transform:rotate(-3deg);padding:32px;transition:transform .35s}.folded-letter:hover{transform:rotate(0)}.letter-paper{position:relative;background:#fffcf8;border:1px solid #c9a77b45;box-shadow:0 15px 50px #642a3908;text-align:left;padding:45px 55px;margin:32px auto;transform-origin:top;animation:unfold .7s ease both}.letter-paper:before{content:"";position:absolute;inset:9px;border:1px solid #c9a77b25;pointer-events:none}.letter-ornament{display:block;text-align:center;font-size:31px;color:#a67479;margin-bottom:20px}.letter-paper h2{font-size:31px;font-style:italic;margin-bottom:25px}.letter-paper p{font-family:Cormorant Garamond,serif;font-size:23px;line-height:1.55;color:#58434a;margin-bottom:22px}.signature{font-family:Cormorant Garamond,serif;font-size:21px;font-style:italic;color:var(--burgundy);margin-top:30px;max-width:280px}.signature span{display:block;font-size:25px;margin-bottom:8px}.final-scene{max-width:660px}.final-heart{display:grid;place-items:center;width:110px;height:110px;background:radial-gradient(#edcfd3,#f4e4e660);border:1px solid #c9a77b38;border-radius:50%;margin:35px auto;color:var(--burgundy);box-shadow:0 0 0 15px #e8bcc312}.final-scene h1{font-size:clamp(40px,5vw,58px);margin-bottom:35px}.final-message{padding:35px 0}.final-answer{font-family:Cormorant Garamond,serif;font-size:clamp(28px,4vw,40px);max-width:510px;margin:0 auto 25px;color:#79515c;line-height:1.3}.final-message h1{font-size:clamp(80px,11vw,130px);letter-spacing:-3px;margin:0 0 20px}.final-message h1 span{display:block;font-size:75px;color:#bd7f8e;animation:heart-pop 1s}.final-message>p:not(.final-answer){font-size:12px;line-height:1.9;color:var(--muted)}.final-message .secondary{margin-top:30px}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:3}.confetti i{position:absolute;top:-5%;width:6px;height:12px;animation:confetti 4s ease-in both}.confetti i:nth-child(3n){width:10px;height:10px;border-radius:70% 0 70% 30%}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #642a3912;padding:25px 0;font-size:9px;color:#887476;letter-spacing:.3px}footer span:first-child{display:flex;align-items:center;gap:8px}footer svg{color:#a66576}.background-effects{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 12% 60%,#f2dfe440,transparent 45%),radial-gradient(ellipse at 85% 40%,#efd9ce38,transparent 50%),#fff9f2}.background-effects:after{content:"";position:absolute;inset:0;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.2' filter='url(%23n)'/%3E%3C/svg%3E")}.ambient{position:absolute;width:420px;height:420px;border:1px solid #c9a77b16;border-radius:50%}.ambient-one{left:-300px;top:35%}.ambient-two{right:-300px;top:15%}.petal{position:absolute;top:-50px;height:19px;border-radius:80% 0 80% 20%;background:linear-gradient(120deg,#e8bcc370,#f8e2e53a);animation:petal-drift linear infinite;transform:rotate(30deg)}.music-toggle{border:1px solid #642a3930;background:none;color:var(--burgundy);border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.appear{animation:scene-in .5s ease both}@keyframes scene-in{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes unfold{0%{opacity:0;transform:perspective(900px) rotateX(-12deg) translateY(20px)}to{opacity:1;transform:perspective(900px) rotateX(0) translateY(0)}}@keyframes heart-pop{0%{transform:scale(.6)}60%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes petal-drift{0%{transform:translate3d(0,-30px,0) rotate(0)}50%{transform:translate3d(35px,50vh,0) rotate(140deg)}to{transform:translate3d(-20px,110vh,0) rotate(280deg)}}@keyframes confetti{0%{top:-5%;opacity:0}10%{opacity:1}90%{opacity:.6}to{top:110%;opacity:0;rotate:460deg}}@media(min-width:1100px)and (min-height:900px){main{padding-top:65px;padding-bottom:85px}.welcome .envelope-stage{margin-top:30px;margin-bottom:20px}}@media(max-width:700px){.site-shell{padding:0 24px}header{height:78px}.wordmark{font-size:24px}.header-note{font-size:8px;letter-spacing:1.5px;gap:8px}.header-note span{display:none}.journey{margin-top:26px}.journey li{gap:6px;font-size:9px}.step-dot{width:20px;height:20px;font-size:7px}.journey-track{margin-top:16px}main{padding:45px 0 48px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:18px}.welcome h1{font-size:70px}.subtitle{font-size:11px}.envelope-stage{height:250px;width:340px;margin-top:22px}.orbit{width:310px;height:210px}.orbit-two{width:325px;height:190px}.envelope{width:252px;height:157px}.envelope .wax-seal{top:66px}.spark-one{right:4px}.spark-two{left:8px}.envelope-hint{font-size:19px}.intro-note p{font-size:12px}.gifts{gap:12px;margin-top:50px}.gift-box{width:92px;height:88px}.gift-bow{font-size:52px;top:-38px}.gift-lid{height:20px}.gift-hint{font-size:18px}.gift-glow{font-size:45px}.gifts-scene .subtitle{max-width:310px;margin:auto}.letter-paper{padding:30px 28px}.letter-paper p{font-size:22px}.letter-paper h2{font-size:29px}.question-card h1{font-size:40px}.option{padding:16px;min-height:67px;font-size:12px}.quiz-top{margin-top:25px}.heart-counter{gap:7px}footer{font-size:8px;padding:22px 0}.final-message{padding:35px 0}.final-message .secondary{font-size:10px}}@media(max-width:380px){.site-shell{padding:0 18px}.header-note{font-size:7px}.journey li{flex-direction:column;gap:6px}.journey ol{gap:4px}.step-name{font-size:8px}.welcome h1{font-size:59px}.title-heart{margin-left:9px}.envelope-stage{width:280px}.orbit{width:270px}.orbit-two{width:275px}.envelope{width:230px;height:148px}.spark-one{right:0}.gift-box{width:73px;height:73px}.gift-hint{font-size:16px}.gifts{gap:5px}.gift-result h2{font-size:29px}.letter-paper{padding:30px 22px}.letter-paper p{font-size:21px}.question-card h1{font-size:35px}.heart-counter{gap:5px}.heart-counter svg{width:15px}}.journey li,footer{color:#79646a}@media(max-width:700px){.journey li{flex-direction:column;gap:7px;flex:1}.journey ol{gap:4px}.step-name{font-size:8px;white-space:nowrap}.step-dot{flex-shrink:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.petal,.confetti{display:none}.envelope.opened .envelope-note{transform:translateY(-75px)}}.welcome h1,.is-open h1{font-size:clamp(37px,5.5vw,70px);max-width:780px;margin-left:auto;margin-right:auto;letter-spacing:-1px}.welcome .title-heart{display:none}.envelope-back{background:#e7d8c4}.envelope-front{background:linear-gradient(115deg,#f7ecdc,#e7d6bd)}.envelope-front:after{background:linear-gradient(155deg,#fbf0df,#ecdbc4)}.envelope-flap{background:linear-gradient(165deg,#fff4e3,#e8d7c1)}.intro-note{max-width:570px}.intro-note p,.subtitle,.quiet-note,.gift-result>p:not(.eyebrow){font-size:14px}.primary,.secondary{font-size:13px;min-height:48px}.option{font-size:15px;line-height:1.6}.question-card h1{font-size:clamp(30px,4vw,46px);overflow-wrap:anywhere}.option-emoji{align-self:flex-start}.gift-result p{line-height:1.9}.gift-hint{line-height:1.3}.gift-illustration{display:block;width:240px;max-width:100%;height:140px;margin:0 auto 20px}.unchosen{opacity:.75}.gift:focus-visible,.gift:hover{opacity:1}.letter-paper p{font-size:clamp(22px,3vw,25px);line-height:1.65}.distance-thread{width:100%;max-width:500px;height:auto;overflow:visible;margin:0 auto 25px}.red-thread{stroke-dasharray:650;stroke-dashoffset:650;animation:thread-draw 1.4s ease forwards}.ending-lines{max-width:540px;margin:auto}.ending-lines p{font-family:Cormorant Garamond,serif;font-size:26px;line-height:1.55;color:#58434a;margin-bottom:20px}.sarvii-final h1{font-size:44px}.sarvii-final h2{font-size:29px;margin-top:36px}.ending-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.ending-response{position:relative;padding:25px 10px;font-size:15px;line-height:1.9;color:#642a39}.restart{margin-top:30px}.heart-celebration{position:absolute;inset:0;pointer-events:none}.heart-celebration span{position:absolute;bottom:0;color:#a64b60;font-size:27px;animation:heart-rise 1.8s ease both}@keyframes heart-rise{0%{transform:translateY(0);opacity:0}30%{opacity:1}to{transform:translateY(-130px);opacity:0}}@keyframes thread-draw{to{stroke-dashoffset:0}}.eyebrow{font-size:10px}.time-note,footer{font-size:11px}.header-note{font-size:9px}@media(max-width:700px){.gift-hint{font-size:17px}.gifts{gap:8px}.subtitle,.intro-note p{font-size:14px}.option{font-size:14px;padding:15px 12px;gap:10px}.reaction p{font-size:14px}.welcome h1,.is-open h1{font-size:42px}.sarvii-final h1{font-size:36px}.ending-lines p{font-size:24px}.header-note{font-size:8px;letter-spacing:1px}.wordmark{font-size:25px}.gift-result h2{font-size:30px}}@media(max-width:380px){.welcome h1,.is-open h1{font-size:37px}.wordmark{font-size:23px}.header-note{font-size:7px}.primary,.secondary{padding:14px 18px}.gift-hint{font-size:16px}footer{font-size:9px}.envelope-stage{max-width:100%}}@media(prefers-reduced-motion:reduce){.red-thread{stroke-dashoffset:0}.heart-celebration{display:none}}
