/* Visual system based on the supplied 2026 brand regulations. */
html:not([data-accessible]) { --niisf-navy:#03256c; --niisf-deep-blue:#03256c; --niisf-blue:#0034ff; --niisf-cyan:#0034ff; --niisf-mint:#1e8e5a; --niisf-ink:#1a1f29; --niisf-muted:#59616d; --niisf-surface:#f5f5f5; --niisf-surface-strong:#f5f5f5; --niisf-line:#e0e0e0; --niisf-signal:#e60012; --niisf-shadow:none; --niisf-radius:10px; }
html:not([data-accessible]) body.visual-system { background:#fff; color:#1a1f29; font-family:Roboto,Arial,sans-serif; font-size:16px; line-height:1.6; }
.visual-system { --vs-blue:#03256c; --vs-bright:#0034ff; --vs-green:#1e8e5a; --vs-red:#e60012; }
.visual-system :where(h1,h2,h3,h4) { font-family:'Roboto Condensed',Roboto,Arial,sans-serif; font-weight:700; hyphens:none; }
.visual-system :where(a,button,input,select,summary):focus-visible { outline:3px solid #0034ff; outline-offset:4px; }
html:not([data-accessible]) .visual-system .niisf-native-header__bar { background:#03256c; border:0; }
.visual-system .niisf-native-header__inner { max-width:1248px; min-height:96px; padding-block:16px; gap:24px; }
.visual-system .niisf-native-header__logos { gap:40px; }
.visual-system .niisf-native-header__actions { gap:10px; }
html:not([data-accessible]) .visual-system .niisf-native-header__login { background:#fff; color:#03256c; border:1px solid #fff; box-shadow:none; font:600 15px Roboto,Arial,sans-serif; text-transform:none; padding:11px 20px; border-radius:8px; }
.visual-system .niisf-native-header__login::before { content:''; width:20px; height:20px; background:currentColor; mask:url('/assets/visual-icons/user-thin.svg') center/contain no-repeat; display:inline-block; vertical-align:middle; margin-right:8px; }
html:not([data-accessible]) .visual-system :is(.accessibility-launcher,.niisf-native-header__icon) { background:transparent; border:1px solid #ffffff80; box-shadow:none; border-radius:8px; }
html:not([data-accessible]) .visual-system .site-navigation { background:#fff; color:#03256c; border-bottom:1px solid #e0e0e0; box-shadow:none; border-top:0; }
.visual-system .site-navigation>.container { width:min(1200px,100% - 48px); }
.visual-system .mega-navigation { justify-content:flex-start; min-height:62px; gap:12px; }
html:not([data-accessible]) .visual-system :is(.menu-home,.menu-item-heading>a) { color:#03256c; text-transform:none; font:600 15px Roboto,Arial,sans-serif; padding:20px 16px; border-radius:0; }
html:not([data-accessible]) .visual-system :is(.menu-home[aria-current],.menu-item-heading>a[aria-current]) { background:#f5f5f5; color:#03256c; box-shadow:inset 0 -3px #0034ff; }
html:not([data-accessible]) .visual-system :is(.menu-home,.menu-item-heading>a):hover { color:#0034ff; background:#f5f5f5; }
html:not([data-accessible]) .visual-system .submenu-toggle { color:#03256c; }
html:not([data-accessible]) .visual-system .mega-panel { background:#fff; color:#1a1f29; box-shadow:none; border:1px solid #e0e0e0; border-top:3px solid #0034ff; }
.visual-system .mega-panel h2 { color:#03256c; text-transform:none; }
html:not([data-accessible]) .visual-system .menu-mobile-toggle { color:#03256c; background:#fff; }
.visual-system .niisf-native-hero { background:#f5f5f5; padding:24px; }
.visual-system .niisf-native-slider { box-shadow:none; border:1px solid #e0e0e0; border-radius:10px; overflow:hidden; }
.visual-system .niisf-native-slider__nav { box-shadow:none; }
.visual-system .niisf-native-main { padding-top:40px; }
.visual-system .niisf-native-main.is-home { width:100%; padding:0; overflow:visible; }
.vs-home { width:min(1200px,100% - 48px); margin:0 auto; }
.vs-hero { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,1fr); gap:64px; padding:56px 0 40px; align-items:center; }
.vs-eyebrow { color:#59616d; font-size:12px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; margin:0 0 16px; }
.visual-system .vs-hero h1 { color:#03256c; font-size:clamp(44px,4.6vw,64px); line-height:1.02; text-transform:none; letter-spacing:-1.2px; margin:0 0 24px; }
.vs-hero h1 span { display:block; font:600 16px Roboto,Arial,sans-serif; letter-spacing:1.6px; margin-top:16px; }
.visual-system .vs-hero-lead { color:#1a1f29; font:700 30px/1.2 'Roboto Condensed',Arial,sans-serif; margin:0 0 16px; }
.vs-hero-text { color:#59616d; max-width:500px; font-size:16px; line-height:1.65; margin:0 0 28px; }
.vs-hero-actions { display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; }
.visual-system .vs-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:14px 22px; border-radius:8px; background:#0034ff; color:#fff; border:1px solid #0034ff; font:600 15px/1.5 Roboto,Arial,sans-serif; text-decoration:none; transition:background .15s; }
.visual-system .vs-button:hover { background:#03256c; border-color:#03256c; color:#fff; }
.vs-button>span,.vs-text-link>span { font-size:22px; line-height:1; }
.visual-system .vs-text-link { display:inline-flex; align-items:center; gap:12px; color:#0034ff; text-decoration:none; font-size:14px; font-weight:600; }
.vs-text-link:hover { text-decoration:underline; }
.visual-system .vs-guide { background:#03256c; border-radius:12px; padding:32px; color:#fff; }
.vs-guide-top { display:flex; align-items:center; gap:12px; font-size:12px; letter-spacing:.6px; text-transform:uppercase; }
.vs-icon { display:block; flex:0 0 auto; width:32px; height:32px; object-fit:contain; }
.vs-guide .vs-icon,.vs-contact .vs-icon { filter:brightness(0) invert(1); }
.visual-system .vs-guide h2 { color:#fff; font-size:34px; line-height:1.1; text-transform:none; margin:24px 0; }
.vs-guide-links a { display:flex; gap:16px; align-items:center; border-top:1px solid #ffffff40; padding:16px 0; text-decoration:none; color:#fff; }
.vs-guide-links a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.vs-guide-links a>span:last-child { margin-left:auto; font-size:24px; }
.vs-guide-links .vs-step { font:700 18px 'Roboto Condensed',Arial,sans-serif; opacity:.65; }
.vs-guide-links strong { display:block; font:500 16px/1.4 Roboto,Arial,sans-serif; }
.vs-guide-links small { display:block; font-size:12px; line-height:1.5; color:#fff; opacity:.8; margin-top:3px; }
.visual-system .vs-guide-note { display:flex; gap:12px; align-items:center; border-top:1px solid #ffffff40; padding-top:20px; margin:0; font-size:12px; line-height:1.6; color:#fff; }
.vs-guide-note .vs-icon { width:26px; height:26px; }
.vs-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:0 0 48px; }
.visual-system .vs-shortcut { display:flex; gap:16px; align-items:center; padding:24px 20px; background:#f5f5f5; border:1px solid #e0e0e0; border-radius:10px; color:#03256c; text-decoration:none; }
.vs-shortcut:hover { border-color:#0034ff; }
.vs-shortcut strong { display:block; font-size:14px; line-height:1.4; font-weight:600; }
.vs-shortcut small { display:block; color:#59616d; margin-top:4px; font-size:12px; line-height:1.5; }
.vs-shortcut>span:last-child { margin-left:auto; font-size:22px; color:#0034ff; }
.vs-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.visual-system .vs-section-head h2,.visual-system .vs-about h2,.visual-system .vs-contact h2 { color:#03256c; font-size:36px; line-height:1.15; margin:0; text-transform:none; }
.vs-section-head .vs-eyebrow { margin-bottom:8px; }
.vs-projects { padding:40px 0 48px; border-top:1px solid #e0e0e0; }
.vs-projects .niisf-native-hero { padding:0; background:transparent; }
.vs-projects .niisf-native-slider { max-width:none; margin:0; }
.visual-system .vs-news .codex-home-section { margin:0; padding:40px 0 48px; border-top:1px solid #e0e0e0; width:100%; max-width:none; }
.visual-system .vs-news .niisf-home-section__head { margin:0 0 24px; padding:0; border:0; display:block; }
.visual-system .vs-news .codex-home-section__title { color:#03256c; font-size:36px; line-height:1.15; text-transform:none; margin:0; text-align:left; }
.visual-system .vs-news .niisf-home-news__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.visual-system .vs-news .codex-home-row { display:flex; flex-direction:column; border:1px solid #e0e0e0; border-radius:10px; padding:0; overflow:hidden; gap:0; background:#fff; min-width:0; }
.visual-system .vs-news .codex-home-row:first-child { grid-column:span 2; display:grid; grid-template-columns:1fr 1fr; }
.visual-system .vs-news .codex-home-row__image { display:block; width:100%; margin:0; height:180px; overflow:hidden; background:#f5f5f5; border-radius:0; }
.visual-system .vs-news .codex-home-row:first-child .codex-home-row__image { height:100%; min-height:300px; }
.visual-system .vs-news .codex-home-row__image img { width:100%; height:100%; object-fit:contain; margin:0; }
.visual-system .vs-news .news-card-body { padding:24px; min-width:0; }
.visual-system .vs-news .news-card-meta { margin:0 0 12px; }
.visual-system .vs-news .codex-home-row__date { color:#59616d; font:400 12px/1.5 Roboto,Arial,sans-serif; }
.visual-system .vs-news .codex-home-row__title { font-size:23px; line-height:1.25; margin:0 0 12px; text-transform:none; color:#03256c; }
.visual-system .vs-news .codex-home-row__title a { color:inherit; text-decoration:none; }
.visual-system .vs-news .codex-home-row__title a:hover { color:#0034ff; text-decoration:underline; }
.visual-system .vs-news .codex-home-row__intro { font-size:14px; color:#59616d; line-height:1.65; margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.visual-system .vs-news .codex-home-more { display:inline-flex; align-items:center; color:#0034ff; border:1px solid #e0e0e0; border-radius:8px; padding:10px 18px; margin:24px 0 0; font-size:14px; text-decoration:none; }
.visual-system .vs-news .codex-home-more::after { content:'→'; font-size:22px; margin-left:20px; }
.vs-about { display:grid; grid-template-columns:1fr 1fr; gap:64px; border-top:1px solid #e0e0e0; padding:48px 0; }
.vs-about .vs-text-link { margin-top:24px; }
.visual-system .vs-about .codex-home-intro__body { border:0; padding:0; font-size:15px; line-height:1.75; color:#59616d; }
.vs-about-copy p:first-child { margin-top:0; }
.visual-system .vs-contact { display:flex; justify-content:space-between; align-items:center; gap:32px; background:#03256c; color:#fff; border-radius:12px; padding:32px; margin:0 0 56px; }
.visual-system .vs-contact h2 { color:#fff; font-size:30px; margin:12px 0; }
.vs-contact p { margin:0; font-size:14px; color:#fff; }
.visual-system .vs-button-white { background:#fff; border-color:#fff; color:#03256c; flex-shrink:0; }
.visual-system .vs-button-white:hover { background:#f5f5f5; color:#03256c; border-color:#fff; }
html:not([data-accessible]) .visual-system .niisf-native-footer { background:#03256c; border-top:0; color:#fff; }
.visual-system .niisf-native-footer__inner { padding-top:40px; }
.visual-system .niisf-native-footer .preview { display:none; }
.visual-system .niisf-native-footer__contacts a { border-bottom:1px solid #ffffff60; padding:8px 0; }
/* Shared public controls retain their behavior and use the same palette. */
html:not([data-accessible]) .visual-system .pr-btn-register { background:#1e8e5a!important; border-color:#1e8e5a!important; color:#fff!important; box-shadow:none; }
html:not([data-accessible]) .visual-system .pricing-review { --pr-ink:#1a1f29; --pr-muted:#59616d; --pr-line:#e0e0e0; --pr-blue:#0034ff; font-family:Roboto,Arial,sans-serif; }
html:not([data-accessible]) .visual-system .pricing-review :is(h1,h2,h3) { font-family:'Roboto Condensed',Roboto,Arial,sans-serif; color:#03256c; }
html:not([data-accessible]) .visual-system .pricing-review p { font-family:Roboto,Arial,sans-serif; }
html:not([data-accessible]) .visual-system .pricing-review a:not(.pr-btn) { color:#0034ff; }
html:not([data-accessible]) .visual-system :is(.catalog-card,.expert-directory-grid>.panel) { box-shadow:none; border-color:#e0e0e0; border-radius:10px; }
@media(max-width:1050px) {
 .visual-system .niisf-native-header__logos { gap:20px; }
 .vs-hero { gap:32px; }
 .vs-guide { padding:24px; }
 .vs-shortcuts { gap:12px; }
 .visual-system .vs-shortcut { padding:20px 14px; gap:10px; }
 .vs-shortcut>span:last-child { display:none; }
 .visual-system .vs-news .niisf-home-news__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .visual-system .vs-news .codex-home-row:first-child { grid-column:span 2; }
 .visual-system .mega-navigation { gap:0; }
 html:not([data-accessible]) .visual-system :is(.menu-home,.menu-item-heading>a) { padding-inline:12px; font-size:14px; }
}
@media(max-width:760px) {
 .vs-home { width:calc(100% - 32px); }
 .visual-system .niisf-native-header__inner { min-height:80px; gap:12px; }
 .visual-system .niisf-native-header__logos { gap:12px; }
 .visual-system .niisf-native-header__login { font-size:13px; padding:10px 12px; }
 .visual-system .niisf-native-header__login::before { display:none; }
 .vs-hero { grid-template-columns:1fr; gap:28px; padding:32px 0; }
 .visual-system .vs-hero h1 { font-size:48px; }
 .visual-system .vs-hero-lead { font-size:28px; }
 .vs-hero-text { font-size:15px; }
 .vs-shortcuts { grid-template-columns:1fr; padding-bottom:32px; }
 .visual-system .vs-shortcut { padding:18px; }
 .vs-shortcut>span:last-child { display:block; }
 .vs-section-head { flex-wrap:wrap; align-items:start; gap:12px; }
 .vs-projects { padding:32px 0; }
 .visual-system .vs-news .codex-home-section { padding:32px 0; }
 .visual-system .vs-section-head h2,.visual-system .vs-news .codex-home-section__title,.visual-system .vs-about h2 { font-size:30px; }
 .visual-system .vs-news .niisf-home-news__grid { grid-template-columns:1fr; gap:16px; }
 .visual-system .vs-news .codex-home-row:first-child { grid-column:auto; display:flex; }
 .visual-system .vs-news .codex-home-row:first-child .codex-home-row__image { height:200px; min-height:0; }
 .visual-system .vs-news .codex-home-row__image { height:200px; }
 .visual-system .vs-news .news-card-body { padding:20px; }
 .vs-about { grid-template-columns:1fr; gap:24px; padding:32px 0; }
 .visual-system .vs-contact { flex-direction:column; align-items:stretch; padding:24px; margin-bottom:32px; }
 .visual-system .vs-contact h2 { font-size:28px; }
 .vs-desktop-break { display:none; }
}
@media(prefers-reduced-motion:reduce) { .visual-system * { scroll-behavior:auto!important; transition:none!important; } }
/* The accessibility mode owns its colors, fonts and image visibility. */
html[data-accessible] .visual-system :is(.vs-home,.vs-hero,.vs-shortcuts,.vs-about,.vs-news .niisf-home-news__grid,.vs-news .codex-home-row:first-child) { display:block; }
html[data-accessible] .visual-system :is(.vs-shortcut,.vs-guide,.vs-contact,.vs-news .codex-home-row) { margin-block:24px; }
html[data-accessible] .visual-system :is(.vs-hero h1,.vs-hero-lead,.vs-guide h2,.vs-news .codex-home-row__title) { font-size:1.6em; }
html[data-accessible] .visual-system .vs-news .codex-home-row__intro { display:block; overflow:visible; }
