/* The calendar is the gift: warm paper, cinnabar dates, generous photo pages. */
[hidden]{display:none!important}
:root{--vermilion:#9a392d;--brown:#5c3028;--ink:#342722;--muted:#75685f}
.music-button{justify-self:end;padding:10px 13px;border:1px solid #cbb7a5;background:transparent;color:var(--brown);font-size:14px;cursor:pointer;white-space:nowrap}
.calendar-stage{padding-top:125px;padding-bottom:80px;min-height:100svh}
.calendar{min-height:590px;width:min(1040px,90vw)}
.cover-page{display:grid;grid-template-columns:1fr .85fr;text-align:left;padding:72px 66px;gap:50px;background:#f8f3e9}
.cover-page:before{inset:18px}.cover-story{align-self:center}.cover-page h1{font-size:clamp(40px,5.5vw,72px);line-height:1.42;letter-spacing:.06em;margin:0;font-weight:400}
.cover-copy{margin:22px 0 30px;font-size:17px}.cover-date{border-left:1px solid #d7c6b3;padding-left:45px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;text-align:center;color:var(--vermilion)}
.cover-date>span{font-size:18px;letter-spacing:.15em}.cover-date strong{font:400 clamp(130px,16vw,218px)/1.1 Georgia,serif;letter-spacing:-.065em;margin:12px 0 10px;padding-right:.05em}.cover-date p{font-size:14px;color:var(--muted);border-top:1px solid #d7c6b3;padding-top:22px;line-height:1.8}
.desk-note{bottom:24px;transform:none;letter-spacing:.08em}.stage-caption{bottom:24px;right:5vw;font-size:14px}.date-count{font:14px/1.9 system-ui,sans-serif!important;margin-top:17px!important}
.rewind-page{position:absolute;inset:0;background:#f8f3e9;z-index:6;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;text-align:center;padding:25px}
.rewind-page>p{font-size:20px;color:var(--brown)}.rewind-page>strong{font:400 clamp(40px,7vw,80px)/1.5 Georgia,serif;color:var(--vermilion);font-variant-numeric:tabular-nums}.rewind-page>span{color:var(--muted);font-size:16px}.rewind-page button{position:relative;z-index:3;background:none;border:0;border-bottom:1px solid var(--line);color:var(--brown);padding:12px;margin-top:35px;cursor:pointer;font-size:14px}
.flying-leaves{position:absolute;inset:0;pointer-events:none;perspective:900px}.flying-leaves i{position:absolute;inset:0;border-top:1px solid #b39776;transform-origin:top;animation:flyleaf .42s linear infinite;box-shadow:0 18px 35px #65452920;background:linear-gradient(transparent 50%,#e3d5bf70)}.flying-leaves i:nth-child(2){animation-delay:.14s}.flying-leaves i:nth-child(3){animation-delay:.28s}@keyframes flyleaf{from{transform:rotateX(0);opacity:.3}to{transform:rotateX(130deg);opacity:0}}
.early-memory{max-width:1100px;margin:0 auto 130px;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.early-memory figure{margin:0;transform:rotate(-2deg);background:#fffaf0;padding:13px 13px 22px;box-shadow:8px 18px 40px #3e2d2020}.early-memory img{max-height:540px;object-fit:contain;background:#ebe2d3}.early-memory figcaption{font-size:14px;line-height:1.8;padding:16px 7px 0;color:var(--muted)}.early-memory h3{font-size:clamp(28px,3.3vw,44px);font-weight:400;line-height:1.65;margin:20px 0}.early-memory p{font-size:17px;line-height:2}.handwritten{color:var(--vermilion)}
.subchapter{margin-bottom:40px}.subchapter h3{font-size:clamp(28px,3.3vw,42px);font-weight:400;line-height:1.6;margin:12px 0}.subchapter>p:last-child{font-size:16px;color:var(--muted);line-height:1.9}.timeline-story,.everyday-story{max-width:1200px;margin:0 auto}.timeline-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.photo-entry{margin:0;min-width:0}.photo-entry button{display:block;width:100%;padding:0;border:0;background:#e8dece;cursor:zoom-in;overflow:hidden}.photo-entry img{aspect-ratio:4/3;object-fit:contain;height:auto;transition:transform .4s}.photo-entry button:hover img{transform:scale(1.025)}.photo-entry figcaption{padding-top:15px}.photo-entry time,.photo-entry .photo-era{font:14px/1.5 system-ui,sans-serif;color:var(--vermilion);display:block;margin-bottom:9px}.photo-entry h4{margin:0;font-size:22px;font-weight:400;line-height:1.7}.photo-entry figcaption p{font-size:15px;line-height:1.8;color:var(--muted);margin:7px 0 0}
.everyday-story{border-top:1px solid var(--line);padding-top:90px;margin-top:100px}.memory-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}.memory-filters button{font-size:15px;padding:12px 17px;border:1px solid #c9b7a5;color:var(--brown);background:transparent;cursor:pointer}.memory-filters button[aria-pressed=true]{color:#fff8ee;background:var(--brown);border-color:var(--brown)}.everyday-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 26px}.everyday-photos img{aspect-ratio:4/5;object-fit:contain}.memory-bridge{margin:120px auto 10px;text-align:center}.memory-bridge span{color:var(--vermilion);font-size:15px;letter-spacing:.16em}.memory-bridge p{font-size:clamp(21px,2.5vw,32px);line-height:2.2}
.retirement-date em{font-style:normal;font-size:16px;line-height:2;max-width:20em}.retirement-letter p{font-size:17px;line-height:2.1}.letter-signature{text-align:right;color:var(--vermilion);font-size:18px;padding-top:15px}.letter-choices{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.letter-choices button{border:1px solid #c6b49e;background:#fffaf0;color:var(--brown);padding:12px 15px;cursor:pointer;font-size:15px;line-height:1.6}.letter-choices button:hover,.letter-choices button[aria-pressed=true]{background:var(--brown);color:#fffaf0}.day-reply{font-size:16px;line-height:2;padding:20px 0;border-bottom:1px solid var(--line);min-height:105px;color:var(--brown)}
.wutai-letter{display:grid;grid-template-columns:1fr 1fr;max-width:1300px;margin:90px auto 0;background:#e7ddca}.wutai-picture{position:relative;min-height:600px}.wutai-picture img{height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.8)}.wutai-picture span{position:absolute;bottom:25px;left:25px;right:25px;color:white;background:#26251bbd;padding:14px;line-height:1.8;font-size:14px}.wutai-content{padding:60px 45px}.wutai-content h3{font-size:clamp(28px,3.1vw,43px);font-weight:400;line-height:1.6;margin:15px 0}.wutai-content>p{font-size:17px;line-height:2}.wutai-content .day-reply{font-size:16px}.text-button{font-size:16px;color:var(--brown);border:0;background:none;border-bottom:1px solid var(--brown);padding:10px 0;cursor:pointer;text-align:left;line-height:1.8}
.photo-dialog{width:min(1100px,96vw);height:92svh;background:#211d19;color:#fff8ed;border:0;padding:50px 24px 20px;max-height:95svh}.photo-dialog::backdrop{background:#161310e8}.photo-dialog>img{width:100%;height:calc(100% - 75px);object-fit:contain}.photo-dialog>p{text-align:center;font-size:16px;line-height:1.8;margin:16px 0}.photo-close{position:absolute;top:6px;right:12px;font-size:32px;border:0;background:transparent;color:white;width:44px;height:44px;cursor:pointer}
.companion{max-width:1150px;margin:90px auto 0;padding:50px;background:#fffaf0;border:1px solid var(--line)}.companion h3{font-size:34px;line-height:1.5;font-weight:400;margin:10px 0}.companion-status{font-size:14px!important;color:var(--muted);line-height:1.8}.companion-messages{max-height:400px;overflow:auto;margin:25px 0;display:grid;gap:14px;overscroll-behavior:contain}.companion-message{padding:16px 20px;max-width:85%;background:#e8dece;font-size:17px;line-height:1.9;white-space:pre-wrap;margin:0}.companion-message.user{justify-self:end;background:#64392f;color:#fff7ee}.companion-form{display:flex;gap:12px}.companion-form textarea{flex:1;min-width:0;font:16px/1.7 system-ui,sans-serif;resize:vertical;padding:14px;border:1px solid #bca48d;background:#fffdf8}.companion-form button{background:var(--brown);color:#fff;border:0;padding:15px;cursor:pointer;font-size:16px}.companion-form button:disabled{opacity:.55;cursor:wait}.companion-note{font-size:13px;color:var(--muted);line-height:1.8}.companion-prompts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.companion-prompts button{background:transparent;border:1px solid var(--line);padding:10px 14px;color:var(--brown);cursor:pointer;font-size:14px}
@media(max-width:820px){.cover-page{padding:60px 36px;gap:25px}.cover-date{padding-left:25px}.cover-date strong{font-size:140px}.cover-page h1{font-size:43px}.calendar{min-height:590px}.early-memory{gap:7%;margin-bottom:85px}.timeline-photos,.everyday-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.wutai-letter{margin:60px 25px 0;grid-template-columns:1fr}.wutai-picture{min-height:360px}.wutai-content{padding:40px}.companion{margin:65px 25px 0;padding:30px}.site-header{grid-template-columns:auto 1fr auto;gap:16px}.site-header nav{justify-content:center;gap:14px}.music-button{font-size:13px;padding:10px}.retirement-date{display:block}.retirement-date em{display:block;margin-top:16px}}
@media(max-width:540px){.site-header{padding:10px 14px;grid-template-columns:auto 1fr;gap:12px}.site-header nav{grid-row:2;grid-column:1/-1;justify-content:space-between;font-size:14px;padding:6px 0 3px}.music-button{grid-column:2;grid-row:1}.calendar-stage{padding:125px 18px 74px}.calendar{min-height:695px}.cover-page{display:flex;flex-direction:column-reverse;gap:18px;padding:38px 28px;align-items:stretch}.cover-date{padding:0;border:0;align-self:auto}.cover-date>span{font-size:15px}.cover-date strong{font-size:107px;line-height:1;margin:3px 0 7px}.cover-date p{font-size:13px;margin:10px 0 0;padding-top:10px}.cover-story{align-self:stretch;text-align:center}.cover-story>.eyebrow{margin-bottom:10px;letter-spacing:.08em!important}.cover-page h1{font-size:34px;line-height:1.45}.cover-page h1 br{display:none}.cover-copy{font-size:16px;margin:13px 0 18px;line-height:1.8}.open-button{margin:auto}.desk-note{display:none}.stage-caption{right:0;left:0;text-align:center;bottom:20px;font-size:13px}.first-day{padding-top:60px}.first-day-copy h2{font-size:25px}.early-memory{grid-template-columns:1fr;gap:35px}.early-memory figure{max-width:360px;margin:auto}.early-memory h3{font-size:29px}.timeline-photos,.everyday-photos{gap:35px 16px}.photo-entry h4{font-size:18px}.photo-entry figcaption p{font-size:14px}.photo-entry time,.photo-entry .photo-era{font-size:13px}.timeline-photos img{aspect-ratio:3/4}.subchapter h3{font-size:27px}.everyday-story{margin-top:65px;padding-top:60px}.memory-filters{gap:8px}.memory-filters button{font-size:14px;padding:10px 11px}.memory-bridge{margin-top:75px}.memory-bridge p{font-size:20px}.retirement-date em{font-size:15px;max-width:none}.retirement-letter p{font-size:17px}.wutai-letter{margin-inline:22px}.wutai-content{padding:30px 23px}.wutai-picture{min-height:280px}.wutai-content h3{font-size:30px}.wutai-content .letter-choices button{padding:10px;font-size:14px}.companion{padding:24px 20px;margin-inline:22px}.companion h3{font-size:28px}.companion-message{max-width:94%;font-size:16px}.companion-form{flex-direction:column}.companion-form button{align-self:end}.photo-dialog{padding-inline:10px}.photo-dialog>p{font-size:14px}.date-count{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

.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}
