:root{--bg:#111;--panel:#1b1918;--paper:#f3eee6;--ink:#171717;--red:#a9202b;--muted:#bcb5ae;--line:#4b403c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#fff;font-family:Arial,sans-serif}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:20;background:#fff;color:#000;padding:12px}.hero{padding:72px 0 66px;border-bottom:1px solid #86202a;background:radial-gradient(circle at 78% 25%,#4a1d22 0,transparent 32%),linear-gradient(125deg,#090a0a,#211d1b)}.back{color:#ddd;text-decoration:none;font-weight:700}.kicker{margin:38px 0 13px;color:#dc8e95;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.hero h1{max-width:840px;margin:0;font:400 clamp(46px,7vw,82px)/1.02 Georgia,serif}.lead{max-width:760px;margin:25px 0 0;color:#ddd;font-size:20px;line-height:1.65}.count{margin:24px 0 0;color:#d7d0c8}.count strong{color:#fff;font:400 32px Georgia,serif}.main{padding:54px 0 80px}.searchbox{display:grid;grid-template-columns:1fr minmax(300px,520px);gap:45px;align-items:end;margin-bottom:30px}.searchbox .kicker{margin-top:0}.searchbox h2{margin:0;font:400 clamp(30px,4vw,48px) Georgia,serif}.searchbox label span{display:block;margin-bottom:9px;font-size:13px;font-weight:800}.searchbox input{width:100%;padding:16px 18px;border:1px solid #6b5e58;background:#fff;color:#111;font-size:17px}.result-info{min-height:24px;color:var(--muted)}.family{margin:0 0 14px;border:1px solid var(--line);background:var(--panel)}.family summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 25px;cursor:pointer;list-style:none}.family summary::-webkit-details-marker{display:none}.family summary strong{font:400 28px Georgia,serif}.family summary span{color:#d2aaa9;font-size:13px;font-weight:800}.people{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-top:1px solid var(--line);background:var(--line)}.person{min-width:0;padding:0;border:0;background:#171616;color:#fff;text-align:left;cursor:pointer}.portrait{display:block;position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#242120}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:grayscale(1);transition:.25s}.person:hover img,.person:focus-visible img{filter:grayscale(.25);transform:scale(1.025)}.no-photo{display:grid;height:100%;place-items:center;color:#8e8580;font:italic 18px Georgia,serif}.person-copy{display:block;padding:18px}.person-name{display:block;font:400 22px/1.2 Georgia,serif}.person-age{display:block;margin-top:8px;color:#c9bcb5;font-size:13px}.person-more{display:block;margin-top:14px;color:#dc8e95;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}dialog{width:min(920px,calc(100% - 28px));max-height:90vh;padding:0;border:1px solid #76645d;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #000}dialog::backdrop{background:rgba(0,0,0,.82)}.close{position:sticky;float:right;top:12px;right:12px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:#171717;color:#fff;font-size:27px;cursor:pointer}.detail{display:grid;grid-template-columns:270px 1fr;gap:38px;padding:48px}.detail-photo{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1);background:#ddd}.detail h2{margin:0 50px 10px 0;font:400 42px/1.05 Georgia,serif}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.fact{padding:12px;border-left:3px solid var(--red);background:#e7e0d7}.fact small{display:block;color:#655e59;font-size:10px;font-weight:900;text-transform:uppercase}.fact span{display:block;margin-top:4px}.story{font-size:17px;line-height:1.7}.pdf-link{display:inline-block;margin-top:20px;padding:13px 18px;background:var(--red);color:#fff;text-decoration:none;font-weight:800}footer{padding:30px 0;border-top:1px solid #332d2a;color:#918a85;font-size:13px}@media(max-width:850px){.people{grid-template-columns:repeat(2,1fr)}.searchbox{grid-template-columns:1fr}.detail{grid-template-columns:1fr}.detail-photo{width:min(300px,100%)}}@media(max-width:520px){.shell{width:min(100% - 28px,1180px)}.hero{padding:48px 0}.hero h1{font-size:43px}.lead{font-size:17px}.people{grid-template-columns:1fr}.family summary{padding:18px}.detail{padding:28px 20px}.detail h2{font-size:34px}.facts{grid-template-columns:1fr}}
