/* Content directories use aligned rows rather than presentation cards. */
.expert-list{list-style:none;padding:0;margin:0;border-block:1px solid #d9e2d2}
.expert-list>li{margin:0;padding:0}
.expert-list>li+li{border-top:1px solid #e2e8dc}
.expert-row{display:grid;grid-template-columns:27px minmax(230px,280px) minmax(0,1fr) 58px;gap:18px;align-items:center;padding:11px 14px;min-height:74px;background:#fcfdf9;transition:background .25s}
.expert-list>li:nth-child(even) .expert-row{background:#f6f9f2}
.expert-row:hover,.expert-list>li:nth-child(even) .expert-row:hover{background:#edf3e6}
.expert-row:focus-visible{outline-offset:-3px;position:relative;z-index:1}
.expert-number{font-size:13px;font-variant-numeric:tabular-nums;color:#859271;align-self:center}
.expert-identity{min-width:0}
.expert-identity h3{font-size:16px;line-height:1.8;font-weight:550;margin:0;color:var(--ink)}
.expert-category{display:block;font-size:12px;color:#7c876c;line-height:1.7;margin-top:2px}
.expert-summary{font-size:14px;line-height:1.9;color:#65715f;margin:0;min-width:0}
.row-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c8d5bd;border-radius:4px;min-height:32px;padding:3px 9px;font-size:12px;line-height:1.7;color:#4c6640;white-space:nowrap;background:#ffffffe0;transition:background .2s,border-color .2s}
.expert-row:hover .row-action,.journal-entry:hover .row-action{background:#fff;border-color:#9cb28b}
.specialties-section .section-heading{margin-bottom:18px}
.specialties-section .section-heading h2{font-size:23px}
.specialties-section .section-description{font-size:14px}
.filter-bar+ .result-caption{margin-block:14px}

/* Journal metadata stays in one column; titles and summaries share a baseline. */
.journal-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.journal-entry{display:grid;grid-template-columns:140px minmax(0,1fr) 58px;gap:24px;align-items:center;padding:18px 13px;border-bottom:1px solid var(--line);background:transparent;transition:background .25s}
.journal-entry:hover{background:#f4f7ef}
.journal-entry-meta{align-self:start;padding-top:4px}
.journal-entry-meta>span{display:block;font-size:13px;color:#788462;line-height:1.8}
.journal-entry-meta small{display:block;font-size:12px;color:#89917f;margin-top:3px}
.journal-entry-copy{min-width:0}
.journal-entry-copy h3{font-size:17px;font-weight:550;line-height:1.8;margin:0 0 4px}
.journal-entry-copy p{font-size:14px;line-height:1.95;color:var(--muted);margin:0}
.journal-entry .row-action{align-self:center}
.journal-tools{align-items:center}
.journal-tools .filter-bar{flex:1}
.journal-tools .search-box{width:245px;min-width:0}
.reading-layout{grid-template-columns:minmax(0,740px) minmax(160px,220px);gap:50px}
.reading-layout .prose p{line-height:2.05}
.reading-layout .prose h2{font-size:21px;margin-top:25px}
.reading-layout .prose section+section{margin-top:25px}
.reading-aside>a{line-height:1.9}
.related-section .section-heading .eyebrow{display:none}
.related-section .section-heading h2{font-size:22px}

/* Professional profile: overview first, then education and office held. */
.refined-profile{grid-template-columns:190px minmax(0,1fr);gap:42px;align-items:start}
.refined-profile .profile-card>img{height:217px}
.refined-profile .profile-card>div{padding:16px}
.refined-profile .profile-card h2{font-size:18px}
.refined-profile .profile-card p{font-size:12px;margin:6px 0 13px}
.refined-profile .profile-card .button{font-size:12px;min-height:36px;padding:6px 12px}
.profile-overview h2{font-size:22px;margin:0 0 10px}
.profile-overview p{font-size:16px;color:var(--muted);line-height:2.05;margin:0 0 13px;max-width:760px}
.profile-expertise-link{font-size:14px;display:inline-flex;padding-block:5px;border-bottom:1px solid #c6d5ba;margin-top:2px}
.resume-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;margin-top:26px;border-top:1px solid var(--line)}
.resume-grid .resume-block{margin:0;padding:20px 0 0;border:0}
.resume-grid .resume-block h2{font-size:20px;margin:0 0 17px}
.resume-grid .education-row{gap:15px;margin-bottom:17px}
.resume-grid .education-row>span{font-size:15px;min-width:40px;padding-top:2px}
.resume-grid .education-row h3{font-size:15px;line-height:1.85;font-weight:550}
.resume-grid .education-row p{font-size:13px;line-height:1.9}
.professional-record{font-size:16px;line-height:1.95;font-weight:550;margin:0}
.record-note{font-size:13px;color:var(--muted);margin:8px 0 0}

/* Detail pages separate explanation, practical examples and initial documents. */
.refined-detail{grid-template-columns:minmax(0,1fr) 215px;gap:42px}
.refined-detail .official-title{padding:0 0 17px;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.refined-detail .official-title .overline{font-size:12px;color:#7d886d}
.refined-detail .official-title p{font-size:16px;line-height:1.95;color:var(--ink);font-weight:550;margin:5px 0 0}
.detail-description h2{font-size:21px;margin:20px 0 9px}
.detail-description p{font-size:16px;line-height:2.05;margin:0 0 13px}
.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);margin-top:23px;padding-top:19px}
.detail-facts>section{min-width:0;scroll-margin-top:105px}
.detail-facts h2{font-size:18px;margin:0 0 12px}
.detail-facts ul{padding-right:18px;margin:0}
.detail-facts li{font-size:15px;line-height:1.95;margin:7px 0;padding-right:2px}
.detail-facts .small-note{font-size:12px;line-height:1.9;margin:12px 0 0}
.refined-detail .detail-aside{border-right:1px solid var(--line);padding-right:22px;top:102px}
.detail-contents h2,.detail-contact h2{font-size:15px;font-weight:550;margin:0 0 11px}
.detail-contents>a{display:block;font-size:14px;line-height:1.9;color:var(--muted);padding-block:6px}
.detail-contents>a:hover{color:var(--green);text-decoration:underline;text-underline-offset:5px}
.detail-contact{border-top:1px solid var(--line);margin-top:20px;padding-top:19px}
.detail-contact p{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 14px}
.detail-contact .button{font-size:13px;padding:7px 13px;min-height:38px}
.expertise-neighbors{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid var(--line);margin-top:27px;padding-top:18px;position:static;background:transparent;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none;border-radius:0}
.expertise-neighbors>a{display:flex;flex-direction:column;gap:3px;white-space:normal;border:1px solid #d4dfcc;border-radius:5px;padding:10px 13px;background:#f7f9f3;transition:background .2s}
.expertise-neighbors>a:hover{background:#eaf1e2;text-decoration:none}
.expertise-neighbors>a:after{display:none}
.expertise-neighbors small{font-size:12px;color:#7b876b}
.expertise-neighbors span{font-size:14px;line-height:1.8;font-weight:500}
.expertise-neighbors>a:only-child{grid-column:1/-1;max-width:350px}
.refined-detail #scope{scroll-margin-top:102px}

@media(max-width:1000px){
 .expert-row{grid-template-columns:24px minmax(200px,250px) minmax(0,1fr) 55px;gap:14px;padding-inline:10px}
 .expert-identity h3{font-size:15px}.expert-summary{font-size:14px}
 .journal-entry{grid-template-columns:120px minmax(0,1fr) 55px;gap:18px}
 .resume-grid{grid-template-columns:1fr;gap:0;margin-top:23px}
 .resume-grid .resume-block+ .resume-block{border-top:1px solid var(--line);margin-top:8px;padding-top:18px}
 .refined-detail{grid-template-columns:minmax(0,1fr) 185px;gap:28px}
 .refined-detail .detail-aside{padding-right:17px}
 .detail-facts{grid-template-columns:1fr;gap:20px}
}
@media(max-width:760px){
 .expert-row{grid-template-columns:22px minmax(0,1fr) 55px;gap:4px 12px;padding:12px 10px;min-height:0}
 .expert-number{grid-column:1;grid-row:1;align-self:center}
 .expert-identity{grid-column:2;grid-row:1}.expert-identity h3{font-size:16px}
 .expert-category{display:none}.expert-summary{grid-column:2/4;grid-row:2;font-size:14px;line-height:1.9;padding-top:2px}
 .expert-row>.row-action{grid-column:3;grid-row:1;align-self:center;min-height:31px}
 .journal-entry{grid-template-columns:minmax(0,1fr) 55px;gap:8px 14px;padding:15px 8px}
 .journal-entry-meta{grid-column:1;grid-row:1;display:flex;gap:12px;align-items:center;padding:0}
 .journal-entry-meta>span{font-size:12px}.journal-entry-meta small{font-size:12px;margin:0}
 .journal-entry-copy{grid-column:1/-1;grid-row:2}.journal-entry-copy h3{font-size:16px;margin-bottom:5px}
 .journal-entry-copy p{font-size:14px}.journal-entry>.row-action{grid-column:2;grid-row:1;min-height:29px}
 .refined-profile{grid-template-columns:170px minmax(0,1fr);gap:27px}
 .refined-profile .profile-card>img{height:195px}
 .reading-layout{grid-template-columns:1fr;gap:25px}
 .reading-aside{position:static;grid-row:1}.reading-aside .text-link{display:none}
 .refined-detail{grid-template-columns:1fr;gap:25px}
 .refined-detail .detail-aside{position:static;padding:0;border:0;border-top:1px solid var(--line)}
 .detail-contents{display:none}.detail-contact{border:0;margin:0;padding-top:20px}
 .detail-contact h2{font-size:17px}.detail-contact p{font-size:14px}
 .expertise-neighbors{gap:10px;top:auto;left:auto;right:auto;display:grid;flex-direction:initial;align-items:stretch;padding:18px 0 0;border:0;border-top:1px solid var(--line)}
 .expertise-neighbors>a{font-size:14px;padding:10px;line-height:1.8}
}
@media(max-width:640px){
 .specialties-section .section-heading h2{font-size:21px}
 .specialties-section .section-description{font-size:13px;line-height:1.9}
 .expert-row{gap:4px 9px;padding:11px 7px}
 .expert-identity h3{font-size:15px;line-height:1.85}.expert-number{font-size:12px}
 .expert-summary{font-size:14px}.row-action{font-size:12px;padding-inline:8px}
 .journal-tools .search-box{width:100%}
 .refined-profile{grid-template-columns:1fr;gap:24px}
 .refined-profile .profile-card{grid-template-columns:78px minmax(0,1fr);gap:15px;padding:13px;max-width:none}
 .refined-profile .profile-card>img{height:104px;width:78px}
 .refined-profile .profile-card>div{padding:0}.refined-profile .profile-card h2{font-size:18px}
 .refined-profile .profile-card p{font-size:12px;margin:4px 0 10px}
 .profile-overview h2{font-size:21px}.profile-overview p{font-size:16px;line-height:2.05}
 .resume-grid{margin-top:22px}.resume-grid .resume-block h2{font-size:19px;margin-bottom:16px}
 .resume-grid .education-row h3{font-size:15px}.professional-record{font-size:16px}
 .detail-description h2{font-size:20px}.detail-facts{padding-top:18px;gap:20px}
 .detail-facts h2{font-size:18px}.detail-facts li{font-size:15px}
 .expertise-neighbors{grid-template-columns:1fr}.expertise-neighbors>a:only-child{max-width:none}
}
.expertise-neighbors{padding:18px 0 0}

/* Review pass: legible metadata, predictable controls and compact mobile navigation. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
main:focus{outline:none}
:focus-visible{outline:2px solid #285b48;outline-offset:4px}
button,input,a,summary{-webkit-tap-highlight-color:#dce9d5}
.expert-number,.expert-category,.journal-entry-meta>span,.journal-entry-meta small,
.refined-detail .official-title .overline,.expertise-neighbors small{color:#5e6f53}
.about-fact-row span,.education-row>span,.software-index{color:#61744e}
.hero .eyebrow,.portrait-stage figcaption{color:#5e6f53}
.expert-identity :is(h2,h3){font-size:16px;line-height:1.8;font-weight:550;margin:0;color:var(--ink)}
.journal-entry-copy :is(h2,h3){font-size:17px;font-weight:550;line-height:1.8;margin:0 0 4px}
.expert-list>li:nth-child(even) .expert-row{background:#f8faf5}
.expert-row:hover,.expert-list>li:nth-child(even) .expert-row:hover{background:#edf3e6}
.expert-row:focus-visible,.journal-entry:focus-visible{background:#edf3e6;outline-offset:-2px}
.row-action{border-color:#acbda1;color:#3b5d31}
.filter-bar button,.search-box input{min-height:44px;border-color:#afbdab}
.filter-bar button span{opacity:1}
.search-box input::placeholder{color:#606f67;opacity:1}
.search-box input:focus-visible{border-color:var(--green)}
.text-link{display:inline-flex;align-items:center;min-height:40px;text-decoration:underline;text-decoration-color:#b6c5ab;text-underline-offset:5px}
.text-link:hover{text-decoration-color:currentColor}
.hero-topics a{min-height:36px;display:inline-flex;align-items:center}
.button,.back-button,.page-heading-back,.footer-bottom .back-button{min-height:44px}
#navigation a{font-size:14px}
#navigation .mobile-contact{display:none}
.header-contact[aria-current]{background:#eaf0e5;border-color:#829c75}
.menu-toggle{min-width:44px;min-height:44px}
.site-header:after{background:#879d73}
.software-card{grid-template-columns:185px minmax(0,1fr) auto;padding:22px;gap:24px}
.software-identity h2{white-space:nowrap;font-size:20px}
.software-description p{margin-block:8px 13px}
.software-card>.button{white-space:nowrap}
.contact-options{gap:0;border-block:1px solid var(--line);display:flex;flex-direction:column}
.contact-layout,.faq-section{grid-template-columns:1fr 1.3fr;gap:60px}
.contact-option{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:18px 0;background:transparent;gap:14px;flex-wrap:nowrap;align-items:center}
.contact-option:hover{background:transparent;border-color:var(--line)}
.contact-option>div{flex:1;min-width:0}
.contact-option .icon-tile{flex-shrink:0}
.contact-value{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-decoration-color:#b6c5ab;text-underline-offset:5px;width:fit-content;max-width:100%}
.email-value{font-size:14px;overflow-wrap:anywhere;display:block;padding-block:8px}
.copy-button{min-height:44px;min-width:44px;font-size:13px;margin:0;padding:5px 10px;border-color:#afbdab;background:transparent}
.messenger{transition:background .2s}
.messenger:hover,.messenger:focus-visible{background:#eef4e7}
.messenger-action{font-size:13px;border:1px solid #afbdab;border-radius:4px;min-height:36px;display:flex;align-items:center;padding:4px 10px;color:var(--green)}
.contact-unavailable{font-size:13px;color:var(--muted);margin:0;padding-block:14px}
.contact-intro>.text-link{font-size:14px;margin-top:3px}
.faq-list summary{min-height:52px;align-items:center}
.footer-grid>div>a:not(.footer-brand){min-height:36px;display:flex;align-items:center;margin-block:2px}
.reading-aside>a,.detail-contents>a{min-height:40px;display:flex;align-items:center}
.reading-aside{top:102px}
.prose section{scroll-margin-top:105px}
.contact-band .contact-preparation{font-size:13px;margin-top:5px}
@media(max-width:1150px){
 #navigation{gap:12px}#navigation a{font-size:13px}
 .software-card{grid-template-columns:180px minmax(0,1fr)}
 .software-card>.button{grid-column:2;justify-self:start}
}
@media(max-width:1000px){
 #navigation,.menu-open #navigation{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:12px 24px 18px;max-height:calc(100dvh - 110px);overflow-y:auto}
 #navigation a{min-height:44px;display:flex;align-items:center;font-size:14px;padding:7px 12px}
 #navigation .mobile-contact{display:flex;grid-column:1/-1;background:#edf3e8;border:1px solid #c2d1b9;margin-top:4px}
}
@media(max-width:900px){
 .contact-layout,.faq-section{grid-template-columns:1fr;gap:25px}
}
@media(max-width:760px){
 .journal-entry-copy :is(h2,h3){font-size:16px;margin-bottom:5px}
 .software-card{grid-template-columns:160px minmax(0,1fr);gap:20px}
 .software-identity h2{font-size:18px}
 .contact-layout{grid-template-columns:1fr;gap:25px}
 .contact-options{grid-row:1}
 .contact-intro h2{margin-top:0}
}
@media(max-width:640px){
 #navigation,.menu-open #navigation{padding-inline:18px;top:71px}
 .brand small{font-size:11px;white-space:normal;max-width:205px;line-height:1.7}
 .brand strong{font-size:18px}
 .header-inner{gap:10px}
 .page-hero>.page-heading{flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:12px;padding-block:18px}
 .page-heading-back{order:0;font-size:13px;min-height:44px;white-space:normal;padding:7px 12px}
 .page-heading-copy{flex:1 1 100%}
 .page-hero .page-heading h1{font-size:23px}
 .expert-identity :is(h2,h3){font-size:15px;line-height:1.85}
 .expert-summary{grid-column:1/-1;padding-top:4px}
 .journal-entry-meta>span,.journal-entry-meta small{font-size:12px}
 .software-card{grid-template-columns:1fr;padding:18px;gap:16px}
 .software-card>.button{grid-column:1}
 .software-identity{display:grid;grid-template-columns:34px minmax(0,1fr);gap:0 12px;padding-bottom:13px}
 .software-identity .icon-tile{grid-row:1/3;align-self:center}
 .software-identity h2{font-size:20px;margin:0;text-align:right;white-space:normal}
 .software-identity .overline{grid-column:2;font-size:12px}
 .software-index{display:none}
 .software-description h3{font-size:17px;margin-bottom:6px}
 .software-use{font-size:14px}
 .resource-row a{min-height:48px}
 .contact-option{padding-block:13px;gap:10px}
 .contact-value{font-size:18px}
 .email-value{font-size:13px}
 .copy-button{padding-inline:8px}
 .contact-option .icon-tile{width:30px;height:30px}
 .contact-person,.contact-region{display:none}
 .faq-section h2{font-size:21px}
}
@media(max-width:370px){
 .brand small{max-width:178px;font-size:11px}.brand img{width:30px;height:30px}.brand{gap:6px}
 .header-inner{gap:7px}.menu-toggle{margin-right:auto}
 .email-value{font-size:13px}.contact-option .icon-tile{display:none}
}
.filter-bar button,.search-box input,.copy-button,.page-heading-back,.back-button,.menu-toggle,.button.outline,.row-action,.messenger-action{border-color:#819476}
