@charset "UTF-8";
:root{--paper:#f7f6ef;--ink:#223d3f;--muted:#619195;--teal:#2b8086;--aqua:#e2f0ef;--line:#d4dfe0;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.entry-open{overflow-x:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #5d8e91;outline-offset:5px}button{color:inherit}svg{display:block}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}p{margin:0 0 1.3em}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.13;margin:0}em{font-weight:400}img{display:block;width:100%;height:auto}video{display:block;width:100%;height:auto}button{border:0}button,a{touch-action:manipulation}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.6;text-transform:uppercase}.tiny-line{width:25px;height:1px;background:currentColor}
.entry{min-height:100svh;position:relative;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 80% 30%,#dfeceda6,transparent 50%),radial-gradient(ellipse at 3% 95%,#ede3cf66,transparent 45%),var(--paper);transition:opacity .7s,transform .9s}.entry::after{content:'';pointer-events:none;position:absolute;right:-245px;top:-230px;border:1px solid #5e8d911c;border-radius:50%;width:750px;height:750px;box-shadow:0 0 0 65px #6c9c9f05,0 0 0 66px #5e8d9112}.entry-top{position:relative;z-index:1;max-width:1440px;width:100%;padding:35px 5.5%;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}.wordmark{display:flex;align-items:center;gap:13px;text-decoration:none;font-family:var(--serif);font-size:17px;font-style:italic}.wordmark .icon{width:19px}.private-note{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.entry-layout{z-index:1;position:relative;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:100px;max-width:1100px;width:calc(100% - 100px);margin:54px auto 45px;flex:1}.entry-intro h1{font-size:clamp(48px,5vw,74px);letter-spacing:-2.5px;margin:26px 0 26px}.entry-intro h1 em{color:#51797c}.entry-intro>p{font-size:15px;line-height:1.9;color:#609094}.intro-flower{display:flex;align-items:center;gap:14px;color:#75a2a5;margin-top:26px}.intro-flower svg{width:102px;height:110px;transform:rotate(-12deg)}.intro-flower span{font-family:var(--serif);font-size:14px;line-height:1.6;font-style:italic}.question-card{background:#ffffffc9;border:1px solid #fff;border-radius:8px;padding:34px 34px 23px;box-shadow:0 16px 70px #35585a10,0 1px 3px #25434605;min-height:540px}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#6a9a9e;font-size:9px;letter-spacing:1.7px;font-weight:600}.question-meta .icon{width:18px;height:18px}.step-dots{display:flex;gap:5px;margin:20px 0 30px}.step-dots span{height:2px;background:#e5ebeb;flex:1;transition:background .4s}.step-dots .done{background:#9ebdbf}.step-dots .active{background:#386a6e}.question-content{animation:arrive .4s both}.question-content h2{font-size:27px;letter-spacing:-.5px;line-height:1.26;margin-bottom:12px}.question-hint{color:var(--muted);font-size:12px;margin-bottom:20px}.answer-label{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:29px 0 8px}.text-answer{width:100%;border:1px solid #d8e1e2;background:#f7fbfb;border-radius:4px;padding:13px 15px;color:var(--ink);outline-offset:2px;font-size:17px}.text-answer::placeholder{color:#99babd;font-size:14px}.password-wrap{position:relative}.password-wrap input{padding-right:60px}.show-password{position:absolute;top:0;right:0;height:100%;background:transparent;font-size:10px;padding:10px;text-decoration:underline;text-underline-offset:3px;color:#578386}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--teal);color:#fff;border-radius:4px;padding:15px 20px;width:100%;font-size:13px;line-height:1.5;min-height:54px;transition:background .25s,transform .25s,box-shadow .25s}.primary-button:hover{background:#285457;box-shadow:0 6px 20px #284a4c1c}.primary-button:active{transform:scale(.98)}.primary-button .icon{width:18px;height:18px}.form-error{color:#a25e53;font-size:12px;min-height:22px;margin:13px 0 9px;line-height:1.5}.card-footer{display:flex;align-items:center;justify-content:center;gap:7px;color:#84acae;font-size:10px;margin:20px 0 0}.card-footer .icon{width:12px;height:12px;stroke-width:1}.entry-footer{display:flex;align-items:center;justify-content:space-between;max-width:1440px;width:100%;margin:auto;padding:20px 5.5% 28px;color:#7ba5a8;font-size:10px;letter-spacing:.4px}.footer-spark{font-size:24px;color:#8cb1b4}.calendar{margin-top:20px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar-nav{background:transparent;width:32px;height:32px;font-size:20px;border-radius:50%}.calendar-nav:hover{background:var(--aqua)}.calendar-selects{display:flex;gap:2px}.calendar-selects select{color:var(--ink);background:transparent;border:0;font-size:12px;padding:4px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:3px}.calendar-week{font-size:9px;color:#8bb0b3;margin-bottom:6px}.calendar-day{display:grid;place-items:center;background:transparent;font-size:12px;border-radius:50%;width:34px;height:34px;margin:auto;transition:background .2s,color .2s}.calendar-day:hover{background:var(--aqua)}.calendar-day.selected{background:var(--teal);color:white}.calendar-day.today{box-shadow:inset 0 0 0 1px #87aeb1}.selected-date{margin:10px 0 0;font-size:10px;text-align:center;color:#6d9ca0;min-height:17px}.question-card.error-shake{animation:shake .25s}
.music-gate{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 24px 20px;animation:arrive .7s both}.music-gate>.eyebrow{font-size:9px;letter-spacing:1.7px;margin-top:24px}.music-gate h1{font-size:clamp(48px,5vw,70px);letter-spacing:-2px;margin:21px 0}.music-gate h1 em{color:#568083}.music-gate>p:not(.form-error){font-size:14px;line-height:1.9;color:#649699}.music-start{width:auto;max-width:340px;justify-content:center;padding:17px 29px;gap:18px;margin-top:12px;text-align:left}.music-start .icon{fill:currentColor;width:20px}.music-credit{font-size:8px;letter-spacing:1.8px;color:#7da7aa;margin:7px 0 25px}.record-art{position:relative}.record-disc{width:120px;height:120px;border-radius:50%;padding:40px;display:grid;place-items:center;background:repeating-radial-gradient(circle,#355c5f 0px,#355c5f 2px,#3b6669 3px,#31585b 4px);box-shadow:0 10px 40px #3a5f6226;transform:rotate(-15deg)}.record-disc span{width:42px;height:42px;background:#e5dbbd;border-radius:50%;display:grid;place-items:center;color:#50777a}.record-disc .icon{width:16px}.record-star{position:absolute;right:-24px;top:6px;color:#bba881;font-size:29px}.entry.leaving{opacity:0;transform:translateY(-15px);pointer-events:none}
.story-nav{position:absolute;top:0;left:0;width:100%;z-index:5;padding:27px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.story-nav .wordmark{font-size:19px}.nav-right{display:flex;align-items:center;gap:30px;font-size:10px;letter-spacing:1px}.nav-right a{text-decoration:none}.nav-right a:hover{text-decoration:underline;text-underline-offset:5px}.nav-date{color:#719fa2;font-size:10px;letter-spacing:1.2px}.reading-progress{position:fixed;left:0;top:0;height:2px;z-index:30;width:0;background:#80b3b7}.hero{position:relative;min-height:850px;height:100svh;max-height:1100px;display:grid;grid-template-columns:1fr 50%;overflow:hidden}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:125px 7vw 90px 8vw;background:radial-gradient(ellipse at 0 65%,#eee3ca60,transparent 55%),var(--paper)}.hero h1{font-size:clamp(58px,6.9vw,106px);letter-spacing:-4px;margin:28px 0 32px;line-height:1.03;max-width:600px}.hero h1 em{color:#568083}.hero-message{max-width:370px;font-size:15px;line-height:1.9;color:#5c8a8d}.hero-photo{position:relative;margin:76px 30px 30px 0;min-width:0;overflow:hidden;border-radius:180px 180px 3px 3px;background:#d4c6a7}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;animation:hero-settle 3s ease-out both}.hero-photo::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 50px #231e1210;pointer-events:none}.hero-annotation{position:absolute;bottom:29px;right:35px;color:#fff;font-family:var(--serif);font-style:italic;font-size:21px;text-shadow:0 1px 12px #0008}.hero-scroll{display:flex;align-items:center;gap:15px;text-decoration:none;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;margin-top:40px}.hero-scroll span{width:34px;height:34px;border:1px solid #bfd4d6;display:grid;place-items:center;border-radius:50%}.hero-scroll svg{width:15px;transform:rotate(90deg)}.hero-count{margin-top:44px;display:flex;gap:10px;align-items:center;color:#7fa8ab;font-size:10px}.hero-count span{font-family:var(--serif);font-style:italic;font-size:27px;color:#6a9a9e}.hero-float{position:absolute;bottom:42px;left:41%;z-index:2;color:#639497;font-size:30px}
.section{padding:110px 7vw}.section-inner{max-width:1050px;margin:0 auto}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-bottom:64px}.section-header h2{font-size:clamp(42px,4.8vw,64px);letter-spacing:-2px}.section-header h2 em{color:#73a0a3}.section-number{font-family:var(--serif);font-style:italic;font-size:16px;color:#82aaad;display:flex;gap:16px;align-items:center;margin-bottom:17px}.section-number::before{content:'';height:1px;width:28px;background:currentColor}.section-aside{font-size:12px;color:#719fa2;max-width:155px;line-height:1.8;padding-top:45px}.timeline{position:relative;margin-left:15px;padding-left:47px}.timeline::before{content:'';position:absolute;left:0;top:8px;bottom:28px;width:1px;background:#c1d5d7}.timeline-item{position:relative;padding:0 0 53px;max-width:760px}.timeline-item::before{content:'';position:absolute;left:-52px;top:7px;border:1px solid #95b7ba;width:9px;height:9px;background:var(--paper);border-radius:50%;box-shadow:0 0 0 5px var(--paper)}.timeline-item .date{font-size:10px;letter-spacing:1.5px;color:#649598;text-transform:uppercase;display:block;margin-bottom:10px}.timeline-item h3{font-size:29px;letter-spacing:-.5px;margin-bottom:17px}.timeline-item p{font-size:14px;color:#5c898c;line-height:1.9;max-width:620px}.timeline-item p:last-child{margin-bottom:0}.chat-frame{max-width:540px;margin-top:25px;padding:9px;background:#fff;border:1px solid #dfe7e8;border-radius:9px;box-shadow:0 10px 35px #2a4c4f0a}.chat-frame img{border-radius:4px}.timeline-media{margin-top:35px;display:grid;grid-template-columns:1.3fr .7fr;gap:18px;align-items:end;max-width:740px}.photo-frame{position:relative;margin:0}.photo-frame img{border-radius:3px}.photo-caption{font-size:10px;color:#7ca7aa;letter-spacing:.4px;margin-top:12px;display:flex;justify-content:space-between;gap:15px}.film-frame{padding:8px;background:white;box-shadow:0 12px 40px #2a4c4f0a;transform:rotate(2deg)}.film-frame video{border-radius:2px;max-height:360px;object-fit:cover}.film-caption{font-family:var(--serif);font-style:italic;font-size:16px;text-align:center;margin:9px 0 4px;color:#73a1a4}.chapter-break{display:flex;justify-content:center;gap:18px;align-items:center;color:#91b5b8;margin-top:20px}.chapter-break::before,.chapter-break::after{content:'';width:70px;height:1px;background:#cfdcdd}
.distance-section{background:#1e4245;color:#f2f0e4;position:relative;overflow:hidden}.distance-section .section-number{color:#a9c5c7}.distance-section .section-header h2 em{color:#abc6c8}.distance-section .section-aside{color:#a7c4c6}.distance-hero{position:relative;min-height:410px;overflow:hidden;border-radius:4px;margin-bottom:95px;background:#3c5e60}.distance-hero img{height:460px;object-fit:cover;object-position:50% 48%;opacity:.72}.distance-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#143739d9,transparent),linear-gradient(0deg,#173b3e99,transparent 60%)}.distance-title{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:50px 7%}.distance-title .date{color:#d8d9bd;font-size:10px;letter-spacing:2px}.distance-number{font-family:var(--serif);font-size:clamp(80px,10vw,140px);letter-spacing:-5px;line-height:1.2}.distance-number small{font-size:27px;font-style:italic;letter-spacing:0;margin-left:14px}.distance-facts{font-size:11px;letter-spacing:1px;color:#c9dcdd;margin-top:8px}.distance-title p{max-width:400px;margin:25px 0 0;color:#d7e4e5;font-size:13px;line-height:1.9}.editorial-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;margin:0 0 95px}.editorial-row.reverse .editorial-visual{order:2}.editorial-row.reverse .editorial-text{order:1}.editorial-text .eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:20px;opacity:.65}.editorial-text h3{font-size:clamp(29px,3.5vw,43px);line-height:1.2;letter-spacing:-1px;margin-bottom:25px}.editorial-text p{font-size:14px;line-height:1.95;color:#609094}.distance-section .editorial-text p{color:#c1d5d6}.editorial-visual img{border-radius:3px}.heart-collage{overflow:hidden;background:#17383a}.heart-collage img{clip-path:inset(0 50% 0 50%);transition:clip-path 1.5s ease}.heart-collage.visible img{clip-path:inset(0 0 0 0)}.distance-quote{max-width:710px;margin:90px auto;text-align:center}.distance-quote h3{font-size:34px;margin-bottom:25px}.distance-quote>p{font-size:14px;line-height:1.9;color:#bed3d5;margin:0 auto 25px;max-width:530px}.distance-quote .chat-frame{max-width:650px;margin:30px auto;background:#fffdf0;border:0}.longing{font-family:var(--serif);font-size:clamp(23px,3vw,33px);line-height:1.65;max-width:770px;text-align:center;margin:80px auto 95px;color:#d5e8e9}.longing::before{content:'✧';display:block;color:#98b9bb;margin-bottom:20px;font-size:27px}.distance-section .smile-row{margin-bottom:0}.smile-row img{border-radius:150px 150px 3px 3px}.distance-section .photo-caption{color:#95b7b9}
.return-section{background:#f1efdf}.return-opening{max-width:650px;margin:0 0 70px auto}.return-opening .eyebrow{margin-bottom:18px;color:#719fa3}.return-opening p{font-family:var(--serif);font-size:26px;line-height:1.7;color:#588487}.medal-row{grid-template-columns:.8fr 1fr}.medal-row .editorial-visual{max-width:400px}.medal-row img{border-radius:3px 120px 3px 3px}.park-story{margin:80px 0 60px;display:grid;grid-template-columns:1fr 1.05fr;gap:35px;align-items:start}.park-story .park-right{padding-top:100px}.park-story img{border-radius:3px}.park-copy{margin:32px 5px;max-width:430px}.park-copy h3{font-size:35px;margin-bottom:22px;letter-spacing:-1px}.park-copy p{font-size:14px;color:#5d8b8f;line-height:1.95}.lera-section{border-top:1px solid #c9dcdd;margin-top:90px;padding-top:75px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.lera-text h3{font-size:40px;line-height:1.2;letter-spacing:-1px;margin-bottom:24px}.lera-text p{font-size:14px;color:#5d8b8f;line-height:1.95}.lera-text .eyebrow{color:#77a3a6;margin-bottom:15px}.lera-portraits{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}.lera-portraits figure{margin:0}.lera-portraits figure:last-child{margin-top:60px}.lera-portraits img{border-radius:80px 80px 3px 3px}.lera-portraits .photo-caption{font-family:var(--serif);font-style:italic;font-size:13px;justify-content:center}
.portrait-section .editorial-row{margin:75px 0 100px;gap:90px}.portrait-section .editorial-visual{position:relative}.portrait-section .portrait-number{position:absolute;top:20px;left:-23px;font-family:var(--serif);font-size:56px;color:#9abbbd;font-style:italic;z-index:1;text-shadow:0 1px 0 #fff9}.portrait-section .editorial-visual img{max-height:640px;object-fit:cover}.portrait-section .editorial-row.reverse .portrait-number{left:auto;right:-23px}.portrait-section .editorial-text .little-heart{font-family:var(--serif);font-size:40px;font-style:italic;color:#99babc;line-height:1;margin-bottom:20px}.qualities{max-width:740px;margin:20px auto 10px;padding:50px 7%;background:#e3edee;text-align:center;border-radius:180px 180px 4px 4px}.qualities .icon{margin:0 auto 25px;color:#67989b}.qualities h3{font-size:33px;margin-bottom:25px}.qualities p{font-family:var(--serif);font-size:22px;line-height:1.8;color:#578184;margin-bottom:0}
.confessions-section{background:#e7eeef;padding-top:85px;padding-bottom:85px}.confessions-section .section-header{margin-bottom:45px}.confessions-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.confession{border-top:1px solid #b9d0d2;padding-top:26px}.confession>span{font-family:var(--serif);color:#8eb3b5;font-size:32px;font-style:italic}.confession p{color:#5a878a;font-size:14px;line-height:2;margin-top:15px}.letter-section{padding-top:125px;padding-bottom:125px;background:radial-gradient(ellipse at 100% 50%,#eee5ce55,transparent 55%),var(--paper)}.letter-wrap{max-width:720px;margin:0 auto;position:relative}.letter-wrap>.eyebrow{justify-content:center;color:#87aeb1;margin-bottom:40px}.letter-heading{text-align:center;font-size:56px;letter-spacing:-2px;margin-bottom:60px}.letter-content{font-family:var(--serif);font-size:23px;line-height:1.85;color:#50777a}.letter-content p{margin-bottom:1.4em}.letter-greeting{font-size:31px;color:#3b595b;font-style:italic}.letter-signature{font-size:36px;font-style:italic;text-align:right;color:#4e7477}.letter-end{display:flex;justify-content:center;color:#79a5a8;margin-top:45px}.letter-end .icon{width:20px;stroke-width:1}
.future-section{background:#dce8e9;text-align:center;padding-bottom:125px;position:relative;overflow:hidden}.future-section::before{content:'';position:absolute;width:800px;height:800px;border:1px solid #5e8c8f15;border-radius:50%;left:calc(50% - 400px);bottom:-520px;pointer-events:none;box-shadow:0 0 0 70px #5e8c8f06,0 0 0 71px #5e8c8f10}.future-section .section-number{justify-content:center}.future-section h2{font-size:clamp(43px,5.3vw,70px);letter-spacing:-2.5px}.future-intro{max-width:570px;margin:28px auto 55px;font-size:14px;color:#5b898c;line-height:1.9}.future-items{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:left;margin:50px 0 80px}.future-item{padding:25px 0 0;border-top:1px solid #a7c3c5}.future-item>span{font-size:24px;display:block;margin-bottom:20px}.future-item h3{font-size:25px;line-height:1.3;margin-bottom:20px}.future-item p{font-size:13px;color:#5a878a;line-height:1.9}.final-love{font-family:var(--serif);font-size:clamp(30px,3.8vw,47px);line-height:1.5;letter-spacing:-1px;position:relative;margin:0 auto 30px;max-width:700px}.final-date{font-size:9px;letter-spacing:2px;color:#72a0a3;margin:35px 0}.lock-story{background:transparent;font-size:10px;color:#65979b;text-decoration:underline;text-underline-offset:5px;padding:15px;position:relative}.story-footer{display:flex;justify-content:center;gap:18px;margin-top:45px;font-size:9px;letter-spacing:1px;color:#75a2a5}.music-player{position:fixed;z-index:20;bottom:max(20px,env(safe-area-inset-bottom));left:26px;display:flex;align-items:center;gap:12px;padding:10px 17px 10px 10px;background:#f5fafbed;backdrop-filter:blur(15px);border:1px solid #d1dedf;border-radius:50px;box-shadow:0 6px 24px #1e3a3c14;color:#3a5e61;min-width:285px;max-width:calc(100vw - 32px)}.player-toggle{border-radius:50%;width:40px;height:40px;display:grid;place-items:center;background:#e0edee}.player-toggle .icon{width:16px;height:16px}.player-text{display:flex;flex:1;flex-direction:column;line-height:1.5;min-width:0}.player-caption{font-size:7px;letter-spacing:.9px;color:#76a3a6}#track-title{font-family:var(--serif);font-size:15px}.player-sound{width:15px;height:15px;color:#82aaad}.track-progress{height:1px;width:100%;background:#ccdedf;margin-top:3px;overflow:hidden}.track-progress>span{display:block;height:100%;width:0;background:#6e9da0}.reveal{opacity:0;transform:translateY(25px);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.65,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.story-ready{animation:arrive 1.1s both}.noscript{position:fixed;z-index:99;inset:20% 10% auto;background:white;padding:30px;text-align:center}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-settle{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(min-width:1500px){.hero-copy{padding-left:max(8vw,calc((100vw - 1300px)/2))}.section{padding-left:10vw;padding-right:10vw}}
@media(max-width:1000px){.entry-layout{gap:45px;grid-template-columns:1fr 410px;width:calc(100% - 70px)}.entry-intro h1{font-size:57px}.hero{min-height:770px}.hero-copy{padding-left:6vw;padding-right:4vw}.hero h1{font-size:72px}.hero-photo{margin-right:20px;border-radius:140px 140px 3px 3px}.hero-message{font-size:14px}.hero-float{display:none}.editorial-row,.portrait-section .editorial-row{gap:45px}.section{padding:90px 6vw}.lera-section{gap:35px}.nav-right{gap:18px}.nav-date{display:none}}
@media(max-width:760px){.entry-top{padding:24px 23px}.wordmark{font-size:15px;gap:9px}.wordmark .icon{width:16px}.private-note{font-size:8px;letter-spacing:.7px}.entry-layout{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:26px;margin:12px auto 24px;padding:0 24px;max-width:500px}.entry-intro{text-align:center}.entry-intro>.eyebrow{justify-content:center;font-size:8px;letter-spacing:1.6px}.entry-intro h1{font-size:47px;line-height:1.08;letter-spacing:-2px;margin:17px 0 16px}.entry-intro>p{font-size:12px;line-height:1.8;margin-bottom:0}.intro-flower{display:none}.question-card{padding:24px 25px 20px;min-height:0;box-shadow:0 12px 45px #35585a0b}.step-dots{margin:14px 0 22px}.question-content h2{font-size:24px;letter-spacing:-.6px}.question-hint{font-size:11px;margin-bottom:15px}.question-meta{font-size:8px}.calendar{margin-top:15px}.calendar-day{height:32px;width:32px}.form-error{margin:10px 0 8px;font-size:11px}.card-footer{margin-top:14px;font-size:9px}.entry-footer{padding:4px 24px 20px;font-size:9px}.entry::after{width:520px;height:520px;right:-300px;top:100px}.primary-button{min-height:50px;padding:13px 17px}.answer-label{margin-top:22px}.music-gate{justify-content:center;padding-top:30px;padding-bottom:20px;min-height:calc(100svh - 135px)}.record-disc{width:100px;height:100px;padding:30px}.music-gate h1{font-size:50px;margin-top:20px}.music-gate>p:not(.form-error){font-size:13px}.music-start{max-width:300px;padding:16px 25px}.music-credit{font-size:7px;margin-bottom:10px}.story-nav{padding:22px 22px;color:white}.story-nav .wordmark{font-size:16px;text-shadow:0 1px 12px #0003}.nav-right{display:none}.hero{display:block;height:100svh;min-height:760px;max-height:1050px;background:#8b8668}.hero-photo{position:absolute;inset:0;margin:0;border-radius:0}.hero-photo img{object-position:51% 33%;height:100%;width:100%}.hero-photo::after{background:linear-gradient(180deg,#0002,transparent 24%,#132c2e03 40%,#163133b3 64%,#173234ea 100%)}.hero-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 28px 44px;background:none;color:#fff}.hero-copy .eyebrow{color:#e5e5ce;font-size:8px;letter-spacing:1.5px;gap:8px}.hero h1{font-size:65px;letter-spacing:-2.6px;line-height:1.04;margin:19px 0 21px;max-width:350px}.hero h1 em{color:#c5e0e2}.hero-message{font-size:13px;line-height:1.8;color:#d9e8e9;max-width:330px}.hero-scroll{font-size:8px;margin-top:25px;gap:12px;color:#e4f2f3}.hero-scroll span{border-color:#d1e6e84d;width:31px;height:31px}.hero-count{display:none}.hero-annotation{display:none}.section{padding:72px 26px}.section-header{margin-bottom:43px;gap:18px}.section-header h2{font-size:43px;letter-spacing:-1.7px}.section-number{font-size:14px;margin-bottom:14px}.section-aside{font-size:10px;max-width:95px;padding-top:32px}.timeline{padding-left:27px;margin-left:4px}.timeline-item{padding-bottom:41px}.timeline-item::before{left:-32px;width:9px;height:9px}.timeline-item .date{font-size:8px;letter-spacing:1.4px}.timeline-item h3{font-size:26px;letter-spacing:-.7px;margin-bottom:14px}.timeline-item p{font-size:13px;line-height:1.9}.chat-frame{margin-top:20px;padding:6px;border-radius:6px}.timeline-media{gap:10px;grid-template-columns:1fr .7fr;margin-top:24px}.film-frame{padding:5px}.film-caption{font-size:12px}.photo-caption{font-size:8px;gap:8px}.chapter-break{margin-top:3px}.distance-hero{min-height:380px;margin-bottom:65px;margin-left:-26px;margin-right:-26px;border-radius:0}.distance-hero img{height:430px;object-position:60% 50%;opacity:.75}.distance-title{padding:35px 30px}.distance-number{font-size:92px;letter-spacing:-3px}.distance-number small{font-size:24px}.distance-title p{font-size:12px;max-width:280px}.distance-facts{font-size:10px}.distance-title .date{font-size:8px}.editorial-row,.portrait-section .editorial-row{grid-template-columns:1fr;gap:28px;margin-bottom:65px}.editorial-row.reverse .editorial-visual,.editorial-row.reverse .editorial-text{order:initial}.editorial-visual{max-width:440px;width:100%;margin:0 auto}.editorial-text h3{font-size:33px;margin-bottom:20px;max-width:350px}.editorial-text p{font-size:13px;line-height:1.95}.editorial-text .eyebrow{margin-bottom:14px;font-size:8px}.distance-quote{margin:60px 0}.distance-quote h3{font-size:31px}.distance-quote>p{font-size:13px;text-align:left}.distance-quote .chat-frame{margin:24px -8px;padding:5px}.longing{font-size:25px;line-height:1.65;margin:60px 0 65px;text-align:left}.longing::before{text-align:center}.smile-row img{border-radius:130px 130px 3px 3px;max-height:530px;object-fit:cover}.return-opening{margin-bottom:50px}.return-opening p{font-size:23px;line-height:1.7}.return-opening .eyebrow{font-size:8px}.medal-row{gap:28px}.medal-row img{max-height:530px;object-fit:cover}.park-story{display:flex;flex-direction:column;gap:18px;margin:65px 0 0}.park-story .park-right{padding:0}.park-copy{margin:28px 0 24px}.park-copy h3{font-size:33px}.park-copy p{font-size:13px}.park-right .photo-frame img{max-height:570px;object-fit:cover}.lera-section{display:flex;flex-direction:column;gap:30px;margin-top:60px;padding-top:55px}.lera-text h3{font-size:35px;letter-spacing:-1px}.lera-text p{font-size:13px;margin-bottom:0}.lera-portraits{gap:16px;max-width:450px;width:100%}.lera-portraits figure:last-child{margin-top:65px}.lera-portraits .photo-caption{font-size:12px}.portrait-section .section-header{margin-bottom:35px}.portrait-section .editorial-row{margin:45px 0 65px;gap:28px}.portrait-section .editorial-visual{padding:0 8px}.portrait-section .editorial-visual img{max-height:570px;object-fit:cover}.portrait-section .portrait-number{left:-7px;top:15px;font-size:46px}.portrait-section .editorial-row.reverse .portrait-number{right:-7px}.portrait-section .editorial-text{padding:0 3px}.portrait-section .editorial-text .little-heart{font-size:28px;margin-bottom:15px}.qualities{padding:42px 24px 35px;border-radius:120px 120px 3px 3px;margin-top:10px}.qualities h3{font-size:29px}.qualities p{font-size:20px;line-height:1.8}.confessions-section{padding-top:64px;padding-bottom:64px}.confessions-grid{grid-template-columns:1fr;gap:20px}.confession p{font-size:13px;margin-bottom:15px}.confession>span{font-size:27px}.letter-section{padding:80px 29px}.letter-wrap>.eyebrow{font-size:8px;margin-bottom:23px}.letter-heading{font-size:44px;margin-bottom:38px}.letter-content{font-size:20px;line-height:1.9}.letter-content p{margin-bottom:1.3em}.letter-greeting{font-size:27px}.letter-signature{font-size:32px}.letter-end{margin-top:30px}.future-section{padding-bottom:130px}.future-section h2{font-size:45px;letter-spacing:-2px}.future-intro{font-size:13px;margin-bottom:35px}.future-items{grid-template-columns:1fr;gap:20px;margin:35px 0 50px}.future-item{padding-top:22px;display:grid;grid-template-columns:35px 1fr;column-gap:14px}.future-item>span{grid-row:span 2;font-size:24px;margin:0}.future-item h3{font-size:26px;margin-bottom:12px}.future-item p{font-size:13px;margin-bottom:8px}.final-love{font-size:32px;line-height:1.5}.final-date{font-size:8px}.story-footer{margin-top:25px;font-size:8px;gap:10px}.music-player{left:16px;bottom:max(14px,env(safe-area-inset-bottom));padding:8px 14px 8px 8px;min-width:245px;gap:10px}.player-toggle{width:36px;height:36px}.player-caption{font-size:6px}#track-title{font-size:14px}.player-sound{width:13px}.hero .reveal{opacity:1;transform:none}}
@media(max-width:760px){.entry-top{padding-top:20px;padding-bottom:20px}.entry-layout{gap:20px}.entry-intro h1{font-size:43px;margin-top:14px;margin-bottom:13px}.question-content h2{font-size:23px}.hero-scroll{align-self:flex-end}.timeline-item p,.editorial-text p,.lera-text p,.park-copy p,.confession p,.future-item p,.future-intro,.distance-quote>p{font-size:14px}}
@media(max-width:360px){.entry-layout{padding:0 17px}.question-card{padding:22px 20px 18px}.calendar-day{width:30px;height:30px}.hero h1{font-size:56px}.hero-copy{padding-left:23px;padding-right:23px}.hero{min-height:740px}.section{padding-left:22px;padding-right:22px}.distance-hero{margin-left:-22px;margin-right:-22px}.section-header h2{font-size:39px}.section-aside{display:none}.music-player{min-width:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.heart-collage img{clip-path:none}}
@media(max-width:760px){.lera-portraits{grid-template-columns:1fr;gap:28px;max-width:330px}.lera-portraits figure:last-child{margin-top:0}.lera-portraits img{border-radius:130px 130px 3px 3px}.timeline-media{grid-template-columns:1fr;gap:27px}.film-frame{width:84%;max-width:300px;margin:0 auto}.film-frame video{max-height:none;object-fit:contain}.photo-caption{font-size:9px}.calendar-day{width:36px;height:36px}.hero-scroll{font-size:8px;gap:7px}}
:root{--muted:#607a7c}.question-hint,.entry-intro>p,.music-gate>p:not(.form-error){color:#607b7e}.editorial-text p,.timeline-item p,.park-copy p,.lera-text p,.confession p,.future-item p,.future-intro{color:#526f72}.distance-section .editorial-text p{color:#c5dddf}.qualities p,.letter-content{color:#4b6f74}.return-opening p{color:#4d6e70}

/* Warm paper throughout the interface, with a more personal opening. */
:root{--paper:#f5eedf;--cream:#f8efdf;--cream-border:#e6d9c6}
.entry{background:radial-gradient(ellipse at 80% 30%,#dcebed80,transparent 50%),radial-gradient(ellipse at 3% 95%,#e8d3b755,transparent 45%),var(--paper)}
.question-card{background:var(--cream);border-color:var(--cream-border);box-shadow:0 16px 65px #35585a0c,0 1px 3px #624d3205}
.text-answer{background:#f2e8d9;border-color:#d4d7cb}
.chat-frame,.distance-quote .chat-frame,.film-frame,.noscript{background:var(--cream);border-color:var(--cream-border)}
.return-section{background:#f0e6d4}
.music-player{background:#f6ecdfef;border-color:#d8dccd}
.entry-intro>p,.question-hint,.music-gate>p:not(.form-error){font-family:var(--serif);font-size:18px;line-height:1.7}
.entry-intro>p,.question-hint{font-style:italic}
.question-content h2{font-size:29px;line-height:1.25;letter-spacing:-.4px}
.question-hint{font-size:16px}
.entry .primary-button{font-family:var(--serif);font-size:17px;letter-spacing:.15px}
.entry .text-answer{font-family:var(--serif);font-size:20px}
.entry .text-answer::placeholder{font-family:var(--serif);font-style:italic;font-size:17px}
.calendar-selects select{font-family:var(--serif);font-size:15px}
.calendar-day{font-family:var(--serif);font-size:15px}
.selected-date,.card-footer{font-family:var(--serif);font-size:13px;color:#6c8580}
.card-footer{font-style:italic}
.hero-message{font-family:var(--serif);font-size:18px;line-height:1.8}
@media(max-width:760px){.entry-intro>p{font-size:15px;line-height:1.65}.question-content h2{font-size:25px}.question-hint{font-size:14px;line-height:1.6}.music-gate>p:not(.form-error){font-size:16px;line-height:1.8}.entry .primary-button{font-size:16px}.calendar-selects select{font-size:14px}.calendar-day{font-size:14px}.selected-date,.card-footer{font-size:12px}.hero-message{font-size:16px;line-height:1.7}}
