/* Reading comfort across generations. Keep names and history easy to find. */
body{font-size:1.125rem;line-height:1.7}
:root{--secondary:#d4cdbb}
.heading-description,.directory-heading .heading-description,.access-copy p,
.access-panel p,.access-panel .access-explanation,.profile-note,.profile-term,
.contact-box p,.muted,.site-footer p,.site-footer .footer-brand span,
.reading p,.reading li,.dialog-intro,.dialog-inner p:not(.error-text),
.directory-bottom,.results-heading,.sort-note,.distinction-details p{color:#d4cdbb}
.control-label,.toolbar .control-label,.access-panel .control-label,
.history-list dt,.details dt,.form-grid label>span,.distinction-source>span,
.distinction-inputs label>span{color:#e0d4b7;font-size:1rem;letter-spacing:.02em;font-weight:600;line-height:1.5}
.heading-description,.directory-heading .heading-description,
.profile-term,.access-copy p,.access-panel p,.contact-box p,
.reading p,.reading li,.details dd,.history-list dd{font-size:1.125rem;line-height:1.7}
.profile-note,.access-panel .access-explanation{font-size:1rem!important;line-height:1.75}
.button,.text-button,.access-panel .button,.profile-aside .text-button,
.directory-bottom .text-button,.footer-links a,.footer-links .text-button,
.profile-main .text-button{font-size:1rem;line-height:1.5;min-height:48px}
input,select,textarea,.toolbar input,.toolbar select,.form-grid input,
.form-grid textarea{font-size:1.125rem;line-height:1.5;min-height:54px}
input::placeholder,textarea::placeholder{color:#cbc6b7}
.member-card h2{font-family:Georgia,'Times New Roman',serif;font-size:1.875rem;line-height:1.3;letter-spacing:0;color:#fff8e8}
.member-card .term{font-size:1.0625rem;line-height:1.6;color:#ded6c2;margin-bottom:12px}
.card-line-name,.profile-line-name{color:#f4efdf;font-size:1.125rem;line-height:1.6;overflow-wrap:anywhere;letter-spacing:0}
.card-line-name{margin:0 0 24px}
.card-line-name>span,.profile-line-name>span{display:block;font-family:var(--sans);font-size:1rem;font-weight:600;color:#ddc795;line-height:1.5;margin-bottom:3px}
.profile-line-name{margin:16px 0 0;font-size:1.375rem}
.member-card{min-width:0}.member-card-copy{min-width:0}
.card-foot{font-size:1rem;min-height:54px;color:#ddc795}
.card-line small{font-size:1rem;letter-spacing:.02em}
.distinction-badge{color:#eee3ca;font-size:1rem;line-height:1.5}
.desktop-nav a,.lock-button,.mobile-nav a,#admin-navigation a{font-size:1rem;color:#ded6c2}
.lock-button{min-height:48px;padding-left:18px}
.desktop-nav{gap:24px;margin-right:0}.header-inner{gap:24px}
.eyebrow,.sample-label{letter-spacing:.07em}
.preview-inner{flex-wrap:wrap;padding-block:8px;gap:4px 20px}
.intro-signature span{max-width:190px;text-align:center;line-height:1.5}
.source-detail,.form-note,.error-text,.toast,.form-grid small{font-size:1rem;line-height:1.7}
.results-heading{flex-wrap:wrap;gap:8px 20px}
.profile-hero h1{overflow-wrap:anywhere}
.details>div,.history-list>div{min-width:0;overflow-wrap:anywhere}
.history-list dd{color:#f4efdf}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible{outline:3px solid #f0d797;outline-offset:4px}
@media(max-width:1050px){
 .toolbar{grid-template-columns:minmax(180px,1fr) 180px 190px;gap:18px}
 .desktop-nav{gap:16px}.header-inner{gap:20px}
}
@media(max-width:850px){
 .desktop-nav{display:none}.header-inner{justify-content:space-between}
 .toolbar{grid-template-columns:1fr 1fr}.toolbar .search-control{grid-column:1/-1}
}
@media(max-width:720px){
 .member-card{grid-template-columns:56px minmax(0,1fr);gap:0 16px;padding:22px 18px 0}
 .member-card .avatar{width:56px;height:56px;font-size:1.75rem}
 .member-card h2{font-size:1.625rem;line-height:1.3}
 .card-top{align-self:start;padding-top:4px}
 .card-line-name{font-size:1.0625rem;margin-bottom:0}
 .card-foot{margin-top:20px;min-height:54px}
 .profile-hero{grid-template-columns:minmax(0,1fr) 64px;gap:16px}
 .profile-hero>.avatar{width:64px;height:64px;font-size:1.875rem}
 .profile-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:2.25rem;line-height:1.25;letter-spacing:0}
 .profile-aside{padding:24px}.history-list{gap:24px 16px}
 .details{grid-template-columns:1fr}
 .brand{gap:10px}.brand>span{font-size:1rem;letter-spacing:.1em}
 .brand small{font-size:.875rem;letter-spacing:.2em}
 .lock-button{gap:7px;padding-left:12px;flex-shrink:0}
 .lock-button span{max-width:none}.lock-button svg{display:none}
 .mobile-nav a{font-size:1rem;min-height:72px}
 .site-footer{padding-bottom:120px}.footer-links{flex-wrap:wrap}
 .toolbar{padding:18px 14px;gap:18px 12px}
 .toolbar select{padding-left:10px;padding-right:26px}
 .directory-heading .eyebrow{letter-spacing:.04em}
}
@media(max-width:380px){
 .shell{width:calc(100% - 28px)}
 .toolbar{grid-template-columns:1fr}
 .member-card{grid-template-columns:1fr;display:flex;padding:22px 18px 0}
 .card-top{margin-bottom:16px}.member-card-copy{width:100%}
 .card-foot{width:100%}.member-card .distinction-badges{width:100%}
 .profile-hero{grid-template-columns:1fr}
 .profile-hero>.avatar{grid-column:1;grid-row:1}
 .profile-hero>div:nth-child(2){grid-column:1;grid-row:2}
 .profile-action{grid-row:3}.history-list{grid-template-columns:1fr}
 .brand img{width:38px;height:30px}.brand>span{letter-spacing:.05em}
 .brand small{letter-spacing:.1em}.lock-button{padding-left:8px}
}

/* Bounded browsing: 12 records, consistent controls, and visible progress. */
.directory-heading{padding-block:30px 28px}
.directory-heading h1{font-size:clamp(2.8rem,4.5vw,3.8rem)}
.directory-heading .eyebrow{margin-bottom:12px}
.directory-toolbar{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.directory-toolbar label{min-width:0;grid-column:span 2}
.directory-toolbar .search-control,.directory-toolbar .career-control,.directory-toolbar .distinction-control{grid-column:span 2}
.filter-actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 20px}
.filter-actions p{font-size:1rem;color:#d4cdbb;margin:0}
.filter-actions .text-button{padding-block:6px}
.pagination nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 24px}
.pagination span{font-size:1rem;color:#ded6c2}
.pagination-top:not(:empty){margin-bottom:24px}
.pagination-bottom:not(:empty){margin-top:28px}
.pagination .button:disabled{opacity:1;background:transparent;color:#938e80;border-color:#48463a;cursor:default}
.pagination .button{min-width:130px}
.member-grid[aria-busy="true"]{opacity:.55;pointer-events:none}
#directory-results{scroll-margin-top:24px}
#results-count{margin:0}
.directory-content .directory-bottom{margin-top:28px}
@media(max-width:720px){
 .directory-toolbar{grid-template-columns:1fr 1fr}
 .directory-toolbar label{grid-column:auto}
 .directory-toolbar .search-control,.directory-toolbar .career-control,.directory-toolbar .distinction-control{grid-column:1/-1}
 .directory-toolbar label:last-of-type{grid-column:1/-1}
 .directory-heading{padding-block:26px}
 .directory-heading h1{font-size:2.8rem}
 .pagination nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .pagination span{grid-row:1;grid-column:1/-1;text-align:center}
 .pagination .button{grid-row:2;min-width:0;padding-inline:14px}
}
@media(max-width:380px){.directory-toolbar{grid-template-columns:1fr}}
