:root{--bg: #ffffff;--text: #0b0b0b;--muted: #6a6a6a;--border: #e9e9e9;--surface: #f3f3f1;--shadow: 0 24px 70px rgba(0, 0, 0, .12);--max: 980px;--max-wide: 1220px;--gutter: clamp(16px, 4vw, 52px);--focus: 0 0 0 3px rgba(0, 0, 0, .14)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.55;letter-spacing:-.01em}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%}:focus-visible{outline:none;box-shadow:var(--focus)}.topbar{position:sticky;top:0;z-index:40;background:#ffffffe0;backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:var(--max-wide);margin:0 auto;padding:14px var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.brand{display:inline-flex;flex-direction:column;justify-content:center;padding:6px 0;min-width:0}.brand-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.brand-name{margin-top:2px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.topnav{justify-self:center;display:flex;align-items:center;gap:22px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.topnav a{padding:10px 0;border-bottom:1px solid transparent}.topnav a:hover{text-decoration:none;border-bottom-color:currentColor}@media(max-width:720px){.topbar-inner{grid-template-columns:1fr;justify-items:center}}.hero{padding:clamp(38px,6vw,88px) var(--gutter) 26px;text-align:center}.hero-kicker{margin:0 0 10px;color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.hero-name{margin:0 0 26px;font-size:clamp(28px,4vw,46px);font-weight:600;letter-spacing:.22em;text-transform:uppercase}.hero-portrait{max-width:740px;margin:0 auto;display:grid;grid-template-columns:1fr minmax(0,460px) 1fr;align-items:center;gap:18px}.hero-year{font-size:clamp(32px,5vw,64px);font-weight:600;letter-spacing:.02em}.portrait{margin:0;background:#e6e6e6;box-shadow:var(--shadow)}.portrait img{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover}.hero-dates{margin:16px 0 0;color:var(--muted);font-size:13px}.band{padding:0 var(--gutter)}.band-inner{max-width:var(--max-wide);margin:0 auto;background:var(--surface);padding:clamp(20px,3vw,34px) clamp(18px,3vw,42px);text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.band-kicker{margin:0 0 10px;color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.band-text{margin:0;font-size:clamp(15px,1.7vw,18px);font-weight:600}.section{padding:clamp(50px,6vw,92px) var(--gutter)}.section-inner{max-width:var(--max);margin:0 auto}.section-inner.wide{max-width:var(--max-wide)}.section-kicker{margin:0 0 10px;color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-align:center}.section-title{margin:0 0 26px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-align:center}.story{text-align:center}.story h3{margin:0 0 18px;font-size:16px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.prose{max-width:620px;margin:0 auto;color:#1b1b1b}.prose p{margin:0 0 14px}.callout{max-width:720px;margin:28px auto 0;padding:18px;border:1px solid var(--border);background:#fff}.callout p{margin:0}.callout p+p{margin-top:10px}.album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,20px)}.album-item{border:0;padding:0;background:transparent;cursor:pointer}.album-item img{width:100%;height:280px;object-fit:cover;box-shadow:var(--shadow)}.album-item:focus-visible img{box-shadow:var(--shadow),var(--focus)}.memories-layout{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}@media(max-width:980px){.memories-layout{grid-template-columns:1fr}}.form{border:1px solid var(--border);padding:18px}.field{display:grid;gap:8px;margin-bottom:14px}label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}input,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font:inherit;background:#fff}textarea{min-height:140px;resize:vertical}.help{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.button{width:100%;padding:12px 14px;border:1px solid #111;background:#111;color:#fff;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.button:disabled{opacity:.6;cursor:not-allowed}.form-message{display:none;margin-top:12px;padding:12px;border-radius:10px;border:1px solid var(--border);font-size:13px}.form-message.success{display:block;background:#f2fbf5;border-color:#bfe6cb}.form-message.error{display:block;background:#fff5f5;border-color:#f0b7b7}.memories-list{border-top:1px solid var(--border);padding-top:18px}.memory-card{padding:16px 0;border-bottom:1px solid var(--border)}.memory-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:6px}.memory-author{font-weight:600;letter-spacing:.04em}.memory-date{font-size:12px;color:var(--muted)}.memory-text{margin:0;color:#1b1b1b;white-space:pre-wrap}.no-memories{color:var(--muted);font-size:13px}.modal{display:none;position:fixed;inset:0;z-index:100;background:#000000d1;padding:24px}.modal-content{max-width:min(980px,92vw);max-height:76vh;margin:60px auto 10px;display:block;box-shadow:var(--shadow)}.modal-caption{max-width:min(980px,92vw);margin:0 auto;color:#ffffffdb;font-size:13px;text-align:center;letter-spacing:.06em;text-transform:uppercase}.modal-close{position:absolute;top:18px;right:22px;color:#fff;font-size:34px;line-height:1;cursor:pointer}@media(max-width:860px){.hero-portrait{grid-template-columns:1fr;gap:12px}.hero-year{font-size:34px}.album-grid{grid-template-columns:repeat(2,1fr)}.album-item img{height:220px}}@media(max-width:520px){.topnav{gap:14px;letter-spacing:.12em;font-size:11px;flex-wrap:wrap;justify-content:center}.brand{min-width:0}.album-item img{height:180px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.prose--center{text-align:center}
