/* Preserve redesign: variance 4, motion 3, density 5.
   Reuse the established black/gold palette, native CSS and brand artwork. */
body:not(.home-page) .wrap{width:min(1160px,88%)}
body:not(.home-page) .header-inner{width:min(1440px,92%);min-height:72px}
body:not(.home-page) .nav-row{min-height:72px}
body:not(.home-page) #inner-brand-background{opacity:.28}
body:not(.home-page) .page-banner{padding:24px 0 30px}
body:not(.home-page) .page-banner h1{font-size:clamp(32px,3.2vw,46px);line-height:1.4;letter-spacing:.035em;margin:6px 0 0}
body:not(.home-page) .page-banner .breadcrumb{margin-bottom:22px}
body:not(.home-page) .page-banner small{font-size:10px;letter-spacing:.14em}
body:not(.home-page) .section-nav.context-navigation{top:var(--inner-header-height,72px);gap:28px;min-height:58px;margin:auto;align-items:center;background:#080d13f7}
body:not(.home-page) .context-navigation a{flex:none;min-height:58px;display:flex;align-items:center;padding:15px 0;font-size:14px;line-height:1.5}
body:not(.home-page) .context-navigation a:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.institution-layout{padding-bottom:12px}
.institution-layout .institutional-section{display:block;padding:48px 0}
.institution-layout .institutional-section>.section-heading{display:block;margin:0 0 24px}
.institution-layout .institutional-section>.section-heading>div>small{display:none}
.institution-layout .institutional-section>.section-heading h2{font-size:30px;line-height:1.45;margin:0}
.institution-layout .section-content>p,
.institution-layout .section-content>.editorial-intro,
.institution-layout .text-feature{max-width:960px}
.institution-layout .section-content p{line-height:1.95}
.institution-layout .section-content>p:last-child{margin-bottom:0}
.institution-layout .editorial-intro{padding:28px 0 8px}
.institution-layout .editorial-intro small{font-size:12px}
.institution-layout .business-lead-title{font-size:30px;margin:10px 0 22px}
.institution-layout .wide-section .editorial-copy{margin-top:30px;gap:32px}
.institution-layout .value-added-list{gap:24px 40px;margin-top:26px}
.institution-layout .value-added-list:has(>article:only-child){grid-template-columns:1fr;max-width:960px}
.institution-layout .value-added-list article{padding-top:22px}
.institution-layout .feature-title{font-size:26px;margin-bottom:20px}
.institution-layout .feature-split{gap:36px}
.institution-layout .subpage-points{gap:28px;margin:24px 0}
.institution-layout .subpage-points article{padding-top:20px}
.institution-layout .subpage-points h3{font-size:23px}
.institution-layout .subpage-contact{grid-template-columns:1fr 1.4fr;gap:48px}
.institution-layout #management .editorial-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 40px;margin:24px 0}
.institution-layout #management .editorial-block{margin:0}
.institution-layout #management .editorial-block h3{margin:0 0 10px}
.people-grid:not(.people-track):has(>.image-person){grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
.people-grid:not(.people-track)>.image-person{display:grid;grid-template-columns:136px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:24px;align-content:start;border-top:1px solid var(--line);padding:24px 0 0}
.people-grid:not(.people-track)>.image-person>.portrait{grid-row:1/5;align-self:start}
.people-grid:not(.people-track)>.image-person .portrait img{aspect-ratio:4/5}
.people-grid:not(.people-track)>.image-person .portrait-more{padding:10px 8px;font-size:10px}
.people-grid:not(.people-track)>.image-person .person-name{font-size:26px;line-height:1.4;margin:0 0 8px}
.people-grid:not(.people-track)>.image-person .person-role{min-height:0;font-size:12px;line-height:1.7;margin:0 0 10px}
.people-grid:not(.people-track)>.image-person .person-experience{font-size:13px;line-height:1.8;-webkit-line-clamp:3}
.people-grid:not(.people-track)>.image-person .person-read{font-size:12px;margin-top:10px}
.institution-layout #history.institutional-section{padding:48px 0}
.institution-layout #history .timeline-year li{display:block;margin-bottom:14px}
.institution-layout #history .timeline-year h5{font-size:20px;line-height:1.65;margin:0 0 18px}
.institution-layout #history .timeline-year p{font-size:14px;line-height:1.9;margin:0}
.institution-layout .story-tabs{gap:20px}
.institution-layout .story-tabs button{padding:16px 10px;min-height:54px;font-size:16px}
.institution-layout .story-panel{grid-template-columns:1.15fr 1fr;gap:6%;padding:28px 0}
.institution-layout .story-panel .editorial-photo img{aspect-ratio:3/2}
.institution-layout .story-caption h3{font-size:27px;margin-bottom:18px}
.institution-layout .story-caption p{font-size:16px}
.institution-layout .service-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.institution-layout .service-summary{border:0;border-top:1px solid var(--line);padding:24px 0!important}
.institution-layout .service-summary>div{padding:0}
.institution-layout .service-summary small{display:none}
.institution-layout .service-summary h3{font:24px/1.5 var(--serif);margin:0 0 12px}
.institution-layout .service-summary p{font-size:15px}
body:not(.home-page) .portfolio-introduction{margin:28px 0;max-width:920px}
body:not(.home-page) .listing{padding-top:12px}
body:not(.home-page) .listing .institution-news-row{padding:28px 0}
body:not(.home-page) .listing .institution-news-row h3{font-size:25px;line-height:1.65}
body:not(.home-page) .project{padding:36px 0 20px;gap:6%}
body:not(.home-page) .project-text h2{font-size:30px;line-height:1.55}
body:not(.home-page) .article{max-width:900px;padding:34px 0 20px}
body:not(.home-page) .article .breadcrumb{margin-bottom:28px}
body:not(.home-page) .article-header h1{font-size:clamp(28px,3vw,40px);line-height:1.55}
body:not(.home-page) .article-body{max-width:820px}
body:not(.home-page) .article-body p{line-height:2}
body:not(.home-page) .search-form{margin:32px 0 24px}
body:not(.home-page) .institution-layout:empty,
body:not(.home-page) main>.wrap:empty{display:none}
footer{margin-top:42px;padding-top:40px}
.footer-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px;padding-bottom:34px}
.footer-grid h3{margin-bottom:14px}
.footer-grid>div>a{font-size:12px;line-height:1.7;margin:8px 0}
.footer-grid p{font-size:13px}
.footer-base{padding:20px 0}
.utility>a:not([href="#top"]){display:none}
.app-download .app-hero{grid-template-columns:minmax(0,1fr);text-align:center}
.app-hero-copy{width:100%;max-width:800px;margin-inline:auto}
.app-hero-copy .app-subtitle,.app-hero-copy .app-consent,.app-hero-copy .app-flow-message{margin-inline:auto}
.app-hero-copy .app-download-actions{justify-content:center;margin-inline:auto}
@media(max-width:1100px){
 .people-grid:not(.people-track)>.image-person{grid-template-columns:112px minmax(0,1fr);column-gap:18px}
 .people-grid:not(.people-track)>.image-person .person-name{font-size:23px}
 .footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:800px){
 body:not(.home-page) .header-inner,body:not(.home-page) .nav-row{min-height:64px}
 body:not(.home-page) .nav-row{min-height:50px}
 body:not(.home-page) .section-nav.context-navigation{top:var(--inner-header-height,64px);gap:22px;min-height:52px}
 body:not(.home-page) .context-navigation a{min-height:52px;padding:13px 0;font-size:13px}
 .institution-layout .institutional-section,.institution-layout #history.institutional-section{padding:34px 0}
 .institution-layout .institutional-section>.section-heading{margin-bottom:20px}
 .institution-layout .institutional-section>.section-heading h2{font-size:27px}
 .institution-layout .business-lead-title{font-size:27px}
 .institution-layout .section-content p{font-size:15px}
 .institution-layout .subpage-contact{grid-template-columns:1fr;gap:24px}
 .institution-layout .story-panel{grid-template-columns:1fr;gap:22px;padding:24px 0}
 .institution-layout .story-tabs button{font-size:13px;padding:14px 6px}
 .institution-layout .story-caption h3{font-size:25px}
 .institution-layout .story-caption p{font-size:15px}
 .people-grid:not(.people-track):has(>.image-person){grid-template-columns:1fr}
 .people-grid:not(.people-track)>.image-person{grid-template-columns:128px minmax(0,1fr);column-gap:22px}
 .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:520px){
 body:not(.home-page) .wrap{width:88%}
 body:not(.home-page) .page-banner{padding:20px 0 24px}
 body:not(.home-page) .page-banner .breadcrumb{margin-bottom:18px}
 body:not(.home-page) .page-banner h1{font-size:33px}
 .institution-layout #management .editorial-copy,
 .institution-layout .subpage-points,
 .institution-layout .service-gallery{grid-template-columns:1fr;gap:20px}
 .people-grid:not(.people-track)>.image-person{grid-template-columns:108px minmax(0,1fr);column-gap:18px}
 .people-grid:not(.people-track)>.image-person .person-name{font-size:22px}
 .people-grid:not(.people-track)>.image-person .person-experience{-webkit-line-clamp:4}
 .institution-layout .story-tabs{gap:8px}
 .institution-layout .story-tabs button{font-size:12px}
 body:not(.home-page) .listing .institution-news-row h3{font-size:21px}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 footer{margin-top:30px;padding-top:32px}
}
/* Keep the portrait still while each complete biography scrolls independently. */
.person-dialog{height:min(760px,86dvh);max-height:86dvh;overflow:hidden}
.person-dialog .person-detail{height:100%;min-height:0;grid-template-columns:.9fr 1.2fr;grid-template-rows:minmax(0,1fr);align-items:center;gap:40px;padding:48px 40px}
.person-dialog .person-detail>img{align-self:center;max-height:100%;object-fit:contain}
.person-dialog .person-copy{height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:12px 12px 12px 0}
.person-copy:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.person-dialog .dialog-close{z-index:1}
.person-dialog .person-detail:not(:has(>img)){grid-template-columns:minmax(0,1fr)}
@media(max-width:600px){
 .person-dialog{width:calc(100vw - 24px)}
 .person-dialog .person-detail{grid-template-columns:.75fr 1.25fr;gap:16px;padding:50px 18px}
 .person-dialog .person-copy{padding:0 6px 0 0}
}
@media(prefers-reduced-motion:reduce){
 .context-navigation,.context-navigation a{scroll-behavior:auto;transition:none}
}
