/* White identity bar, dark navigation, readable controls and portrait directory. */
html:not([data-accessible]) .visual-system .niisf-native-header__bar { background:#fff; color:#03256c; border-bottom:1px solid #e0e0e0; }
html:not([data-accessible]) .visual-system .niisf-native-header__logo img { filter:brightness(0); }
html:not([data-accessible]) .visual-system .niisf-native-header__login { background:#0034ff; border-color:#0034ff; color:#fff; }
html:not([data-accessible]) .visual-system .niisf-native-header__login:hover { background:#03256c; border-color:#03256c; color:#fff; }
html:not([data-accessible]) .visual-system .accessibility-launcher { background:#fff; color:#03256c; border-color:#03256c; }
html:not([data-accessible]) .visual-system .niisf-native-header__icon { background:#03256c; color:#fff; border-color:#03256c; }
html:not([data-accessible]) .visual-system .site-navigation { background:#03256c; color:#fff; border-bottom:0; }
html:not([data-accessible]) .visual-system :is(.menu-home,.menu-item-heading>a) { color:#fff; }
html:not([data-accessible]) .visual-system :is(.menu-home[aria-current],.menu-item-heading>a[aria-current]) { color:#fff; background:#ffffff18; box-shadow:inset 0 -3px #fff; }
html:not([data-accessible]) .visual-system :is(.menu-home,.menu-item-heading>a):hover { color:#fff; background:#ffffff18; }
html:not([data-accessible]) .visual-system .submenu-toggle { color:#fff; }
html:not([data-accessible]) .visual-system .menu-mobile-toggle { color:#fff; background:#03256c; }
html:not([data-accessible]) .visual-system .mega-navigation :is(.menu-home,.menu-item-heading>a,.submenu-toggle):focus-visible { outline-color:#fff; }
html:not([data-accessible]) .visual-system .mega-panel { background:#fff; color:#1a1f29; }
html:not([data-accessible]) .visual-system .mega-panel :is(h2,a) { color:#03256c; }
html:not([data-accessible]) .visual-system .mega-panel a:hover { color:#0034ff; }
html:not([data-accessible]) .visual-system .mega-panel a:focus-visible { outline-color:#0034ff; }
/* Explicit foreground/background pairs prevent inherited blue-on-blue links. */
html:not([data-accessible]) .visual-system .vs-news .codex-home-more { background:#03256c; border-color:#03256c; color:#fff; }
html:not([data-accessible]) .visual-system .vs-news .codex-home-more:hover { background:#0034ff; border-color:#0034ff; color:#fff; }
html:not([data-accessible]) .visual-system .vs-guide :is(a,strong,small,p),
html:not([data-accessible]) .visual-system .niisf-native-footer a { color:#fff; }
/* A full-width band without viewport units or horizontal overflow. */
.visual-system .vs-home { width:100%; }
.visual-system .vs-home>:not(.vs-projects) { width:min(1200px,calc(100% - 48px)); margin-inline:auto; }
.visual-system .vs-projects { width:100%; padding-inline:24px; background:#f5f5f5; }
.visual-system .vs-projects .vs-section-head { max-width:1200px; margin-inline:auto; }
.visual-system .vs-projects .niisf-native-slider { width:100%; max-width:none; }
.visual-system .vs-projects .niisf-native-slider__slide img { width:100%; height:auto; object-fit:contain; }
/* Photos come from each existing expert profile. */
.visual-system .expert-directory-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; align-items:stretch; }
.visual-system .expert-directory-grid>.expert-card { padding:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid #e0e0e0; border-radius:10px; background:#fff; }
.expert-card-photo { display:block; width:100%; aspect-ratio:1/1; flex-shrink:0; background:#f5f5f5; overflow:hidden; }
.expert-card-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; }
.expert-card-body { padding:20px; flex:1; }
.visual-system .expert-card-body h2 { margin:0 0 12px; font-size:23px; line-height:1.25; color:#03256c; }
.visual-system .expert-card-body h2 a { color:#03256c; text-decoration:none; }
.visual-system .expert-card-body h2 a:hover { color:#0034ff; text-decoration:underline; }
.visual-system .expert-card-body p { margin:0; font-size:14px; line-height:1.6; color:#59616d; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.expert-card-placeholder { display:flex; align-items:center; justify-content:center; gap:12px; color:#59616d; }
.expert-card-placeholder img { width:48px; height:48px; }
@media(max-width:1000px) { .visual-system .expert-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; } }
@media(max-width:760px) {
 .visual-system .vs-home>:not(.vs-projects) { width:calc(100% - 32px); }
 .visual-system .vs-projects { padding-inline:16px; }
 .visual-system .expert-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .expert-card-body { padding:16px; }
 .visual-system .expert-card-body h2 { font-size:21px; }
}
@media(max-width:480px) { .visual-system .expert-directory-grid { grid-template-columns:1fr; } }
html[data-accessible] .visual-system .expert-directory-grid { display:block; }
html[data-accessible] .visual-system .expert-card { margin-block:24px; }
