
:root{--gold:#C5A55A;--gold-light:#D4BA7A;--gold-dark:#A68A3E;--leather:#5C3A21;--leather-dark:#3D2414;--saddle:#8B5E3C;--cream:#FAF6EE;--cream-dark:#F0E8D8;--parchment:#F5EFE0;--text:#3A3028;--text-light:#7A7062;--arena-dust:#E8DCC8}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3',-apple-system,sans-serif;background:var(--cream);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.7}
.site-header{background:linear-gradient(180deg,var(--leather-dark),var(--leather));padding:4px 12px;padding-top:max(4px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,.35);min-height:52px}
.header-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.header-logo{width:36px;height:36px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.header-title{font-family:'Playfair Display',serif;color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;line-height:1.2}
.header-title span{display:block;font-size:.68rem;font-family:'Source Sans 3',sans-serif;font-weight:400;letter-spacing:2px;text-transform:uppercase;opacity:.75}
.header-bb{color:var(--gold-light);text-decoration:none;font-size:.7rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;opacity:.85;white-space:nowrap}
.back-bar{background:var(--leather-dark);padding:10px 16px;display:flex;align-items:center;gap:8px;cursor:pointer;border-bottom:1px solid rgba(197,165,90,.15)}
.back-bar a{color:var(--gold-light);text-decoration:none;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}
.back-bar .breadcrumbs{color:rgba(255,255,255,.45);font-size:.72rem;margin-left:auto}
.back-bar .breadcrumbs a{color:rgba(255,255,255,.45);text-decoration:none}
.detail-hero{background:linear-gradient(145deg,var(--leather-dark),#1a0f08 60%,var(--leather-dark));text-align:center;position:relative;overflow:hidden}
.detail-photo-container{width:100%;height:260px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--leather-dark),#0d0704);display:flex;align-items:center;justify-content:center}
.detail-initials{font-family:'Playfair Display',serif;font-size:80px;font-weight:900;color:var(--gold);opacity:.18;line-height:1;position:absolute}
.detail-cat-icon{font-size:56px;opacity:.12;position:absolute}
.detail-photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(29,15,8,.96));padding:32px 20px 20px;z-index:2}
.detail-year-badge{display:inline-block;background:var(--gold);color:var(--leather-dark);padding:3px 14px;border-radius:20px;font-family:'Playfair Display',serif;font-size:13px;font-weight:800;margin-bottom:8px}
.detail-name{font-family:'Playfair Display',serif;color:#FAF6EE;font-size:28px;font-weight:900;line-height:1.1;margin-bottom:4px;text-shadow:0 2px 12px rgba(0,0,0,.6);text-wrap:balance}
.detail-tagline{color:var(--gold-light);font-size:13px;font-style:italic;opacity:.85}
.detail-cat-bar{background:var(--leather-dark);border-top:1px solid rgba(197,165,90,.2);border-bottom:1px solid rgba(197,165,90,.2);padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:12px}
.detail-cat-label{color:var(--gold-light);font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px}
.detail-content{padding:20px 16px 40px;max-width:640px;margin:0 auto}
.detail-section{margin-bottom:24px}
.detail-section-title{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:var(--leather-dark);padding-bottom:8px;border-bottom:1px solid var(--arena-dust);margin-bottom:12px}
.detail-narrative{background:#fff;border-radius:10px;padding:16px;border:1px solid var(--arena-dust);font-size:14px;line-height:1.75;color:var(--text)}
.hl-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.hl-item{background:#fff;border-radius:8px;padding:12px 14px 12px 40px;border:1px solid var(--arena-dust);font-size:13px;line-height:1.5;color:var(--text);position:relative}
.hl-item::before{content:'★';position:absolute;left:12px;top:12px;color:var(--gold);font-size:14px}
.born-line{font-size:14px;color:var(--text);line-height:1.6}
.peers-grid{display:flex;flex-wrap:wrap;gap:8px}
.peer-link{background:var(--parchment);border:1px solid var(--arena-dust);border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--leather);text-decoration:none;transition:.2s}
.peer-link:hover{background:var(--leather);color:var(--gold)}
.class-section{margin-bottom:24px}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rel-card{background:linear-gradient(145deg,var(--leather-dark),#2a1408);border-radius:8px;padding:12px;display:flex;align-items:center;gap:12px;text-decoration:none;transition:.2s}
.rel-card:active{opacity:.85}
.rel-avatar{width:40px;height:40px;background:rgba(197,165,90,.18);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:16px;font-weight:800;color:var(--gold);flex-shrink:0}
.rel-name{font-family:'Playfair Display',serif;font-size:13px;font-weight:700;color:var(--gold);line-height:1.2}
.rel-year{font-size:.68rem;color:var(--gold-light);opacity:.75;margin-top:2px}
.hof-link-btn{display:block;text-align:center;background:var(--leather);color:var(--gold);text-decoration:none;padding:14px;border-radius:8px;font-family:'Playfair Display',serif;font-size:15px;font-weight:700;margin-bottom:24px;letter-spacing:.5px}
.site-footer{background:var(--leather-dark);padding:24px 16px;text-align:center;border-top:1px solid rgba(197,165,90,.15)}
.footer-logo{font-family:'Playfair Display',serif;color:var(--gold);font-size:16px;font-weight:700;margin-bottom:6px}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:10px 0}
.footer-nav a{color:#FAF6EE;text-decoration:none;font-size:11px;opacity:.5;transition:.2s}
.footer-nav a:hover{opacity:1;color:var(--gold-light)}
.footer-disc{color:#FAF6EE;font-size:.7rem;opacity:.4;line-height:1.6;max-width:380px;margin:8px auto 0;font-style:italic}
.footer-copy{color:#FAF6EE;font-size:.68rem;opacity:.3;margin-top:8px}
@media(max-width:479px){.detail-name{font-size:24px}.detail-initials{font-size:60px}}
@media(min-width:600px){.detail-content{padding:24px 20px 48px}.detail-photo-container{height:300px}}
@media(min-width:900px){.detail-content{max-width:720px;margin:0 auto}.rel-grid{grid-template-columns:repeat(4,1fr)}}

a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.archive-search{width:100%;padding:12px;border:1px solid var(--arena-dust);border-radius:8px;font:inherit;background:#fff;color:var(--text);margin:12px 0}
.archive-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;margin-bottom:8px;background:#fff;border:1px solid var(--arena-dust);border-radius:8px;color:var(--leather-dark);text-decoration:none;min-height:48px}
.archive-row span{font-size:12px;color:var(--text-light)}
.archive-row[hidden]{display:none}
.archive-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.archive-nav a{padding:8px 12px;background:var(--leather);color:var(--gold-light);text-decoration:none;border-radius:6px;font-size:13px}
.detail-narrative p+p{margin-top:12px}.detail-narrative a{color:var(--leather);text-decoration:underline}
.verified-note{font-size:12px;color:var(--text-light);margin:16px 0}.detail-name{overflow-wrap:anywhere}
@media(max-width:479px){.back-bar .breadcrumbs{display:none}.header-title{font-size:12px}.archive-row{align-items:flex-start}.detail-photo-container{height:230px}}
