@font-face{font-family:Editorial;src:url(./fonts/serif-regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Editorial;src:url(./fonts/serif-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Sans;src:url(./fonts/sans.woff2) format("woff2");font-weight:400 700;font-display:swap}:root{--ink: #173b3b;--night: #112e30;--paper: #f4f0e7;--muted: #74837a;--peach: #e9ac94;--coral: #c87961;--line: rgba(24, 61, 56, .19);--serif: Editorial, Georgia, serif;--sans: Sans, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.04;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--coral);outline-offset:7px}::selection{background:#e1ac93;color:#173b3b}h1,h2,p{margin:0}svg{display:block}button svg,a svg{flex-shrink:0}em{font-weight:400}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;line-height:1.5}.tiny-star{font-size:20px;font-weight:400}.skip-link{position:fixed;z-index:200;top:8px;left:10px;background:var(--paper);color:var(--ink);padding:12px 20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:110;background:transparent}.reading-progress span{display:block;width:100%;height:100%;background:var(--peach);transform:scaleX(0);transform-origin:0 50%}.site-header{height:92px;padding:0 5.1%;position:absolute;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;color:var(--paper);border-bottom:1px solid rgba(243,238,226,.15);gap:24px;transition:background .4s,color .4s}.monogram{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:28px;line-height:1}.monogram svg{width:13px;fill:none;stroke:var(--peach);stroke-width:1.3}.header-dedication{position:absolute;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.24em;opacity:.7}.header-controls{display:flex;align-items:center;gap:25px}.sound-button{padding:10px 0;display:flex;gap:10px;align-items:center;background:none;font-size:10px;letter-spacing:.04em}.sound-bars{display:flex;align-items:center;gap:2px;height:16px}.sound-bars i{width:2px;height:3px;background:currentColor;transition:height .3s}.sound-bars i:nth-child(2){height:9px}.sound-bars i:nth-child(3){height:13px}.sound-bars i:nth-child(4){height:7px}.sound-button[aria-pressed=true] .sound-bars i{animation:equalizer .8s ease-in-out infinite alternate}.sound-button[aria-pressed=true] .sound-bars i:nth-child(2){animation-delay:-.3s}.sound-button[aria-pressed=true] .sound-bars i:nth-child(3){animation-delay:-.5s}.sound-button[aria-pressed=true] .sound-bars i:nth-child(4){animation-delay:-.7s}.motion-button{background:none;padding:6px;margin-left:-14px}.motion-button svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.3}.play-icon{display:none}.motion-button[aria-pressed=true] .play-icon{display:block}.motion-button[aria-pressed=true] .pause-icon{display:none}.menu-link{display:flex;align-items:center;gap:17px;font-size:10px;padding:12px 0 12px 24px;border-left:1px solid rgba(244,239,224,.23)}.menu-link svg{width:20px;stroke:currentColor;stroke-width:1;fill:none}.hero{position:relative;min-height:720px;height:100svh;max-height:1150px;background:radial-gradient(ellipse at 75% 50%,#47615a,#1c3d3e 34%,#112e30 72%);color:var(--paper);overflow:hidden;isolation:isolate}.hero-atmosphere{position:absolute;inset:0;z-index:-3}.moon{position:absolute;width:210px;aspect-ratio:1;top:18%;left:71.5%;border-radius:50%;background:radial-gradient(circle at 38% 38%,#ffebc7,#f4ccb0,#e5a18c);box-shadow:0 0 80px 15px #f4b69b10,inset -12px -4px 30px #b9736830;transform:translateY(var(--moon-shift, 0))}.moon-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 35%,#e9ac9420 0,transparent 37%)}.fallback-water{position:absolute;inset:62% 0 0;background:repeating-linear-gradient(178deg,transparent 0 30px,#98b7a009 31px 32px,transparent 34px 48px),linear-gradient(#2c5147,#102e31);opacity:.55;mask-image:linear-gradient(transparent,#000 15%)}#ocean-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block;opacity:0;transition:opacity 1.5s}.hero.webgl-ready #ocean-canvas{opacity:1}.hero.webgl-ready .fallback-water{opacity:0}.hero-shade{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,#102e3077 0,transparent 67%),linear-gradient(0deg,#102e3066,transparent 25%)}.starfield{position:absolute;inset:0;overflow:hidden;pointer-events:none}.starfield i{position:absolute;width:2px;height:2px;background:#f5d9b4;border-radius:50%;opacity:var(--star-opacity, .35);animation:twinkle var(--star-duration, 5s) ease-in-out infinite;animation-delay:var(--star-delay, 0s)}.starfield i.cross{width:9px;height:1px;border-radius:0;box-shadow:0 0 12px #efc8a544}.starfield i.cross:after{content:"";position:absolute;left:4px;top:-4px;width:1px;height:9px;background:inherit}.hero-orbit{position:absolute;left:52%;top:15%;width:42%;aspect-ratio:1;border:1px solid #e0c6a919;border-radius:50%;transform:rotate(-16deg);pointer-events:none}.hero-orbit:after{content:"";position:absolute;inset:10% -6%;border:1px solid #e0c6a90b;border-radius:50%;transform:rotate(-28deg)}.orbit-star{position:absolute;left:13%;top:10%;color:var(--peach);font-size:30px}.orbit-caption{position:absolute;right:3%;top:24%;font-family:var(--serif);font-size:17px;font-style:italic;color:#e2d4bda3;transform:rotate(30deg)}.hero-content{position:relative;z-index:3;margin-left:10.3%;padding-top:clamp(156px,20svh,255px);width:52%;pointer-events:none}.hero-content a{pointer-events:auto}.hero-eyebrow{display:flex;align-items:center;gap:12px;color:#ddccaff0;font-size:9px;letter-spacing:.24em;margin-bottom:22px}.hero-eyebrow .tiny-star{font-size:15px;color:var(--peach)}h1{font-family:var(--serif);font-weight:400;line-height:.86;letter-spacing:-.055em}.for-my{display:block;font-style:italic;font-size:clamp(64px,7vw,112px);letter-spacing:-.045em;margin-left:3px;line-height:1.05}.hero-name{display:block;font-size:clamp(138px,16vw,245px);line-height:.87;margin-left:-8px}.title-period{color:var(--peach)}.hero-description{margin-top:28px;font-size:13px;line-height:1.85;letter-spacing:.005em;color:#e4e3d1b5}.begin-button{display:inline-flex;align-items:center;gap:36px;border:1px solid #eadcca62;border-radius:50px;padding:8px 8px 8px 23px;margin-top:32px;font-size:11px;letter-spacing:.03em;transition:background .3s,border-color .3s,transform .3s}.begin-button:hover{background:#efddc31a;border-color:var(--paper);transform:translateY(-3px)}.button-arrow{width:36px;height:36px;background:var(--peach);color:var(--ink);display:grid;place-items:center;border-radius:50%;font-size:23px;line-height:1;transition:transform .3s}.begin-button:hover .button-arrow{transform:rotate(45deg)}.hero-bottom{position:absolute;bottom:33px;left:5.1%;right:5.1%;display:flex;align-items:flex-end;justify-content:space-between;z-index:5}.edition-label{font-size:8px;letter-spacing:.14em;line-height:2.1;color:#e7e4d588}.edition-label b{font-weight:400;color:#e7e4d5cb}.scroll-invitation{display:flex;gap:18px;align-items:center;position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-family:var(--serif);font-style:italic;font-size:17px;color:#e9ddc7c2}.scroll-line{width:1px;height:32px;background:#f1dbc765;position:relative;overflow:hidden}.scroll-line:after{content:"";position:absolute;inset:0;background:var(--peach);animation:scrollHint 2.5s ease-in-out infinite;transform:translateY(-100%)}.hero-coordinate{font-size:8px;letter-spacing:.16em;display:flex;align-items:center;gap:10px;opacity:.7}.hero-coordinate .tiny-star{font-size:14px}.penguin-interaction{position:absolute;z-index:4;background:none;border-radius:50%;width:30%;height:35%;left:61%;top:42%;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}.penguin-hint{font-family:var(--serif);font-style:italic;font-size:18px;color:#f0dfc7b8;transform:rotate(-7deg);transition:color .3s;position:absolute;bottom:-25px;right:6px;white-space:nowrap}.penguin-hint span{display:inline-block;font-size:35px;transform:rotate(-32deg);vertical-align:middle;margin-left:10px}.penguin-interaction:hover .penguin-hint{color:#fff3df}.penguin-message{position:absolute;z-index:5;top:45%;left:65%;background:var(--paper);border:1px solid #fae8c1;padding:12px 20px;border-radius:30px 30px 30px 0;color:var(--ink);font-family:var(--serif);font-style:italic;font-size:22px;opacity:0;transform:translateY(15px) rotate(-4deg);pointer-events:none;transition:opacity .4s,transform .4s}.penguin-message.is-visible{opacity:1;transform:translateY(0) rotate(-4deg)}.memory-intro{padding:72px 8% 0;position:relative;background:var(--paper)}.section-topline{display:flex;justify-content:space-between;gap:25px;font-size:8px;letter-spacing:.18em;color:#657d70;padding-bottom:33px;border-bottom:1px solid var(--line)}.intro-heading{padding:64px 0 72px;position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.intro-heading h2{font-family:var(--serif);font-size:clamp(44px,4.8vw,74px);font-weight:400;line-height:1.04;letter-spacing:-.025em}.intro-heading h2 em{color:#a76b55}.intro-heading p{font-size:11px;line-height:1.8;color:#6b7c73;max-width:180px;margin-bottom:7px}.hand-drawn-star{position:absolute;right:19%;top:45px;font-size:56px;color:#bc8367;font-family:var(--serif);font-weight:400;transform:rotate(-13deg);line-height:1}.chapter-index{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chapter-index a{display:flex;flex-direction:column;align-items:flex-start;font-size:10px;gap:13px;padding:22px 20px 22px 0;position:relative;border-right:1px solid var(--line);transition:color .25s,background .25s}.chapter-index a+a{padding-left:22px}.chapter-index a:last-child{border:0}.chapter-index a span{color:var(--coral);font-size:8px;letter-spacing:.12em}.chapter-index a svg{position:absolute;right:20px;top:25px;width:13px;stroke:var(--ink);stroke-width:1;fill:none;transition:transform .3s}.chapter-index a:hover{color:var(--coral)}.chapter-index a:hover svg{transform:translate(3px,-3px)}.chapter{display:grid;grid-template-columns:1fr 1.22fr;gap:7.5%;padding:102px 8% 88px;align-items:center;min-height:760px;position:relative;overflow:hidden;scroll-margin-top:0}.chapter-reverse{grid-template-columns:1.22fr 1fr}.chapter-reverse .chapter-copy{order:2}.chapter-reverse .chapter-visual{order:1}.chapter-copy{padding:12px 0;position:relative;z-index:2}.chapter-label{display:flex;align-items:center;gap:17px;margin-bottom:30px}.chapter-number{font-size:10px;font-family:var(--sans);border:1px solid #899e8d60;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;letter-spacing:.02em;color:#657969}.chapter-label .eyebrow{font-size:9px;letter-spacing:.17em;color:#60756a}.chapter h2{font-family:var(--serif);font-weight:400;font-size:clamp(54px,5.7vw,84px);letter-spacing:-.04em;line-height:.98;max-width:470px}.small-rule{display:block;width:40px;height:1px;background:var(--coral);margin:29px 0 23px}.memory-text{font-size:13px;line-height:1.95;color:#4c665b;max-width:360px}.chapter-footnote{font-family:var(--serif);font-size:18px;line-height:1.4;font-style:italic;color:#927a62;max-width:330px;margin-top:26px;display:flex;gap:12px}.chapter-footnote span{font-family:var(--sans);font-size:17px;color:#ae8d74;font-style:normal}.next-memory{display:inline-flex;align-items:center;gap:22px;font-size:9px;letter-spacing:.04em;padding:16px 0 8px;border-bottom:1px solid #244c3d35;margin-top:34px}.next-memory span{font-size:18px;font-family:var(--serif);transition:transform .25s}.next-memory:hover span{transform:translateY(4px)}.chapter-visual{position:relative;min-width:0;z-index:1;will-change:transform}.art-label,.art-caption{display:flex;justify-content:space-between;align-items:center;gap:10px}.art-label{font-size:7px;letter-spacing:.16em;color:#667e6d;padding:0 5% 13px}.chapter-art{width:100%;aspect-ratio:8/7;position:relative;transform:perspective(1000px) rotateX(var(--art-rx, 0deg)) rotateY(var(--art-ry, 0deg));transition:transform .4s ease;transform-style:preserve-3d}.chapter-art svg{width:100%;height:100%;overflow:visible}.art-caption{padding:11px 5% 0;font-family:var(--serif);font-size:20px;font-style:italic;color:#6c7c67}.art-caption .tiny-star{font-style:normal;font-size:28px;color:#b78b72}.art-fallback{height:100%;border-radius:48% 48% 5% 5%;display:grid;place-items:center;background:#e5e4d7;font-size:120px}.chapter-pool{background:#e6ece4}.chapter-pool .art-caption{color:#597970}.chapter-pool .chapter-footnote{color:#6f8c81}.chapter-puppies{background:#f2f0e4}.chapter-builders{background:#eee2d7}.chapter-builders .chapter-label .eyebrow{color:#8a705e}.chapter-builders .chapter-footnote{color:#a47160}.chapter-builders .art-caption{color:#92745e}.chapter-loyal{background:#f2eddf}.chapter-loyal .chapter-footnote{color:#a38061}.love-interlude{text-align:center;background:#e6ece4;padding:48px 0 112px;position:relative;overflow:hidden}.love-interlude:before,.love-interlude:after{content:"";position:absolute;border:1px solid #718f781f;width:35vw;height:35vw;left:-25vw;top:7%;border-radius:50%}.love-interlude:after{left:auto;right:-25vw}.love-interlude .eyebrow{font-size:8px;color:#718675}.love-interlude>p{font-family:var(--serif);font-size:clamp(78px,10vw,145px);line-height:.85;letter-spacing:-.06em;margin:32px auto 37px;position:relative;width:max-content}.love-interlude>p em{color:#7c9781}.interlude-heart{font-size:45px;position:absolute;right:-56px;top:46px;color:#b77961;transform:rotate(14deg)}.interlude-line{display:block;width:1px;height:58px;background:#8b9e82;opacity:.5;margin:auto}.scene-drift{animation:sceneDrift 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.scene-sway{animation:sceneSway 8s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom center}.reveal{opacity:1;transform:none}.js-ready .reveal{transition:opacity .9s ease,translate 1.2s cubic-bezier(.2,.7,.2,1)}.js-ready .reveal:not(.is-visible){opacity:0;translate:0 35px}.js-ready .chapter-visual.reveal{transition-delay:.12s}.finale{background:radial-gradient(ellipse at 50% 22%,#31524b 0,#183a39 34%,#112e30 75%);position:relative;text-align:center;color:var(--paper);padding:92px 7% 0;min-height:870px;overflow:hidden;isolation:isolate}.finale:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#e8b17b0c,transparent 50%);z-index:-1}.finale-orbits{position:absolute;inset:0;pointer-events:none;z-index:-1}.finale-orbits i{position:absolute;left:50%;top:37%;border:1px solid #d9ccb514;width:740px;height:740px;border-radius:50%;transform:translate(-50%,-50%)}.finale-orbits i:nth-child(2){width:1080px;height:1080px}.finale-orbits i:nth-child(3){width:1400px;height:1400px}.whale-art{width:230px;height:150px;margin:0 auto 27px;position:relative;animation:whaleFloat 7s ease-in-out infinite;filter:drop-shadow(0 15px 25px #061f2955)}.whale-art svg{width:100%;height:100%}.finale-copy{position:relative;z-index:2}.finale-copy .eyebrow{color:#c6c4a3;font-size:8px;letter-spacing:.22em}.finale h2{font-family:var(--serif);font-size:clamp(54px,6.4vw,100px);font-weight:400;letter-spacing:-.035em;line-height:1.03;margin:25px auto 20px;max-width:820px}.finale-subtitle{font-family:var(--serif);font-style:italic;font-size:25px;color:#c8c6ae}.love-button{display:inline-flex;align-items:center;gap:29px;background:var(--peach);color:#24423b;border-radius:50px;padding:20px 31px;margin-top:36px;font-size:12px;letter-spacing:.025em;box-shadow:0 4px 25px #e2a08312;transition:transform .3s,box-shadow .4s,background .3s}.love-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.2}.love-button:hover{transform:translateY(-4px);background:#f0bfa8;box-shadow:0 8px 45px #e2a08333}.love-button:hover svg{animation:heartBeat .7s ease infinite}.love-hint{font-size:8px;letter-spacing:.04em;margin-top:14px;color:#cad0b080}.signature{font-family:var(--serif);font-style:italic;font-size:29px;color:var(--peach);margin-top:44px}.finale footer{border-top:1px solid #e8dac725;margin-top:65px;min-height:99px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2;font-size:7px;letter-spacing:.15em;color:#b9c8bca1}.finale footer>a:first-child{display:flex;gap:22px;align-items:center}.finale footer>a:first-child span{font-size:19px}.footer-monogram{font-family:var(--serif);font-size:24px;color:#eae5cf;letter-spacing:0}.footer-monogram span{font-size:14px;color:var(--peach);padding:0 4px}.journey-dots{position:fixed;right:21px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:17px;z-index:35;mix-blend-mode:normal;color:#e8d9bd;transition:color .3s}.journey-dots.is-light{color:var(--ink)}.journey-dots a{width:17px;height:8px;position:relative;display:flex;align-items:center;justify-content:center}.journey-dots a:after{content:"";width:4px;height:4px;opacity:.38;background:currentColor;border-radius:50%;transition:transform .3s,opacity .3s}.journey-dots a.is-active:after{transform:scale(1.5);opacity:1}.journey-dots a.is-active:before{content:"";position:absolute;width:13px;height:13px;border:1px solid currentColor;opacity:.45;border-radius:50%}.journey-dots a span{position:absolute;right:22px;top:50%;transform:translateY(-50%) translate(6px);font-size:9px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;background:var(--night);padding:7px 12px;border-radius:20px;color:var(--paper)}.journey-dots.is-light a span{background:var(--paper);color:var(--ink)}.journey-dots a:hover span,.journey-dots a:focus-visible span{opacity:1;transform:translateY(-50%) translate(0)}.love-letter{border:0;padding:58px 56px 35px;max-width:calc(100% - 32px);width:530px;text-align:center;background:#f5eee0;color:var(--ink);border-radius:4px;box-shadow:0 30px 100px #001f2566;overflow:visible;max-height:calc(100svh - 35px)}.love-letter[open]{animation:letterOpen .6s cubic-bezier(.2,.7,.2,1) both}.love-letter::backdrop{background:#081d23b8;backdrop-filter:blur(9px)}.letter-close{position:absolute;right:13px;top:7px;font-size:32px;color:#687867;background:none;font-family:var(--serif);line-height:1;padding:5px 8px}.letter-seal{position:absolute;top:-23px;left:calc(50% - 25px);border-radius:50%;width:50px;height:50px;display:grid;place-items:center;background:#c87d63;box-shadow:inset 0 0 0 5px #bf725a,inset 0 0 0 6px #dd947d,0 4px 10px #63463233;color:#f0c6a9;font-size:25px}.love-letter .eyebrow{font-size:8px;color:#9c7e60;margin-bottom:24px}.love-letter h2{font-family:var(--serif);font-size:51px;letter-spacing:-.035em;font-weight:400;font-style:italic;margin-bottom:23px}.love-letter>p:not(.eyebrow):not(.signature):not(.letter-emphasis){font-size:12px;line-height:1.95;color:#5e7466;margin-top:16px}.love-letter .letter-emphasis{font-family:var(--serif);font-size:31px;line-height:1.25;margin-top:27px}.letter-emphasis em{color:#b07158}.love-letter .signature{color:#9d735b;font-size:25px;margin-top:29px}.letter-bottom-star{display:block;color:#bb8968;font-size:25px;margin-top:21px}#celebration{position:fixed;inset:0;pointer-events:none;z-index:150;overflow:hidden}#celebration i{position:absolute;display:block;color:#eab39b;font-style:normal;animation:celebrate 2.8s cubic-bezier(.13,.66,.3,1) forwards}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important}.motion-paused .reveal{opacity:1!important;translate:none!important;transition:none!important}.motion-paused .chapter-art{transform:none!important;transition:none!important}.motion-paused .love-letter[open]{animation:none}.motion-paused #celebration{display:none}@keyframes equalizer{to{height:3px}}@keyframes twinkle{0%,to{opacity:var(--star-opacity, .35)}50%{opacity:.08}}@keyframes scrollHint{0%{transform:translateY(-110%)}65%,to{transform:translateY(110%)}}@keyframes sceneDrift{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes sceneSway{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1.5deg)}}@keyframes whaleFloat{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-13px) rotate(3deg)}}@keyframes heartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes letterOpen{0%{opacity:0;transform:translateY(35px) rotate(-3deg) scale(.93)}to{opacity:1;transform:none}}@keyframes celebrate{0%{opacity:0;transform:translate(0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate(var(--burst-x),var(--burst-y)) rotate(var(--burst-r))}}@keyframes heroIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.hero-content>*,.hero-content h1>span{animation:heroIn 1.2s cubic-bezier(.18,.6,.25,1) both}.hero-content h1{animation:none}.hero-content .for-my{animation-delay:.1s}.hero-content .hero-name{animation-delay:.2s}.hero-description{animation-delay:.35s!important}.begin-button{animation-delay:.45s!important}}@media(min-width:1600px){.hero-content{padding-top:20svh}.hero-name{font-size:255px}.chapter{gap:10%;padding-left:12%;padding-right:12%;min-height:860px}.memory-intro{padding-left:12%;padding-right:12%}.hero .moon{width:260px}}@media(max-width:1100px){.header-dedication{display:none}.hero-content{margin-left:8%;padding-top:170px}.hero-name{font-size:18vw}.hero{min-height:750px}.hero-orbit{left:48%;width:48%;top:22%}.moon{width:180px;left:72%;top:22%}.hero-coordinate{display:none}.chapter{gap:5%;padding:82px 7%;min-height:660px}.chapter h2{font-size:62px}.chapter-label .eyebrow{font-size:8px}.chapter-footnote{font-size:17px}.memory-text{font-size:12px}.art-caption{font-size:17px}.chapter-index a{font-size:9px}.hand-drawn-star{right:21%;font-size:45px}.journey-dots{right:13px}.chapter-index a+a{padding-left:15px}.chapter-index a svg{right:15px}.finale{min-height:840px}}@media(max-width:760px){html{scroll-padding-top:63px}.site-header{height:76px;padding:0 6%;gap:15px}.monogram{font-size:25px;gap:7px}.monogram svg{width:11px}.header-controls{gap:18px}.sound-button{font-size:9px;gap:7px}.motion-button{margin-left:-10px}.menu-link{padding-left:17px;gap:10px}.menu-link span{display:none}.menu-link svg{width:19px}.hero{height:940px;min-height:calc(100svh + 50px);max-height:none}.hero-content{width:87%;margin-left:8%;padding-top:131px}.hero-eyebrow{font-size:8px;margin-bottom:20px;gap:10px}.for-my{font-size:70px;line-height:1.03}.hero-name{font-size:151px;letter-spacing:-.055em;margin-left:-4px;line-height:.82}.hero-description{font-size:11px;margin-top:22px;line-height:1.9}.begin-button{margin-top:23px;font-size:10px;padding:7px 7px 7px 21px;gap:30px}.button-arrow{width:32px;height:32px;font-size:21px}.hero-shade{background:linear-gradient(90deg,#102e3033,transparent 75%),linear-gradient(0deg,#102e3070,transparent 20%)}.moon{width:138px;left:64%;top:50.5%}.hero-orbit{left:10%;top:50%;width:94%;max-width:500px}.orbit-caption{font-size:15px;top:28%;right:4%}.orbit-star{font-size:25px}.hero-bottom{left:8%;right:8%;bottom:30px}.edition-label{font-size:6px;letter-spacing:.12em;line-height:2}.scroll-invitation{left:auto;right:0;transform:none;font-size:15px;gap:12px}.scroll-line{height:27px}.penguin-interaction{left:19%;top:60%;width:66%;height:22%}.penguin-hint{font-size:16px;right:-17px;bottom:-6px}.penguin-hint span{font-size:28px}.penguin-message{left:32%;top:61%;font-size:19px;padding:10px 17px}.memory-intro{padding:47px 7% 0}.section-topline{font-size:6.5px;letter-spacing:.1em;padding-bottom:24px}.section-topline span:last-child{max-width:125px;text-align:right;line-height:1.6}.intro-heading{padding:45px 0 37px;display:block}.intro-heading h2{font-size:40px;line-height:1.05}.intro-heading p{font-size:10px;line-height:1.7;margin-top:24px;max-width:none}.intro-heading p br{display:none}.hand-drawn-star{right:0;top:110px;font-size:41px}.chapter-index{grid-template-columns:repeat(3,1fr);border-bottom:0}.chapter-index a{font-size:9px;padding:17px 10px 17px 0;border-bottom:1px solid var(--line);line-height:1.4;gap:9px}.chapter-index a+a{padding-left:12px}.chapter-index a:nth-child(3){border-right:0}.chapter-index a:nth-child(4){padding-left:0}.chapter-index a:last-child{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.chapter-index a svg{right:11px;top:19px;width:10px}.chapter-index a span{font-size:7px}.chapter{display:flex;flex-direction:column;padding:57px 8% 47px;gap:40px;min-height:0;scroll-margin-top:0;align-items:stretch}.chapter-copy{padding:0}.chapter-reverse .chapter-copy,.chapter-reverse .chapter-visual{order:0}.chapter-label{gap:12px;margin-bottom:21px}.chapter-number{width:28px;height:28px;font-size:8px}.chapter-label .eyebrow{font-size:8px;letter-spacing:.15em}.chapter h2{font-size:58px;line-height:.95;max-width:330px;letter-spacing:-.04em}.small-rule{margin:23px 0 20px;width:33px}.memory-text{font-size:12px;line-height:1.95;max-width:100%}.chapter-footnote{margin-top:20px;font-size:17px;max-width:290px}.next-memory{margin-top:18px;font-size:8px;padding-top:11px;gap:30px}.chapter-visual{width:106%;margin-left:-3%}.art-label{font-size:6px;padding-bottom:8px}.art-caption{font-size:17px;padding-top:5px}.art-caption .tiny-star{font-size:23px}.love-interlude{padding:26px 0 64px}.love-interlude .eyebrow{font-size:6px}.love-interlude>p{font-size:95px;margin:26px auto 33px}.interlude-heart{font-size:35px;right:-44px;top:32px}.interlude-line{height:41px}.finale{padding:70px 8% 0;min-height:810px}.whale-art{width:190px;height:125px;margin-bottom:35px}.finale-copy .eyebrow{font-size:7px;letter-spacing:.13em}.finale h2{font-size:56px;max-width:330px;margin-top:25px;line-height:.98}.finale-subtitle{font-size:20px;line-height:1.3;max-width:265px;margin:auto}.love-button{margin-top:29px;padding:18px 28px;font-size:11px}.love-hint{font-size:7px;margin-top:13px}.signature{font-size:26px;margin-top:38px}.finale footer{margin-top:49px;min-height:115px;flex-wrap:wrap;gap:0;justify-content:space-between;align-content:center;row-gap:18px}.finale footer>a:first-child{font-size:6px;gap:15px}.finale footer>span{font-size:6px;order:3;flex-basis:100%;text-align:left}.footer-monogram{font-size:24px}.journey-dots{display:none}.love-letter{padding:49px 25px 25px;width:430px}.love-letter h2{font-size:44px;margin-bottom:18px}.love-letter .eyebrow{font-size:7px;margin-bottom:21px}.love-letter>p:not(.eyebrow):not(.signature):not(.letter-emphasis){font-size:11px}.love-letter .letter-emphasis{font-size:28px}.love-letter .signature{font-size:24px}.letter-bottom-star{margin-top:12px}}@media(max-width:370px){.hero-name{font-size:137px}.hero-eyebrow{font-size:7px}.intro-heading h2{font-size:35px}.chapter h2{font-size:53px}.hero{height:910px}.header-controls{gap:13px}.menu-link{padding-left:13px}.sound-label{font-size:8px}.finale h2{font-size:51px}.chapter-label .eyebrow{font-size:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-ready .reveal:not(.is-visible){opacity:1;translate:none}.chapter-art{transform:none!important}#celebration{display:none}}.site-header{position:fixed}.site-header.is-scrolled{height:72px;background:#112e30eb;backdrop-filter:blur(14px)}.site-header.is-scrolled.is-light{background:#f4f0e7ed;color:var(--ink);border-color:var(--line)}.site-header.is-light .menu-link{border-color:var(--line)}@media(max-width:760px){.site-header.is-scrolled{height:63px}}html.motion-paused{scroll-behavior:auto!important}.memory-text{font-size:14px;line-height:1.9}.love-letter{overflow-y:auto;overscroll-behavior:contain;padding-top:66px}.letter-seal{top:15px;left:calc(50% - 18px);width:36px;height:36px;font-size:20px;box-shadow:inset 0 0 0 3px #bf725a,inset 0 0 0 4px #dd947d}.sound-button,.motion-button,.menu-link{min-height:44px}.motion-button{min-width:30px;display:grid;place-items:center}@media(max-width:760px){.memory-text{font-size:14px;line-height:1.85}.hero{height:910px}.penguin-hint{bottom:-45px;right:-5px}.penguin-interaction{top:59%;height:22%}.hero .moon{top:51%}.hero-orbit{top:52%}.love-letter{padding-top:63px}.chapter{padding-top:56px}.love-letter>p:not(.eyebrow):not(.signature):not(.letter-emphasis){font-size:12px}.motion-button{min-width:34px}.sound-button{padding-left:4px;padding-right:4px}.menu-link{min-width:38px}}@media(max-width:760px){.hero .orbit-caption{display:none}.penguin-hint{top:calc(100% + 86px);bottom:auto;left:0;right:0;text-align:center;transform:none;font-size:14px}.penguin-hint span{display:none}.hero-description{font-size:12px}}.hero,.chapter,.finale,.love-interlude{overflow:clip}
