:root{--ink:#f4f1eb;--muted:#aaa59d;--black:#090909;--panel:#11110f;--warm:#1a1713;--line:rgba(255,255,255,.16);--serif:Georgia,"Times New Roman",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;background:var(--black);color:var(--ink);font-family:var(--sans);font-size:clamp(1rem,.94rem + .3vw,1.18rem);line-height:1.7}img{display:block;max-width:100%}button,a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;padding:.7rem 1rem;background:#fff;color:#000;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1rem,4vw,4rem);transition:background .3s,backdrop-filter .3s}.site-header.scrolled{background:rgba(5,5,5,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:1.35rem;letter-spacing:.08em;text-decoration:none}.navigation{display:flex;gap:clamp(.9rem,2vw,2.2rem);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.navigation a{text-decoration:none;color:#ddd;position:relative}.navigation a:after{content:"";position:absolute;left:0;bottom:-.35rem;width:100%;height:1px;background:#fff;transform:scaleX(0);transition:transform .25s}.navigation a:hover:after,.navigation a:focus-visible:after{transform:scaleX(1)}.menu-button{display:none;background:transparent;border:0;padding:.6rem}.menu-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.05) 45%,rgba(0,0,0,.62)),linear-gradient(0deg,rgba(0,0,0,.82),transparent 55%)}.hero-copy{position:relative;z-index:1;width:min(88vw,860px);margin:0 4vw 8vh auto}.eyebrow,.chapter-kicker{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#c7c1b6}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,7vw,6.4rem);line-height:.95;margin:.35rem 0 1.2rem;letter-spacing:-.04em}.lifespan{font-size:clamp(1rem,2vw,1.35rem);letter-spacing:.04em}.dedication{margin-top:2rem;font-family:var(--serif);font-size:clamp(1.2rem,2.5vw,2rem);line-height:1.45}.scroll-cue{display:inline-block;margin-top:2rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #aaa;padding-bottom:.25rem}.chapter{padding:clamp(5rem,11vw,10rem) clamp(1.2rem,7vw,8rem);overflow:hidden}.chapter--warm{background:var(--warm)}.chapter--music{background:#eeeae2;color:#151515}.chapter--music .chapter-number,.chapter--music .chapter-kicker{color:#6d655b}.chapter--quiet{background:#0d0d0d}.narrow{max-width:780px;margin-inline:auto}.chapter-copy,.chapter-head{max-width:720px}.chapter-head{margin:0 auto clamp(2.5rem,5vw,5rem);text-align:center}.chapter-number{font-family:var(--serif);font-style:italic;color:#7d7870;margin:0 0 1rem}.chapter h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,6vw,6rem);line-height:1.02;letter-spacing:-.035em;margin:.2rem 0 1.5rem}.lead{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,2.1rem);line-height:1.45}.intro .chapter-copy{text-align:center}.memory-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:140px;gap:clamp(.5rem,1vw,1rem);max-width:1300px;margin:5rem auto 0}.memory-grid .photo:nth-child(1){grid-column:1/7;grid-row:1/5}.memory-grid .photo:nth-child(2){grid-column:7/10;grid-row:1/3}.memory-grid .photo:nth-child(3){grid-column:10/13;grid-row:1/4}.memory-grid .photo:nth-child(4){grid-column:7/10;grid-row:3/6}.memory-grid .photo:nth-child(5){grid-column:10/13;grid-row:4/6}.photo,.portrait{padding:0;border:0;background:#222;cursor:zoom-in;overflow:hidden}.photo img,.portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .6s ease,filter .5s}.photo:hover img,.photo:focus-visible img,.portrait:hover img,.portrait:focus-visible img{transform:scale(1.025);filter:saturate(1)}.filmstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1400px;margin:auto}.filmstrip .photo{aspect-ratio:3/4}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:clamp(3rem,9vw,9rem);align-items:center;max-width:1250px;margin:auto}.split--reverse{grid-template-columns:minmax(300px,.72fr) minmax(0,1fr)}.split--reverse .chapter-copy{grid-column:2}.split--reverse .portrait{grid-column:1;grid-row:1}.portrait{aspect-ratio:4/5}.memory-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;max-width:1300px;margin:clamp(3rem,7vw,7rem) auto 0}.memory-row .photo{aspect-ratio:4/3}.recordings{max-width:920px;margin:4rem auto}.recording{display:grid;grid-template-columns:1fr minmax(280px,45%);align-items:center;gap:2rem;padding:1.6rem 0;border-top:1px solid rgba(0,0,0,.2)}.recording:last-child{border-bottom:1px solid rgba(0,0,0,.2)}.recording div{display:grid;grid-template-columns:2rem 1fr;align-items:baseline}.recording span{font-family:var(--serif);font-style:italic;color:#777}.recording h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;margin:0}.recording p{grid-column:2;margin:0;color:#746f67;font-size:.9rem}.recording audio{width:100%;height:42px}.video-wrap{max-width:960px;margin:5rem auto 0}.video-wrap video{display:block;width:100%;max-height:75vh;background:#000}.collage{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:min(23vw,310px);gap:.8rem;max-width:1300px;margin:auto}.collage .photo--feature{grid-column:1/3;grid-row:1/3}.collage .photo:nth-child(2){grid-column:3}.collage .photo:nth-child(3){grid-column:4}.collage .photo:nth-child(4){grid-column:3}.collage .photo:nth-child(5){grid-column:4}.final-line{margin-top:2rem;font-family:var(--serif);font-style:italic;font-size:1.3rem}.epilogue{min-height:60vh;display:grid;place-content:center;text-align:center;padding:5rem 1rem;background:radial-gradient(circle at center,#24211d 0,#090909 70%)}.epilogue p{font-family:var(--serif);font-size:clamp(2.6rem,7vw,6rem);margin:0}.epilogue span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}footer{display:flex;justify-content:space-between;align-items:center;padding:2rem clamp(1rem,4vw,4rem);border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}footer a{text-decoration:none}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:clamp(1rem,4vw,3rem);border:0;background:rgba(0,0,0,.94);overflow:hidden}.lightbox::backdrop{background:#000}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox-close{position:absolute;z-index:2;right:1rem;top:.6rem;width:48px;height:48px;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:2rem;cursor:pointer}.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1100px) and (min-width:901px){.hero-copy{width:min(72vw,760px);margin-right:3vw}.hero h1{font-size:clamp(3rem,7vw,5.5rem)}}@media(max-width:900px){.menu-button{display:block;position:fixed;top:.75rem;right:.75rem;z-index:50}.navigation{position:fixed;inset:0 0 auto 0;min-height:100svh;background:rgba(8,8,8,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-size:clamp(1.5rem,7vw,2.8rem);text-transform:none;transform:translateY(-105%);transition:transform .4s}.navigation.open{transform:none}.hero-copy{width:calc(100% - 2.5rem);margin:0 1.25rem 8vh}.memory-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:42vw}.memory-grid .photo:nth-child(n){grid-column:auto;grid-row:auto}.memory-grid .photo:first-child{grid-column:1/3}.filmstrip{grid-template-columns:repeat(2,1fr)}.split,.split--reverse{grid-template-columns:1fr;gap:2.5rem}.split--reverse .chapter-copy,.split--reverse .portrait{grid-column:auto;grid-row:auto}.portrait{max-height:75vh}.memory-row{grid-template-columns:repeat(2,1fr)}.recording{grid-template-columns:1fr}.collage{grid-template-columns:repeat(2,1fr);grid-auto-rows:52vw}.collage .photo:nth-child(n){grid-column:auto;grid-row:auto}.collage .photo--feature{grid-column:1/3;grid-row:span 2}}@media(max-width:520px){.chapter{padding-inline:1rem}.hero h1{font-size:clamp(2.75rem,14vw,3.6rem);letter-spacing:-.055em}.hero h1 span{display:block}.filmstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}.filmstrip .photo{min-width:78vw;scroll-snap-align:center}.memory-row{gap:.35rem}.recording{gap:1rem}.collage{gap:.35rem}footer{flex-direction:column;gap:.3rem}.lightbox{padding:.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.photo img,.portrait img,.navigation{transition:none}}
.archive-gallery{max-width:1300px;margin:clamp(3rem,7vw,6rem) auto 0;border-top:1px solid var(--line)}.chapter--music .archive-gallery{border-color:rgba(0,0,0,.2)}.archive-gallery summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem 0;cursor:pointer;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;list-style:none}.archive-gallery summary::-webkit-details-marker{display:none}.archive-gallery summary:after{content:"+";font-family:var(--serif);font-size:1.6rem;font-weight:300}.archive-gallery[open] summary:after{content:"−"}.archive-gallery summary span{margin-left:auto;color:var(--muted);font-size:.66rem}.chapter--music .archive-gallery summary span{color:#746f67}.archive-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;padding:.5rem 0 2rem}.archive-grid .photo{aspect-ratio:1/1}.archive-grid .photo img{width:100%;height:100%;object-fit:cover}@media(max-width:900px){.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.archive-gallery summary{align-items:flex-start;flex-wrap:wrap}.archive-gallery summary span{order:3;width:100%;margin:0}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}}
