/* One header palette on home, pages, profiles, archives, search and error screens.
   Explicit page selectors override the older dark inner-page header rules. */
body .site-header,
body .site-header.is-scrolled,
body.page:not(.home) .site-header,
body.single .site-header,
body.archive .site-header,
body.search .site-header,
body.error404 .site-header {
  background: #ffffdc;
  color: #071b2f;
  border-bottom: 1px solid #d9d8c7;
  box-shadow: 0 6px 24px rgba(7,27,47,.06);
  visibility: visible;
  opacity: 1;
}
body .site-header .primary-nav,
body .site-header .primary-nav .sub-menu { background: #ffffdc; }
body .site-header .primary-nav .menu a,
body .site-header .services-toggle,
body .site-header .brand,
body .site-header .brand-name strong { color: #071b2f; }
body .site-header .brand-name small { color: #46534d; }
body .site-header .nav-cta { background: #071b2f; border-color: #071b2f; color: #ffffdc !important; }
body .site-header .nav-cta:hover { background: #164f46; border-color: #164f46; }
body .site-header .menu-toggle > span:not(.screen-reader-text) { background: #071b2f; }
.site-header .brand { min-width: 220px; }
.site-header .brand-logo-link { display: flex; align-items: center; width: 220px; height: 76px; }
.site-header .brand-logo { display: block; width: 220px; height: auto; max-height: 76px; object-fit: contain; }
@media (min-width:1301px) {
  body .site-header .primary-nav { visibility: visible; opacity: 1; transform: none; }
}
@media (max-width:1300px) {
  body .site-header .primary-nav:not(.is-open) { visibility: hidden; }
  body .site-header .primary-nav.is-open { visibility: visible; opacity: 1; transform: none; }
}
@media (max-width:600px) {
  .site-header .brand { min-width: 0; }
  .site-header .brand-logo-link { width: 174px; height: 64px; }
  .site-header .brand-logo { width: 174px; max-height: 64px; }
}
