/* Approved transparent logo and corner fade, shared by every page. */
.inner-page .site-header { position: relative; }
.home-page .site-header, .inner-page .site-header { z-index: 20; isolation: isolate; overflow: visible; }
.home-page .site-header::before, .inner-page .site-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 360px;
  height: 160px;
  background: radial-gradient(ellipse at 15% 15%, #001a2c 0%, rgba(0,26,44,.98) 30%, rgba(0,26,44,.72) 48%, transparent 76%);
  mask-image: linear-gradient(#000 65%,transparent);
  pointer-events: none;
}
.home-page .site-header .header-inner, .inner-page .site-header .header-inner { position: relative; z-index: 1; }
.inner-page .site-header::before { height: 150px; }
.services-header > .services-navigation > .container { position: relative; z-index: 21; }
.home-page .header-inner > .brand, .inner-page .header-inner > .brand { position: relative; z-index: 2; transform: translateY(12px) scale(1.65); transform-origin: top left; }
.brand picture, .brand img { display: block; width: 100%; height: auto; border-radius: 0; }
/* Footer and mobile-dialog logos inherit their existing sizes, without scaling. */
@media (min-width: 768px) and (max-width: 1099px) {
  .services-header > .services-navigation > .container { width: calc(100% - 192px); margin-left: 160px; margin-right: 32px; }
}
@media (max-width: 767px) {
  .home-page .site-header::before, .inner-page .site-header::before { width: min(320px,90vw); height: 220px; }
  .inner-page .site-header::before { height: 124px; }
  /* Leave clear space for the overlapping logo while retaining the menu height. */
  .services-header > .services-navigation { padding-top: 36px; }
  .services-header > .services-navigation > .container { width: calc(100% - 48px); margin-inline: auto; justify-content: safe flex-end; gap: 14px; }
  .services-navigation a { font-size: .75rem; }
  /* Pages without the Services row need breathing room below the larger logo. */
  .inner-page:not(:has(.services-header)) .inner-hero > .service-hero-layout { padding-top: 28px; }
  .inner-page:not(:has(.services-header)) .inner-hero > .inner-hero-layout { padding-top: 56px; }
}
