@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500;1,600&family=DM+Sans:wght@300;400;500;600&family=Italiana&display=swap";html{width:100%}:root{--wine:#5d1024;--wine-dark:#260711;--red:#a91f43;--rose:#de6683;--blush:#f4c3cf;--paper:#fffaf5;--cream:#f9eee7;--ink:#38131d;--gold:#d8ad6e;--serif:"Cormorant Garamond", Georgia, serif;--display:"Italiana", Georgia, serif;--sans:"DM Sans", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--wine-dark)}body{color:var(--ink);background:var(--paper);font-family:var(--sans);margin:0;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}::selection{color:#fff;background:var(--red)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.noise{z-index:100;opacity:.035;pointer-events:none;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");position:fixed;inset:0}.pointer-glow{z-index:45;aspect-ratio:1;opacity:0;pointer-events:none;mix-blend-mode:screen;filter:blur(8px);will-change:transform;background:radial-gradient(circle,#ffdbe344 0,#de668314 38%,#0000 70%);border-radius:50%;width:22rem;transition:opacity .5s;position:fixed;top:0;left:0;translate:-50% -50%}body.letter-open .pointer-glow{opacity:1}.particle-canvas{z-index:90;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.kicker{color:var(--rose);font:600 .72rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;margin:0 0 1rem}.envelope-scene{z-index:80;color:#fff;text-align:center;background:radial-gradient(circle at 50% 45%,#8e2945 0,#4d0d20 48%,#1e050d 100%);place-content:center;justify-items:center;gap:clamp(1rem,2.4vh,1.8rem);padding:1.5rem;transition:opacity 1s .65s,visibility 1s .65s;display:grid;position:fixed;inset:0;overflow:hidden}.envelope-scene:before,.envelope-scene:after{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #f8c7d221;border-radius:50%;width:50vw;animation:18s linear infinite orbit;position:absolute}.envelope-scene:after{width:75vw;animation-duration:28s;animation-direction:reverse}.envelope-copy{z-index:2;transition:transform .8s,opacity .6s;position:relative}.envelope-copy h1{font:clamp(3rem, 9vw, 6rem)/.9 var(--serif);margin:0;font-style:italic}.envelope-copy>p:last-child{color:#f8d9e1;max-width:30rem;margin:1rem auto 0;font-weight:300}.immersive-hint{z-index:2;color:#f8e6ea;backdrop-filter:blur(8px);max-width:38rem;font:300 .76rem/1.5 var(--sans);background:#ffffff0b;border:1px solid #ffffff2b;border-radius:5rem;align-items:center;gap:.8rem;margin:0;padding:.8rem 1.1rem;display:flex;position:relative}.immersive-hint span{color:var(--gold);flex:none;font-size:1.4rem;animation:2s infinite pulse}.envelope{aspect-ratio:1.55;cursor:pointer;perspective:900px;filter:drop-shadow(0 2rem 2rem #13020888);width:min(78vw,390px);transform-style:preserve-3d;background:0 0;border:0;padding:0;transition:transform .18s ease-out;position:relative}.envelope-back,.envelope-paper,.envelope-flap{border-radius:.5rem;position:absolute;inset:0}.envelope-back{background:#dbaab1}.letter-preview{z-index:1;height:90%;color:var(--wine);background:var(--paper);font:italic 2.2rem var(--serif);border-radius:.3rem;place-content:center;transition:transform 1s .35s;display:grid;position:absolute;bottom:5%;left:7%;right:7%}.letter-preview i{color:var(--red);font-size:1rem}.envelope-paper{z-index:2;background:linear-gradient(150deg,#0000 49.5%,#e9bdc2 50%) 0 0/50% 100% no-repeat,linear-gradient(210deg,#0000 49.5%,#dca7ae 50%) 100% 0/50% 100% no-repeat,linear-gradient(35deg,#efc9cc 49.5%,#0000 50%) 0 100%/51% 55% no-repeat,linear-gradient(-35deg,#e4b2b8 49.5%,#0000 50%) 100% 100%/51% 55% no-repeat}.envelope-flap{z-index:3;transform-origin:top;background:linear-gradient(145deg,#0000 49.5%,#f1c8cc 50%) 0 0/50.5% 100% no-repeat,linear-gradient(215deg,#0000 49.5%,#dfabb2 50%) 100% 0/50.5% 100% no-repeat;transition:transform 1s}.wax-seal{z-index:4;color:#edbfc8;background:radial-gradient(circle at 35% 25%,#c83e5d,#7b102b 70%);border:3px double #d76880;border-radius:50%;place-items:center;width:4.2rem;height:4.2rem;transition:scale .4s,opacity .4s;display:grid;position:absolute;top:50%;left:50%;translate:-50% -36%;box-shadow:0 .4rem .7rem #5e0c23aa,inset 0 0 0 .25rem #9f1f3d}.wax-seal>span{font:italic 2rem var(--serif)}.open-hint{z-index:5;width:max-content;color:var(--wine);font:600 .68rem var(--sans);letter-spacing:.14em;text-transform:uppercase;background:#fffaf5;border:1px solid #ffffffb8;border-radius:3rem;align-items:center;gap:.7rem;padding:.75rem 1.15rem;animation:1.8s infinite pulse;display:flex;position:absolute;bottom:-3.6rem;left:50%;translate:-50%;box-shadow:0 .8rem 2rem #1d030d66}.open-hint i{color:var(--red);font-size:.7rem;font-style:normal}.envelope:hover .wax-seal{scale:1.08}.opened-note{opacity:0;color:#f6d1da;font:italic 1.2rem var(--serif);margin:0;transition:opacity .6s .65s;position:absolute;bottom:7vh}.envelope-scene.is-opening .envelope-flap{z-index:0;transform:rotateX(180deg)}.envelope-scene.is-opening .wax-seal{opacity:0;scale:1.7}.envelope-scene.is-opening .open-hint{opacity:0;transition:opacity .3s}.envelope-scene.is-opening .immersive-hint{opacity:0;transition:all .4s;transform:translateY(-.5rem)}.envelope-scene.is-opening .letter-preview{transform:translateY(-55%)}.envelope-scene.is-opening .envelope-copy{opacity:0;transform:translateY(-1rem)}.envelope-scene.is-opening .opened-note{opacity:1}.envelope-scene.is-open{opacity:0;visibility:hidden;pointer-events:none}.chapter-nav{z-index:50;opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:.75rem;transition:opacity .6s;display:flex;position:fixed;top:50%;right:clamp(.7rem,2vw,2rem);translate:0 -50%}body.letter-open .chapter-nav{opacity:1;pointer-events:auto}.chapter-nav a{color:#ffffff80;width:2rem;height:2rem;font:500 .55rem var(--sans);backdrop-filter:blur(6px);border:1px solid #ffffff38;border-radius:50%;place-items:center;text-decoration:none;transition:all .35s;display:grid;position:relative}.chapter-nav a.is-active{color:#fff;border-color:var(--blush);background:var(--red);scale:1.15}.chapter-nav a.is-locked{opacity:.25;pointer-events:none}.progress-line{z-index:-1;background:#ffffff2b;width:1px;position:absolute;top:1rem;bottom:1rem;overflow:hidden}.progress-line i{background:var(--blush);width:100%;height:0;transition:height .5s;display:block}.sound-toggle{z-index:55;visibility:hidden;opacity:0;color:#fff;backdrop-filter:blur(12px);cursor:pointer;pointer-events:none;background:#3c0918c9;border:1px solid #ffffff42;border-radius:3rem;align-items:center;gap:.7rem;max-width:3rem;height:3rem;padding:0 .9rem;transition:max-width .5s,opacity .5s,background .3s,visibility .5s;display:flex;position:fixed;bottom:1.2rem;left:1.2rem;overflow:hidden;box-shadow:0 .7rem 2rem #1a030b55}body.letter-open .sound-toggle{visibility:visible;opacity:1;pointer-events:auto}.sound-toggle:hover,.sound-toggle:focus-visible{background:#66142bd9;max-width:15rem}.sound-toggle small{font:500 .64rem var(--sans);letter-spacing:.08em;text-transform:uppercase;flex:none}.sound-bars{flex:0 0 1.15rem;justify-content:center;align-items:center;gap:2px;width:1.15rem;height:1rem;display:flex}.sound-bars i{background:#fff;border-radius:2px;width:2px;height:35%;animation:.8s ease-in-out infinite alternate soundWave}.sound-bars i:nth-child(2){height:80%;animation-delay:-.3s}.sound-bars i:nth-child(3){height:55%;animation-delay:-.55s}.sound-bars i:nth-child(4){height:90%;animation-delay:-.15s}.sound-toggle.is-muted .sound-bars i{height:2px;animation-play-state:paused}.chapter{place-items:center;min-height:100svh;padding:clamp(6rem,10vw,10rem) max(1.5rem,50vw - 36rem);display:grid;position:relative;overflow:hidden}.chapter-inner{z-index:2;width:100%;position:relative}.js .chapter:not(.is-unlocked){display:none}.reveal-target{opacity:0;transition:opacity 1s,transform 1s;transform:translateY(2.5rem)}.reveal-target.is-visible{opacity:1;transform:none}.section-header{text-align:center;max-width:46rem;margin:0 auto 5rem}.section-header h2,.intro h2,.promise h2,.finale h2{font:clamp(3.2rem, 8vw, 6.8rem)/.88 var(--serif);letter-spacing:-.045em;margin:0;font-weight:500}.section-header>p:last-child{color:#e9c8d1;max-width:37rem;margin:1.5rem auto 0;line-height:1.7}.chapter-number{color:#7e183011;font:30vw/1 var(--display);position:absolute;top:5%;right:4%}.hero{color:#fff;background:radial-gradient(circle at 20% 20%,#b52b50 0,#0000 28%),radial-gradient(circle at 80% 75%,#701632 0,#0000 32%),linear-gradient(135deg,#25060f,#5f1028 45%,#310712)}.hero-inner{text-align:center;max-width:64rem}.hero .hero-inner.is-visible{translate:var(--parallax-x,0) var(--parallax-y,0);transition:opacity 1s,transform 1s,translate .25s ease-out}.hero h2{font:clamp(3.3rem, 9vw, 8.2rem)/.87 var(--serif);letter-spacing:-.055em;margin:0;font-weight:500}.hero h2 span,.hero h2 em{display:block}.hero h2 em{color:#f4bdcb;font-weight:500}.lead{color:#f5d9e0;max-width:48rem;font:300 clamp(1rem, 2vw, 1.25rem)/1.75 var(--sans);margin:2rem auto 0}.handwritten-note{color:#f8c7d2;width:fit-content;max-width:34rem;font:italic clamp(1.2rem, 2.7vw, 1.7rem)/1.3 var(--serif);border-bottom:1px solid #d88ca0;margin:2rem auto;padding:.75rem 1rem;transform:rotate(-1deg)}.handwritten-note span{margin-right:.5rem}.aurora{filter:blur(90px);opacity:.18;border-radius:50%;width:40vw;height:40vw;animation:12s ease-in-out infinite alternate drift;position:absolute}.aurora-one{background:#ff8bac;top:-10%;left:-15%}.aurora-two{background:#ca557f;animation-delay:-6s;bottom:-15%;right:-15%}.floating-words span{color:#fff;opacity:.055;font:italic clamp(2rem, 6vw, 5rem) var(--serif);animation:8s ease-in-out infinite float;position:absolute}.floating-words span:first-child{top:13%;left:5%}.floating-words span:nth-child(2){animation-delay:-2s;top:18%;right:6%}.floating-words span:nth-child(3){animation-delay:-4s;bottom:12%;left:10%}.floating-words span:nth-child(4){animation-delay:-6s;bottom:9%;right:9%}.next-button{color:var(--wine);cursor:pointer;background:#fff;border:1px solid #ffffffad;border-radius:4rem;align-items:center;gap:1rem;margin-top:1.5rem;padding:.95rem 1.2rem .95rem 1.55rem;transition:transform .3s,box-shadow .3s,opacity .3s;display:inline-flex;box-shadow:0 1rem 3rem #16020d55}.next-button i{color:#fff;background:var(--red);border-radius:50%;place-items:center;width:2rem;height:2rem;font-style:normal;transition:transform .3s;display:grid}.next-button:hover{transform:translateY(-4px);box-shadow:0 1.3rem 3rem #16020d88}.next-button:hover i{transform:translateY(2px)}.next-button.dark{color:#fff;border-color:var(--wine);background:var(--wine)}.next-button.dark i{color:var(--wine);background:#fff}.next-button.light{color:var(--wine);background:#fff;border-color:#fff}.next-button.centered{width:fit-content;margin:4rem auto 0;display:flex}.next-button:disabled{opacity:.35;cursor:not-allowed;transform:none}.scroll-thread{background:#ffffff2e;width:1px;height:8vh;position:absolute;bottom:0;left:50%}.scroll-thread span{background:#fff;width:100%;height:40%;animation:2s infinite thread;display:block}.intro{background:radial-gradient(circle at 70% 20%, #f2cdd6, transparent 30%), var(--cream)}.intro-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(2rem,8vw,8rem);display:grid}.intro-heading h2{max-width:30rem}.paper-note{background:#fffdf9;max-width:34rem;padding:clamp(2rem,5vw,4rem);position:relative;transform:rotate(1deg);box-shadow:0 2rem 5rem #5f10281a}.paper-note:before{content:"";pointer-events:none;border:1px solid #b17b6f2c;position:absolute;inset:.7rem}.paper-note>p{font:clamp(1.2rem, 2.4vw, 1.6rem)/1.55 var(--serif);margin:0 0 1.4rem;position:relative}.paper-note .whisper{color:var(--red);margin:2rem 0 0;font-style:italic}.paper-pin{color:#fff;background:var(--red);border-radius:50%;place-items:center;width:3rem;height:3rem;display:grid;position:absolute;top:-1.2rem;right:2rem;box-shadow:0 .4rem 1rem #5f102844}.intro-grid>.next-button{grid-column:2;justify-self:start}.history{color:#fff;background:linear-gradient(160deg,#260711 0%,#631229 48%,#300711 100%)}.history-glow{filter:blur(120px);background:#ce456d33;position:absolute;inset:20% 35%}.timeline{max-width:62rem;margin:0 auto;position:relative}.timeline-line{background:#ffffff1c;width:2px;position:absolute;inset:0 auto 0 50%}.timeline-line i{background:linear-gradient(var(--gold), var(--rose));width:100%;height:0;transition:height 2s;display:block}.timeline.is-drawn .timeline-line i{height:100%}.timeline-item{opacity:0;align-items:center;width:50%;min-height:13rem;padding:1rem clamp(2rem,5vw,4.5rem) 1rem 0;transition:opacity .7s,transform .7s;display:flex;position:relative;transform:translate(-2rem)}.timeline-item.right{margin-left:50%;padding:1rem 0 1rem clamp(2rem,5vw,4.5rem);transform:translate(2rem)}.timeline-item.is-visible{opacity:1;transform:none}.timeline-symbol{z-index:2;width:2.7rem;height:2.7rem;color:var(--wine);background:var(--gold);border:3px solid #74203a;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:-1.35rem;translate:0 -50%;box-shadow:0 0 0 .6rem #ffffff0b}.timeline-item.right .timeline-symbol{left:-1.35rem;right:auto}.timeline-card{backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #ffffff1c;border-radius:.3rem;width:100%;padding:clamp(1.4rem,3vw,2.2rem)}.timeline-card time{color:var(--gold);font:600 .68rem var(--sans);letter-spacing:.18em;text-transform:uppercase}.timeline-card h3{font:500 clamp(1.6rem, 3vw, 2.2rem)/1 var(--serif);margin:.7rem 0}.timeline-card p{color:#f1dbe1;font:300 .95rem/1.7 var(--sans);margin:0}.reasons{background:radial-gradient(circle at 50% 0,#f2c4cf 0,#0000 28%),#fbf3ed}.section-header.ink>p:last-child{color:#744754}.reason-progress{color:#7c5360;letter-spacing:.08em;text-transform:uppercase;border:1px solid #9b506642;border-radius:2rem;width:fit-content;margin:-2.5rem auto 2.5rem;padding:.55rem 1rem;font-size:.72rem}.reason-progress strong{color:var(--red);font-size:1rem}.reason-grid{perspective:1000px;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.reason-card{min-height:17rem;color:inherit;cursor:pointer;transform-style:preserve-3d;background:0 0;border:0;padding:0;transition:transform .8s cubic-bezier(.2,.75,.2,1);position:relative}.reason-card.is-flipped{transform:rotateY(180deg)}.reason-front,.reason-back{backface-visibility:hidden;background:#fffaf5;border:1px solid #b76a7d42;place-items:center;padding:1.5rem;display:grid;position:absolute;inset:0;box-shadow:0 1.3rem 3rem #5f102812}.reason-front{align-content:center;gap:1rem}.reason-front:before{content:"";border:1px solid #ad647629;position:absolute;inset:.6rem}.reason-front i{color:var(--red);animation:heartbeat 2s calc(var(--index) * -.25s) infinite;font-size:3.5rem;font-style:normal}.reason-front small{color:#98707a;letter-spacing:.2em;font-size:.65rem}.reason-back{color:#fff;background:linear-gradient(145deg,#7d1733,#420b1b);align-content:center;gap:.8rem;transform:rotateY(180deg)}.reason-back strong{font:500 1.8rem/1 var(--serif)}.reason-back small{color:#f4dce2;font:300 .9rem/1.65 var(--sans)}.promise{color:#fff;background:radial-gradient(circle,#771936 0,#370914 55%,#1b0409 100%)}.stars{opacity:.55;background-image:radial-gradient(circle,#fff 0 1px,#0000 1.5px),radial-gradient(circle,#d9aa6d 0 1px,#0000 1.5px);background-position:0 0,37px 42px;background-size:83px 83px,113px 113px;animation:30s linear infinite stars;position:absolute;inset:0;mask-image:linear-gradient(#0000,#000 20% 80%,#0000)}.promise-inner{text-align:center;max-width:57rem}.promise blockquote{color:#f3dce2;font:italic clamp(1.45rem, 3.6vw, 2.45rem)/1.4 var(--serif);margin:2rem auto 3rem}.promise-list{text-align:left;max-width:44rem;margin:0 auto 3rem;padding:0;list-style:none}.promise-list li{color:#f1dce2;opacity:0;border-bottom:1px solid #ffffff18;grid-template-columns:2rem 1fr;gap:.7rem;padding:1rem 0;transition:all .7s;display:grid;transform:translateY(1rem)}.promise-list li.is-visible{opacity:1;transform:none}.promise-list span{color:var(--gold)}.signature{gap:.25rem;margin:2rem 0;display:grid}.signature small{color:#d9b8c1}.signature strong{color:#f5bbc9;font:italic clamp(2rem, 5vw, 3.5rem) var(--serif)}.finale{text-align:center;background:radial-gradient(circle at 50% 35%,#fff 0,#fae9ec 35%,#e8bdc7 100%);min-height:120svh}.finale-inner{max-width:58rem}.finale h2{color:var(--wine)}.finale-message{color:#6c3c49;max-width:45rem;margin:1.5rem auto 0;line-height:1.75}.memory-note{max-width:43rem;color:var(--wine);font:italic clamp(1.15rem, 2.5vw, 1.5rem)/1.55 var(--serif);border-top:1px solid #a9526b4a;border-bottom:1px solid #a9526b4a;margin:1.5rem auto 0;padding:1.2rem 1.5rem;position:relative}.bouquet{width:min(90vw,35rem);height:26rem;margin:2rem auto 0;position:relative}.stem{transform-origin:bottom;opacity:.15;width:3rem;height:20rem;transition:scale 1.2s cubic-bezier(.2,1.6,.3,1),opacity .8s;position:absolute;bottom:2.5rem;left:50%;scale:.4}.stem i{background:linear-gradient(#6d9b62,#325331);border-radius:1rem;width:.3rem;height:85%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.stem span{color:var(--red);text-shadow:.2rem .4rem .2rem #5f102828;font-size:8rem;line-height:.7;animation:3s ease-in-out infinite alternate flowerSway;position:absolute;top:0;left:50%;translate:-50%}.stem-1{transform:rotate(-28deg)}.stem-2{height:22rem;transform:rotate(-14deg)}.stem-3{z-index:2;height:24rem}.stem-4{height:22rem;transform:rotate(14deg)}.stem-5{transform:rotate(28deg)}.stem-2 span,.stem-4 span{color:#ef829b;font-size:7rem}.stem-3 span{color:#9f1738;font-size:9rem}.bouquet.is-bloomed .stem{opacity:1;scale:1}.bouquet.is-bloomed .stem:nth-child(2){transition-delay:.12s}.bouquet.is-bloomed .stem:nth-child(3){transition-delay:.25s}.bouquet.is-bloomed .stem:nth-child(4){transition-delay:.38s}.bouquet.is-bloomed .stem:nth-child(5){transition-delay:.5s}.ribbon{z-index:4;color:#f8d9df;background:var(--wine);width:6rem;height:4rem;font:3rem/1.1 var(--serif);opacity:0;border-radius:50%;transition:opacity .8s 1s;position:absolute;bottom:.5rem;left:50%;translate:-50%}.bouquet.is-bloomed .ribbon{opacity:1}.closing{max-width:42rem;color:var(--wine);font:italic clamp(1.35rem, 3vw, 1.9rem)/1.5 var(--serif);margin:0 auto}.bloom-button{color:#fff;background:linear-gradient(135deg, var(--red), var(--wine));cursor:pointer;border:0;border-radius:3rem;align-items:center;gap:.8rem;margin-top:2rem;padding:1rem 1.5rem;transition:transform .3s;display:inline-flex;box-shadow:0 1rem 2.5rem #7e17374a}.bloom-button:hover{transform:scale(1.04)}.bloom-button span{animation:1.8s infinite heartbeat}.final-declaration{max-width:47rem;min-height:3.5rem;color:var(--wine);font:italic clamp(1.7rem, 4vw, 2.8rem)/1.2 var(--serif);margin:2rem auto 0}.forever{opacity:0;color:var(--red);font:600 1rem var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:all 1s 1.2s;transform:translateY(1rem)}.forever.is-visible{opacity:1;transform:none}.restart-link{color:#815161;text-underline-offset:.3rem;margin-top:2rem;display:inline-block}.petal{background:var(--rose);width:.8rem;height:1.2rem;animation:petalFall var(--duration) linear forwards;border-radius:80% 0;position:absolute;top:-10%}.cursor-heart{z-index:92;color:#f5a8ba;pointer-events:none;text-shadow:0 0 .8rem #fff;font:.8rem serif;animation:1s ease-out forwards cursorHeart;position:fixed;translate:-50% -50%}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45}}@keyframes drift{to{transform:translate(15%,12%)scale(1.2)}}@keyframes float{50%{transform:translateY(-1rem)rotate(2deg)}}@keyframes thread{0%{transform:translateY(-100%)}to{transform:translateY(250%)}}@keyframes heartbeat{0%,35%,to{transform:scale(1)}10%,22%{transform:scale(1.13)}16%{transform:scale(.96)}}@keyframes stars{to{background-position:83px 83px,-76px 155px}}@keyframes flowerSway{to{transform:rotate(5deg)scale(1.04)}}@keyframes petalFall{to{transform:translate3d(var(--drift), 115vh, 0) rotate(720deg);opacity:0}}@keyframes soundWave{to{height:100%}}@keyframes cursorHeart{to{opacity:0;translate:-50% -3rem;rotate:25deg;scale:.4}}@media (width<=800px){.chapter-nav{gap:.5rem;right:.35rem}.chapter-nav a{width:1.6rem;height:1.6rem}.intro-grid{grid-template-columns:1fr}.intro-heading{text-align:center}.intro-heading h2{margin-inline:auto}.intro-grid>.next-button{grid-column:auto;justify-self:center}.timeline-line{left:1.35rem}.timeline-item,.timeline-item.right{width:100%;min-height:auto;margin:0 0 1.2rem;padding:0 0 0 4.2rem;transform:translate(1rem)}.timeline-symbol,.timeline-item.right .timeline-symbol{top:2.5rem;left:0;right:auto}.reason-grid{grid-template-columns:repeat(2,1fr)}.reason-card{min-height:15rem}}@media (width<=520px){.chapter{padding-inline:1.25rem}.envelope-copy h1{font-size:3.8rem}.immersive-hint{border-radius:1rem;max-width:21rem;padding:.65rem .8rem;font-size:.65rem}.open-hint{letter-spacing:.1em;padding:.65rem .9rem;font-size:.58rem;bottom:-3.2rem}.sound-toggle{bottom:.75rem;left:.75rem}.reason-grid{grid-template-columns:1fr}.reason-card{min-height:13rem}.bouquet{height:22rem;margin-block:0 -1rem;scale:.85}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
