/* Official company identity. No stretching or colour filters on the supplied logo. */
.site-header { height: auto; min-height: 104px; background: #fff; }
.site-header__inner { height: auto; min-height: 104px; padding-block: 12px; }
.site-logo { width: min(var(--site-logo-width, 214px), 32vw); max-width: 520px; flex-shrink: 0; }
.site-logo img { display: block; width: 100%; height: auto; object-fit: contain; filter: none; }
@media (min-width: 981px) { .mega-menu { top: 100%; } .site-header.is-scrolled .mega-menu { top: 100%; } }
.site-footer__brand img { display: block; height: auto; object-fit: contain; filter: none; background: #fff; border-radius: 8px; padding: 8px; }
.admin-login-logo { width: 190px; margin-bottom: 24px; }
.admin-login-logo img { display:block; width:100%; height:auto; max-height:none; filter:none; background:#fff; border-radius:6px; }
.admin-sidebar__brand { padding: 17px 24px; gap:10px; }
.admin-sidebar__brand img { display:block; width:162px; height:auto; max-height:none; object-fit:contain; filter:none; background:#fff; border-radius:6px; padding:5px; }
.ve-rail__logo { height:auto; min-height:76px; }
.ve-rail__logo img { display:block; width:68px; height:auto; max-height:none; object-fit:contain; filter:none; background:#fff; }
.portal-mockup__body > img { display:block; width:min(220px,100%); height:auto; object-fit:contain; background:#fff; }
@media(max-width:980px){
  .site-logo { width:min(var(--site-logo-width,214px),150px); max-width:55vw; }
  .site-header__inner { padding-block:8px; }
  .site-header .main-nav, .site-header.is-scrolled .main-nav { top:var(--ct-header-bottom,124px); }
}

@media(max-width:980px){html{overflow-x:clip;}}
