@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:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-italic-DCuhXWyK.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-600-italic-BcJbkSJ4.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-italic-DYtrqAWE.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-italic-CcucBqPp.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:400;src:url(/assets/manrope-latin-ext-400-normal-CMDvPJRp.woff2) format("woff2"),url(/assets/manrope-latin-ext-400-normal-C-X6QNXX.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")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-ext-600-normal-_gBojHdJ.woff2) format("woff2"),url(/assets/manrope-latin-ext-600-normal-u5Pl7hTU.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-latin-500-normal-B9SDL8cy.woff2) format("woff2"),url(/assets/caveat-latin-500-normal-Do9veZfZ.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-latin-ext-500-normal-jKqJW7bC.woff2) format("woff2"),url(/assets/caveat-latin-ext-500-normal-wUUXxlbS.woff) format("woff")}:root{--night: #071019;--night-soft: #101a25;--night-ink: #e8e1d3;--paper: #eee7d8;--paper-warm: #e4d7c2;--ink: #18202a;--ink-soft: #5f5d59;--gold: #b89a5c;--yellow: #d5ad36;--red: #9a433b;--violet: #7c5a9c;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Manrope", "Segoe UI", sans-serif;--hand: "Caveat", "Segoe Print", cursive;--page: min(1220px, calc(100vw - 40px) );--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--night)}body{margin:0;min-width:320px;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.story-locked,body.finale-open{overflow:hidden}::selection{color:var(--paper);background:var(--red)}:focus-visible{outline:2px solid currentColor;outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}a{color:inherit;text-underline-offset:.28em}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}.star-field{position:fixed;inset:0;z-index:1;pointer-events:none}.site{opacity:0;visibility:hidden;transition:opacity 1.2s var(--ease)}.site.is-open{opacity:1;visibility:visible}.intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;color:var(--night-ink);background:#05090f}.intro__sky{position:absolute;inset:0}.intro__sky>i{position:absolute;width:2px;height:2px;border-radius:50%;background:#f8edcf;opacity:calc(.14 + (var(--i) % 5) * .08);animation:starPulse 4s calc(var(--i) * -.17s) ease-in-out infinite}.intro__sky>i:nth-child(8n){width:4px;height:4px}.intro__constellations{position:absolute;top:50%;left:50%;width:min(1000px,130vw);height:min(700px,100vh);transform:translate(-50%,-50%)}.constellation path,.constellation__bridge{fill:none;stroke:#dbc5976e;stroke-width:1;stroke-dasharray:600;stroke-dashoffset:600}.constellation circle{fill:#f5e5bc;opacity:0}.constellation--virgo path{animation:drawLine 2.3s 3.5s var(--ease) forwards}.constellation--scorpio path{animation:drawLine 2.3s 3.7s var(--ease) forwards}.constellation circle{animation:revealStar 1s 4.1s ease-out forwards}.constellation__bridge{stroke:#e8d19bcc;animation:drawLine 2s 5.1s var(--ease) forwards}.intro__sequence{position:relative;z-index:2;width:min(84vw,790px);min-height:360px;text-align:center}.intro__line{position:absolute;inset:42% 0 auto;font-family:var(--serif);font-size:clamp(1.7rem,5vw,3.8rem);line-height:1.12;opacity:0}.intro__line--1{font-size:clamp(2.7rem,8vw,6rem);animation:introLine 1.6s .35s both}.intro__line--2{animation:introLine 2.1s 1.8s both}.intro__line--3{animation:introLine 2.25s 3.75s both}.intro__signs{position:absolute;top:2%;left:0;display:flex;justify-content:space-between;width:100%;color:#ede3d0a3;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;opacity:0;animation:simpleReveal 1.2s 5.2s forwards}.intro__signs span{display:flex;align-items:center;gap:.55rem}.intro__signs .zodiac-mark{width:24px;height:24px}.intro__closing{position:absolute;inset:35% 0 auto;opacity:0;transform:translateY(15px);transition:opacity 1s ease,transform 1s var(--ease)}.intro__closing p:first-child{font-family:var(--serif);font-size:clamp(2.4rem,7vw,5.4rem);line-height:.95}.intro__closing p:first-child span{display:block;font-style:italic}.intro__closing p:nth-child(2){max-width:480px;margin:1.4rem auto .5rem;color:#ede3d0a3}.intro__closing p:last-child{color:var(--gold);font-family:var(--serif);font-size:1.25rem}.intro[data-ready=true] .intro__closing{opacity:1;transform:none}.intro[data-ready=true] .intro__line{opacity:0!important}.intro__open{position:absolute;z-index:3;bottom:7vh;left:50%;display:flex;align-items:center;gap:.75rem;padding:.65rem .2rem;border:0;border-bottom:1px solid rgba(232,209,155,.42);color:var(--night-ink);background:transparent;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .8s ease,transform .8s var(--ease),border-color .25s;cursor:pointer}.intro[data-ready=true] .intro__open{opacity:1;transform:translate(-50%);pointer-events:auto}.intro__open:hover{border-color:var(--gold)}.intro__open svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.3}.intro__skip{position:absolute;top:24px;right:24px;z-index:4;border:0;color:#ede3d07a;background:transparent;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.story-nav{position:fixed;z-index:40;top:0;left:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;width:100%;height:58px;padding:0 20px;color:#f4ead5;mix-blend-mode:difference;pointer-events:none}.story-nav a,.story-nav button{pointer-events:auto}.story-nav__mark{text-decoration:none;font-size:.65rem;letter-spacing:.16em}.story-nav__mark i{color:var(--gold);font-style:normal}.story-nav__progress{height:1px;overflow:hidden;background:#ffffff38}.story-nav__progress i{display:block;width:100%;height:1px;background:currentColor;transform-origin:left}.audio-control{position:relative}.audio-control button{display:flex;align-items:center;gap:.55rem;padding:.35rem 0;border:0;color:inherit;background:transparent;text-transform:uppercase;font-size:.62rem;letter-spacing:.13em;cursor:pointer}.audio-control__bars{display:flex;align-items:end;gap:2px;height:10px}.audio-control__bars i{width:1px;height:45%;background:currentColor}.audio-control__bars i:nth-child(2){height:100%}.audio-control__bars i:nth-child(3){height:70%}.audio-control button[aria-pressed=true] .audio-control__bars i{animation:soundBars .75s ease-in-out infinite alternate}.audio-control button[aria-pressed=true] .audio-control__bars i:nth-child(2){animation-delay:-.4s}.audio-control p{position:absolute;top:38px;right:0;width:220px;padding:.55rem .7rem;color:var(--ink);background:var(--paper);font-size:.62rem;line-height:1.4}.hero{position:relative;z-index:2;min-height:100svh;overflow:hidden;color:var(--night-ink);background:var(--night)}.hero__rail{position:absolute;top:0;left:50%;width:1px;height:100%;background:#cab27d33}.hero__rail i{position:absolute;left:-3px;width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg);background:var(--night)}.hero__rail i:nth-child(1){top:12%}.hero__rail i:nth-child(2){top:28%}.hero__rail i:nth-child(3){top:52%}.hero__rail i:nth-child(4){top:73%}.hero__rail i:nth-child(5){top:90%}.hero__copy{position:relative;z-index:3;width:min(87vw,620px);padding:16vh 0 2rem 7vw}.hero__copy h1{font-family:var(--serif);font-size:clamp(3.7rem,11vw,7rem);font-weight:400;line-height:.84;letter-spacing:-.035em}.hero__copy h1 em{color:#d8b55a;font-weight:500}.hero__copy p{max-width:37ch;margin-top:1.8rem;color:#ede3d0b8;font-family:var(--serif);font-size:clamp(1.2rem,3.6vw,1.65rem);line-height:1.22}.hero__copy>span{display:block;margin-top:1.15rem;color:var(--gold);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase}.hero__photo{position:relative;z-index:2;width:min(78vw,520px);margin:1rem 5vw 14vh auto;overflow:hidden;background:#101010;box-shadow:0 30px 80px #00000061}.hero__photo img{aspect-ratio:750 / 1024;object-fit:cover}.hero__photo figcaption{position:absolute;right:0;bottom:0;padding:.7rem .9rem;color:#211f1b;background:var(--paper);font-size:.57rem;letter-spacing:.13em;text-transform:uppercase}.hero__handnote{position:absolute;z-index:4;right:6vw;bottom:5vh;font-family:var(--hand);font-size:clamp(1.25rem,4.2vw,2rem);transform:rotate(-4deg)}.hero__continue{position:absolute;z-index:5;left:7vw;bottom:6vh;color:#ede3d094;text-decoration:none;text-transform:uppercase;font-size:.58rem;letter-spacing:.16em}.album{position:relative;z-index:3;overflow:hidden;padding:18vh 0 10vh;background:var(--paper)}.album:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#18202a24}.album--early:after{content:"cada fotografía es una estrella";position:absolute;top:38vh;left:calc(50% + 14px);color:#18202a66;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl}.chapter-opening{position:relative;z-index:2;width:var(--page);margin:0 auto 20vh}.chapter-opening p{max-width:34ch;color:var(--ink-soft);font-family:var(--serif);font-size:1.25rem}.chapter-opening h2{margin-top:1.2rem;font-family:var(--serif);font-size:clamp(3rem,9vw,6rem);font-weight:400;line-height:.9;letter-spacing:-.03em}.chapter-opening h2 em{color:var(--red);font-weight:400}.memory-scene{--photo-w: min(78vw, 560px);position:relative;z-index:2;display:grid;width:var(--page);min-height:90vh;margin:0 auto 12vh;padding:8vh 0}.memory-scene__index{position:absolute;top:3vh;right:0;color:#18202a24;font-family:var(--serif);font-size:clamp(5rem,18vw,12rem);line-height:1;letter-spacing:-.04em}.memory-scene__photo{position:relative;width:var(--photo-w);align-self:center;overflow:hidden;background:#d8d0c2;box-shadow:0 18px 48px #3e322329}.memory-scene__photo:before{content:"";position:absolute;inset:7px;z-index:2;border:1px solid rgba(245,239,225,.48);pointer-events:none}.memory-scene__photo img{max-height:78vh;object-fit:cover}.memory-scene__photo figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .8rem;color:var(--ink-soft);background:#f3ecde;font-size:.55rem;letter-spacing:.09em;text-transform:uppercase}.memory-scene__copy{position:relative;z-index:3;width:min(84vw,470px);margin:-3rem 0 0 auto;padding:1.6rem 0 0 1.5rem;background:var(--paper)}.memory-scene__copy h2{font-family:var(--serif);font-size:clamp(2.2rem,6vw,4rem);font-weight:500;line-height:.98;letter-spacing:-.025em}.memory-scene__copy p{margin-top:1rem;max-width:42ch;color:var(--ink-soft);font-size:.9rem}.memory-scene__copy small{display:block;margin-top:1.6rem;color:var(--red);font-family:var(--hand);font-size:1.15rem;line-height:1.2;transform:rotate(-2deg)}.memory-scene__star{position:absolute;top:50%;left:calc(50% - 6px);color:var(--gold);font-size:.7rem}.memory-scene--right .memory-scene__photo{margin-left:auto}.memory-scene--right .memory-scene__copy{margin-right:auto;margin-left:0;padding-right:1.5rem;padding-left:0}.memory-scene--wide{--photo-w: 100%}.memory-scene--wide .memory-scene__photo img{width:100%;max-height:82vh;object-fit:cover}.memory-scene--wide .memory-scene__copy{margin-top:-2rem;margin-right:4vw}.memory-scene--portrait{--photo-w: min(74vw, 470px)}.memory-scene--quiet{min-height:65vh}.memory-scene--quiet .memory-scene__photo{--photo-w: min(82vw, 720px);margin-inline:auto;transform:rotate(-1deg)}.memory-scene--quiet .memory-scene__copy{margin:1rem auto 0;padding:0;text-align:center;background:transparent}.memory-scene--quiet .memory-scene__copy h2{font-size:clamp(1.8rem,5vw,3rem);font-style:italic}.family-pair{position:relative}.album--family{background:#e9dfcf}.chapter-opening--family{text-align:right}.chapter-opening--family p{margin-left:auto}.youth{position:relative;z-index:4;overflow:hidden;padding:12vh 0;color:#f0e8d8;background:#11131a;transition:background-color .55s ease}.youth.is-spice{background:#201526}.youth:before{content:"PLAY  ▶  00:15";position:absolute;top:5rem;right:6vw;color:#f0e8d859;font-size:.54rem;letter-spacing:.16em}.youth__portrait{position:relative;display:grid;width:var(--page);min-height:90vh;margin:0 auto;align-items:center}.youth__fifteen{position:absolute;top:8%;left:-5%;color:#f0e8d814;font-family:var(--serif);font-size:clamp(14rem,56vw,38rem);line-height:.7;letter-spacing:-.08em}.youth__portrait figure{position:relative;z-index:2;width:min(72vw,530px);margin:0 0 0 auto;overflow:hidden;box-shadow:0 30px 80px #00000073}.youth__portrait figure img{aspect-ratio:837 / 1024;object-fit:cover}.youth__portrait-copy{position:relative;z-index:3;width:min(84vw,560px);margin:-5rem 0 0}.youth__portrait-copy h2{font-family:var(--serif);font-size:clamp(4.2rem,14vw,8.5rem);font-weight:400;line-height:.8;letter-spacing:-.035em}.youth__portrait-copy p{max-width:35ch;margin-top:2rem;color:#f0e8d8ad;font-family:var(--serif);font-size:1.45rem;line-height:1.2}.youth__portrait-copy small{display:block;margin-top:.75rem;color:#d4b6cb;font-family:var(--hand);font-size:1.45rem}.youth__threshold{width:min(86vw,900px);margin:22vh auto;text-align:center}.youth__threshold>p{color:#f0e8d873;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.youth__roll{margin-top:2rem}.youth__roll span{display:block;font-family:var(--serif);font-size:clamp(2.8rem,9vw,7rem);line-height:.95}.youth__roll span:nth-child(1){color:#e0bc4d}.youth__roll span:nth-child(2){color:#aa88bc;font-style:italic}.youth__roll span:last-child{max-width:30ch;margin:2.2rem auto 0;color:#f0e8d8ad;font-family:var(--sans);font-size:.9rem;line-height:1.6}.youth__manifesto{width:var(--page);margin:0 auto 12vh}.youth__manifesto>p{max-width:40ch;color:#f0e8d88c;font-family:var(--serif);font-size:1.3rem}.youth__manifesto>div{margin:3rem 0}.youth__manifesto span{display:block;border-bottom:1px solid rgba(240,232,216,.14);font-family:var(--serif);font-size:clamp(2.7rem,8vw,6rem);line-height:1.06;transition:color .3s,transform .5s var(--ease)}.youth.is-spice .youth__manifesto span:nth-child(1){color:#e0bc4d;transform:translate(2vw)}.youth.is-spice .youth__manifesto span:nth-child(2){color:#bc88b7;transform:translate(5vw)}.youth.is-spice .youth__manifesto span:nth-child(3){color:#8faac7;transform:translate(9vw)}.youth.is-spice .youth__manifesto span:nth-child(4){color:#d48969;transform:translate(4vw)}.youth.is-spice .youth__manifesto span:nth-child(5){color:#9eb68b;transform:translate(12vw)}.youth__manifesto h2{max-width:18ch;margin-left:auto;font-family:var(--serif);font-size:clamp(2rem,6vw,4.2rem);font-weight:400;line-height:1}.youth__controls{position:relative;display:flex;align-items:center;justify-content:center;min-height:210px}.spice-switch{position:relative;z-index:3;display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border:0;border-bottom:1px solid rgba(240,232,216,.35);color:#f0e8d8;background:transparent;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.spice-switch i{width:28px;height:12px;border:1px solid currentColor;border-radius:8px}.spice-switch i:before{content:"";display:block;width:6px;height:6px;margin:2px;border-radius:50%;background:currentColor;transition:transform .4s var(--ease)}.spice-switch[aria-pressed=true] i:before{transform:translate(14px)}.spice-five{position:absolute;inset:0;pointer-events:none}.spice-five i{position:absolute;top:48%;left:50%;width:5px;height:5px;border-radius:50%;background:#e6c453;opacity:0}.youth.is-spice .spice-five i{animation:spiceDance 1.5s calc(var(--n, 1) * .07s) var(--ease) both}.spice-five i:nth-child(1){--x: -120px;--y: -52px}.spice-five i:nth-child(2){--x: -65px;--y: 66px}.spice-five i:nth-child(3){--x: 0px;--y: -84px}.spice-five i:nth-child(4){--x: 68px;--y: 58px}.spice-five i:nth-child(5){--x: 126px;--y: -44px}.craft-secret{position:absolute;right:8vw;bottom:15px;width:42px;height:42px;border:0;color:#8f72aa;background:transparent;font-size:1.15rem;cursor:pointer}.craft-secret:hover span{text-shadow:0 0 14px #9b6fc2}.craft-echo{position:fixed;inset:0;z-index:200;display:grid;place-items:center;visibility:hidden;color:#efe7dc;background:#06080df0;opacity:0;transition:opacity .5s,visibility .5s}.craft-echo.is-open{visibility:visible;opacity:1}.craft-echo>button{position:relative;width:min(86vw,520px);min-height:420px;border:0;color:inherit;background:transparent;cursor:pointer}.craft-echo strong,.craft-echo small,.craft-echo em{position:relative;z-index:3;display:block}.craft-echo strong{font-family:var(--serif);font-size:2.2rem;font-weight:400}.craft-echo small{max-width:34ch;margin:1rem auto;color:#efe7dcad}.craft-echo em{color:#af92c7;font-family:var(--hand);font-size:1.4rem}.craft-echo__ring{position:absolute;top:50%;left:50%;width:300px;height:300px;transform:translate(-50%,-50%)}.craft-echo__ring i{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:#a47abf;transform:rotate(calc(var(--i) * 40deg)) translateY(-145px)}.craft-echo__ring i:nth-child(1){--i: 0}.craft-echo__ring i:nth-child(2){--i: 1}.craft-echo__ring i:nth-child(3){--i: 2}.craft-echo__ring i:nth-child(4){--i: 3}.craft-echo__ring i:nth-child(5){--i: 4}.craft-echo__ring i:nth-child(6){--i: 5}.craft-echo__ring i:nth-child(7){--i: 6}.craft-echo__ring i:nth-child(8){--i: 7}.craft-echo__ring i:nth-child(9){--i: 8}.flowers{position:relative;z-index:4;display:grid;min-height:110svh;overflow:hidden;place-items:center;color:#23261f;background:#c5a640}.flowers__photo{width:min(92vw,930px);overflow:hidden;box-shadow:0 32px 90px #372b0f4d}.flowers__photo img{min-height:68vh;object-fit:cover;image-rendering:auto}.flowers__copy{position:absolute;right:6vw;bottom:10vh;width:min(80vw,620px);padding:2rem 0 1rem 2rem;background:#d2b84e}.flowers__copy p{max-width:26ch;color:#23261fb3;font-family:var(--serif);font-size:clamp(1rem,2.3vw,1.35rem);line-height:1.2}.flowers__copy h2{margin-top:.7rem;font-family:var(--serif);font-size:clamp(4rem,12vw,8rem);font-weight:500;line-height:.74;letter-spacing:-.035em}.flowers__copy h2 em{color:#f1eadb;font-weight:400}.flowers__copy>span{display:block;margin-top:1.2rem;font-family:var(--hand);font-size:1.45rem}.flowers__petals i{position:absolute;z-index:4;top:-5%;width:8px;height:14px;border-radius:70% 30% 65% 35%;background:#e8c948;opacity:.8;animation:petalFall calc(7s + var(--i) * .2s) calc(var(--i) * -.8s) linear infinite}.album--grown{background:#f2ebdf}.grown-opening{position:relative;z-index:3;width:var(--page);min-height:72vh;margin:0 auto 10vh;padding-top:10vh}.grown-opening h2{font-family:var(--serif);font-size:clamp(5rem,18vw,12rem);font-weight:400;line-height:.8}.grown-opening p{margin-top:.7rem;color:var(--ink-soft);font-family:var(--serif);font-size:clamp(1.6rem,5vw,3.4rem)}.grown-opening p:last-child{margin-left:12vw;font-style:italic}.grown-bridge{position:relative;z-index:3;width:min(84vw,720px);margin:-12vh auto 20vh;font-family:var(--serif);font-size:clamp(2rem,6vw,4.2rem);line-height:1.05;text-align:center}.then-now{position:relative;z-index:4;width:var(--page);min-height:120vh;margin:10vh auto 22vh;padding-top:8vh}.then-now__heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;color:var(--ink-soft);font-size:.6rem;letter-spacing:.17em;text-transform:uppercase}.then-now__heading i{height:1px;background:#18202a52}.then-now__stage{position:relative;min-height:78vh;margin-top:3rem}.then-now__stage figure{position:absolute;overflow:hidden;background:#ddd3c3;box-shadow:0 28px 70px #2d251c38}.then-now__before{top:0;left:4%;z-index:1;width:min(58vw,420px)}.then-now__before img{aspect-ratio:750/1024;object-fit:cover}.then-now__after{right:1%;bottom:0;z-index:2;width:min(76vw,670px)}.then-now__after img{aspect-ratio:612/480;object-fit:cover}.then-now__stage figcaption{padding:.7rem .9rem;color:var(--ink);background:var(--paper);font-family:var(--hand);font-size:1.15rem}.then-now__copy{position:relative;z-index:4;width:min(90vw,680px);margin:-7rem 0 0 auto;padding:1.5rem 0 0 1.5rem;background:#f2ebdf}.then-now__copy h2{color:var(--red);font-family:var(--serif);font-size:clamp(3rem,9vw,6rem);font-weight:500;line-height:.9}.then-now__copy p{margin-top:.8rem;color:var(--ink-soft);font-family:var(--serif);font-size:1.25rem}.zodiac{position:relative;z-index:4;min-height:180vh;overflow:hidden;padding:18vh 6vw;color:#e9e2d5;background:var(--night)}.zodiac:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#d2b8802b}.zodiac__title{position:relative;z-index:2;max-width:840px;margin:0 auto 20vh;text-align:center}.zodiac__title h2{font-family:var(--serif);font-size:clamp(4rem,12vw,8rem);font-weight:400;line-height:.8;letter-spacing:-.035em}.zodiac__title p{max-width:52ch;margin:2rem auto 0;color:#e9e2d594}.zodiac__signs{position:relative;z-index:2;display:grid;gap:10vh;width:min(100%,1040px);margin:0 auto}.sign{text-align:center}.sign__glyph{padding:0;border:0;color:#cfb97e;background:transparent;cursor:pointer;transition:color .3s,transform .4s var(--ease)}.sign__glyph .zodiac-mark{width:clamp(9rem,28vw,15rem);height:clamp(9rem,28vw,15rem)}.sign__glyph:hover{color:#efe3c3;transform:scale(1.03)}.sign h3{margin-top:1.7rem;font-family:var(--serif);font-size:3.4rem;font-weight:400}.sign>p{margin-top:-.6rem;color:#e9e2d580;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase}.sign ul{max-width:430px;margin:2.2rem auto 0;padding:0;list-style:none}.sign li{display:inline;color:#e9e2d5b8;font-family:var(--serif);font-size:1.35rem}.sign li:not(:last-child):after{content:" · ";color:#8f7950}.sign__secret{display:block;min-height:1.5rem;margin-top:1.8rem;color:#c6a9d2;font-family:var(--hand);font-size:1.2rem}.zodiac__bridge{position:relative;width:min(74vw,380px);height:1px;margin:0 auto;background:#cfb97e47}.zodiac__bridge i{position:absolute;top:-2px;width:5px;height:5px;border-radius:50%;background:#ddc98f}.zodiac__bridge i:nth-child(1){left:0}.zodiac__bridge i:nth-child(2){left:24%}.zodiac__bridge i:nth-child(3){left:50%}.zodiac__bridge i:nth-child(4){left:76%}.zodiac__bridge i:nth-child(5){right:0}.zodiac__truth{position:relative;z-index:2;max-width:900px;margin:30vh auto 0;text-align:center}.zodiac__truth h3{font-family:var(--serif);font-size:clamp(3.5rem,10vw,7.5rem);font-weight:400;line-height:.9}.zodiac__truth h3 i{color:var(--gold);font-weight:400}.zodiac__truth p{margin-top:2rem;color:#e9e2d58f;font-family:var(--serif);font-size:1.3rem}.zodiac__truth strong{display:block;max-width:18ch;margin:4rem auto 0;font-family:var(--serif);font-size:clamp(2.5rem,8vw,5.5rem);font-weight:400;line-height:.95}.memory-map{position:relative;z-index:5;min-height:125vh;overflow:hidden;padding:14vh 5vw;color:#e9e2d5;background:#0b141e}.memory-map__heading{position:relative;z-index:4;width:min(100%,760px);margin:0 auto 8vh;text-align:center}.memory-map__heading h2{font-family:var(--serif);font-size:clamp(3.5rem,10vw,7rem);font-weight:400;line-height:.86}.memory-map__heading p{margin-top:1.5rem;color:#e9e2d594;font-size:.8rem}.memory-map__canvas{position:relative;width:min(100%,1180px);min-height:720px;margin:0 auto;border-top:1px solid rgba(214,191,137,.18);border-bottom:1px solid rgba(214,191,137,.18)}.memory-map__canvas>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.memory-map__canvas>svg polyline{fill:none;stroke:#d6bf8929;stroke-width:.16;vector-effect:non-scaling-stroke}.memory-star{position:absolute;z-index:3;top:var(--y);left:var(--x);display:grid;width:32px;height:32px;padding:0;border:0;place-items:center;transform:translate(-50%,-50%);background:transparent;cursor:pointer}.memory-star i{width:4px;height:4px;border-radius:50%;background:#d5c393;box-shadow:0 0 #d5c39326;transition:transform .35s var(--ease),box-shadow .35s}.memory-star:hover i,.memory-star:focus-visible i,.memory-star.is-active i{transform:scale(2);box-shadow:0 0 0 7px #d5c39314}.memory-star--spice{top:32%;left:96%}.memory-star--spice i{background:#dfb848}.memory-star--craft{top:96%;left:4%}.memory-star--craft i{background:#8b63aa;box-shadow:0 0 12px #8b63aa80}.memory-preview{position:absolute;z-index:2;top:50%;left:50%;display:grid;width:min(74vw,600px);transform:translate(-50%,-50%);background:#101922;box-shadow:0 30px 100px #0000007a;animation:previewIn .55s var(--ease) both}.memory-preview img{aspect-ratio:4/3;object-fit:cover}.memory-preview>div{padding:1rem 1.2rem 1.2rem}.memory-preview span{color:#9e895e;font-size:.55rem;letter-spacing:.15em;text-transform:uppercase}.memory-preview h3{margin-top:.35rem;font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1}.memory-preview p{margin-top:.7rem;color:#e9e2d5ad;font-family:var(--serif);font-size:1rem;line-height:1.25}.memory-preview small{display:block;margin-top:.8rem;color:#e9e2d56b;font-size:.55rem;letter-spacing:.09em;text-transform:uppercase}.memory-map__secret{position:absolute;inset:0;z-index:8;display:grid;place-items:center;pointer-events:none}.memory-map__secret>button{position:relative;width:min(82vw,540px);min-height:390px;border:0;color:#eee5d7;background:#070a10f5;box-shadow:0 32px 110px #0000008c;pointer-events:auto;cursor:pointer;animation:previewIn .6s var(--ease) both}.memory-map__secret strong{position:relative;z-index:2;display:block;max-width:14ch;margin:auto;font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1}.memory-map__secret small{position:relative;z-index:2;display:block;margin-top:1rem;color:#eee5d794}.secret-five,.secret-circle{position:absolute;inset:0}.secret-five i{position:absolute;top:22%;left:50%;width:6px;height:6px;border-radius:50%;background:#e0b943}.secret-five i:nth-child(1){transform:translate(-110px,30px)}.secret-five i:nth-child(2){transform:translate(-55px,-20px)}.secret-five i:nth-child(3){transform:translateY(15px)}.secret-five i:nth-child(4){transform:translate(55px,-18px)}.secret-five i:nth-child(5){transform:translate(110px,28px)}.secret-circle i{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:#9e76b9;transform:rotate(calc(var(--i) * 32.72deg)) translateY(-150px)}.secret-circle i:nth-child(1){--i: 0 }.secret-circle i:nth-child(2){--i: 1 }.secret-circle i:nth-child(3){--i: 2 }.secret-circle i:nth-child(4){--i: 3 }.secret-circle i:nth-child(5){--i: 4 }.secret-circle i:nth-child(6){--i: 5 }.secret-circle i:nth-child(7){--i: 6 }.secret-circle i:nth-child(8){--i: 7 }.secret-circle i:nth-child(9){--i: 8 }.secret-circle i:nth-child(10){--i: 9 }.secret-circle i:nth-child(11){--i: 10 }.memory-map__deep-secret{margin:4rem auto 0;color:#e9e2d52e;font-size:.55rem;text-align:center}.letter{position:relative;z-index:5;padding:18vh 0 22vh;background:#f2eadc}.letter__lead{width:var(--page);margin:0 auto 14vh}.letter__lead>p{color:var(--ink-soft);font-family:var(--serif);font-size:1.4rem}.letter__lead h2{margin-top:.8rem;font-family:var(--serif);font-size:clamp(4.2rem,13vw,8.5rem);font-weight:400;line-height:.78;letter-spacing:-.035em}.letter__lead h2 em{color:var(--red);font-weight:400}.letter__paper{position:relative;width:min(86vw,720px);margin:0 auto;padding:3rem 0;border-top:1px solid rgba(24,32,42,.25);border-bottom:1px solid rgba(24,32,42,.25);font-family:var(--serif);font-size:clamp(1.2rem,3.2vw,1.55rem);line-height:1.5}.letter__paper:before{content:"de Naty · para Lauris";position:absolute;top:-2rem;left:0;color:var(--ink-soft);font-family:var(--sans);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase}.letter__paper p+p{margin-top:1.3rem}.letter__paper strong{font-size:1.25em;font-weight:500}.letter__signature{color:var(--red);font-family:var(--hand);font-size:2.4rem;transform:rotate(-2deg)}.letter__signature span{font-family:var(--serif)}.final-call{position:relative;z-index:6;display:grid;min-height:75vh;place-items:center;color:#eee5d8;background:var(--night)}.final-call__button{display:flex;align-items:center;gap:1.2rem;padding:1rem .15rem;border:0;border-bottom:1px solid rgba(238,229,216,.4);color:inherit;background:transparent;font-family:var(--serif);font-size:clamp(1.8rem,6vw,3.5rem);cursor:pointer}.final-call__button i{color:var(--gold);font-style:normal;font-size:1.2rem;transition:transform .4s var(--ease)}.final-call__button:hover i{transform:rotate(90deg) scale(1.3)}.finale{position:fixed;inset:0;z-index:500;visibility:hidden;overflow:hidden;color:#f0e8db;background:#050a10;opacity:0;transition:opacity .8s ease,visibility .8s}.finale.is-open{visibility:visible;opacity:1}.finale__close{position:absolute;z-index:20;top:22px;right:22px;width:42px;height:42px;border:0;background:transparent;cursor:pointer}.finale__close i{position:absolute;top:50%;left:8px;width:26px;height:1px;background:#f0e8db;transform:rotate(45deg)}.finale__close i:last-child{transform:rotate(-45deg)}.finale__sign{position:absolute;z-index:4;top:8%;color:#cbb880;opacity:.6}.finale__sign .zodiac-mark{width:clamp(5rem,12vw,8rem);height:clamp(5rem,12vw,8rem)}.finale__sign--virgo{left:5%}.finale__sign--scorpio{right:5%}.finale__lines{position:absolute;inset:0;z-index:2;width:100%;height:100%}.finale__lines path{fill:none;stroke:#d3c08e59;stroke-width:1;stroke-dasharray:1600;stroke-dashoffset:1600}.finale.is-open .finale__lines path{animation:drawLine 3.2s .3s var(--ease) forwards}.finale__mosaic{position:absolute;inset:8vh 4vw;z-index:3}.finale__mosaic figure{position:absolute;width:clamp(58px,9vw,140px);overflow:hidden;opacity:0;transform:scale(.72)}.finale.is-open .finale__mosaic figure{animation:mosaicIn 1.4s calc(.9s + var(--i) * .08s) var(--ease) forwards}.finale__mosaic img{aspect-ratio:1;object-fit:cover;filter:saturate(.78) brightness(.72)}.finale__message{position:absolute;z-index:10;top:50%;left:50%;width:min(90vw,900px);padding:2rem 1rem;text-align:center;background:#050a10c2;transform:translate(-50%,-50%);opacity:0}.finale.is-open .finale__message{animation:finaleReveal 1.3s 2.1s forwards}.finale__message h2{font-family:var(--serif);font-size:clamp(2.4rem,7vw,6rem);font-weight:500;line-height:.82;letter-spacing:-.035em;overflow-wrap:anywhere;text-transform:uppercase}.finale__message h2 span{color:#bd554b}.finale__message p{margin-top:1.4rem;font-family:var(--hand);font-size:1.8rem}.finale__zodiac{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;color:#d3bd82}.finale__zodiac .zodiac-mark{width:36px;height:36px}.finale__zodiac i{font-style:normal;font-size:.8rem}.finale__five{display:flex;justify-content:center;gap:1.5rem;margin-top:1.3rem}.finale__five i{width:4px;height:4px;border-radius:50%;background:#d4b646}.finale__five i:last-child{background:#8a60a6;box-shadow:0 0 14px #8a60a6}footer{position:relative;z-index:6;display:flex;justify-content:space-between;gap:1rem;padding:2rem 5vw;color:#eee5d880;background:#050a10;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase}footer span{color:#b74e48}@keyframes starPulse{50%{opacity:.9;transform:scale(1.6)}}@keyframes drawLine{to{stroke-dashoffset:0}}@keyframes revealStar{to{opacity:1}}@keyframes introLine{0%,to{opacity:0;transform:translateY(10px);filter:blur(7px)}20%,76%{opacity:1;transform:none;filter:blur(0)}}@keyframes simpleReveal{to{opacity:1;transform:none}}@keyframes soundBars{to{height:25%}}@keyframes spiceDance{0%{opacity:0;transform:translate(0) scale(.2)}55%,to{opacity:1;transform:translate(var(--x),var(--y)) scale(1)}}@keyframes petalFall{to{transform:translate(12vw,115vh) rotate(520deg)}}@keyframes previewIn{0%{opacity:0;transform:translate(-50%,-46%) scale(.94);filter:blur(6px)}}@keyframes mosaicIn{to{opacity:.72;transform:scale(1)}}@keyframes finaleReveal{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.zodiac-mark{display:inline-block;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}body.finale-open .story-nav,body.finale-open footer{visibility:hidden}@media(min-width:760px){:root{--page: min(1220px, 90vw )}.hero{display:grid;grid-template-columns:52% 48%;align-items:center;padding:9vh 0 4vh}.hero__copy{padding:0 0 0 7vw}.hero__photo{width:min(36vw,520px);margin:0 auto}.hero__handnote{right:35vw;bottom:12vh}.memory-scene{grid-template-columns:55% 45%;align-items:center}.memory-scene__photo{grid-column:1;grid-row:1}.memory-scene__copy{grid-column:2;grid-row:1;margin:0 0 0 -3vw;padding:2.5rem 0 2.5rem 3rem}.memory-scene--right .memory-scene__photo{grid-column:2}.memory-scene--right .memory-scene__copy{grid-column:1;margin:0 -3vw 0 0;padding:2.5rem 3rem 2.5rem 0}.memory-scene--wide{display:block;min-height:100vh}.memory-scene--wide .memory-scene__copy{margin:-7rem 5vw 0 auto;padding:2.7rem 0 1rem 3rem}.memory-scene--quiet{display:block}.memory-scene--quiet .memory-scene__copy{margin:1.5rem auto 0;padding:0}.family-pair{display:grid;grid-template-columns:1fr 1fr;gap:4vw;width:var(--page);margin:0 auto 16vh}.family-pair .memory-scene{display:block;width:100%;min-height:0;margin:0}.family-pair .memory-scene__photo{width:100%}.family-pair .memory-scene__copy{width:90%;margin:-2rem 0 0 auto;padding:1.5rem 0 0 1.5rem}.family-pair .memory-scene__star{display:none}.youth__portrait{grid-template-columns:42% 58%}.youth__portrait figure{grid-column:2;grid-row:1;width:min(40vw,530px)}.youth__portrait-copy{grid-column:1 / span 2;grid-row:1;align-self:end;margin-bottom:12vh}.zodiac__signs{grid-template-columns:1fr 180px 1fr;align-items:center}.zodiac__bridge{width:100%}.memory-preview{grid-template-columns:48% 52%}.memory-preview img{height:100%;aspect-ratio:auto}.flowers__copy{padding-left:3.5rem}}@media(min-width:1100px){.memory-scene__copy h2{font-size:4.5rem}.memory-map__canvas{min-height:760px}.memory-preview{width:650px}}@media(max-width:759px){.story-nav{gap:10px;height:50px}.story-nav__mark{font-size:.56rem}.audio-control button{font-size:.55rem}.hero__continue{display:none}.hero__handnote{max-width:48vw;text-align:right}.memory-scene__photo figcaption{flex-direction:column;gap:.1rem}.memory-scene__photo figcaption span:last-child{opacity:.58}.youth__controls{min-height:170px}.craft-secret{right:4vw}.flowers{min-height:100svh;padding:10vh 0}.flowers__photo img{min-height:55vh}.flowers__copy{right:0;bottom:5vh;width:92vw}.then-now{min-height:112vh}.then-now__stage{min-height:72vh}.then-now__copy{margin-top:-2rem}.zodiac,.memory-map{min-height:auto}.memory-map__canvas{min-height:640px}.memory-preview{top:50%;width:min(72vw,350px)}.memory-preview h3{font-size:1.6rem}.memory-map__canvas>svg{opacity:.65}footer{flex-direction:column;align-items:center;text-align:center}.finale__mosaic figure{width:68px}.finale__message{width:94vw;padding-inline:.5rem}.finale__message h2{font-size:clamp(2.35rem,12vw,3.2rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal],[data-photo-reveal]{opacity:1!important;filter:none!important;transform:none!important;clip-path:none!important}.flowers__petals{display:none}}
