:root{--ink:#111;--muted:#62666e;--line:#dedede;--soft:#f5f5f4;--warm:#9a6423;--serif:"Libre Baskerville",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f4f5;color:var(--ink);font-family:var(--sans)}img{display:block;max-width:100%}button{font:inherit}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:99;padding:.7rem 1rem;background:#fff}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:98px;padding:0 max(4vw,32px);background:#fff;border-bottom:1px solid #eee}.brand{display:flex;flex-direction:column;text-decoration:none}.brand strong{font:700 2rem/1 var(--serif);letter-spacing:-.06em}.brand strong span{color:var(--warm)}.brand small{margin-top:.35rem;text-transform:uppercase;letter-spacing:.28em;font-size:.48rem}.header-actions{display:flex;align-items:center;gap:1.5rem}.search-button{display:grid;place-items:center;width:48px;height:48px;padding:10px;border:0;background:#fff;cursor:pointer}.search-button svg,.cover-tools svg,.quick-actions svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.menu-button{display:flex;align-items:center;gap:.55rem;height:58px;padding:0 1.2rem;border:0;border-radius:12px;background:#111;color:#fff;cursor:pointer}.menu-button i{display:none;width:22px;height:2px;background:#fff}.menu-button span{font-size:.9rem}#site-menu{position:absolute;top:98px;right:max(4vw,32px);display:none;width:min(360px,92vw);padding:1rem;background:#111;box-shadow:0 18px 60px rgba(0,0,0,.28)}#site-menu.open{display:grid}#site-menu a{padding:1rem;color:#fff;border-bottom:1px solid #333;text-decoration:none}#site-menu a:last-child{border:0}#site-menu a:hover{color:#e3b36f}.cover{position:relative;height:510px;background:#15110c url("assets/memorial-candles.jpg") center/cover no-repeat}.cover-tools{position:absolute;right:max(4vw,40px);bottom:30px;display:flex;gap:.6rem}.cover-tools button{display:flex;align-items:center;gap:.65rem;padding:.8rem 1.1rem;border:0;border-radius:10px;background:#fff;cursor:pointer;font-weight:600}.cover-tools .dark{color:#fff;background:#090909}.cover-tools svg{width:22px;height:22px}.identity{position:relative;width:min(1180px,calc(100% - 5rem));min-height:365px;margin:-56px auto 0;padding:90px 5rem 3rem 470px;background:#fff;border-radius:14px 14px 0 0;box-shadow:0 -1px 0 rgba(0,0,0,.04)}.portrait-wrap{position:absolute;left:80px;top:-88px;width:350px;height:350px;padding:5px;background:#fff;border:1px solid #ddd;border-radius:18px;box-shadow:0 12px 28px rgba(0,0,0,.13)}.portrait-wrap img{width:100%;height:100%;object-fit:cover;border-radius:13px}.identity-copy{text-align:center}.in-memory{margin:0 0 .8rem;color:#8c6a40;text-transform:uppercase;letter-spacing:.16em;font-size:.67rem}.identity h1{margin:0;font:700 clamp(2rem,3vw,3.15rem)/1.15 var(--serif);letter-spacing:-.04em}.lifespan{margin:1rem 0;color:var(--muted);font:400 1.3rem/1.5 var(--serif)}.lifespan span{margin:0 .35rem}.known-as{margin:0;color:#777}.quick-actions{display:flex;justify-content:center;gap:2.3rem;margin-top:2.3rem}.quick-actions a,.quick-actions button{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:0;border:0;background:none;color:#111;text-decoration:none;cursor:pointer}.quick-actions b{display:grid;place-items:center;width:62px;height:62px;border:2px solid #111;border-radius:50%;background:#111;color:#fff;transition:.2s}.quick-actions .outline b{background:#fff;color:#111}.quick-actions .selected b{background:#8b5d22;border-color:#8b5d22}.quick-actions svg{width:29px;height:29px}.quick-actions span{font-size:.83rem}.action-status{height:1rem;margin:.8rem 0 0;text-align:center;color:#785829;font-size:.75rem}.memorial-shell{width:min(1180px,calc(100% - 5rem));margin:0 auto 5rem;background:#fff;border-radius:0 0 14px 14px;box-shadow:0 16px 40px rgba(0,0,0,.06)}.section-tabs{position:sticky;top:98px;z-index:10;display:flex;justify-content:center;gap:3rem;padding:1.2rem 2rem;background:#fff;border-top:1px solid #eee;border-bottom:1px solid #ddd}.section-tabs a{padding:.4rem 0;color:#666;text-decoration:none;font-weight:600}.section-tabs a.active,.section-tabs a:hover{color:#111;border-bottom:2px solid #111}.memorial-section{padding:6rem clamp(2rem,8vw,7.5rem);border-bottom:1px solid #e5e5e5;scroll-margin-top:150px}.section-label{margin:0 0 1rem;color:#94631f;text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;font-weight:600}.memorial-section h2{max-width:780px;margin:0 0 2rem;font:700 clamp(2.25rem,5vw,4.5rem)/1.08 var(--serif);letter-spacing:-.055em}.story-columns{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.story-columns p,.section-intro,.timeline p{color:#5d6066;line-height:1.8}.story-columns .lead{margin-top:0;color:#222;font:400 1.25rem/1.6 var(--serif)}.story-columns div p:first-child{margin-top:0}.memorial-section blockquote{margin:4rem 0 0;padding:3.5rem;text-align:center;background:#f0ece5;font:400 clamp(1.35rem,2.4vw,2rem)/1.55 var(--serif)}.memorial-section blockquote cite{display:block;margin-top:1.5rem;color:#806a4d;font:500 .65rem var(--sans);text-transform:uppercase;letter-spacing:.15em}.music-section{background:#faf9f7}.section-intro{max-width:650px}.timeline{margin-top:4rem;border-top:1px solid #d6d3cd}.timeline article{display:grid;grid-template-columns:100px 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid #d6d3cd}.timeline article>span{color:#94631f;font:700 1rem var(--serif)}.timeline h3{margin:0;font:700 1.35rem var(--serif)}.timeline p{margin:.55rem 0 0}.names{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:3rem}.names span{padding:.7rem 1rem;border:1px solid #cbc7c0;border-radius:100px;background:#fff;font:400 .85rem var(--serif)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-grid button{aspect-ratio:1.08;padding:0;overflow:hidden;border:0;background:#eee;cursor:pointer}.gallery-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:.35s}.gallery-grid button:hover img{transform:scale(1.04);filter:saturate(1)}.coming-soon{display:flex;align-items:center;gap:1.5rem;margin-top:1rem;padding:2rem;color:#fff;background:#191919}.coming-soon>span{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:1px solid #888;border-radius:50%}.coming-soon strong{font:700 1.15rem var(--serif)}.coming-soon p{margin:.4rem 0 0;color:#aaa}.press-list{margin-top:3rem;border-top:1px solid #ddd}.press-list a{display:grid;grid-template-columns:170px 1fr 30px;gap:2rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid #ddd;text-decoration:none}.press-list span{color:#91621e;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem}.press-list strong{font:400 1.1rem/1.5 var(--serif)}.press-list i{font-style:normal}.ending-cards{display:grid;grid-template-columns:1fr 1fr}.ending-cards a{position:relative;display:flex;flex-direction:column;min-height:210px;padding:3rem;color:#fff;background:#171717;text-decoration:none}.ending-cards a+ a{background:#8e622a}.ending-cards span{margin-bottom:1rem;text-transform:uppercase;letter-spacing:.15em;font-size:.6rem}.ending-cards strong{max-width:300px;font:700 1.55rem/1.3 var(--serif)}.ending-cards i{position:absolute;right:2.5rem;bottom:2.5rem;font-size:1.5rem;font-style:normal}footer{display:flex;align-items:end;justify-content:space-between;gap:3rem;padding:4rem max(5vw,40px);color:#bbb;background:#111}.footer-brand{color:#fff}.footer-brand strong{font-size:1.5rem}footer p{margin:0;font-size:.72rem}.lightbox{width:min(900px,92vw);padding:0;border:0;background:#111}.lightbox::backdrop{background:rgba(0,0,0,.86)}.lightbox img{width:100%;max-height:84vh;object-fit:contain}.lightbox>button{position:absolute;right:.8rem;top:.8rem;width:42px;height:42px;border:0;border-radius:50%;background:#000c;color:#fff;font-size:1.5rem;cursor:pointer}.placeholder-page{min-height:100vh;background:#f3f4f5}.placeholder-header{position:static}.placeholder-main{min-height:calc(100vh - 98px);display:grid;place-items:center;padding:5rem 1.5rem}.placeholder-card{width:min(760px,100%);padding:5rem 3rem;background:#fff;border-radius:15px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.07)}.placeholder-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 2rem;border-radius:50%;background:#111;color:#fff;font:700 1.5rem var(--serif)}.placeholder-card .eyebrow{color:#966522;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem}.placeholder-card h1{margin:.8rem 0;font:700 clamp(2.8rem,7vw,5rem) var(--serif)}.placeholder-card>p{max-width:560px;margin:1.5rem auto;color:#666;line-height:1.8}.status{color:#94631f;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}.back-link{display:inline-block;margin-top:2.5rem;color:#111;text-decoration:none;border-bottom:1px solid}.lightbox[open]{animation:fade .2s ease}@keyframes fade{from{opacity:0}to{opacity:1}}@media(max-width:900px){.cover{height:430px}.cover-tools{display:none}.identity{width:calc(100% - 2rem);margin:-1px auto 0;padding:250px 1.5rem 2.5rem}.portrait-wrap{left:50%;top:-185px;width:min(360px,82vw);height:min(360px,82vw);transform:translateX(-50%)}.memorial-shell{width:calc(100% - 2rem)}.section-tabs{top:88px;gap:1.3rem;overflow-x:auto;justify-content:start}.story-columns{grid-template-columns:1fr;gap:1rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.site-header{height:88px;padding:0 1.5rem}.brand strong{font-size:1.65rem}.search-button{display:none}.menu-button{width:58px;padding:0;justify-content:center;flex-direction:column;gap:5px}.menu-button span{display:none}.menu-button i{display:block}#site-menu{top:88px;right:1rem}.cover{height:310px;background-position:center}.identity{padding-top:205px}.portrait-wrap{top:-155px}.identity h1{font-size:2rem}.lifespan{font-size:1rem}.quick-actions{gap:1.1rem;justify-content:space-between}.quick-actions b{width:55px;height:55px}.quick-actions span{font-size:.75rem}.section-tabs{top:88px;padding:1rem}.memorial-section{padding:4.5rem 1.5rem}.memorial-section blockquote{padding:2rem 1.2rem}.timeline article{grid-template-columns:66px 1fr;gap:.8rem}.gallery-grid{grid-template-columns:1fr}.press-list a{grid-template-columns:1fr 20px;gap:.8rem}.press-list span{grid-column:1/-1}.ending-cards{grid-template-columns:1fr}footer{align-items:start;flex-direction:column}}@media print{.site-header,.cover-tools,.quick-actions,.section-tabs,.ending-cards,footer{display:none}.cover{height:280px}.identity,.memorial-shell{width:100%;box-shadow:none}.memorial-section{break-inside:avoid}}
