:root{--moss:#1d2a22;--moss2:#2a3b30;--stone:#d9d4c7;--paper:#f2f0ea;--heather:#7a4a6a;--lime:#c9d28b;--poppy:#c8321f;--ink:#1d2a22;--muted:#5b6560}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%}body>header,body>footer{flex:0 0 auto}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.1;margin:0 0 .5em}
a{color:var(--heather);text-underline-offset:3px}a:hover{color:var(--poppy)}
:focus-visible{outline:3px solid var(--poppy);outline-offset:2px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;background:#fff;padding:8px 14px;z-index:10}.skip:focus{left:8px;top:8px}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
header.site{background:var(--moss);color:var(--stone)}
.bar{max-width:1240px;margin:0 auto;padding:18px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
header.site nav a{color:var(--stone);text-decoration:none;margin-left:26px;font-size:15px;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
header.site nav a:hover,header.site nav a[aria-current]{color:#fff;border-color:var(--lime)}
.hero{position:relative;background:#111611;color:var(--stone);padding:84px 0 150px;overflow:hidden;isolation:isolate}
.hero-img,.hero-img img{position:absolute;inset:0;width:100%;height:100%;display:block}.hero-img img{object-fit:cover;object-position:62% 55%;filter:grayscale(1) contrast(1.05) brightness(.9)}
.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,19,15,.93) 0%,rgba(14,19,15,.8) 38%,rgba(14,19,15,.35) 72%,rgba(14,19,15,.2) 100%),linear-gradient(0deg,rgba(14,19,15,.75) 0%,rgba(14,19,15,0) 38%)}
.hero .credit{position:absolute;right:20px;bottom:62px;left:20px;max-width:46em;margin:0 0 0 auto;font-size:12px;line-height:1.4;color:#b9bcb3;text-align:right;text-shadow:0 1px 2px #000}
.hero .wrap{position:relative;z-index:1}
.tag{display:inline-block;border:1px solid var(--lime);color:var(--lime);padding:4px 14px;border-radius:30px;font-size:14px;margin:0 0 24px}
.hero h1{font-size:clamp(40px,7vw,76px);color:#fff;max-width:14em}.hero h1 em{color:var(--lime);font-style:italic}
.lede{max-width:34em;font-size:20px;opacity:.92}
.pull{margin-top:-44px;position:relative}
form.search{display:flex;gap:10px;background:#fff;border-radius:14px;padding:12px;box-shadow:0 18px 40px rgba(0,0,0,.18);max-width:980px}
form.search input[type=search]{flex:1;min-width:0;border:0;font:19px 'DM Sans',sans-serif;padding:12px 14px;background:transparent;color:var(--ink)}
form.search select{border:1px solid #d7d7d0;border-radius:8px;padding:0 12px;font:15px 'DM Sans',sans-serif;background:#fff;max-width:200px}
button,.btn{background:var(--poppy);color:#fff;border:0;border-radius:8px;padding:12px 28px;font:700 15px 'DM Sans',sans-serif;cursor:pointer;text-decoration:none;display:inline-block}
button:hover,.btn:hover{background:#a62616;color:#fff}.btn.ghost{background:transparent;color:var(--moss);border:1.5px solid var(--moss)}.btn.ghost:hover{background:var(--moss);color:#fff}
.chips{display:flex;gap:10px;flex-wrap:wrap;padding-top:34px;padding-bottom:6px}
.chips a{background:var(--stone);color:var(--moss);padding:8px 18px;border-radius:30px;font-size:15px;text-decoration:none}.chips a:hover{background:var(--moss);color:#fff}.chips .more{background:none;color:var(--heather);padding-left:6px}
.two{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;padding-top:48px;padding-bottom:64px}.two h2{font-size:30px}
.note{background:var(--moss);color:var(--stone);border-radius:14px;padding:28px}.note h2{color:#fff;font-size:24px}
.pagehead{padding-top:40px;padding-bottom:10px}.pagehead h1{font-size:clamp(32px,5vw,48px)}
.crumb{font-size:14px;color:var(--muted);margin:0 0 10px}
.count{color:var(--muted)}
.res{background:#fff;border-radius:12px;overflow:hidden;margin:18px 0;box-shadow:0 1px 0 rgba(0,0,0,.05)}
table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#777;background:#f7f6f2;padding:12px 20px}
td{padding:14px 20px;border-top:1px solid #eee;vertical-align:baseline}
.nm{color:var(--ink);text-decoration:none}.nm b{font:600 19px Fraunces,serif}.nm:hover b{color:var(--poppy)}
.rk{color:var(--muted);font-size:14px;margin-left:6px}.view{font-weight:700;text-decoration:none}
.badge{display:inline-block;background:#f4e3e0;color:#9c2a1a;font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px;margin-left:6px}
.empty{padding:20px 0}
.pager{display:flex;justify-content:space-between;align-items:center;padding:6px 0 50px}
.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;padding-top:20px;padding-bottom:60px}.groups h2{font-size:22px}.groups ul{list-style:none;padding:0;margin:0}.groups li{padding:6px 0;border-top:1px solid var(--stone)}
ul.index{columns:3 220px;column-gap:30px;list-style:none;padding:0;margin:12px 0 60px}ul.index li{break-inside:avoid;padding:5px 0;border-bottom:1px solid var(--stone);display:flex;justify-content:space-between;gap:10px}ul.index span{color:var(--muted);font-size:14px}
.record{padding-top:36px;padding-bottom:60px;max-width:820px}.record h1{font-size:clamp(32px,5vw,50px)}.sub{color:var(--muted);font-size:19px}
dl.facts{background:#fff;border-radius:12px;padding:8px 26px;margin:24px 0}dl.facts>div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:13px 0;border-top:1px solid #eee}dl.facts>div:first-child{border-top:0}
dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#777;padding-top:4px}dd{margin:0}
.notes{background:#fff;border-left:5px solid var(--lime);border-radius:8px;padding:18px 26px;margin:0 0 28px}.notes h2{font-size:20px}
.prose{max-width:760px;padding-top:44px;padding-bottom:60px}.prose h1{font-size:clamp(32px,5vw,46px)}.prose h2{margin-top:1.6em}
form.contact{display:grid;gap:8px}form.contact label{font-weight:700;font-size:14px;margin-top:10px}
form.contact input,form.contact textarea{font:17px 'DM Sans',sans-serif;padding:12px 14px;border:1px solid #bdbdb3;border-radius:8px;background:#fff;width:100%}
form.contact button{justify-self:start;margin-top:14px}.hp{position:absolute;left:-9999px}
.ok{background:#e4efd4;padding:12px 16px;border-radius:8px}.err{background:#f6dad5;padding:12px 16px;border-radius:8px}
footer.site{background:var(--moss);color:var(--stone);padding:34px 0;margin-top:30px;font-size:15px}footer.site a{color:var(--lime)}footer.site p{margin:.3em 0}
@media (max-width:760px){.two{grid-template-columns:1fr;gap:28px}form.search{flex-wrap:wrap}form.search input[type=search]{flex-basis:100%}form.search select{flex:1;max-width:none;min-height:44px}
header.site nav a{margin:0 16px 0 0}dl.facts>div{grid-template-columns:1fr;gap:2px}
table,thead,tbody,tr,td{display:block}thead{position:absolute;left:-9999px}tr{padding:14px 18px;border-top:1px solid #eee}td{border:0;padding:2px 0}td[data-l]:not([data-l=Name])::before{content:attr(data-l) ': ';color:#777;font-size:13px}td:empty{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.cf-turnstile{margin:14px 0 0;min-height:65px}

/* ---- images: avatars, portrait, badge, gallery, lightbox (no JS) ---- */
.av-link{display:inline-block;vertical-align:middle;margin-right:12px;line-height:0}.av{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#dcd8cc}.nmwrap{vertical-align:middle}
.rec-head{display:flex;gap:28px;align-items:flex-end;flex-wrap:wrap;margin-bottom:6px}.rec-title{flex:1 1 260px}
.portrait{display:block;width:168px;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#dcd8cc;box-shadow:0 6px 18px rgba(0,0,0,.12);position:relative}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}.portrait.empty{box-shadow:none}.portrait.empty span{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:12px;color:var(--muted)}
.reg{display:inline-flex;align-items:center;gap:10px}.bd{width:36px;height:36px;object-fit:contain;border-radius:6px;background:#dcd8cc}
.reg-head{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.reg-head h1{margin:0}.badge-lg{width:112px;height:112px;object-fit:contain;border-radius:12px;background:#dcd8cc}
.gallery{margin:34px 0}.gallery ul{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.gallery li a{display:block;border-radius:10px;overflow:hidden;background:#dcd8cc;aspect-ratio:4/3}.gallery li img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.gallery li a:hover img{transform:scale(1.03)}.gallery li p{margin:6px 2px 0;font-size:14px;color:var(--muted)}
.lb{display:none;position:fixed;inset:0;z-index:60;background:rgba(10,14,11,.93);padding:56px 20px 20px;overflow:auto}.lb:target{display:grid;place-items:center}
.lb figure{margin:0;max-width:min(1100px,100%);text-align:center}.lb img{max-width:100%;max-height:78vh;width:auto;height:auto;border-radius:6px;display:inline-block}
.lb figcaption{color:var(--stone);margin-top:12px;font-size:15px}.lb .cr{opacity:.7}.lb-x{position:fixed;top:14px;right:20px;color:#fff;background:rgba(255,255,255,.14);padding:8px 16px;border-radius:30px;text-decoration:none;font-weight:700}.lb-x:hover{background:var(--poppy);color:#fff}
@media (max-width:760px){.portrait{width:132px}.badge-lg{width:84px;height:84px}}

/* ---- brand lockup ---- */
.brand-mark{width:40px;height:40px;flex:none;display:block}
.brand .brand-text b{display:block;font:600 22px/1.05 Fraunces,Georgia,serif;letter-spacing:.005em;color:#fff}
.brand .brand-text b i{font-style:italic;font-weight:500;color:var(--lime)}
.brand .brand-text small{display:block;margin:4px 0 0;font:500 9.5px/1 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);opacity:.8}
.brand:hover .brand-text b{color:#fff}
footer.site .foot-brand{margin:0 0 14px}footer.site .foot-brand .brand-mark{width:36px;height:36px}footer.site a.brand{color:#fff}
@media (max-width:480px){.brand .brand-text small{display:none}}

.notice{background:#fff;border-left:5px solid var(--lime);border-radius:8px;padding:10px 16px;margin:14px 0}.notice .n{color:var(--muted);font-size:13px}

.pager-wrap{padding:6px 0 50px}.pg-sum{margin:0 0 10px;color:var(--muted);text-align:center}
.pager-n{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0}.pager-n .pg-of{margin:0;font-weight:600}
.pg-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px}.pg-nums{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px}
.pg-links a,.pg-links .cur,.pg-links .off{min-width:44px;min-height:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;box-sizing:border-box;text-decoration:none}
.pg-links a{background:#fff;border:1px solid #cfd6c4;color:inherit;font-weight:600}.pg-links a:hover,.pg-links a:focus-visible{background:var(--lime);border-color:var(--lime)}
.pg-links .cur{background:#2d3a1f;color:#fff;font-weight:700}.pg-links .off{color:#a0a69a;border:1px dashed #d8ddd0}.pg-links .gap{min-width:24px;text-align:center;color:var(--muted)}
@media (max-width:560px){.pg-links .off,.pg-links a[aria-label$="page"]{display:none}.pg-links{gap:4px}}
