html{scroll-padding-top:calc(120px + var(--safe-top))}.site-header{position:sticky;top:0;z-index:60;background:#fff1f5f5;backdrop-filter:blur(12px)}.site-header nav{margin-left:auto;margin-right:20px}.site-header .record-player{position:relative;inset:auto;flex:0 0 58px;width:58px;height:58px;margin-left:8px}.site-header .record-button{width:58px;height:58px}.site-header .record-disc{width:48px;height:48px}.site-header .record-needle{height:23px;right:3px}.site-footer{padding-bottom:35px}
.together{padding-top:65px;padding-bottom:65px;border-top:1px dashed #e8b8cb}.together-heading>p:last-child{font-size:12px;color:var(--muted);line-height:1.9}.together-heading h2{font-size:32px}.together-heading h2 em{font-style:normal;color:#bd4576}.together-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;margin-top:30px}.together-counter,.countdown-card{padding:27px;border:1px solid #edc5d5;background:#fff9fc;border-radius:18px}.together-counter>span,.countdown-card>span{font-size:11px;color:var(--muted);letter-spacing:1px}.together-counter p{display:flex;align-items:baseline;gap:12px;margin:12px 0}.together-counter strong{font:64px/.95 var(--serif);color:#b14972;font-variant-numeric:tabular-nums}.together-counter p>span{font-size:13px}.together-counter #together-clock{letter-spacing:3px;font-size:12px;font-variant-numeric:tabular-nums}.countdown-card{display:flex;flex-direction:column;justify-content:center;gap:18px}.countdown-card strong{font:35px var(--serif);color:#b14972}.countdown-card time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.milestone-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px}.milestone-heading p{font-size:13px;margin:0 0 7px}.milestone-heading span{font-size:11px;color:var(--muted)}#open-letter{min-height:44px;padding:10px 17px;border:1px solid #d991ae;border-radius:25px;background:#fff8fb;font:12px var(--sans);color:#a7476d}.milestone-list{list-style:none;padding:25px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0}.milestone-list li{border-top:2px solid #edcad8;position:relative;padding:17px 0 0}.milestone-list li:before{content:'';position:absolute;left:0;top:-5px;width:8px;height:8px;background:#e9bfd0;border-radius:50%}.milestone-list .is-reached{border-color:#ba527e}.milestone-list .is-reached:before{background:#ba527e}.milestone-list time,.milestone-list small{display:block;font-size:10px;line-height:1.8;color:var(--muted)}.milestone-list span{display:block;font:15px var(--serif);margin:8px 0;color:var(--ink)}
.memory-browse{align-items:center}.memory-browse label{max-width:360px}.browse-actions{margin-left:auto}.chapter-nav{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 36px}.chapter-nav a{display:inline-flex;align-items:center;min-height:42px;padding:8px 15px;background:#fff8fb;border:1px solid #e9bfd0;border-radius:22px;font-size:11px;color:#a7476d}#photo-grid.photo-grid{columns:auto;padding:0;display:block}.memory-chapter{position:relative;padding:0 0 42px 26px;scroll-margin-top:calc(120px + var(--safe-top))}.memory-chapter:before{content:'';position:absolute;left:2px;top:60px;bottom:0;border-left:1px dashed #e6b3c8}.chapter-heading{position:relative;min-height:170px;padding:36px 0 22px;isolation:isolate}.chapter-heading:before{content:'';position:absolute;width:9px;height:9px;border:3px solid #fff1f5;border-radius:50%;background:#bd4576;left:-30px;top:52px}.month-watermark{position:absolute;right:12px;top:-23px;font:160px/1 var(--serif);letter-spacing:-8px;color:#edd0dc;opacity:.6;z-index:-1;pointer-events:none}.chapter-heading h3{margin:0 0 15px;font:35px var(--serif);letter-spacing:2px;color:#9f486b}.chapter-heading p{font:16px var(--hand);margin:0 0 12px;color:#a8617f}.chapter-heading small{font-size:10px;color:var(--muted)}.chapter-grid{columns:3;column-gap:30px}#photo-grid .featured-photo{max-width:460px;width:calc(100% - 55px);margin:38px auto 55px;padding:14px 14px 18px;transform:rotate(2deg);box-shadow:0 18px 45px -27px #a1496d66;border-radius:10px}#photo-grid .featured-photo:before{width:85px;left:calc(50% - 42px);height:23px;background:#efb4c999;content:'';position:absolute;z-index:2;top:-10px;transform:rotate(-6deg)}.featured-note{font:17px var(--hand);text-align:center;color:#ac6884;margin:16px 0 0}.featured-photo .photo-caption h3{font-size:19px}
.milestone-letter{width:min(510px,calc(100% - 32px));max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 40px);padding:0;overflow:auto;border:1px solid #e5b2c7;border-radius:20px;background:#fff6fa;color:var(--ink)}.milestone-letter::backdrop{background:#61324688;backdrop-filter:blur(8px)}.letter-inner{position:relative;padding:52px 32px 40px;text-align:center}.letter-inner #close-letter{position:absolute;right:13px;top:12px;font-size:23px;min-width:44px;min-height:44px}.letter-inner h2{font:27px/1.6 var(--serif);margin:20px 0;color:#ad4b74}.letter-inner>p:not(.section-kicker){font:16px/2.1 var(--hand);margin:20px 0;color:#95516d}.letter-signature{display:block;font:15px var(--hand);transform:rotate(-3deg);margin-top:30px;color:#ba6489}.celebration-heart{position:absolute;pointer-events:none;bottom:20px;width:20px;height:20px;color:#d7789e}.celebration-heart svg{width:100%;height:100%;fill:currentColor;stroke:none}
@media(max-width:850px){.chapter-grid{columns:2;column-gap:22px}.together-heading h2{font-size:29px}.together-stats{gap:12px}.together-counter,.countdown-card{padding:21px}.milestone-list{gap:15px}}
@media(max-width:580px){html{scroll-padding-top:calc(88px + var(--safe-top))}.site-header .record-player{width:50px;height:50px;flex-basis:50px}.site-header .record-button{width:50px;height:50px;padding:3px}.site-header .record-disc{width:42px;height:42px}.site-header .record-label{width:22px;height:22px}.site-header .record-needle{height:21px;right:1px}.together{padding-top:43px;padding-bottom:42px}.together-heading h2{font-size:26px}.together-heading>p:last-child{font-size:11px}.together-stats{grid-template-columns:1fr 1fr;margin-top:24px;gap:12px}.together-counter{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:13px;padding:20px 22px}.together-counter>p{grid-column:2;grid-row:1/3;margin:0}.together-counter strong{font-size:57px}.together-counter #together-clock{font-size:11px;letter-spacing:2px}.countdown-card{padding:19px 17px;gap:13px}.countdown-card strong{font-size:29px}.countdown-card>span{font-size:10px;letter-spacing:0}.countdown-card time{font-size:10px}.milestone-heading{align-items:start;gap:12px;margin-top:25px}.milestone-heading p{font-size:11px}.milestone-heading span{font-size:10px}#open-letter{font-size:10px;padding:9px 12px;white-space:nowrap}.milestone-list{grid-template-columns:repeat(2,1fr);row-gap:24px}.milestone-list span{font-size:14px}.memory-browse label{min-width:100%;max-width:none}.browse-actions{margin:0}.chapter-nav{gap:7px;margin-bottom:17px}.chapter-nav a{font-size:10px;padding:8px 12px}.memory-chapter{padding-left:15px;scroll-margin-top:calc(90px + var(--safe-top))}.chapter-heading{min-height:155px;padding-top:32px}.chapter-heading:before{left:-19px;top:45px}.chapter-heading h3{font-size:27px}.chapter-heading p{font-size:14px;max-width:85%;line-height:1.8}.month-watermark{font-size:132px;top:-7px;right:0}.chapter-grid{column-gap:17px}#photo-grid .featured-photo{width:calc(100% - 27px);margin-top:29px;margin-bottom:39px;padding:10px 10px 14px}.featured-photo .photo-caption h3{font-size:16px}.featured-note{font-size:14px}.letter-inner{padding:48px 20px 32px}.letter-inner h2{font-size:24px}.letter-inner>p:not(.section-kicker){font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.celebration-heart{display:none}}
