:root{--paper:#faf7ef;--paper-deep:#f1ebdf;--ink:#382b2a;--wine:#7b2939;--wine-dark:#57202c;--muted:#81756e;--line:#dbd2c5;--serif:"Songti SC","Noto Serif CJK SC","Noto Serif SC","STSong","SimSun",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--hand:"Kaiti SC","STKaiti","KaiTi",var(--serif)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.8 var(--sans);-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.12;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%3Crect width='100%25' height='100%25' opacity='.28' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:6px}figure,p,h1,h2,h3{margin:0}button{cursor:pointer}::selection{background:#eacbd0;color:var(--wine-dark)}.section-width{max-width:1280px;margin:0 auto;padding-left:56px;padding-right:56px}.skip-link{position:fixed;top:-80px;left:20px;background:var(--paper);z-index:100;padding:12px}.skip-link:focus{top:10px}.site-header{height:100px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 56px;gap:25px}.brand{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:1.125rem;letter-spacing:2px;white-space:nowrap}.brand i{font-family:Georgia,serif;font-size:1rem;color:var(--wine);margin:0 4px}.brand-mark{font:italic 1.75rem Georgia,serif;letter-spacing:-4px;color:var(--wine)}.brand-mark span{font:1.125rem Georgia,serif;display:inline-block;transform:translateY(-4px);margin:0 4px}.site-header nav{display:flex;gap:36px;font-size:0.875rem;color:#62514c}.site-header nav a{position:relative;padding:10px 0}.site-header nav a::after{content:"";height:1px;background:var(--wine);position:absolute;bottom:5px;left:0;right:100%;transition:right .25s}.site-header nav a:hover::after{right:0}.domain{font-family:var(--serif);font-size:0.9375rem;letter-spacing:1px;color:var(--wine)}.domain span{padding:0 3px}.hero{display:grid;grid-template-columns:1fr 1fr;column-gap:55px;padding-top:60px;position:relative}.hero-copy{padding-top:36px}.eyebrow{font-size:0.75rem;letter-spacing:2.6px;color:var(--wine);line-height:1.6}.fine-line{display:inline-block;width:28px;height:1px;background:var(--wine);vertical-align:middle;margin-right:14px}.dedication{margin-top:34px;font-family:var(--hand);font-size:1.25rem;color:#746059;letter-spacing:2px}h1{font-family:var(--serif);font-size:clamp(46px,4.65vw,66px);font-weight:500;letter-spacing:2px;line-height:1.5;margin-top:14px}.title-us{color:var(--wine);position:relative}.little-heart{position:absolute;right:-27px;top:-3px;font:1.9375rem var(--hand);transform:rotate(12deg)}.hero-description{font-family:var(--serif);color:#7a6960;font-size:1.0625rem;line-height:2.1;margin-top:23px;letter-spacing:1px}.primary-link{display:inline-flex;gap:36px;align-items:center;background:var(--wine);color:var(--paper);font-size:0.875rem;letter-spacing:1px;padding:14px 23px;margin-top:31px;transition:background .2s,transform .2s}.primary-link:hover{background:var(--wine-dark);transform:translateY(-2px)}.primary-link span{font-size:1.3125rem;line-height:1}.hero-dates{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--muted);font-size:0.75rem;margin-top:28px;letter-spacing:.6px}.hero-dates time{font-family:Georgia,serif}.hero-photos{position:relative;padding:4px 20px 25px 17px}.hero-polaroid{padding:15px 15px 23px;background:#fffdf7;box-shadow:0 8px 40px #523f2e16,0 0 1px #b7a28e;transform:rotate(3deg);position:relative}.hero-polaroid::before{content:"";position:absolute;top:-16px;left:36%;width:117px;height:35px;background:#deccb08c;transform:rotate(-6deg);z-index:2;clip-path:polygon(1% 3%,99% 0,97% 96%,0 100%)}.photo-crop{overflow:hidden;position:relative;background:var(--paper-deep)}.hero-polaroid .photo-crop{aspect-ratio:.89}.photo-crop img{display:block;max-width:none}.quadrant img{position:absolute;width:200%;height:200%;object-fit:fill}.bottom-right img{left:-100%;top:-100%}.top-left img{left:0;top:0}.top-right img{left:-100%;top:0}.bottom-left img{left:0;top:-100%}.hero-polaroid figcaption{font:1.25rem/1.5 var(--hand);text-align:center;color:#6a5148;padding-top:20px}.hero-polaroid figcaption span{display:block;font:italic 0.8125rem/1.5 Georgia,serif;color:#9a8879;margin-top:6px}.photo-note{position:absolute;right:-15px;bottom:-17px;font:1.625rem var(--hand);color:var(--wine);transform:rotate(-9deg);letter-spacing:2px}.photo-note span{font-size:2.3125rem;vertical-align:middle;margin-left:10px}.photo-stamp{position:absolute;width:100px;height:100px;border:1px solid #a7746a;border-radius:50%;outline:1px solid #a7746a;outline-offset:-5px;bottom:42px;left:-33px;background:var(--paper);color:var(--wine);font:0.75rem/1.25 Georgia,serif;text-align:center;padding-top:16px;transform:rotate(-16deg);letter-spacing:1.5px}.photo-stamp strong{font:1.875rem/1.1 Georgia,serif}.hero-bottom{grid-column:1/-1;border-bottom:1px solid var(--line);margin-top:64px;padding-bottom:23px;display:flex;justify-content:space-between;font-size:0.75rem;letter-spacing:1.8px;color:var(--muted)}.hero-bottom a{font-size:0.75rem;letter-spacing:1px}.hero-bottom a span{padding-left:13px}.opening{padding-top:100px;padding-bottom:100px;text-align:center}.opening h2{font:500 clamp(28px,2.8vw,38px)/1.7 var(--serif);margin-top:23px;letter-spacing:2px}.opening>p:not(.eyebrow){color:var(--muted);font-family:var(--serif);line-height:2.2;margin-top:25px}.handwriting{display:block;font:1.375rem var(--hand);color:var(--wine);margin-top:20px}.site-footer{max-width:1168px;margin:auto;border-top:1px solid var(--line);text-align:center;padding:45px 24px 35px}.site-footer>a{font:1.375rem var(--serif);color:var(--wine);letter-spacing:3px}.site-footer p{font-size:0.8125rem;color:var(--muted);margin-top:15px}.site-footer>span{font:italic 0.75rem Georgia,serif;color:#97867d;display:block;margin-top:9px}
@media(min-width:1450px){.hero{padding-top:80px}.hero-copy{padding-top:45px}}
@media(max-width:1000px){.section-width{padding-left:34px;padding-right:34px}.site-header{padding:0 34px;gap:15px}.site-header nav{gap:20px}.hero{gap:25px;padding-top:40px}.hero-copy{padding-top:10px}h1{font-size:3rem}.eyebrow{font-size:0.75rem;letter-spacing:1.6px}.dedication{margin-top:24px}.hero-description{font-size:1rem}.hero-photos{padding:20px 10px 20px 0}.hero-polaroid{padding:10px 10px 18px}.hero-polaroid .photo-crop{aspect-ratio:.78}.photo-stamp{left:-25px;bottom:25px;width:83px;height:83px;padding-top:12px;font-size:0.75rem}.photo-stamp strong{font-size:1.5rem}.hero-dates{max-width:300px;gap:5px}.hero-bottom{margin-top:50px}.hero-polaroid figcaption{font-size:1.0625rem}.domain{font-size:0.8125rem}}
@media(max-width:700px){html{scroll-padding-top:24px}.section-width{padding-left:25px;padding-right:25px}.site-header{height:82px;padding:0 25px;flex-wrap:wrap;gap:6px}.brand{font-size:1rem;gap:10px;letter-spacing:1px}.brand-mark{font-size:1.5625rem}.site-header nav{display:none}.domain{font-size:0.8125rem;letter-spacing:0}.hero{grid-template-columns:1fr;padding-top:22px;gap:0}.hero-copy{padding-top:0}.eyebrow{font-size:0.75rem;letter-spacing:1.8px}.fine-line{width:23px;margin-right:10px}.dedication{margin-top:27px;font-size:1.125rem}h1{font-size:clamp(40px,10.6vw,60px);margin-top:10px;letter-spacing:1px;line-height:1.45}.little-heart{right:-24px;font-size:1.5625rem}.hero-description{margin-top:20px;font-size:1rem;line-height:2}.primary-link{margin-top:24px;padding:13px 20px;gap:30px}.hero-dates{max-width:none;margin-top:21px;font-size:0.75rem;gap:7px}.hero-photos{margin-top:44px;padding:0 13px 22px;max-width:470px;width:100%;justify-self:center}.hero-polaroid{padding:11px 11px 20px;transform:rotate(2deg)}.hero-polaroid .photo-crop{aspect-ratio:1.03}.hero-polaroid figcaption{font-size:1.1875rem;padding-top:15px}.photo-stamp{left:-4px;bottom:100px}.photo-note{right:0;bottom:-20px;font-size:1.4375rem}.hero-bottom{margin-top:50px;padding-bottom:19px;gap:15px;font-size:0.75rem}.hero-bottom>a{font-size:0.75rem}.hero-bottom>span:last-child{display:none}.opening{padding-top:68px;padding-bottom:67px}.opening h2{font-size:1.6875rem;letter-spacing:1px;margin-top:20px}.opening>p:not(.eyebrow){font-size:1rem;margin-top:20px}.desktop-break{display:none}.site-footer{margin:0 25px;padding:34px 0}.site-footer>a{font-size:1.25rem}.site-footer p{font-size:0.75rem}.site-footer>span{font-size:0.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.photo-crop.direct img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-bottom:100px}.timeline-photo{padding:0 24px 0 6px;position:relative}.timeline-photo figure{padding:12px 12px 21px;background:#fffdf8;transform:rotate(-3deg);box-shadow:0 8px 30px #49372510}.timeline-photo img{display:block;width:100%;height:auto}.timeline-photo figcaption{font:1rem/1.6 var(--hand);color:var(--muted);text-align:center;padding-top:16px}.margin-note{display:block;margin-top:27px;text-align:center;color:var(--wine);font:1.5rem var(--hand);transform:rotate(-3deg)}.timeline-entries{border-left:1px solid #c7ac9b;padding-left:36px}.timeline-entries article{position:relative;padding-bottom:40px}.timeline-entries article:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-41px;top:12px;width:9px;height:9px;background:var(--wine);border-radius:50%;outline:5px solid var(--paper)}.timeline-entries time{font:0.8125rem/1.3 Georgia,serif;color:var(--wine);letter-spacing:1px}.timeline-entries time b{font-weight:400;font-size:1.6875rem;margin-left:12px}.timeline-entries h3{font:1.5rem/1.8 var(--serif);margin-top:9px;letter-spacing:1px}.timeline-entries p{color:var(--muted);font-size:1rem;line-height:2;margin-top:9px}.timeline-entries .small-quote{font:1.1875rem/1.8 var(--hand);color:var(--wine);margin-top:11px}.days-section{background:var(--wine);color:var(--paper);padding:52px 25px 45px;text-align:center;position:relative;overflow:hidden}.days-inner>p{font-size:0.8125rem;letter-spacing:2px;color:#edd9d5}.days-inner time{font-family:Georgia,serif;letter-spacing:1px}.days-counter{display:flex;align-items:baseline;justify-content:center;gap:28px;margin-top:5px;line-height:1.5}.days-counter strong{font:italic 6.25rem/1.4 Georgia,serif;letter-spacing:5px;font-weight:400}.days-word,.days-unit{font:1.3125rem var(--serif)}.days-inner .days-footnote{font:1.1875rem/1.8 var(--hand);letter-spacing:1px}.days-side{position:absolute;left:6%;top:50%;font:0.75rem Georgia,serif;letter-spacing:2px;writing-mode:vertical-rl;transform:translateY(-50%);color:#d8aaad}.moments{padding-top:104px;padding-bottom:104px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:39px}.section-heading h2{font:500 2.25rem/1.6 var(--serif);letter-spacing:2px;margin-top:14px}.section-heading>p{font-size:0.875rem;color:var(--muted);line-height:2}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.memory-image{aspect-ratio:1.27;position:relative;overflow:hidden;background:var(--paper-deep)}.memory-image img{width:100%;height:100%;object-fit:cover;display:block}.memory-image>span{position:absolute;bottom:13px;left:13px;color:var(--ink);background:#fffcf2ef;padding:3px 9px;font:0.75rem/1.8 Georgia,serif;letter-spacing:1.5px}.memory-text{padding-top:22px}.memory-number{font-size:0.75rem;letter-spacing:1.3px;color:var(--wine)}.memory-text h3{font:1.4375rem/1.6 var(--serif);letter-spacing:.5px;margin-top:9px}.memory-text p{font-size:0.9375rem;line-height:2;color:var(--muted);margin-top:11px}.keepsake{display:flex;gap:28px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 15px;margin-top:43px}.star-mark{font:4.375rem/1 Georgia,serif;color:#ab8046}.keepsake p{font:1rem/2 var(--serif);color:#77635a;margin-top:7px}.keepsake-note{font:1.625rem/1.5 var(--hand);color:var(--wine);margin-left:auto;transform:rotate(-8deg);padding:0 18px;flex-shrink:0}.journey{background:#eee7d8;overflow:hidden}.journey-inner{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;padding-top:86px;padding-bottom:96px;position:relative}.journey-copy{padding-top:15px}.journey-copy h2{font:500 3.375rem/1.55 var(--serif);letter-spacing:4px;margin-top:26px}.journey-copy h2 em{font-style:normal;color:var(--wine)}.journey-copy>p:not(.eyebrow){font:1rem/2.1 var(--serif);color:#7e6a5d;margin-top:24px}.journey-copy .handwriting{font-size:1.375rem;margin-top:31px;max-width:350px;line-height:1.8}.journey-main{background:#fffdf7;padding:12px 12px 19px;transform:rotate(2deg);align-self:start;margin:16px 15px 0 35px;box-shadow:0 8px 40px #49372513;position:relative;z-index:1}.journey-main img{width:100%;height:auto;display:block;aspect-ratio:.82;object-fit:cover}.journey-main figcaption{font:1.25rem/1.8 var(--hand);color:var(--wine);text-align:center;padding-top:13px}.journey-small{position:absolute;z-index:2;width:173px;bottom:38px;left:46%;padding:9px 9px 12px;background:var(--paper);transform:rotate(-9deg);box-shadow:0 5px 25px #49372518}.journey-small img{width:100%;height:auto;display:block;aspect-ratio:.9;object-fit:cover}.journey-small figcaption{font:0.9375rem/1.4 var(--hand);text-align:center;color:var(--muted);padding-top:8px}.album{padding-top:103px;padding-bottom:100px}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 24px}.album-grid figure{min-width:0}.album-photo{position:relative;border:0;background:var(--paper-deep);display:block;width:100%;padding:0;aspect-ratio:.89;overflow:hidden}.album-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.album-photo:hover img{transform:scale(1.045)}.album-photo>span{position:absolute;right:14px;bottom:14px;background:#fffaf0eb;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:1.3125rem;color:var(--wine);opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.album-photo:hover>span,.album-photo:focus-visible>span{opacity:1;transform:none}.album-grid figcaption{font:1.0625rem/1.7 var(--hand);color:#6e594e;padding:14px 2px 0;display:flex;gap:13px}.album-grid figcaption b{font:0.75rem/2.5 Georgia,serif;color:#987e6d;font-weight:400}.letter-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:74px;padding-top:70px;padding-bottom:70px;border-top:1px solid var(--line);align-items:start}.letter-intro{padding-top:50px}.letter-intro h2{font:500 2.25rem/1.8 var(--serif);letter-spacing:2px;margin-top:22px}.letter-intro>p:not(.eyebrow){font-size:1rem;line-height:2.3;color:var(--muted);margin-top:25px}.letter-dedication{font:0.75rem/1.8 Georgia,serif;letter-spacing:2px;color:#a28c7b;display:block;margin-top:50px}.letter-paper{background:#fffdf7;border:1px solid #ded3c5;padding:37px 40px 28px;box-shadow:5px 6px 0 var(--paper-deep);position:relative}.letter-index{font-size:0.75rem;color:#a38d7d;letter-spacing:1.5px}.letter-paper h3{font:1.625rem/1.7 var(--hand);margin-top:28px;color:var(--wine)}.letter-paper p{font:1.125rem/2.15 var(--hand);color:#715b4e;margin-top:18px}.letter-more{margin-top:17px}.letter-more summary{list-style:none;display:flex;justify-content:space-between;gap:15px;align-items:center;color:var(--wine);font-size:0.8125rem;border-top:1px solid var(--line);padding-top:15px;cursor:pointer}.letter-more summary::-webkit-details-marker{display:none}.summary-plus{font-size:1.4375rem;font-weight:300;line-height:1.1}.read-less{display:none}.letter-more[open] .read-less{display:inline}.letter-more[open] .read-more{display:none}.letter-more[open] .summary-plus{transform:rotate(45deg)}.letter-signature{margin-top:29px;text-align:right;color:var(--wine);font-family:var(--hand)}.letter-signature>span{display:block;font-size:1.0625rem}.letter-signature strong{display:block;font-size:1.5625rem;line-height:1.7;margin-top:10px;font-weight:400}.letter-paper .letter-source{font:0.75rem/1.7 var(--sans);color:#a59181;margin-top:28px;letter-spacing:.5px}.closing{text-align:center;padding-top:70px;padding-bottom:88px}.closing-heart{color:var(--wine);font:2.8125rem/1.3 Georgia,serif}.closing>p{font:1.3125rem/1.7 var(--hand);color:#876e60;margin-top:16px}.closing h2{font:500 3rem/1.6 var(--serif);letter-spacing:5px;margin-top:21px}.closing h2 span{color:var(--wine)}.closing-en{display:block;font:italic 0.875rem/1.8 Georgia,serif;color:#a08a7c;margin-top:15px}.closing>a{font-size:0.75rem;color:var(--wine);border-bottom:1px solid #b8968d;display:inline-block;margin-top:35px;padding-bottom:4px}.closing>a span{padding-left:15px}.album-open{overflow:hidden}.lightbox{border:0;padding:0;background:transparent;color:#fff9f0;max-width:calc(100vw - 40px);max-height:calc(100dvh - 30px);overflow:visible}.lightbox::backdrop{background:#251b19ed;backdrop-filter:blur(7px)}.lightbox-inner{position:relative;text-align:center;max-width:100%}.lightbox-inner>img{display:block;max-width:100%;max-height:calc(100dvh - 175px);width:auto;height:auto;object-fit:contain;margin:0 auto}.lightbox-close{position:absolute;right:4px;top:4px;border:0;border-radius:50%;background:#352824c9;color:#fff;width:42px;height:42px;font:2rem/1 var(--sans);z-index:2}.lightbox-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:18px}.lightbox-caption button{border:1px solid #8f776c;background:transparent;border-radius:50%;color:inherit;min-width:44px;height:44px;font-size:1.375rem}.lightbox-caption p{font:1.1875rem/1.7 var(--hand)}.lightbox-caption span{font:0.75rem/2 Georgia,serif;letter-spacing:2px;color:#c9b3a6}.lightbox button:focus-visible{outline-color:#fff9f0}
@media(max-width:1000px){.timeline{gap:45px}.timeline-entries{padding-left:27px}.timeline-dot{left:-32px}.memory-grid{gap:21px}.section-heading h2{font-size:2rem}.memory-text h3{font-size:1.25rem}.keepsake{gap:20px;padding-left:0;padding-right:0}.keepsake-note{padding-right:0;font-size:1.4375rem}.journey-inner{gap:20px}.journey-copy h2{font-size:2.8125rem}.journey-copy .eyebrow{font-size:0.75rem}.journey-main{margin-left:0;margin-right:0}.journey-small{left:45%;width:135px;bottom:30px}.journey-copy .handwriting{font-size:1.1875rem;max-width:285px}.letter-section{gap:35px;grid-template-columns:.9fr 1.1fr}.letter-intro h2{font-size:1.875rem}.letter-paper{padding:28px}.album-grid{gap:30px 20px}}
@media(max-width:700px){.timeline{grid-template-columns:1fr;gap:50px;padding-bottom:65px}.timeline-photo{padding:0 9px;max-width:460px;margin:0 auto;width:100%}.margin-note{font-size:1.375rem}.timeline-entries{margin-left:9px;padding-left:27px}.timeline-entries article{padding-bottom:30px}.timeline-entries h3{font-size:1.4375rem}.timeline-entries p{font-size:1rem}.timeline-entries .small-quote{font-size:1.1875rem}.days-section{padding:35px 24px 34px}.days-counter{gap:20px}.days-counter strong{font-size:5.0625rem;letter-spacing:3px}.days-inner>p{font-size:0.75rem;letter-spacing:1px}.days-word,.days-unit{font-size:1.125rem}.days-inner .days-footnote{font-size:1.125rem}.days-side{display:none}.moments{padding-top:66px;padding-bottom:66px}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:1.75rem;letter-spacing:1px;line-height:1.7;margin-top:15px}.section-heading>p{font-size:0.875rem;margin-top:17px;line-height:1.8}.section-heading>p br{display:none}.memory-grid{grid-template-columns:1fr;gap:35px}.memory-image{aspect-ratio:1.5}.memory-text{padding-top:17px}.memory-text h3{font-size:1.4375rem;margin-top:7px}.memory-text p{font-size:1rem;line-height:1.9;margin-top:8px}.keepsake{gap:15px;padding:24px 0;margin-top:32px;align-items:start}.star-mark{font-size:2.9375rem;line-height:1.4}.keepsake p{font-size:1rem}.keepsake p br{display:none}.keepsake-note{display:none}.journey-inner{grid-template-columns:1fr;padding-top:59px;padding-bottom:80px;gap:30px}.journey-copy{padding-top:0}.journey-copy h2{font-size:2.625rem;line-height:1.55;margin-top:20px;letter-spacing:3px}.journey-copy>p:not(.eyebrow){font-size:1rem;line-height:2;margin-top:20px}.journey-copy>p:not(.eyebrow) br{display:none}.journey-copy .handwriting{font-size:1.3125rem;max-width:none;margin-top:22px}.journey-main{max-width:420px;width:calc(100% - 18px);justify-self:center;margin:8px 0 0 6px;padding:10px 10px 17px}.journey-main img{aspect-ratio:.94;object-position:center 47%}.journey-main figcaption{font-size:1.1875rem}.journey-small{width:118px;bottom:30px;left:19px;transform:rotate(-8deg)}.journey-small figcaption{font-size:0.75rem}.journey-small img{aspect-ratio:1.1}.album{padding-top:65px;padding-bottom:65px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 13px}.album-photo{aspect-ratio:.76}.album-grid figcaption{font-size:1rem;gap:7px;line-height:1.6;padding-top:10px}.album-grid figcaption b{font-size:0.75rem;line-height:2.4}.album-photo>span{opacity:1;transform:none;right:7px;bottom:7px;width:27px;height:27px;font-size:1.125rem}.letter-section{grid-template-columns:1fr;gap:30px;padding-top:52px;padding-bottom:45px}.letter-intro{padding-top:0}.letter-intro h2{font-size:1.9375rem;line-height:1.7;margin-top:20px}.letter-intro>p:not(.eyebrow){font-size:1rem;line-height:2;margin-top:19px}.letter-dedication{margin-top:22px;font-size:0.75rem;letter-spacing:1.6px}.letter-paper{padding:25px 23px 24px}.letter-paper h3{margin-top:24px;font-size:1.5625rem}.letter-paper p{font-size:1.1875rem;line-height:2.1}.letter-signature>span{font-size:1.0625rem}.letter-signature strong{font-size:1.5rem}.letter-paper .letter-source{font-size:0.75rem}.closing{padding-top:28px;padding-bottom:52px}.closing-heart{font-size:2.375rem}.closing>p{font-size:1.3125rem;margin-top:14px}.closing h2{font-size:clamp(26px,7.3vw,38px);letter-spacing:1px;margin-top:16px}.closing-en{font-size:0.75rem}.lightbox{max-width:calc(100vw - 24px)}.lightbox-caption{gap:10px}.lightbox-caption p{font-size:1.0625rem}.lightbox-caption button{min-width:42px;height:42px;font-size:1.25rem}.lightbox-inner>img{max-height:calc(100dvh - 190px)}}
