:root{--text: #3e3636;--muted: #7b6a6b;--primary: #7c5357;--accent: #d4af37;--shadow: 0 24px 60px rgba(124, 83, 87, .1);--shadow-soft: 0 18px 40px rgba(166, 123, 123, .09);--container: 1120px;--radius-pill: 999px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(circle at top left,rgba(232,180,184,.34),transparent 28%),radial-gradient(circle at 85% 18%,rgba(212,175,55,.12),transparent 18%),linear-gradient(180deg,#fcfaf6,#f7f1ea 52%,#fbf9f5);font-family:Questrial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button{font:inherit}#root{min-height:100vh}.container{width:min(calc(100% - 2rem),var(--container));margin:0 auto}.narrow{width:min(calc(100% - 2rem),820px)}.section{position:relative;padding:8rem 0}.section-tinted{background:linear-gradient(180deg,#efeeeac2,#faf6f1b8);border-top:1px solid rgba(212,175,55,.18);border-bottom:1px solid rgba(212,175,55,.18)}.page-glow{position:fixed;width:36rem;height:36rem;border-radius:50%;filter:blur(60px);opacity:.28;pointer-events:none;z-index:-1}.page-glow-left{top:-10rem;left:-16rem;background:#e8b4b88c}.page-glow-right{top:18rem;right:-14rem;background:#d4af3729}.site-header{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf9f5b8;border-bottom:1px solid rgba(212,175,55,.16)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:5rem}.brand,.site-footer h3,.section-title,.hero-title,.timeline-copy h3,.lightbox-copy h3{font-family:EB Garamond,serif}.brand{font-size:clamp(1.6rem,2vw,2rem);font-style:italic;color:var(--primary)}.desktop-nav,.footer-links{display:flex;align-items:center;gap:1.5rem}.desktop-nav a,.mobile-nav a,.footer-links a,.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-family:EB Garamond,serif;font-size:.82rem}.desktop-nav a,.mobile-nav a,.footer-links a{color:var(--muted);transition:color .18s ease}.desktop-nav a:hover,.mobile-nav a:hover,.footer-links a:hover{color:var(--primary)}.menu-toggle{display:none;border:0;background:transparent;color:var(--primary);padding:.2rem;cursor:pointer}.mobile-nav{display:none;flex-direction:column;gap:1rem;padding:0 1rem 1rem}.mobile-nav.is-open{display:flex}.hero{min-height:calc(100vh - 5rem);display:flex;align-items:center}.hero-inner,.closing-inner{text-align:center}.hero-title{margin:0;color:var(--primary);font-size:clamp(3rem,8vw,5.35rem);line-height:.95;letter-spacing:-.03em}.hero-copy,.section-copy,.letter-body,.timeline-copy p,.site-footer p{color:var(--muted);line-height:1.9}.hero-copy,.section-copy{max-width:42rem;margin:1.2rem auto 0;font-size:1.08rem}.hero-actions{margin-top:2rem}.button{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.8rem;border-radius:var(--radius-pill);font-family:EB Garamond,serif;letter-spacing:.12em;text-transform:uppercase;font-size:.86rem;transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}.button:hover{transform:translateY(-1px)}.button-ghost{color:var(--primary);border:1px solid rgba(212,175,55,.56);background:#ffffff38}.button-ghost:hover{background:#e8b4b824}.button-solid{color:#fff;background:var(--primary);box-shadow:var(--shadow-soft)}.button-solid:hover{background:#956569}.eyebrow{margin:0 0 1rem;color:var(--muted)}.section-heading{text-align:center;margin-bottom:4rem}.section-title{margin:0;color:var(--primary);font-size:clamp(2.2rem,4vw,3.4rem)}.italic{font-style:italic}.letter-card{position:relative;padding:clamp(2rem,4vw,4rem);border:1px solid rgba(212,175,55,.32);background:linear-gradient(180deg,#ffffffe6,#faf5eeeb),url(https://www.transparenttextures.com/patterns/natural-paper.png);box-shadow:var(--shadow)}.letter-seal{position:absolute;top:-1.4rem;left:50%;transform:translate(-50%);display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:#fbf9f5;color:var(--accent)}.letter-body p{margin:0 0 1rem;font-size:1.08rem}.signature{padding-top:.5rem;color:var(--primary);font-size:1.7rem;font-family:EB Garamond,serif;font-style:italic}.timeline{display:grid;gap:3.5rem}.timeline-item{display:grid;grid-template-columns:1.2fr .9fr;gap:2rem;align-items:center}.timeline-item-reverse{grid-template-columns:.9fr 1.2fr}.timeline-item-reverse .timeline-copy{order:2}.timeline-item-reverse .timeline-art{order:1}.timeline-copy{position:relative;padding:2rem 2rem 2rem 0}.timeline-copy:before{content:"";position:absolute;top:1.2rem;left:-1rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px #d4af371f}.timeline-label{margin:0 0 .4rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}.timeline-copy h3{margin:0 0 .8rem;color:var(--primary);font-size:2rem}.timeline-art,.note{border:1px solid rgba(212,175,55,.16);box-shadow:var(--shadow-soft)}.timeline-art{min-height:240px;display:grid;place-items:center;background:linear-gradient(180deg,#ffffff8c,#f2e8dfb3);padding:1rem;text-align:center}.timeline-art span{color:#7c535794;font-family:EB Garamond,serif;font-size:1.5rem;font-style:italic}.organic-shape{border-radius:58% 42% 36% 64%/46% 35% 65% 54%}.organic-shape-one{border-radius:56% 44% 30% 70%/60% 34% 66% 40%}.organic-shape-two{border-radius:34% 66% 63% 37%/44% 55% 45% 56%}.organic-shape-three{border-radius:48% 52% 33% 67%/39% 39% 61% 61%}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:start}.polaroid{background:#ffffffdb;border:1px solid rgba(212,175,55,.14);padding:1rem 1rem 2.6rem;box-shadow:var(--shadow-soft)}.polaroid-button{width:100%;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.polaroid-button:hover{box-shadow:0 26px 50px #7c535724}.polaroid-button:hover .polaroid-hint{opacity:1}.polaroid img{aspect-ratio:4 / 5;object-fit:cover}.polaroid figcaption{padding-top:.9rem;text-align:center;color:var(--primary);font-family:EB Garamond,serif;font-size:1.35rem;font-style:italic}.polaroid-hint{display:block;padding-top:.35rem;text-align:center;color:#7b6a6bc2;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;opacity:.68}.tilt-left{transform:rotate(-2deg)}.tilt-right{transform:rotate(2.5deg)}.offset-down{margin-top:2.4rem}.offset-up{margin-top:-1.8rem}.notes-wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}.note{max-width:20rem;padding:1.6rem 1.4rem;background:#ffffffbd}.note:nth-child(odd){background:#fdfbf7e6}.note .material-symbols-outlined{color:var(--primary);font-size:1.6rem}.note p{margin:.75rem 0 0;color:var(--primary);font-family:EB Garamond,serif;font-size:1.35rem;font-style:italic;line-height:1.45}.closing-section{padding-top:7rem}.site-footer{padding:3rem 0 3.6rem;border-top:1px solid rgba(212,175,55,.18)}.footer-inner{text-align:center}.site-footer h3{margin:0;color:var(--primary);font-size:1.8rem}.site-footer p{margin:.5rem 0 1rem}.site-footer small{display:block;margin-top:1.4rem;color:#7b6a6bb8}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#1c1515a3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:40}.lightbox-panel{position:relative;width:min(100%,980px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:1.5rem;padding:1.2rem;background:linear-gradient(180deg,#fffffff2,#faf5eef5);border:1px solid rgba(212,175,55,.24);box-shadow:0 24px 80px #00000029}.lightbox-close{position:absolute;top:.7rem;right:.7rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:#7c535714;color:var(--primary);cursor:pointer}.lightbox-image{width:100%;height:100%;max-height:72vh;object-fit:cover}.lightbox-copy{display:flex;flex-direction:column;justify-content:center;padding:1rem 1rem 1rem .5rem}.lightbox-copy h3{margin:0;color:var(--primary);font-size:clamp(2rem,4vw,3rem)}.lightbox-copy p:last-child{margin:1rem 0 0;color:var(--muted);line-height:1.8;font-size:1.02rem}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (max-width: 900px){.timeline-item,.timeline-item-reverse{grid-template-columns:1fr}.timeline-item-reverse .timeline-copy,.timeline-item-reverse .timeline-art{order:initial}.timeline-copy{padding:0}.timeline-copy:before{display:none}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox-panel{grid-template-columns:1fr}.lightbox-copy{padding:.25rem .2rem .5rem}}@media (max-width: 720px){.section{padding:6rem 0}.desktop-nav{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.hero-title{font-size:clamp(2.7rem,12vw,4.3rem)}.gallery-grid{grid-template-columns:1fr}.offset-down,.offset-up{margin-top:0}.tilt-left,.tilt-right{transform:none}.footer-links{flex-direction:column;gap:.8rem}}.hero-action-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem}.button-soft{color:var(--primary);border:1px solid rgba(124,83,87,.14);background:#ffffffbd;box-shadow:var(--shadow-soft)}.button-soft:hover{background:#e8b4b82e}.music-player{position:fixed;right:1rem;bottom:1rem;z-index:30;width:min(100% - 2rem,360px)}.music-player-toggle{position:absolute;top:-.9rem;right:1rem;display:grid;place-items:center;width:2.6rem;height:2.6rem;border:0;border-radius:50%;background:var(--primary);color:#fff;box-shadow:var(--shadow-soft);cursor:pointer}.music-player-panel{padding:1.25rem;border:1px solid rgba(212,175,55,.24);background:linear-gradient(180deg,#fffffff2,#faf5eef5);box-shadow:0 24px 80px #00000024;transform:translateY(calc(100% - 4.6rem));transition:transform .22s ease}.music-player.is-open .music-player-panel{transform:translateY(0)}.music-player-label{margin-bottom:.4rem}.music-player-header h3{margin:0;color:var(--primary);font-family:EB Garamond,serif;font-size:1.8rem}.music-player-artist{margin:.4rem 0 0;color:var(--muted)}.music-player-progress{margin-top:1rem}.music-player-progress input{width:100%;accent-color:var(--primary)}.music-player-time{display:flex;justify-content:space-between;margin-top:.35rem;color:var(--muted);font-size:.82rem}.music-player-controls{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1rem}.music-player-controls button{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:0;border-radius:50%;background:#7c535714;color:var(--primary);cursor:pointer}.music-player-controls .music-player-primary{width:3.3rem;height:3.3rem;background:var(--primary);color:#fff}.music-player-playlist{display:grid;gap:.55rem;margin-top:1rem}.music-track{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.8rem .9rem;border:1px solid rgba(124,83,87,.08);background:#ffffff9e;color:var(--text);text-align:left;cursor:pointer}.music-track.is-active{border-color:#d4af375c;background:#e8b4b81f}.music-track-title{color:var(--primary);font-family:EB Garamond,serif;font-size:1.08rem}.music-track-artist{color:var(--muted);font-size:.84rem}@media (max-width: 720px){.music-player{right:.75rem;left:.75rem;width:auto}.music-player-panel{transform:translateY(calc(100% - 4.2rem))}.hero-action-row{flex-direction:column;align-items:center}}.music-player-fallback{margin-top:1rem;padding:.95rem;border:1px solid rgba(212,175,55,.24);background:#e8b4b81a}.music-player-fallback p{margin:0 0 .75rem;color:var(--muted);line-height:1.7;font-size:.92rem}.memory-video-thumb{position:relative}.memory-video-thumb video{width:100%;aspect-ratio:4 / 5;object-fit:cover;display:block}.memory-badge{position:absolute;right:.75rem;bottom:.75rem;padding:.3rem .55rem;background:#3e3636c7;color:#fff;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.chapter-frame{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.chapter-rail{position:sticky;top:0;height:100vh;padding:2rem 1.4rem;border-right:1px solid rgba(212,175,55,.16);background:#fbf9f5b8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:1.5rem}.chapter-brand{display:inline-block}.chapter-meta h2{margin:.35rem 0 0;color:var(--primary);font-family:EB Garamond,serif;font-size:2rem}.chapter-nav{display:grid;gap:.5rem}.chapter-link{display:flex;align-items:center;gap:.9rem;padding:.85rem .95rem;border:1px solid transparent;color:var(--muted)}.chapter-link.is-active{border-color:#d4af374d;background:#e8b4b814;color:var(--primary)}.chapter-index{font-family:EB Garamond,serif;font-size:1.05rem;letter-spacing:.08em}.chapter-rail-button{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:0;padding:.95rem 1rem;background:var(--primary);color:#fff;cursor:pointer}.chapter-main{min-width:0}.chapter-page{min-height:calc(100vh - 6rem);display:flex;align-items:center;padding:3rem 0 1rem}.chapter-shell{width:min(calc(100% - 2rem),1100px)}.chapter-heading{margin-bottom:2rem}.chapter-title{margin:0;color:var(--primary);font-family:EB Garamond,serif;font-size:clamp(3rem,8vw,5rem);line-height:.95}.chapter-copy{max-width:42rem;margin:1rem 0 0;color:var(--muted);line-height:1.9;font-size:1.06rem}.intro-card,.ending-card,.timeline-panel,.memory-gallery-panel{padding:2rem;border:1px solid rgba(212,175,55,.18);background:#ffffff80;box-shadow:var(--shadow-soft)}.intro-card p,.ending-card p{max-width:42rem;color:var(--muted);line-height:1.9;font-size:1.08rem}.letter-card-page{max-width:900px;margin:0 auto}.memories-layout{display:grid;gap:1.5rem}.chapter-panel-heading{margin-bottom:2rem;text-align:left}.notes-wrap-page{justify-content:flex-start}@media (max-width: 980px){.chapter-frame{grid-template-columns:1fr}.chapter-rail{position:static;height:auto;border-right:0;border-bottom:1px solid rgba(212,175,55,.16)}.chapter-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-rail-button{margin-top:0}}@media (max-width: 720px){.chapter-nav{grid-template-columns:1fr}.chapter-page{padding-top:2rem}.chapter-title{font-size:clamp(2.6rem,13vw,4rem)}.chapter-pager{gap:1rem;flex-wrap:wrap}}.chapter-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem}.chapter-actions>span{display:block}@media (max-width: 720px){.chapter-actions{flex-direction:column;align-items:stretch}.chapter-actions .button{justify-content:center}}.birthday-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at top,rgba(249,214,173,.22),transparent 30%),radial-gradient(circle at 80% 20%,rgba(255,173,173,.18),transparent 28%),linear-gradient(180deg,#2f1618,#140b0f 52%,#090608)}.birthday-intro:before,.birthday-intro:after,.return-reveal:before,.return-reveal:after{content:"";position:absolute;border-radius:999px;filter:blur(18px);opacity:.32}.birthday-intro:before,.return-reveal:before{width:18rem;height:18rem;top:8%;left:-4rem;background:#ffd0ba33}.birthday-intro:after,.return-reveal:after{width:22rem;height:22rem;right:-6rem;bottom:-4rem;background:#ffb4a21f}.birthday-intro-count{position:relative;z-index:1;font-family:EB Garamond,serif;font-size:clamp(8rem,28vw,13rem);line-height:1;color:#fff5ee;text-shadow:0 0 42px rgba(255,221,204,.24);animation:birthdayPulse .9s ease both}.birthday-intro-reveal{position:relative;z-index:1;width:min(90vw,38rem);display:grid;gap:1rem;text-align:center;color:#fff5ee;animation:birthdayReveal .9s ease both}.birthday-intro-reveal p{margin:0;font-family:Questrial,sans-serif;font-size:.82rem;letter-spacing:.3em;text-transform:uppercase;color:#ffe8e0bd}.birthday-intro-reveal h1{margin:0;font-family:Cormorant Garamond,EB Garamond,serif;font-size:clamp(3.1rem,10vw,5.9rem);font-weight:500;line-height:.94}.birthday-intro-arrow{justify-self:center;width:3.6rem;height:3.6rem;margin-top:.7rem;display:grid;place-items:center;border:1px solid rgba(255,233,225,.22);border-radius:999px;background:#fff8f41a;color:#fff8f4;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.birthday-intro-arrow:hover{transform:translate(3px);background:#fff8f429;border-color:#ffe9e15c}.birthday-intro-arrow .material-symbols-outlined{font-size:1.55rem}.ending-surprise-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:1.35rem}.return-reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:1.25rem;overflow:hidden;background:radial-gradient(circle at top,rgba(249,214,173,.18),transparent 30%),radial-gradient(circle at 80% 20%,rgba(255,173,173,.16),transparent 28%),linear-gradient(180deg,#1a0e12f5,#10090cfa)}.return-reveal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:transparent}.return-reveal-panel{position:relative;z-index:1;width:min(92vw,48rem);padding:clamp(2rem,5vw,3.5rem);border:1px solid rgba(255,226,213,.12);border-radius:32px;background:linear-gradient(180deg,#fff8f30f,#fff8f308);box-shadow:0 28px 80px #00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.return-reveal-close{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:#fff8f414;color:#fff1ebe6;cursor:pointer}.return-reveal-copy{display:grid;gap:1rem;color:#fff6f0}.return-reveal-line,.return-reveal-punchline,.return-reveal-subcopy{opacity:0;animation:birthdayReveal .7s ease forwards}.return-reveal-line{margin:0;max-width:34rem;font-size:clamp(1.05rem,2.3vw,1.35rem);line-height:1.9;color:#ffece4d1}.return-reveal-punchline{margin:.6rem 0 0;font-family:Cormorant Garamond,EB Garamond,serif;font-size:clamp(3.8rem,12vw,6.8rem);font-weight:500;line-height:.95;color:#fff8f4}.return-reveal-subcopy{margin:0;max-width:33rem;font-size:.98rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.8;color:#ffe9e1a8}.delay-one{animation-delay:.12s}.delay-two{animation-delay:.52s}.delay-three{animation-delay:.92s}.delay-four{animation-delay:1.4s}.delay-five{animation-delay:1.88s}@keyframes birthdayPulse{0%{opacity:0;transform:scale(.72)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}@keyframes birthdayReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.music-player{padding:1.25rem;border:1px solid rgba(212,175,55,.24);border-radius:28px;background:linear-gradient(180deg,#fffffff2,#faf5eef5);box-shadow:0 24px 80px #00000024;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-height:calc(100vh - 2rem);overflow-y:auto;overscroll-behavior:contain}.music-player::-webkit-scrollbar{width:8px}.music-player::-webkit-scrollbar-thumb{background:#7c53572e;border-radius:999px}.music-player-header{position:sticky;top:-1.25rem;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:-1.25rem -1.25rem 0;padding:1.25rem 1.25rem .85rem;background:linear-gradient(180deg,#faf5eefa,#faf5eeeb);border-top-left-radius:28px;border-top-right-radius:28px}.music-player-header .eyebrow{margin-bottom:.35rem}.music-player-header .section-title{font-size:2.15rem}.player-close-button{display:grid;place-items:center;width:2.45rem;height:2.45rem;flex:0 0 auto;border:0;border-radius:50%;background:#7c535714;color:var(--primary);cursor:pointer;position:relative;z-index:3}.player-now-playing{margin-top:1rem;padding:.95rem 1rem;border:1px solid rgba(124,83,87,.08);border-radius:18px;background:#ffffff9e}.player-track-title{margin:0;color:var(--primary);font-family:EB Garamond,serif;font-size:1.22rem;line-height:1.25}.player-track-artist{margin:.35rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}.player-controls{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1rem}.player-icon-button{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:0;border-radius:50%;background:#7c535714;color:var(--primary);cursor:pointer}.player-icon-button:nth-child(2){width:3.3rem;height:3.3rem;background:var(--primary);color:#fff}.player-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;margin-top:1rem}.player-progress span{color:var(--muted);font-size:.82rem;white-space:nowrap}.player-progress input{width:100%;min-width:0;accent-color:var(--primary)}.player-fallback-copy{margin:1rem 0 0;padding:.95rem;border:1px solid rgba(212,175,55,.24);border-radius:18px;background:#e8b4b81a;color:var(--muted);line-height:1.6}.player-playlist{display:grid;gap:.65rem;margin-top:1rem;padding-bottom:.15rem}.playlist-item{display:grid;gap:.2rem;width:100%;padding:.9rem 1rem;border:1px solid rgba(124,83,87,.08);border-radius:18px;background:#ffffff9e;color:var(--text);text-align:left;cursor:pointer}.playlist-item span{display:block;color:var(--primary);font-family:EB Garamond,serif;font-size:1.06rem;line-height:1.25}.playlist-item small{display:block;color:var(--muted);font-size:.8rem;line-height:1.45}.playlist-item.is-active{border-color:#d4af375c;background:#e8b4b81f}.chapter-content{min-width:0;padding-bottom:18rem}@media (max-width: 980px){.chapter-frame{grid-template-columns:1fr}.chapter-rail{position:static;height:auto;min-height:0;padding:1.1rem 1rem 1rem;gap:1rem;border-right:0;border-bottom:1px solid rgba(212,175,55,.16)}.chapter-meta{display:grid;gap:.2rem}.chapter-rail-title{margin:0;color:var(--primary);font-family:EB Garamond,serif;font-size:1.5rem}.chapter-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-link{min-width:0}.chapter-link strong{font-size:.95rem}.chapter-player-trigger{width:100%;justify-content:center}.chapter-page{min-height:0;padding:2rem 0 1rem}.chapter-shell{width:min(calc(100% - 1.5rem),1100px)}.intro-card,.ending-card,.timeline-panel,.memory-gallery-panel{padding:1.4rem}}@media (max-width: 720px){.chapter-content{padding-bottom:24rem}.birthday-intro-reveal{width:min(92vw,30rem)}.ending-surprise-actions{flex-direction:column;align-items:stretch}.ending-surprise-actions .button{justify-content:center}.music-player{right:.75rem;left:.75rem;bottom:.75rem;width:auto;padding:1rem;border-radius:22px;max-height:min(32rem,calc(100vh - 1rem))}.music-player-header{top:-1rem;margin:-1rem -1rem 0;padding:1rem 1rem .75rem;border-top-left-radius:22px;border-top-right-radius:22px}.music-player-header .section-title{font-size:1.8rem}.player-progress{grid-template-columns:1fr;gap:.55rem}.player-progress span{font-size:.78rem}.player-progress span:last-child{justify-self:end}.player-playlist{gap:.55rem}.playlist-item{padding:.82rem .9rem}.playlist-item span{font-size:1rem}.return-reveal-panel{padding:1.6rem 1.25rem 2rem}.return-reveal-line{font-size:1rem;line-height:1.8}.return-reveal-subcopy{font-size:.86rem;letter-spacing:.1em}.chapter-nav{grid-template-columns:1fr}.chapter-page{padding-top:1.35rem}.chapter-heading{margin-bottom:1.35rem}.chapter-title{font-size:clamp(2.45rem,12vw,3.8rem)}.chapter-copy,.intro-card p,.ending-card p{font-size:.98rem;line-height:1.75}.hero-action-row{flex-direction:column;align-items:stretch}.hero-action-row .button{justify-content:center}.gallery-grid{grid-template-columns:1fr;gap:1rem}.timeline{gap:2rem}.timeline-copy h3{font-size:1.6rem}.timeline-art{min-height:180px}.notes-wrap-page{gap:.9rem}.note{max-width:none;width:100%}.chapter-actions{flex-direction:column;align-items:stretch}.chapter-actions .button{justify-content:center}.memory-modal-card,.lightbox-panel{width:min(100%,100%)}}@media (max-width: 520px){.chapter-content{padding-bottom:26rem}.chapter-rail{padding-inline:.85rem}.chapter-shell{width:min(calc(100% - 1rem),1100px)}.intro-card,.ending-card,.timeline-panel,.memory-gallery-panel,.letter-card{padding:1.15rem}.chapter-link{padding:.75rem .8rem}.chapter-rail-title{font-size:1.35rem}.button{width:100%;justify-content:center}.player-now-playing{padding:.82rem .9rem}.return-reveal-punchline{font-size:clamp(3rem,16vw,4.8rem)}}.music-player:not(.is-open){display:none}@media (max-width: 720px){.chapter-page{padding-top:2.4rem}.chapter-shell{width:min(calc(100% - 1.1rem),1100px)}.chapter-heading{margin-bottom:1rem}.chapter-title{font-size:clamp(2rem,10.8vw,3rem);line-height:1.02;overflow-wrap:anywhere}.chapter-copy{margin-top:.7rem;font-size:.95rem;line-height:1.65}.notes-wrap-page{gap:.8rem}.note{width:100%;max-width:none;padding:1.1rem 1rem;border-radius:28px}.note p{font-size:1.18rem;line-height:1.45}.note .material-symbols-outlined{font-size:1.35rem}}@media (max-width: 520px){.chapter-page{padding-top:2.8rem}.chapter-shell{width:min(calc(100% - .85rem),1100px)}.chapter-title{font-size:clamp(1.8rem,10vw,2.45rem)}.chapter-copy{font-size:.92rem}.note{padding:1rem .92rem}.note p{font-size:1.08rem}}
