/* The TOP header is shared by the site's general content pages. */
.site-header--global { backdrop-filter: none; }
.site-header--global .header-brand-group { display: contents; }

/* Recruit keeps its content unscaled; the shared header uses the TOP canvas. */
@media (min-width: 1441px) {
  .recruit-page .site-header--global {
    width: var(--design-width);
    zoom: var(--page-scale);
  }
}

/* Keep the compact desktop layout identical on all header variants. */
@media (min-width: 1191px) and (max-width: 1346px) {
  .site-header { gap: 14px; }
  .header-brand-group {
    display: flex;
    flex: 0 0 220px;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .site-header--global .header-brand-group { display: flex; }
  .header-brand-group .brand img { height: 32px; }
  .header-brand-group .hero-caption {
    flex: none;
    width: max-content;
    max-width: none;
    font-size: 10px;
    line-height: 1.5;
    white-space: nowrap;
  }
  .site-header .header-nav { gap: 18px; padding: 0 12px; }
}

/* Service hierarchy is visual; public URLs remain unchanged. */
.header-service-menu .service-subitem { padding-left: calc(18px + 1em); }
.floating-menu-service .service-subitem, .footer-links .service-subitem { padding-left: 1em; }
@media (min-width: 921px) {
  .site-header :is(.header-nav > a, .header-service-trigger, .hero-caption, .header-card.light) { color: #1f1f1f !important; }
}

/* Align to the sticky header, including when the WordPress admin bar offsets it. */
@media (max-width: 1190px) {
  .site-header .menu-toggle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
}
