@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-normal-W3Dto7M0.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-normal-DLdKLAvx.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-normal-6K-YXo6g.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-normal-4uxlocMh.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-italic-BEGvmv_3.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-italic-C_Uk1MUY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-italic-D3GtrbRZ.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-italic-AH1vqu4S.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-italic-BoXDRTEW.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-italic-CJpMwFnN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-italic-BdEzgT7i.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-italic-CQvLaSWn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --tail-progress{syntax:"<number>";inherits:true;initial-value:0}.watercolor-room{position:relative;width:100%;aspect-ratio:3/2;isolation:isolate;user-select:none;-webkit-user-select:none;pointer-events:none}.watercolor-background{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent)}.watercolor-layers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.watercolor-layers,.watercolor-cat{opacity:0;transition:opacity .6s ease}.is-ready .watercolor-layers,.is-ready .watercolor-cat{opacity:1}.watercolor-sprite{display:block;width:100%;height:100%;background-image:url(/images/watercolor/details.png);background-repeat:no-repeat}.curtain-layer{position:absolute;right:7%;top:0;width:35%;height:75%;transform-origin:55% 0;transform:scaleX(-1);opacity:.88;animation:curtain-breeze 9s ease-in-out infinite}.sprite-curtain{background-size:196% 165%;background-position:0 0}.ivy-layer{position:absolute;right:-1%;top:24%;width:20%;height:49%;transform-origin:90% 0;animation:ivy-breeze 7s ease-in-out infinite;animation-delay:-2s}.sprite-ivy{background-size:204% 165%;background-position:100% 0}.watercolor-cat{position:absolute;left:24%;top:33%;width:68%;aspect-ratio:1.5;z-index:3}.cat-breath{display:block;width:100%;height:100%;object-fit:contain;transform-origin:60% 72%;animation:cat-breath 4s ease-in-out infinite}.cat-ear,.cat-tail-segment{transform-box:view-box}.cat-ear-near{transform-origin:20% 31%;animation:ear-near 8s ease-in-out infinite}.cat-ear-far{transform-origin:10% 44%;animation:ear-far 11s ease-in-out infinite;animation-delay:-3s}.cat-tail{animation:tail-pat 9s linear infinite}.cat-tail-segment{transform-origin:0 0;transform:matrix(1,calc(var(--tail-shear) * var(--tail-progress)),0,1,0,calc(var(--tail-offset) * var(--tail-progress)))}.afternoon-light{position:absolute;top:10%;right:18%;bottom:20%;left:18%;background:radial-gradient(ellipse at 48% 30%,#fff6cf35,transparent 70%);animation:afternoon-light 12s ease-in-out infinite}.watercolor-room.is-paused *,.watercolor-room:not(.is-ready) *{animation-play-state:paused!important}.watercolor-room.is-still *{animation:none!important;transition:none!important}@keyframes curtain-breeze{0%,to{transform:scaleX(-1) skew(-2deg) rotate(-1.4deg)}45%{transform:scaleX(-1) skew(4deg) rotate(3.2deg)}72%{transform:scaleX(-1) skew(.5deg) rotate(.3deg)}}@keyframes ivy-breeze{0%,to{transform:rotate(-3deg)}40%{transform:rotate(5deg)}72%{transform:rotate(-.8deg)}}@keyframes ear-near{0%,20%,37%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}29%{transform:rotate(3deg)}33%{transform:rotate(-6deg)}}@keyframes ear-far{0%,54%,72%,to{transform:rotate(0)}60%{transform:rotate(10deg)}64%{transform:rotate(-3deg)}68%{transform:rotate(5deg)}}@keyframes tail-pat{0%,12%{--tail-progress:0;animation-timing-function:cubic-bezier(.4,0,.2,1)}27%{--tail-progress:1;animation-timing-function:cubic-bezier(.55,0,.8,.55)}32%{--tail-progress:-.035;animation-timing-function:ease-out}35%,to{--tail-progress:0}}@keyframes cat-breath{0%,to{transform:scale(1)}50%{transform:scale(1.003,1.012)}}@keyframes afternoon-light{0%,to{opacity:.3}45%{opacity:.9}75%{opacity:.55}}.step-home .site-header{height:96px;max-width:1440px;margin:auto;padding:0 5%}.step-home .nav-letter{padding:12px 0}.home{position:relative;isolation:isolate;max-width:1440px;margin:auto;overflow:clip}.home-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"copy scene" "invitation scene" ". notes";column-gap:24px;width:100%;padding:48px 5% 40px}.home-copy{grid-area:copy;align-self:end;position:relative;z-index:2;padding:0 0 24px}.home-copy h1{font-size:var(--type-display);line-height:1.08;letter-spacing:var(--heading-tracking);color:var(--ink);text-wrap:balance}.home-copy>p{text-wrap:balance;font-size:var(--type-body);line-height:1.75;max-width:37ch;margin-top:24px;color:var(--muted)}.scene-wrap{grid-area:scene;position:relative;align-self:center;width:110%;margin-left:-3%;isolation:isolate;touch-action:pan-y}.scene-notes{grid-area:notes;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 12px;margin-top:8px}.cat-status{font:italic 18px/1.5 var(--serif);color:var(--muted);text-align:center}.home-invitation{grid-area:invitation;align-self:start;position:relative;z-index:3;padding-top:8px}.home-invitation .action{min-width:250px;min-height:56px;padding:14px 24px;gap:24px;border-radius:var(--radius-control);font:500 var(--type-action)/1.5 var(--sans);background:var(--primary)}.home-invitation .action:hover{background:var(--primary-hover)}.under-button{display:block;font-size:var(--type-note);line-height:1.6;color:var(--muted);margin-top:14px}.letter-arrival{display:flex;align-items:center;justify-content:center;gap:clamp(40px,8vw,120px);width:90%;max-width:1040px;min-height:300px;margin:32px auto 48px;padding:40px 0}.arrival-copy h2{font:500 clamp(32px,3.1vw,42px)/1.15 var(--serif);letter-spacing:var(--heading-tracking);color:var(--ink);text-wrap:balance}.arrival-copy p{font-size:var(--type-label);line-height:1.7;margin-top:20px;color:var(--muted)}.sample-invitation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;width:260px;flex-shrink:0;padding:14px;border-radius:var(--radius-control)}.sample-envelope{display:block;width:225px;height:159px;transform:rotate(-3deg)}.sprite-envelope{background-size:214% 254%;background-position:100% 100%}.sample-invitation>span:last-child{display:flex;align-items:center;gap:13px;font-size:var(--type-label);text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--field-line);padding-bottom:6px}.sample-invitation:hover>span:last-child{color:var(--primary);text-decoration-color:currentColor}.home-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;width:90%;max-width:1296px;min-height:88px;font-size:var(--type-note);line-height:1.6;color:var(--muted);margin:0 auto;padding:16px 0}.home-bottom>span:first-child{display:flex;align-items:center;gap:8px}.little-sun{width:6px;height:6px;border-radius:50%;background:var(--brand-light)}.home-bottom>button{display:flex;gap:8px;align-items:center;min-height:44px;padding:12px 0;font-size:var(--type-label)}.prototype-note{font-size:var(--type-note)}@media(min-width:1001px)and (min-height:800px){.home-hero{padding-top:72px;padding-bottom:64px}}@media(max-width:1000px){.home-hero{column-gap:16px;padding:48px 5% 24px}.home-copy h1{font-size:clamp(46px,5.8vw,60px)}.home-copy>p{font-size:var(--type-body);max-width:32ch}.scene-notes{flex-direction:column;gap:0}.cat-status{font-size:17px}.desktop-br{display:none}}@media(max-width:760px){.step-home .site-header{height:80px;padding:0 24px}.home-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "scene" "notes" "invitation";padding:24px 0 36px;column-gap:0}.home-copy{text-align:center;padding:0 24px 16px}.home-copy h1{font-size:clamp(44px,12.3vw,64px);line-height:1.1}.home-copy>p{font-size:var(--type-body);line-height:1.65;max-width:33ch;margin:18px auto 0}.scene-wrap{width:112%;max-width:650px;justify-self:center;margin:0}.watercolor-cat{left:24%;top:33%;width:68%}.ivy-layer{right:4%}.curtain-layer{right:8%}.scene-notes{margin-top:2px;padding:0 20px;gap:0}.cat-status{font-size:17px}.home-invitation{width:100%;padding:12px 28px 0;text-align:center}.home-invitation .action{width:100%;min-width:0;min-height:56px;gap:32px}.under-button{font-size:var(--type-note);margin-top:12px}.letter-arrival{width:calc(100% - 48px);min-height:360px;flex-direction:column;gap:12px;margin:32px auto 24px;padding:24px 0;text-align:center}.arrival-copy h2{font-size:32px}.arrival-copy p{font-size:var(--type-label);max-width:29ch;margin:16px auto 0}.sample-invitation{min-height:192px;width:240px;gap:8px;padding:8px}.sample-envelope{width:202px;height:143px}.home-bottom{width:calc(100% - 48px);min-height:72px;margin-top:0}.home-bottom .prototype-note{width:100%}}@media(max-width:380px){.step-home .site-header{padding:0 20px}.home-hero{padding-top:16px}.home-copy{padding-right:20px;padding-left:20px}.home-copy h1{font-size:42px}.home-copy>p{font-size:var(--type-body);max-width:30ch}.home-invitation{padding-right:20px;padding-left:20px}.cat-status{font-size:16px}.home-bottom{width:calc(100% - 40px)}}@media(prefers-reduced-motion:reduce){.watercolor-room *{animation:none!important;transition:none!important}}.scene-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 14px;font-size:var(--type-note);color:var(--muted)}.scene-toggle:hover{color:var(--ink)}.app:has(.has-reading-room)>.site-header{display:none}.has-reading-room{position:relative;isolation:isolate;max-width:none;min-height:100svh;padding:0 24px}.has-reading-room:has(.letter-layout):after{content:"";display:block;height:60svh}.has-reading-room:has(.envelope-page)>.journey-footer{display:none}.reading-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--paper)}.reading-world{position:absolute;top:50%;left:50%;width:min(1180px,120vw);transform:translate(-50%,-50%)}.reading-wash{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#f5f0e218 0%,#f5f0e238 65%,var(--paper) 100%)}.reading-scrim{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.reading-scrim>div{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--paper)}.has-reading-room:has(.letter-layout) .reading-scrim{opacity:1}.reading-motion-control{position:absolute;top:62px;right:24px;z-index:3;background:var(--paper);border-radius:24px}.has-reading-room .journey-top{position:absolute;inset:14px 24px auto;z-index:3;border:0}.has-reading-room .journey-top .back-button,.has-reading-room .journey-top .private-note{background:var(--paper);padding:12px 16px;border-radius:24px}.has-reading-room .letter-layout{display:flex;flex-direction:column;gap:0;max-width:650px;margin:0 auto;padding-top:calc(100svh - 190px);position:relative}.has-reading-room .letter-sheet{position:relative;width:100%;scroll-margin-top:112px;overflow:clip;box-shadow:var(--shadow)}.letter-sheet-content{display:flex;flex-direction:column}.has-reading-room .letter-sidebar{scroll-margin-top:24px;position:static;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;width:100%;padding:0 42px 24px;background:var(--letter-paper)}.has-reading-room .letter-sidebar h2{display:none}.has-reading-room .letter-sidebar .text-link{margin:0;min-height:44px}.has-reading-room .letter-sidebar .letter-type{margin:0;flex-basis:100%}.has-reading-room .letter-sidebar .skip-link{margin:0;min-height:44px}.has-reading-room .letter-number,.has-reading-room .letter-type,.has-reading-room .letter-postmark{color:var(--muted)}.has-reading-room .letter-paper{width:100%;margin:0;padding:20px 42px 42px;box-shadow:none}.has-reading-room .letter-art{display:none}.has-reading-room .letter-text{margin-top:24px;padding:0 10px}.has-reading-room .letter-text h1{outline:none;font-size:32px}.has-reading-room .letter-paragraph>p{font:24px/1.65 var(--serif);color:var(--ink);margin-bottom:24px;white-space:pre-wrap;overflow-wrap:anywhere}.has-reading-room .after-letter{width:100%;margin:26px 0 0;padding:26px 32px;background:var(--paper);color:var(--ink)}.has-reading-room .feedback-form{position:relative;background:var(--paper);padding:28px}.has-reading-room .envelope-page{height:100svh;min-height:560px;overflow:clip;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 0 24px;text-align:center}.has-reading-room .envelope-page h1{font:500 24px/1.4 var(--serif);letter-spacing:.015em;margin:0 0 22px;color:var(--ink);max-width:90%;overflow-wrap:anywhere}.has-reading-room .envelope-button{width:440px;height:280px;max-width:calc(100vw - 64px);margin:0 auto 30px}.has-reading-room .envelope{transform:rotate(-3deg)}.has-reading-room .envelope-button:hover:not(:disabled) .envelope{transform:rotate(-1deg) translateY(-3px)}.has-reading-room .envelope-flap{transition-duration:1.1s,.01s;transition-delay:.25s,.8s}.has-reading-room .wax-seal{transition:opacity .65s,transform .8s}.has-reading-room .envelope-shell{display:contents}.has-reading-room .envelope-letter{bottom:auto;height:min(238px,max(40px,calc((max(100svh,560px) / 2 - 224px) / 1.12)));transition:none;overflow:hidden;gap:18px;box-shadow:0 8px 22px -12px #5b443338;color:var(--ink)}.has-reading-room .envelope-preview{font:18px/1.6 var(--serif);margin:0;text-align:left}.has-reading-room .envelope-page.is-opening .envelope-front,.has-reading-room .envelope-page.is-opening .envelope-flap,.has-reading-room .envelope-page.is-opening .wax-seal,.has-reading-room .envelope-page.is-opening .envelope-shadow{animation:envelope-slide-away 1.1s 3.3s cubic-bezier(.55,0,.8,.55) forwards}.has-reading-room .envelope-page.is-opening h1{animation:invitation-in .6s reverse both}.has-reading-room .envelope-page.is-opening .open-prompt{animation:invitation-in .6s 3.3s reverse both}.has-reading-room .is-opening .envelope{transform:rotate(0);transition:transform 1.2s var(--ease)}.has-reading-room .open-prompt{font-size:var(--type-note);line-height:1.5;font-weight:400;margin:0;color:var(--muted)}.has-reading-room .envelope-page.is-opening{pointer-events:none}.has-reading-room>.sample-disclosure{position:absolute;bottom:24px;left:24px;right:24px;font-size:var(--type-note);text-align:center;color:var(--muted)}.ink-veil{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.ink-bloom{transform-box:view-box;transform-origin:50% 48%;transform:scale(0)}.has-reading-room:has(.envelope-page.is-opening) .ink-bloom,.has-reading-room:has(.letter-layout) .ink-bloom{animation:ink-open 4.8s cubic-bezier(.4,0,.35,1) forwards}.has-reading-room:has(.envelope-page.is-opening) .ink-veil,.has-reading-room:has(.letter-layout) .ink-veil{animation:veil-clear 4.8s forwards}.has-reading-room:has(.envelope-page) .reading-motion-control{display:none}.has-reading-room:has(.envelope-page:not(.is-opening)) .watercolor-room *{animation-play-state:paused!important}@keyframes ink-open{0%,15%{transform:scale(0)}35%{transform:scale(1.1)}65%{transform:scale(3.6)}to{transform:scale(7.5)}}@keyframes veil-clear{0%,85%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes envelope-slide-away{0%{translate:0 0}to{translate:0 100svh}}@keyframes invitation-in{0%{opacity:0}to{opacity:1}}@media(max-width:760px){.app .site-header nav{gap:12px}.app .nav-letter{min-width:44px;min-height:44px;justify-content:center}.app .nav-letter span{display:none}.app .nav-letter svg:first-child{width:20px;height:20px}.reading-world{width:132vw;max-width:700px}.reading-world .watercolor-cat{left:19%}.has-reading-room{padding:0 20px}.has-reading-room .journey-top{inset:12px 16px auto}.has-reading-room .journey-top .back-button,.has-reading-room .journey-top .private-note{padding:10px 8px}.has-reading-room .private-note{font-size:var(--type-note)}.has-reading-room .letter-layout{max-width:600px}.has-reading-room .letter-sidebar{padding:0 24px 17px;gap:4px 12px}.has-reading-room .letter-paper{padding:12px 24px 30px}.has-reading-room .letter-text{padding:0;margin-top:18px}.has-reading-room .letter-text h1{font-size:30px}.has-reading-room .letter-paragraph>p{font-size:22px;line-height:1.58;margin-bottom:24px}.has-reading-room .after-letter{padding:24px 14px}.reading-motion-control{right:20px;top:52px}.reading-motion-control .scene-toggle{min-height:44px}.has-reading-room .envelope-letter{height:min(183px,max(32px,calc((max(100svh,480px) / 2 - 195.25px) / 1.12)))}.has-reading-room .envelope-page{min-height:480px}.has-reading-room .envelope-page h1{font-size:24px}.has-reading-room .envelope-button{height:225px;margin-bottom:28px}.has-reading-room .envelope{height:195px}}@media(prefers-reduced-motion:reduce){.has-reading-room .envelope-page.is-opening *,.letter-sheet:after{animation:none!important}.has-reading-room:has(.letter-layout) .reading-scrim{animation:none;opacity:1}.has-reading-room:has(.letter-layout) .ink-veil{display:none}.ink-bloom{animation:none!important}}@media print{.reading-backdrop,.reading-motion-control,.has-reading-room:after{display:none!important}.has-reading-room{padding:0;isolation:auto}.has-reading-room .letter-layout{display:block;animation:none;transform:none;margin:0 auto;padding-top:0!important;max-width:650px}.has-reading-room .letter-sheet{box-shadow:none;overflow:visible;transform:none!important}.letter-sheet:after{display:none}.has-reading-room .letter-paper{box-shadow:none;padding:0}.has-reading-room .letter-paragraph>p{font-size:19px}}.letter-grip{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 20px;touch-action:pan-y;cursor:grab}.letter-grip:active{cursor:grabbing}.letter-grip-line{width:32px;height:2px;border-radius:2px;background:var(--field-line)}@media print{.letter-grip{display:none!important}}:root{font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;font-weight:400;color-scheme:light;--paper:#f5f0e2;--letter-paper:#fffaf1;--surface:#eee6d8;--ink:#453c34;--muted:#716256;--line:#ded2c0;--field-line:#968269;--primary:#654c38;--primary-hover:#4f3c2e;--on-primary:#fffaf1;--secondary:#ece3d4;--secondary-hover:#e4d6c1;--selection:#e8d4ae;--accent:#8a622e;--brand-light:#bf914a;--error:#914333;--envelope:#e9d8b9;--envelope-flap:#eedfc3;--wax:#b88e54;--wax-rim:#aa7d43;--stamp-paper:#efe3c9;--sans:"DM Sans",sans-serif;--serif:"Cormorant Garamond",Georgia,serif;--type-body:1rem;--type-action:.9375rem;--type-label:.875rem;--type-note:.8125rem;--type-display:clamp(54px,5.1vw,74px);--type-heading:clamp(42px,4.2vw,60px);--heading-weight:500;--heading-tracking:-.02em;--radius-control:4px;--radius-paper:2px;--ease:cubic-bezier(.22,1,.36,1);--shadow:0 18px 46px -22px #5b443338;--dialog-shadow:0 24px 80px -20px #3b2e2a45}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}button{cursor:pointer;color:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-color:var(--primary)}h1,h2,p{margin:0}h1,h2{text-wrap:balance;font-family:var(--serif);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:1.1}h1:focus{outline:0}em{font-weight:400}h1 em,h2 em{font-style:normal;font-weight:inherit;color:inherit}::selection{background:var(--selection);color:var(--ink)}input,textarea{caret-color:var(--primary);accent-color:var(--primary)}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-thumb{background:var(--field-line);border-radius:7px}img{display:block;max-width:100%}.brand img,.about-brand-mark,.keepsake-top>img,.wax-seal>img,.stamp>img,.letter-postmark>img{object-fit:contain;flex-shrink:0}button{touch-action:manipulation}svg{flex-shrink:0}.brand-art{object-fit:contain;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5.5vw,100px);position:relative;z-index:10}.brand{flex-shrink:0;display:flex;align-items:center;gap:9px;padding:2px 0;min-height:44px}.brand img{width:204px;height:51px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:var(--type-label)}.text-link{min-height:44px;display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid transparent;transition:border-color .2s}.text-link:hover{border-color:currentColor}.nav-letter{display:flex;align-items:center;gap:10px;border:0;border-radius:var(--radius-control);padding:12px 17px;transition:background .2s}.nav-letter:hover{background:var(--secondary)}.action{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 24px;border-radius:var(--radius-control);background:var(--primary);color:var(--on-primary);font-size:var(--type-action);font-weight:500;line-height:1.5;min-height:52px;transition:background .25s,transform .25s;letter-spacing:.01em;pointer-events:auto}.action:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.action:active:not(:disabled){transform:translateY(0)}.action svg{transition:transform .25s}.action:hover svg{transform:translate(3px)}.action.secondary{color:var(--primary);background:var(--secondary)}.action.secondary:hover:not(:disabled){background:var(--secondary-hover)}.journey{max-width:1320px;min-height:calc(100svh - 96px);margin:auto;padding:0 5%}.journey-top{display:flex;align-items:center;justify-content:space-between;min-height:60px;border-top:1px solid var(--line);font-size:var(--type-label);color:var(--muted)}.back-button{min-height:44px;display:flex;gap:8px;align-items:center;padding:10px 0}.private-note{font-family:var(--serif);font-style:italic;font-size:16px}.step-markers{display:flex;gap:7px;position:absolute;left:50%;transform:translate(-50%)}.step-markers span{width:21px;height:2px;background:var(--line)}.step-markers span.complete{background:var(--accent)}.journey h1{font-size:var(--type-heading);line-height:1.1}.journey h1 em{color:inherit}.journey p{font-size:var(--type-body);color:var(--muted);line-height:1.75}.split-panel{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;max-width:1010px;margin:45px auto 60px}.art-panel{position:relative;padding-bottom:25px}.art-panel img{width:100%;mix-blend-mode:multiply;aspect-ratio:1/.88;object-fit:cover;border-radius:45% 45% 4px 4px}.art-panel>span{display:block;text-align:center;font-family:var(--serif);font-style:italic;font-size:21px;transform:rotate(-3deg);color:var(--muted);margin-top:28px}.form-panel{max-width:460px}.form-panel>p{margin:22px 0 31px}.field-label{display:block;font-size:var(--type-label);margin-bottom:8px;color:var(--muted)}.line-input{border:0;border-bottom:1px solid var(--field-line);outline:0;background:transparent;padding:11px 1px 14px;width:100%;border-radius:0;color:var(--ink);font-family:var(--serif);font-size:30px;transition:border-color .2s}.line-input::placeholder{color:var(--muted)}.species{border:0;padding:0;margin:24px 0 30px;display:flex;gap:10px}.species legend{font-size:var(--type-label);margin-bottom:10px;color:var(--muted)}.species button{min-height:44px;padding:10px 18px;border:1px solid var(--field-line);display:flex;gap:16px;align-items:center;font-size:var(--type-label);border-radius:var(--radius-control);min-width:86px}.species button.selected{background:var(--selection);border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.small-note{display:block;font-size:var(--type-note);line-height:1.7;color:var(--muted);margin-top:17px}.journey-footer{display:flex;align-items:center;gap:9px;min-height:65px;border-top:1px solid var(--line);font-size:var(--type-note);color:var(--muted);margin-top:50px}.journey-footer>span{margin-left:auto;font-size:var(--type-note)}.center-panel{text-align:center;padding:35px 0 15px;max-width:760px;margin:auto}.center-panel>p{margin:22px 0}.photo-grid{margin:33px auto;max-width:700px;display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;min-height:205px}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;min-height:210px;width:100%;max-width:470px;background:var(--surface);border:1px dashed var(--field-line);border-radius:var(--radius-control);transition:background .2s}.upload-area:hover{background:var(--secondary-hover)}.upload-area>span{font-size:var(--type-body)}.upload-area>small{font-size:var(--type-note);color:var(--muted)}.has-photos .upload-area{width:175px;min-height:185px}.has-photos .upload-area>small{font-size:var(--type-note)}.photo-print{background:var(--letter-paper);padding:10px 10px 28px;box-shadow:var(--shadow);position:relative;width:180px;flex-shrink:0;transform:rotate(-3deg)}.photo-print img{width:100%;height:155px;object-fit:cover}.photo-print>span{font-family:var(--serif);font-size:16px;font-style:italic;position:absolute;bottom:6px;left:10px;right:10px;text-align:center;color:var(--muted)}.photo-print>button{position:absolute;right:5px;top:5px;background:var(--letter-paper);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;box-shadow:0 3px 10px #0001}.error{color:var(--error)!important;font-size:var(--type-label)!important;margin:15px auto!important;max-width:420px}.spin{animation:sun-turn 1.2s linear infinite}.memory-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;max-width:1000px;margin:50px auto 75px;align-items:center}.memory-photo{text-align:center}.memory-photo .photo-print{width:100%;max-width:340px;margin:auto;padding:14px 14px 48px;transform:rotate(-5deg)}.memory-photo .photo-print img{height:330px}.memory-photo .photo-print>span{font-size:23px;bottom:10px}.memory-counter{display:block;margin-top:40px;font-size:var(--type-note);color:var(--muted)}.form-panel textarea{width:100%;border:0;border-bottom:1px solid var(--field-line);background:transparent;color:var(--ink);font-size:16px;line-height:1.8;padding:12px 0;resize:vertical;min-height:130px;max-height:270px;border-radius:0}.form-panel textarea::placeholder{color:var(--muted)}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:27px}.skip-link{min-height:44px;font-size:var(--type-label);color:var(--muted);padding:10px 0;text-decoration:underline;text-decoration-color:var(--field-line);text-underline-offset:5px}.skip-link:hover{color:var(--ink)}.profile-layout{max-width:800px;margin:30px auto 0;text-align:center}.profile-heading p{margin:20px 0 28px}.keepsake{background:var(--letter-paper);padding:28px 32px 20px;box-shadow:var(--shadow);margin:0 auto 30px}.keepsake-top{display:flex;align-items:center;gap:10px;padding-bottom:16px;color:var(--accent);border-bottom:1px solid var(--line)}.keepsake-top>span{font-family:var(--serif);font-size:18px;font-style:italic}.keepsake-top .postmark-small{font-family:var(--sans);letter-spacing:.15em;font-size:9px;font-style:normal;margin-left:auto}.keepsake-body{display:grid;grid-template-columns:.85fr 1fr;gap:30px;text-align:left;padding:24px 0}.keepsake-body img{width:100%;height:265px;object-fit:cover;filter:saturate(.85)}.keepsake-body label{display:block;font-size:var(--type-label);color:var(--muted);margin:0 0 5px}.keepsake-body input,.keepsake-body textarea{border:0;border-bottom:1px solid var(--field-line);background:none;width:100%;color:var(--ink);padding:4px 0 9px;margin-bottom:24px;font-size:var(--type-body);resize:vertical;border-radius:0}.keepsake-body #profile-name{font-family:var(--serif);font-size:30px;padding-top:0}.keepsake-body textarea{line-height:1.6}.keepsake-bottom{border-top:1px solid var(--line);padding-top:13px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--muted)}.envelope-page{text-align:center;padding-top:24px;min-height:650px}.envelope-page>p{margin:20px 0}.envelope-button{position:relative;width:470px;height:300px;max-width:85%;margin:24px auto 5px;perspective:1000px;display:block;padding:0;overflow:visible}.envelope-button:disabled{opacity:1}.envelope{position:absolute;width:100%;height:250px;bottom:0;transform:rotate(-5deg);transition:transform .8s var(--ease);transform-style:preserve-3d}.envelope-button:hover:not(:disabled) .envelope{transform:rotate(-3deg) translateY(-7px)}.envelope-shadow{position:absolute;width:90%;height:170px;background:#a8946b36;filter:blur(21px);bottom:0;left:10%;transform:rotate(-5deg)}.envelope-front{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--envelope);box-shadow:inset 0 0 40px #ccb58d20;z-index:3;border-radius:3px;overflow:hidden}.envelope-front:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(31deg,transparent 49.7%,#d6c3a34a 50%,transparent 50.3%);pointer-events:none}.envelope-flap{position:absolute;top:0;left:0;width:100%;height:170px;background:var(--envelope-flap);clip-path:polygon(0 0,100% 0,50% 85%);transform-origin:top;z-index:5;transition:transform .65s var(--ease),z-index .01s .3s;filter:drop-shadow(0 2px 1px #b9a18430)}.wax-seal{position:absolute;left:calc(50% - 27px);top:113px;width:54px;height:54px;display:grid;place-items:center;background:var(--wax);color:var(--on-primary);border-radius:48% 45% 50% 44%;z-index:6;box-shadow:0 3px 4px #897a5430,inset 0 0 0 4px var(--wax-rim);transition:opacity .25s,transform .4s}.envelope-to{position:absolute;bottom:38px;left:38px;text-align:left;font-family:var(--serif);font-size:23px;line-height:1.15;color:var(--muted)}.envelope-to em{font-size:17px}.stamp{position:absolute;right:23px;top:18px;width:65px;height:81px;background:var(--stamp-paper);border:4px dotted #d9c7a7;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--accent);gap:4px;transform:rotate(3deg)}.stamp span{font-size:7px;letter-spacing:.15em}.stamp small{font-size:6px;letter-spacing:.1em}.postmark{position:absolute;width:102px;height:102px;border:1px solid #947b5f66;border-radius:50%;right:77px;top:32px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:var(--type-note);color:var(--muted);transform:rotate(-14deg);z-index:1;letter-spacing:.1em}.postmark b{font-size:9px;font-weight:400;border-top:1px solid #947b5f66;border-bottom:1px solid #947b5f66;padding:5px 0;margin:4px 0}.postmark span{font-family:var(--serif);font-style:italic;font-size:12px;letter-spacing:0}.envelope-letter{position:absolute;top:12px;right:20px;bottom:0;left:20px;background:var(--letter-paper);z-index:2;padding:30px;display:flex;flex-direction:column;align-items:flex-start;gap:24px;color:var(--ink);font-family:var(--serif);font-size:29px;transition:transform .8s .45s var(--ease)}.is-opening .envelope{transform:rotate(0)}.is-opening .wax-seal{opacity:0;transform:scale(1.2)}.is-opening .envelope-flap{transform:rotateX(180deg);z-index:1}.is-opening .envelope-letter{transform:translateY(-110px)}.open-prompt{display:flex;align-items:center;justify-content:center;gap:12px;font-size:var(--type-note);margin-top:28px;color:var(--muted)}.envelope-page .sample-disclosure{font-size:var(--type-note);line-height:1.65;margin-top:28px;color:var(--muted)}.letter-layout{display:grid;grid-template-columns:230px minmax(0,660px);column-gap:60px;max-width:1010px;margin:40px auto 0;align-items:start}.letter-sidebar{position:sticky;top:45px;padding-top:40px}.letter-number{font-size:var(--type-note);color:var(--muted)}.letter-sidebar h2{font-size:43px;line-height:1.06;margin-top:18px}.letter-sidebar h2 em{color:inherit}.letter-sidebar>p{margin-top:20px;font-size:var(--type-note)}.letter-sidebar .text-link{font-size:var(--type-note);margin-top:32px}.letter-type{display:block;font-size:var(--type-note);line-height:1.6;margin-top:24px;color:var(--muted)}.letter-paper{background:var(--letter-paper);box-shadow:var(--shadow);padding:26px 40px 34px;position:relative}.letter-art img{width:100%;height:260px;object-fit:cover;mix-blend-mode:multiply}.letter-art>span{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--muted);display:block;text-align:center;margin-top:0}.letter-text{margin-top:36px;padding:0 17px}.letter-text h1{font-size:31px;letter-spacing:-.02em;margin-bottom:21px}.letter-text>p{font-family:var(--serif);font-size:22px;color:var(--ink);line-height:1.55;margin-bottom:21px}.letter-text .signature{margin-top:31px;font-size:20px}.signature>span{font-size:38px;font-style:italic;display:block;margin-top:8px;color:var(--ink)}.letter-postmark{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:26px;font-size:var(--type-note);letter-spacing:.06em;color:var(--muted)}.after-letter{grid-column:2;text-align:center;margin-top:35px;color:var(--muted)}.after-letter>p{margin-top:9px;margin-bottom:17px;font-size:var(--type-note)}.after-letter .skip-link{display:block;margin:12px auto}.reply-panel{max-width:640px}.reply-paper{text-align:left;padding:30px 35px 20px;background:var(--letter-paper);box-shadow:var(--shadow);margin:28px 0;font-family:var(--serif)}.reply-paper>span{font-size:28px}.reply-paper textarea{display:block;width:100%;background:none;border:0;margin-top:18px;font-family:var(--serif);font-size:24px;line-height:1.7;resize:vertical;color:var(--ink);min-height:230px}.reply-paper textarea::placeholder{color:var(--muted)}.reply-paper small{font-family:var(--sans);font-size:var(--type-note);display:block;text-align:right;color:var(--muted)}.saved-panel{padding-top:70px;padding-bottom:70px}.saved-seal{margin:0 auto 25px;width:66px;height:66px;border-radius:50%;background:var(--secondary);display:grid;place-items:center;color:var(--accent)}.saved-panel>.skip-link{display:block;margin:15px auto}.about-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#453c3459;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.about-dialog{position:relative;background:var(--letter-paper);padding:44px 40px 36px;width:540px;max-width:100%;max-height:90svh;overflow:auto;box-shadow:var(--dialog-shadow)}.about-dialog>.about-brand-mark{color:var(--brand-light);width:42px;height:46px;margin-bottom:20px}.close-button{position:absolute;right:14px;top:14px;width:44px;height:44px;display:grid;place-items:center}.about-dialog h2{font-size:52px;line-height:1.1}.about-dialog h2 em{color:inherit}.about-dialog>p{font-size:var(--type-body);color:var(--muted);line-height:1.75;margin-top:22px}.about-details{display:flex;flex-direction:column;gap:17px;padding:24px 0;margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-details>span{display:flex;align-items:center;gap:12px;font-size:var(--type-label)}.about-dialog>.small-note{font-size:var(--type-note)}.clear-data{margin-top:22px;font-size:var(--type-note);color:var(--muted);text-decoration:underline;text-underline-offset:4px;padding:0}.storage-error{text-align:center}.step-home .site-header{border:0}@keyframes sun-turn{to{transform:rotate(360deg)}}@media(max-width:1100px){.site-header{height:92px;padding:0 5%}.split-panel{gap:6%;margin-top:40px}.letter-layout{grid-template-columns:180px minmax(0,1fr);gap:30px}.letter-paper{padding:20px 25px 30px}.letter-art img{height:230px}.memory-layout{gap:7%}.memory-photo .photo-print img{height:280px}.journey{min-height:calc(100svh - 92px)}}@media(max-width:760px){.site-header{height:81px;padding:0 24px}.brand img{width:148px;height:37px}.brand{gap:7px}.site-header nav{gap:12px}.about-link{display:none}.nav-letter{padding:8px 0;border:0;font-size:var(--type-label);gap:7px}.nav-letter svg:first-child{width:14px}.nav-letter svg:last-child{width:11px}.desktop-br{display:none}.journey{padding:0 24px;min-height:calc(100svh - 81px)}.journey .action{width:100%;max-width:100%;justify-content:space-between;gap:16px;text-align:left}.journey-top{min-height:56px;font-size:var(--type-note)}.private-note{font-size:14px}.step-markers{gap:5px}.step-markers span{width:13px}.journey h1{font-size:44px;line-height:1.1}.journey p{font-size:var(--type-body)}.split-panel{display:flex;flex-direction:column;gap:25px;margin:23px auto 30px;max-width:440px}.art-panel{order:2;padding:0;max-width:270px;margin-top:13px}.art-panel img{aspect-ratio:1/.6;border-radius:40% 40% 2px 2px;opacity:.85}.art-panel>span{font-size:17px;margin-top:13px}.form-panel{width:100%;max-width:none}.form-panel>p{margin:18px 0 27px}.line-input{font-size:29px}.species{margin:22px 0 27px}.form-panel>.action{width:100%;gap:0;justify-content:space-between}.small-note{font-size:var(--type-note);line-height:1.7}.journey-footer{font-size:var(--type-note);line-height:1.7;align-items:flex-start;padding:18px 0;margin-top:32px;gap:7px}.journey-footer>span{display:none}.center-panel{padding-top:27px}.center-panel>p{margin:18px 0}.photo-grid{margin:26px auto;gap:13px;min-height:185px}.photo-grid.has-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.photo-grid.has-photos .photo-print{width:100%;min-width:0}.photo-grid.has-photos .upload-area{width:100%;max-width:none;min-height:170px;padding:12px 8px}.upload-area{min-height:200px}.has-photos .upload-area{width:145px;min-height:167px}.has-photos .upload-area>span{font-size:var(--type-body)}.has-photos .upload-area>small{font-size:var(--type-note)}.photo-print{width:145px;padding:8px 8px 25px}.photo-print img{height:135px}.photo-print>span{font-size:14px}.memory-layout{display:flex;flex-direction:column;gap:25px;margin:25px auto 30px;max-width:440px}.memory-photo{display:flex;align-items:center;max-width:100%;gap:20px;align-self:flex-start;padding-left:7px}.memory-photo .photo-print{width:115px;margin:0;padding:6px 6px 22px;transform:rotate(-6deg)}.memory-photo .photo-print img{height:95px}.memory-photo .photo-print>span{font-size:var(--type-note);bottom:5px}.memory-counter{flex:1;min-width:0;max-width:150px;margin:0;font-size:var(--type-note)}.memory-layout .form-panel h1{font-size:41px}.form-panel textarea{font-size:16px;min-height:120px}.form-actions{margin-top:24px;justify-content:space-between;flex-wrap:wrap}.form-actions .action{gap:16px}.form-actions .skip-link{font-size:var(--type-label)}.profile-layout{margin-top:25px}.profile-heading h1{font-size:44px}.keepsake{padding:16px 18px 13px;margin:0 -5px 26px}.keepsake-top{gap:7px;padding-bottom:12px}.keepsake-top>span{font-size:16px}.keepsake-top img{width:20px}.keepsake-top .postmark-small{font-size:7px}.keepsake-body{grid-template-columns:1fr;gap:17px;padding:18px 0 0}.keepsake-body img{height:170px;object-position:center 48%}.keepsake-body #profile-name{font-size:28px}.keepsake-body textarea,.keepsake-body input{font-size:16px}.keepsake-bottom{font-size:15px;padding-top:10px}.envelope-page{padding-top:25px;min-height:580px}.envelope-page h1{font-size:45px}.envelope-button{width:350px;height:245px;max-width:98%;margin:15px auto 0}.envelope{height:200px}.envelope-flap{height:140px}.wax-seal{width:44px;height:44px;left:calc(50% - 22px);top:91px}.wax-seal img{width:22px}.envelope-to{font-size:20px;left:25px;bottom:29px}.envelope-to em{font-size:15px}.stamp{width:53px;height:67px;right:15px;top:14px}.stamp img{width:20px}.stamp span{font-size:6px}.stamp small{font-size:5px}.postmark{width:85px;height:85px;right:59px;top:24px;font-size:var(--type-note)}.postmark b{font-size:7px}.postmark span{font-size:10px}.envelope-letter{padding:20px;font-size:24px;gap:15px}.open-prompt{margin-top:27px;font-size:var(--type-note)}.envelope-page .sample-disclosure{font-size:var(--type-note);margin-top:26px}.letter-layout{display:flex;flex-direction:column;margin:14px auto 0;gap:0}.letter-sidebar{position:static;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 0 15px;flex-wrap:wrap}.letter-sidebar h2,.letter-sidebar>p{display:none}.letter-number{font-size:var(--type-note)}.letter-sidebar .text-link{margin:0;font-size:var(--type-note)}.letter-type{font-size:var(--type-note);width:100%;margin-top:2px}.letter-paper{padding:14px 20px 26px;margin:0 -9px;width:calc(100% + 18px)}.letter-art img{height:190px}.letter-art>span{font-size:14px;margin-top:0}.letter-text{margin-top:29px;padding:0 2px}.letter-text h1{font-size:27px;margin-bottom:19px}.letter-text>p{font-size:21px;line-height:1.5;margin-bottom:19px}.letter-text .signature{font-size:19px}.signature>span{font-size:35px}.letter-postmark{font-size:var(--type-note);gap:8px;padding-top:17px}.after-letter{align-self:center;margin-top:30px}.after-letter>p{font-size:var(--type-note)}.reply-paper{padding:24px 22px 15px;margin:25px -3px}.reply-paper>span{font-size:27px}.reply-paper textarea{font-size:22px;min-height:210px}.saved-panel{padding-top:60px;padding-bottom:50px}.saved-panel h1{font-size:44px}.about-dialog{padding:36px 24px 28px}.about-dialog h2{font-size:44px}.about-dialog>p{font-size:var(--type-body)}.about-details>span{font-size:var(--type-label)}.about-dialog>.small-note{font-size:var(--type-note)}}@media(max-width:380px){.site-header{padding:0 20px}.brand img{width:132px;height:33px}.nav-letter{font-size:var(--type-note)}.journey{padding:0 20px}.journey h1{font-size:36px}.memory-layout .form-panel h1{font-size:37px}.letter-text>p{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.action:hover{transform:none}}@media print{body{background:#fff}.site-header,.journey-top,.letter-sidebar,.after-letter,.journey-footer{display:none!important}.journey{padding:0;max-width:none}.letter-layout{display:block;margin:0;max-width:none}.letter-paper{box-shadow:none;padding:0;max-width:650px;margin:auto}.letter-art img{height:200px}.letter-text>p{font-size:19px}.letter-paper{break-inside:avoid}}
