@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Noto+Serif+SC:wght@400;500;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{font-family:Manrope,"Noto Serif SC",sans-serif;color:#183b5b;background:#dff1ff;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #183b5b;--ink-soft: #55738b;--blue: #bcdff7;--blue-deep: #78b9df;--cream: #fffdf8;--paper: #fffaf1;--line: rgba(50, 109, 147, .16);--shadow: 0 22px 60px rgba(80, 142, 180, .16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#dff1ff}button{font:inherit}button:focus-visible{outline:3px solid rgba(41,126,178,.48);outline-offset:4px}.site-shell{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(135deg,#e8f6ff,#d7effc 36%,#f7f7f0)}.sky-noise{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.32;background-image:radial-gradient(rgba(30,92,132,.13) .65px,transparent .65px);background-size:17px 17px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 80%);mask-image:linear-gradient(to bottom,#000,transparent 80%)}.floating-clouds{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.cloud{position:absolute;display:block;width:160px;height:48px;border-radius:100px;background:#ffffff87;filter:blur(.2px);animation:drift 18s ease-in-out infinite alternate}.cloud:before,.cloud:after{content:"";position:absolute;bottom:18px;border-radius:50%;background:inherit}.cloud:before{left:27px;width:70px;height:70px}.cloud:after{right:21px;width:56px;height:56px}.cloud--one{top:13%;left:-30px;transform:scale(.72)}.cloud--two{top:48%;right:-50px;transform:scale(.94);animation-delay:-6s}.cloud--three{top:74%;left:14%;transform:scale(.5);opacity:.34;animation-delay:-11s}@keyframes drift{to{transform:translate(40px) translateY(10px) scale(.95)}}.landing{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;max-width:1200px;margin:0 auto;padding:30px 6vw 26px}.landing__topline,.landing__footer{display:flex;align-items:center;gap:12px;color:#63859d;font:500 10px/1 DM Mono,monospace;letter-spacing:.18em;text-transform:uppercase}.landing__topline{justify-content:flex-start}.landing__date{margin-left:auto;color:#96b2c4}.landing__copy{align-self:center;max-width:720px;padding-top:4vh}.eyebrow{margin:0 0 20px;color:#6f9db7;font:500 10px/1.3 DM Mono,monospace;letter-spacing:.24em;text-transform:uppercase}.landing h1,.story-intro h1{margin:0;color:var(--ink);font:600 clamp(48px,7.2vw,100px)/1.04 "Noto Serif SC",serif;letter-spacing:-.055em}h1 em,h2 em{color:#4f9ac2;font-style:normal}.landing__copy>p:not(.eyebrow){margin:30px 0 0;color:#5f7d91;font-size:16px;line-height:1.9}.envelope-button{position:relative;align-self:center;justify-self:center;width:min(70vw,370px);aspect-ratio:1.3 / 1;border:0;background:none;cursor:pointer;transform-origin:center bottom}.envelope-button__shadow{position:absolute;left:12%;right:12%;bottom:1%;height:22px;border-radius:50%;background:#285f8024;filter:blur(11px)}.envelope-button__paper{position:absolute;inset:9% 3% 12%;border-radius:13px;box-shadow:0 16px 28px #22618426}.envelope-button__paper--back{background:#e9f7ff;transform:rotate(-2deg)}.envelope-button__paper--front{background:#c8e8fb;clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%)}.envelope-button__letter{position:absolute;left:13%;right:13%;top:10%;height:68%;z-index:2;display:grid;place-items:center;border-radius:9px;background:#fffdf8;box-shadow:0 9px 18px #2664851a;color:#3d789c;font:500 20px/1.45 "Noto Serif SC",serif;transform:translateY(-16%)}.envelope-button__letter:before{content:"";position:absolute;inset:10px;border:1px dashed rgba(83,155,190,.35);border-radius:5px}.envelope-button__letter span{position:relative;z-index:1}.envelope-button__seal{position:absolute;z-index:4;left:50%;bottom:16%;transform:translate(-50%);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#fff;background:#5ea1c5;box-shadow:0 7px 16px #367ca347;font-size:17px}.landing__hint{justify-self:center;align-self:end;margin:-10px 0 24px;color:#5c839b;font-size:12px;letter-spacing:.08em}.landing__hint span{display:inline-block;margin-left:8px;font-size:16px}.landing__footer{justify-content:space-between}.story{position:relative;z-index:1}.story-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1240px;margin:0 auto;padding:20px 5vw 16px;background:linear-gradient(to bottom,rgba(228,245,255,.94),rgba(228,245,255,.73),transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.story-nav__brand{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#356d8a;cursor:pointer;font:600 15px "Noto Serif SC",serif;white-space:nowrap}.story-nav__links{display:flex;justify-content:center;gap:clamp(12px,2.5vw,35px)}.story-nav__links button{padding:7px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:#7794a6;cursor:pointer;font-size:11px;letter-spacing:.06em;transition:color .25s ease,border-color .25s ease}.story-nav__links button:hover,.story-nav__links button.is-active{color:#24698f;border-color:#5fa3c5}.story-nav__count{color:#92adbb;font:500 10px DM Mono,monospace;letter-spacing:.16em;white-space:nowrap}.story-intro{max-width:1180px;min-height:75vh;display:flex;flex-direction:column;justify-content:center;margin:0 auto;padding:80px 6vw 130px}.story-intro__lead{margin:30px 0 0;color:#567b91;font-size:17px;line-height:1.9}.story-intro__meta{display:flex;gap:36px;margin-top:90px;color:#6d99b1;font:500 10px DM Mono,monospace;letter-spacing:.16em}.content-section{max-width:1180px;margin:0 auto;padding:120px 6vw 140px;scroll-margin-top:70px}.section-heading{max-width:660px;margin-bottom:62px}.section-heading h2{margin:0;color:var(--ink);font:600 clamp(34px,5vw,66px)/1.15 "Noto Serif SC",serif;letter-spacing:-.05em}.section-heading__description{max-width:530px;margin:22px 0 0;color:#68889b;font-size:15px;line-height:1.85}.timeline-section{position:relative}.timeline-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 74px;padding:16px 0 32px}.timeline-line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(to bottom,transparent,rgba(80,149,183,.38) 10%,rgba(80,149,183,.38) 90%,transparent)}.memory-card{position:relative;min-height:235px;padding:28px 30px 25px;border:1px solid rgba(91,150,179,.15);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.memory-card:nth-of-type(2n){transform:translateY(52px)}.memory-card--sky{background:#e7f6ffe0}.memory-card--peach{background:#fff1e2e0}.memory-card--lilac{background:#efedffd1}.memory-card--mint{background:#e2f6ecd6}.memory-card__pin{position:absolute;top:-17px;left:50%;width:34px;height:34px;border-radius:50%;background:#ffffffc4;box-shadow:0 2px 8px #4b839c1f}.memory-card__date{margin:0;color:#4f93b4;font:500 11px DM Mono,monospace;letter-spacing:.08em}.memory-card__label{margin:14px 0 0;color:#7895a5;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.memory-card h3{margin:11px 0 12px;color:#244f6c;font:600 23px/1.35 "Noto Serif SC",serif;letter-spacing:-.035em}.memory-card>p:not(.memory-card__date):not(.memory-card__label){margin:0;color:#58788b;font-size:14px;line-height:1.85}.memory-card small,.interest-card small{display:block;margin-top:18px;color:#8da4b0;font:10px/1.6 DM Mono,monospace}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:90px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-strip div{display:flex;flex-direction:column;gap:6px;padding:27px 20px;border-right:1px solid var(--line);text-align:center}.stats-strip div:last-child{border-right:0}.stats-strip strong{color:#3985ac;font:600 35px "Noto Serif SC",serif}.stats-strip span{color:#7592a0;font-size:11px}.meeting-section{padding-top:160px}.perspective-switcher{display:inline-flex;gap:7px;padding:6px;border:1px solid rgba(91,150,179,.17);border-radius:100px;background:#ffffff7a}.perspective-switcher button{padding:11px 17px;border:0;border-radius:100px;background:transparent;color:#7692a2;cursor:pointer;font-size:12px;transition:.25s ease}.perspective-switcher button.is-active{color:#235e80;background:#fffdf8;box-shadow:0 5px 14px #3a7d9c1f}.meeting-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;min-height:500px;margin-top:43px}.meeting-story__copy{max-width:425px}.meeting-story__copy h3{margin:0;color:var(--ink);font:600 39px/1.25 "Noto Serif SC",serif;letter-spacing:-.05em}.meeting-story__copy>p:not(.eyebrow){margin:24px 0 0;color:#5a7d90;font-size:16px;line-height:2}.meeting-story__route{display:flex;align-items:center;gap:12px;margin-top:35px;color:#548da7;font-size:11px;letter-spacing:.08em}.meeting-story__route i{color:#9ab7c5;font-style:normal}.meeting-story__visual{position:relative;height:460px}.photo-frame{position:absolute;padding:10px 10px 15px;background:#fffdf8;box-shadow:0 20px 42px #3e728b2b}.photo-frame img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.photo-frame span{display:block;padding:11px 5px 0;color:#7895a4;font:10px DM Mono,monospace}.photo-frame--large{top:18px;right:10%;width:68%;height:345px;transform:rotate(2.5deg)}.photo-frame--small{bottom:4px;left:1%;width:37%;height:205px;transform:rotate(-6deg)}.gallery-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.gallery-row figure{margin:0}.gallery-row img{display:block;width:100%;height:130px;border-radius:12px;-o-object-fit:cover;object-fit:cover;box-shadow:0 13px 25px #3e728b21}.gallery-row figcaption{margin-top:10px;color:#7895a4;font:10px DM Mono,monospace}.about-section{padding-top:150px}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}.about-note{position:relative;padding:50px 40px 40px;border-radius:6px 6px 18px;background:#fffdf4;box-shadow:0 24px 50px #56787c1f;transform:rotate(-2deg)}.about-note:after{content:"";position:absolute;right:-10px;bottom:-13px;width:100px;height:80px;border-right:1px solid rgba(112,163,173,.25);border-bottom:1px solid rgba(112,163,173,.25);border-radius:0 0 24px}.about-note__tape{position:absolute;top:-18px;left:50%;width:88px;height:34px;background:#b7dee69e;transform:translate(-50%) rotate(3deg);opacity:.75}.about-note__quote{margin:0;color:#36657e;font:500 25px/1.75 "Noto Serif SC",serif;letter-spacing:-.05em}.about-note__caption{margin:24px 0 0;color:#6c8994;font-size:13px;line-height:1.8}.about-note small{display:block;margin-top:26px;color:#99abb0;font:10px DM Mono,monospace;line-height:1.7}.interest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.interest-card{min-height:205px;padding:24px;border:1px solid rgba(90,145,171,.13);border-radius:14px;background:#ffffff8a;transition:transform .3s ease,box-shadow .3s ease}.interest-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.interest-card__icon{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:9px;color:#5795b0;background:#e5f4fc;font-size:16px}.interest-card h3{margin:19px 0 10px;color:#2e607b;font:600 19px "Noto Serif SC",serif}.interest-card p{margin:0;color:#648293;font-size:13px;line-height:1.8}.birthday-section{padding-top:150px}.birthday-stage{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;min-height:480px;padding:52px 7%;border-radius:26px;background:linear-gradient(135deg,#c6e4f6b3,#ffefdeb8);overflow:hidden}.cake-wrap{position:relative;width:min(100%,380px);height:315px;margin:0 auto}.cake-plate{position:absolute;bottom:14px;left:4%;width:92%;height:33px;border-radius:50%;background:#d6ecf4;box-shadow:0 15px #689eb029}.cake{position:absolute;left:11%;right:11%}.cake--bottom{bottom:45px;height:115px;border-radius:10px 10px 28px 28px;background:linear-gradient(90deg,#a8d2e9 0 18%,#fefbf3 18% 25%,#a8d2e9 25% 39%,#fefbf3 39% 49%,#acd8eb 49% 66%,#fefbf3 66% 72%,#a5d2e8 72%);box-shadow:inset 0 -13px #5495b51f}.cake--top{bottom:135px;height:55px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff9f0;border:8px solid #c0e1f0;color:#74a5b8;font:11px DM Mono,monospace;letter-spacing:.06em;box-shadow:0 9px #4987a41a}.cake-candles{position:absolute;z-index:2;bottom:177px;left:20%;right:20%;display:flex;justify-content:space-around}.candle{position:relative;width:15px;height:62px;border:0;border-radius:5px 5px 2px 2px;background:repeating-linear-gradient(145deg,#f6bdc0 0 8px,#fff2df 8px 14px);cursor:pointer}.candle--1{transform:translateY(-14px);background:repeating-linear-gradient(145deg,#9ed4e9 0 8px,#fff2df 8px 14px)}.candle--2{background:repeating-linear-gradient(145deg,#cbb9e8 0 8px,#fff2df 8px 14px)}.flame{position:absolute;left:50%;top:-23px;width:15px;height:22px;border-radius:70% 30%;background:#ffd27f;box-shadow:0 0 15px 4px #ffbc6573;transform:translate(-50%) rotate(45deg);transition:opacity .25s,transform .25s}.candle.is-blown .flame{opacity:0;transform:translate(-50%,10px) rotate(45deg) scale(.3)}.wish-sparkles{position:absolute;inset:3% 10%;color:#fff;font-size:21px;pointer-events:none}.wish-sparkles span{position:absolute;animation:twinkle 1.8s ease-in-out infinite alternate}.wish-sparkles span:nth-child(1){left:10%;top:20%}.wish-sparkles span:nth-child(2){left:83%;top:32%;animation-delay:.3s}.wish-sparkles span:nth-child(3){left:72%;top:12%;animation-delay:.7s}.wish-sparkles span:nth-child(4){left:23%;top:43%;animation-delay:.5s}.wish-sparkles span:nth-child(5){left:49%;top:-2%;animation-delay:.9s}@keyframes twinkle{to{opacity:.35;transform:scale(.7) rotate(20deg)}}.birthday-stage__copy h3{margin:0;color:var(--ink);font:600 35px/1.35 "Noto Serif SC",serif;letter-spacing:-.05em}.birthday-stage__copy>p:not(.eyebrow){margin:22px 0 0;color:#648193;font-size:15px;line-height:1.9}.text-button{margin-top:30px;padding:0 0 7px;border:0;border-bottom:1px solid #5e9bb8;background:none;color:#3b7e9d;cursor:pointer;font-size:13px}.text-button span{margin-left:8px}.letter-reveal{margin-top:40px}.letter-reveal__button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:21px 23px;border:1px solid rgba(82,145,175,.2);border-radius:12px;background:#ffffff6e;color:#376f8e;cursor:pointer;font-size:13px;transition:background .25s ease}.letter-reveal__button:hover{background:#ffffffb8}.final-letter{overflow:hidden}.final-letter__paper{max-width:740px;margin:18px auto 0;padding:44px clamp(24px,7vw,90px) 54px;border-radius:4px;background:#fffdf6;box-shadow:var(--shadow)}.final-letter__paper h3{margin:0 0 24px;color:#315c74;font:600 28px "Noto Serif SC",serif}.final-letter__paper>p:not(.eyebrow):not(.final-letter__signoff){margin:16px 0;color:#5c7784;font-size:15px;line-height:2}.final-letter__paper .eyebrow{margin-bottom:22px}.final-letter__signoff{margin-top:34px!important;white-space:pre-line;color:#3d6d84;font:500 17px/2 "Noto Serif SC",serif}.site-footer{padding:100px 6vw 70px;text-align:center}.site-footer .cloud-mark{margin:0 auto 19px}.site-footer p{margin:0;color:#487c98;font:500 22px "Noto Serif SC",serif}.site-footer small{display:block;margin-top:17px;color:#8aa7b4;font:10px DM Mono,monospace;letter-spacing:.1em}.cloud-mark{position:relative;width:62px;height:35px}.cloud-mark--small{width:31px;height:18px;transform:scale(.82);transform-origin:left center}.cloud-mark__orb,.cloud-mark__base{position:absolute;display:block;background:#71b7d8}.cloud-mark__orb{bottom:10px;border-radius:50%}.cloud-mark__orb--left{left:7px;width:22px;height:22px}.cloud-mark__orb--middle{left:21px;width:30px;height:30px}.cloud-mark__orb--right{right:6px;width:22px;height:22px}.cloud-mark__base{left:2px;right:2px;bottom:2px;height:18px;border-radius:12px}.cloud-mark__sparkle{position:absolute;right:-5px;top:-4px;color:#f8c979;font-size:11px}@media(max-width:800px){.landing{padding:22px 22px 20px}.landing__copy{padding-top:3vh}.landing h1{font-size:clamp(45px,13vw,74px)}.landing__copy>p:not(.eyebrow){font-size:14px}.landing__topline span:not(.landing__date){max-width:130px;line-height:1.4}.landing__footer{font-size:8px}.story-nav{padding:15px 20px 13px;gap:8px}.story-nav__links{gap:10px;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.story-nav__links::-webkit-scrollbar{display:none}.story-nav__links button{font-size:10px;white-space:nowrap}.story-nav__count{display:none}.story-intro{min-height:72vh;padding:60px 24px 100px}.story-intro h1{font-size:clamp(42px,12vw,65px)}.story-intro__lead{font-size:14px}.story-intro__meta{flex-wrap:wrap;gap:10px 18px;margin-top:60px;font-size:9px}.content-section{padding:90px 24px 100px}.section-heading{margin-bottom:42px}.section-heading h2{font-size:39px}.section-heading__description{font-size:14px}.timeline-grid{display:block;padding-left:13px}.timeline-line{left:0}.memory-card,.memory-card:nth-of-type(2n){margin:22px 0 22px 18px;min-height:0;transform:none}.memory-card__pin{top:26px;left:-34px;width:22px;height:22px;background:#84bfd9;box-shadow:0 0 0 5px #e1f3fd}.stats-strip{margin-top:58px}.stats-strip div{padding:20px 8px}.stats-strip strong{font-size:25px}.stats-strip span{font-size:9px;line-height:1.4}.meeting-story{grid-template-columns:1fr;gap:35px;min-height:0}.meeting-story__copy h3{font-size:32px}.meeting-story__copy>p:not(.eyebrow){font-size:14px}.meeting-story__visual{height:370px}.photo-frame--large{height:278px;right:5%}.photo-frame--small{height:170px}.gallery-row{gap:9px}.gallery-row img{height:87px;border-radius:8px}.gallery-row figcaption{font-size:8px;line-height:1.5}.about-layout{grid-template-columns:1fr;gap:50px}.about-note{padding:42px 27px 34px}.about-note__quote{font-size:22px}.interest-grid{gap:10px}.interest-card{min-height:210px;padding:18px}.interest-card h3{font-size:17px}.interest-card p{font-size:12px}.birthday-stage{grid-template-columns:1fr;gap:18px;padding:40px 22px 50px}.cake-wrap{transform:scale(.82);transform-origin:center top;margin-bottom:-45px}.birthday-stage__copy h3{font-size:29px}.birthday-stage__copy>p:not(.eyebrow){font-size:14px}.site-footer{padding:60px 24px 48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html,body,#root{height:100%;overflow:hidden}.book{position:relative;z-index:1;height:100svh;min-height:620px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;isolation:isolate;perspective:1500px}.book:before{content:"";position:absolute;inset:9% 3% 6%;z-index:-1;border:1px solid rgba(76,139,171,.12);border-radius:28px;background:#ffffff29;box-shadow:0 26px 80px #3d7c9d1a;pointer-events:none}.book-topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1240px;width:100%;margin:0 auto;padding:18px 5vw 12px}.book-topbar .story-nav__brand{flex:0 0 auto}.book-tabs{display:flex;align-items:center;justify-content:center;gap:clamp(8px,2.4vw,28px);min-width:0}.book-tabs button{display:inline-flex;align-items:baseline;gap:6px;padding:7px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:#89a5b4;cursor:pointer;font:500 10px DM Mono,monospace;letter-spacing:.08em;white-space:nowrap;transition:color .25s ease,border-color .25s ease,transform .25s ease}.book-tabs button span{font-family:"Noto Serif SC",serif;letter-spacing:0}.book-tabs button:hover,.book-tabs button.is-active{color:#24698f;border-color:#5fa3c5;transform:translateY(-2px)}.book-topbar__actions{display:flex;align-items:center;gap:15px;flex:0 0 auto}.book-progress{color:#92adbb;font:500 10px DM Mono,monospace;letter-spacing:.14em;white-space:nowrap}.music-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(75,143,174,.25);border-radius:50%;color:#357da1;background:#ffffff9e;cursor:pointer;box-shadow:0 8px 20px #3e7d9a21;transition:transform .25s ease,background .25s ease,color .25s ease}.music-toggle:hover{transform:translateY(-2px);background:#fffdf8}.music-toggle:disabled{cursor:not-allowed;opacity:.45}.music-toggle span{display:block;font-size:20px;line-height:1}.music-toggle.is-playing span{animation:note-spin 2.6s linear infinite}@keyframes note-spin{0%{transform:translateY(1px) rotate(0)}50%{transform:translateY(-2px) rotate(180deg)}to{transform:translateY(1px) rotate(360deg)}}.book-pages{position:relative;min-height:0;max-width:1240px;width:100%;margin:0 auto;transform-style:preserve-3d}.book-page{position:absolute;inset:0;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(91,150,179,.28) transparent;transform-style:preserve-3d;backface-visibility:hidden}.book-page::-webkit-scrollbar{width:5px}.book-page::-webkit-scrollbar-thumb{border-radius:99px;background:#5b96b340}.book-page__content{position:relative;max-width:1180px;min-height:100%;margin:0 auto;padding:34px 6vw 60px}.book-page__content:before{content:"✦";position:absolute;top:26px;right:6vw;color:#5d9bb86b;font-size:16px;animation:twinkle 2.4s ease-in-out infinite alternate}.book-page__content:after{content:"";position:absolute;left:6vw;right:6vw;bottom:25px;border-bottom:1px dashed rgba(83,147,175,.17)}.page-content--intro{display:flex;flex-direction:column;justify-content:center;padding-top:5vh;padding-bottom:10vh}.page-content--intro h1{margin:0;color:var(--ink);font:600 clamp(45px,6.2vw,86px)/1.08 "Noto Serif SC",serif;letter-spacing:-.065em}.page-content--intro .story-intro__lead{max-width:520px}.intro-page__ornament{display:flex;align-items:center;gap:14px;margin-bottom:24px;color:#7db8d3;font-size:20px}.intro-page__ornament span:nth-child(2){color:#f0bf7b;font-size:11px}.page-content--intro .story-intro__meta{margin-top:70px}.page-content--timeline .section-heading,.page-content--meeting .section-heading,.page-content--about .section-heading,.page-content--birthday .section-heading{margin-bottom:25px}.page-content--timeline .section-heading h2,.page-content--meeting .section-heading h2,.page-content--about .section-heading h2,.page-content--birthday .section-heading h2{font-size:clamp(30px,4vw,54px)}.page-content--timeline .section-heading__description,.page-content--meeting .section-heading__description,.page-content--about .section-heading__description,.page-content--birthday .section-heading__description{margin-top:12px;font-size:13px}.timeline-grid{gap:13px 24px;padding:7px 0 13px}.timeline-grid .memory-card,.timeline-grid .memory-card:nth-of-type(2n){min-height:0;padding:16px 18px 14px;transform:none;border-radius:13px}.timeline-grid .memory-card__pin{top:10px;left:auto;right:14px;width:13px;height:13px}.timeline-grid .memory-card__date{font-size:9px}.timeline-grid .memory-card__label{margin-top:8px;font-size:9px}.timeline-grid .memory-card h3{margin:6px 0 7px;font-size:17px}.timeline-grid .memory-card>p:not(.memory-card__date):not(.memory-card__label){font-size:11px;line-height:1.55}.timeline-grid .memory-card small{margin-top:9px;font-size:8px;line-height:1.35}.page-content--timeline .stats-strip{margin-top:17px}.page-content--timeline .stats-strip div{padding:13px 10px}.page-content--timeline .stats-strip strong{font-size:25px}.page-content--timeline .stats-strip span{font-size:9px}.page-content--meeting .perspective-switcher{margin-bottom:4px}.page-content--meeting .meeting-story{gap:38px;min-height:280px;margin-top:18px}.page-content--meeting .meeting-story__copy h3{font-size:30px}.page-content--meeting .meeting-story__copy>p:not(.eyebrow){margin-top:14px;font-size:13px;line-height:1.75}.page-content--meeting .meeting-story__route{margin-top:19px}.page-content--meeting .meeting-story__visual{height:290px}.page-content--meeting .photo-frame--large{height:225px}.page-content--meeting .photo-frame--small{height:135px}.page-content--meeting .gallery-row{gap:12px;margin-top:18px}.page-content--meeting .gallery-row img{height:76px}.page-content--about .about-layout{gap:34px}.page-content--about .about-note{padding:28px 25px 23px}.page-content--about .about-note__quote{font-size:20px;line-height:1.55}.page-content--about .about-note__caption{margin-top:12px;font-size:12px}.page-content--about .about-note small{margin-top:13px}.page-content--about .interest-grid{gap:11px}.page-content--about .interest-card{min-height:145px;padding:15px}.page-content--about .interest-card__icon{width:26px;height:26px;font-size:13px}.page-content--about .interest-card h3{margin:10px 0 6px;font-size:16px}.page-content--about .interest-card p{font-size:11px;line-height:1.55}.page-content--about .interest-card small{margin-top:8px;font-size:8px}.page-content--birthday .section-heading{margin-bottom:13px}.page-content--birthday .birthday-stage{min-height:300px;padding:20px 5%;gap:20px}.page-content--birthday .cake-wrap{transform:scale(.74);transform-origin:center center;margin:-40px auto}.page-content--birthday .birthday-stage__copy h3{font-size:29px}.page-content--birthday .birthday-stage__copy>p:not(.eyebrow){margin-top:12px;font-size:13px}.page-content--birthday .text-button{margin-top:15px}.page-content--birthday .letter-reveal{margin-top:17px}.page-content--birthday .final-letter__paper{padding:26px 34px 32px}.book-controls{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;max-width:1240px;width:100%;margin:0 auto;padding:7px 5vw 2px}.page-arrow,.page-next{border:0;background:transparent;cursor:pointer}.page-arrow{color:#7a9aaa;font-size:12px}.page-arrow span{margin-left:6px}.page-arrow:disabled{visibility:hidden}.page-next{display:inline-flex;align-items:center;gap:12px;padding:10px 15px;border-radius:99px;color:#fff;background:#5b9fc2;box-shadow:0 9px 22px #3982a433;font-size:12px;transition:transform .25s ease,box-shadow .25s ease}.page-next:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 12px 25px #3982a447}.page-next:disabled{cursor:default;opacity:.54}.page-next b{font-size:17px;font-weight:400;animation:arrow-nudge 1.7s ease-in-out infinite}@keyframes arrow-nudge{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.page-hint{display:flex;align-items:center;justify-content:center;gap:12px;padding:5px 20px 11px;color:#7899a8;font:9px DM Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.page-hint__line{display:block;width:min(14vw,120px);height:1px;background:#5d9bb842}@media(max-width:800px){.book{min-height:570px}.book:before{inset:5% 2% 4%;border-radius:21px}.book-topbar{gap:8px;padding:12px 18px 8px}.book-topbar .story-nav__brand{font-size:12px}.book-tabs{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.book-tabs::-webkit-scrollbar{display:none}.book-tabs button{gap:3px;font-size:8px}.book-tabs button span,.book-progress{display:none}.music-toggle{width:34px;height:34px}.music-toggle span{font-size:18px}.book-page__content{padding:21px 22px 45px}.book-page__content:before{top:14px;right:22px;font-size:12px}.book-page__content:after{left:22px;right:22px;bottom:17px}.page-content--intro{padding-top:8vh;padding-bottom:10vh}.page-content--intro h1{font-size:clamp(38px,11vw,61px)}.page-content--intro .story-intro__lead{font-size:13px}.page-content--intro .story-intro__meta{flex-wrap:wrap;gap:9px 15px;margin-top:48px;font-size:8px}.page-content--timeline .section-heading h2,.page-content--meeting .section-heading h2,.page-content--about .section-heading h2,.page-content--birthday .section-heading h2{font-size:31px}.page-content--timeline .section-heading__description,.page-content--meeting .section-heading__description,.page-content--about .section-heading__description,.page-content--birthday .section-heading__description{font-size:11px;line-height:1.6}.page-content--timeline .timeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-left:0}.page-content--timeline .timeline-line{display:none}.page-content--timeline .timeline-grid .memory-card,.page-content--timeline .timeline-grid .memory-card:nth-of-type(2n){height:116px;min-height:0;margin:0;padding:8px 9px 6px;border-radius:10px;overflow:hidden}.page-content--timeline .timeline-grid .memory-card__pin{top:7px;right:7px;width:8px;height:8px}.page-content--timeline .timeline-grid .memory-card__date{font-size:7px}.page-content--timeline .timeline-grid .memory-card__label{margin-top:5px;font-size:7px}.page-content--timeline .timeline-grid .memory-card h3{margin:4px 0;font-size:11px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.page-content--timeline .timeline-grid .memory-card>p:not(.memory-card__date):not(.memory-card__label){font-size:8px;line-height:1.33;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.page-content--timeline .timeline-grid .memory-card small{margin-top:3px;font-size:6px;line-height:1.15}.page-content--timeline .stats-strip{margin-top:10px}.page-content--timeline .stats-strip div{padding:8px 3px}.page-content--timeline .stats-strip strong{font-size:18px}.page-content--timeline .stats-strip span{font-size:7px}.page-content--meeting .perspective-switcher button{padding:8px 11px;font-size:10px}.page-content--meeting .meeting-story{grid-template-columns:1fr;gap:13px;margin-top:10px}.page-content--meeting .meeting-story__copy h3{font-size:23px}.page-content--meeting .meeting-story__copy>p:not(.eyebrow){margin-top:8px;font-size:11px;line-height:1.55}.page-content--meeting .meeting-story__route{margin-top:10px;gap:7px;font-size:9px}.page-content--meeting .meeting-story__visual{height:177px}.page-content--meeting .photo-frame{padding:5px 5px 7px}.page-content--meeting .photo-frame--large{height:145px}.page-content--meeting .photo-frame--small{height:93px}.page-content--meeting .photo-frame span{padding-top:5px;font-size:7px}.page-content--meeting .gallery-row{gap:6px;margin-top:8px}.page-content--meeting .gallery-row img{height:53px}.page-content--meeting .gallery-row figcaption{margin-top:4px;font-size:6px}.page-content--about .about-layout{gap:20px}.page-content--about .about-note{padding:19px 17px 15px}.page-content--about .about-note__quote{font-size:17px}.page-content--about .about-note__caption{margin-top:9px;font-size:10px}.page-content--about .about-note small{margin-top:8px;font-size:7px}.page-content--about .interest-grid{gap:7px}.page-content--about .interest-card{min-height:117px;padding:11px}.page-content--about .interest-card__icon{width:22px;height:22px;font-size:11px}.page-content--about .interest-card h3{margin:6px 0 4px;font-size:13px}.page-content--about .interest-card p{font-size:9px;line-height:1.4}.page-content--about .interest-card small{margin-top:5px;font-size:6px}.page-content--birthday .birthday-stage{grid-template-columns:1fr;min-height:255px;gap:0;padding:8px 13px 16px}.page-content--birthday .cake-wrap{transform:scale(.61);margin:-70px auto -92px}.page-content--birthday .birthday-stage__copy h3{font-size:24px}.page-content--birthday .birthday-stage__copy>p:not(.eyebrow){font-size:11px}.page-content--birthday .letter-reveal{margin-top:10px}.page-content--birthday .letter-reveal__button{padding:14px 16px;font-size:11px}.page-content--birthday .final-letter__paper{padding:20px 18px 23px}.page-content--birthday .final-letter__paper>p:not(.eyebrow):not(.final-letter__signoff){font-size:11px}.book-controls{padding:5px 18px 0}.page-arrow{font-size:10px}.page-next{padding:8px 11px;font-size:10px}.page-hint{gap:7px;padding:4px 12px 8px;font-size:7px;letter-spacing:.06em}.page-hint__line{width:10vw}}
