.biography-page{background:var(--cream);min-height:60vh}.owner-banner{z-index:5;background:var(--sand);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 40px;font-size:15px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #071c2b1f}.owner-banner p{flex:1;min-width:220px}.owner-banner-back{border-bottom:1px solid;font-size:14px}.biography-hero{background-color:var(--navy);color:#fff;background-position:50%;background-size:cover;box-shadow:inset 0 0 0 100vmax #071c2b99}.biography-hero-inner{align-items:center;gap:36px;max-width:1180px;margin:0 auto;padding:48px 24px;display:flex}.biography-hero h1{font-family:var(--font-serif), serif;font-size:clamp(36px,5.5vw,64px);font-weight:500;line-height:1.1}.biography-dates{letter-spacing:.12em;color:var(--gold-light);margin-top:10px;font-size:18px}.biography-portrait{border:3px solid var(--gold-light);object-fit:cover;border-radius:50%;width:168px;height:168px;box-shadow:0 16px 40px #00000073}.biography-symbol{width:72px;height:auto}.biography-content{max-width:1180px;margin:0 auto;padding:40px 24px 72px}.biography-invite{background:var(--theirs-gradient);color:#fff;text-align:center;padding:48px 24px 56px}.biography-invite .title{color:#fff;font-size:32px}.biography-invite p{color:#ffffffd9;max-width:560px;margin:10px auto 24px}.biography-story{align-items:flex-start;gap:48px;display:flex}.biography-story-text{flex:1.7;min-width:0;font-size:18px;line-height:1.8}.biography-story-text>.zoomable{float:right;width:42%;margin:6px 0 16px 28px}.biography-description-image{border-radius:12px;width:100%}.biography-side{border:1px solid var(--line);background:#fffdf9;border-radius:12px;flex:1;min-width:0;padding:26px}.biography-side h2,.biography-media-section h2{font-family:var(--font-serif), serif;margin-bottom:18px;font-size:28px;font-weight:500}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:0 0 20px 32px;position:relative}.timeline li:before{content:"";border:3px solid var(--gold);box-sizing:border-box;background:#fffdf9;border-radius:50%;width:15px;height:15px;position:absolute;top:4px;left:0}.timeline li:after{content:"";background:#dcc6a3;width:2px;position:absolute;top:21px;bottom:2px;left:6px}.timeline li:last-child:after{display:none}.timeline time{color:var(--brown);font-size:14px;font-weight:700}.timeline p{margin-top:2px;font-size:15px;line-height:1.45}.photo-grid,.video-grid{gap:28px 20px;margin:0;padding:0;list-style:none;display:grid}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.photo-grid .zoomable{width:100%}.photo-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:10px;width:100%;display:block}.video-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.video-grid video{aspect-ratio:16/9;background:#000;border-radius:10px;width:100%}.biography-media-section+.biography-media-section{margin-top:48px}.media-caption{color:var(--ink-soft);margin-top:10px;font-size:14px;line-height:1.5}.media-caption-head{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.media-caption strong{font-family:var(--font-serif), serif;color:var(--ink);font-size:19px}.media-caption time{color:var(--accent);font-size:13px}.media-caption p+p{margin-top:4px}.tributes{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.tributes .biography-side .group{margin-top:0}.tribute-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.tribute{border:1px solid var(--line);background:#fffdf9;border-radius:12px;gap:16px;padding:22px 24px;display:flex}.tribute-hidden{opacity:.65}.tribute-body{flex:1;min-width:0}.tribute-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.tribute-head time{color:var(--accent);font-size:13px}.tribute-text{white-space:pre-line;overflow-wrap:anywhere;margin-top:6px;line-height:1.65}.tribute-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.tribute-form .btn{margin-top:14px}.tributes-login{margin-bottom:14px}@media (max-width:900px){.tributes{grid-template-columns:1fr;gap:28px}.tributes .biography-side{order:-1}.biography-hero-inner{text-align:center;flex-direction:column;gap:18px;padding:36px 16px}.biography-portrait{width:140px;height:140px}.biography-content{padding:28px 16px 56px}.biography-story{flex-direction:column;align-items:stretch;gap:32px}.biography-story-text>.zoomable{float:none;width:100%;margin:0 0 20px}.video-grid{grid-template-columns:1fr}}
