.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  height: var(--header);
  background: white;
  color: black;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding-inline: var(--gutter)
}
.site-header[data-tone=blue] {
  background: var(--blue);
  color: white
}
.brand img {
  width: 136px;
  height: auto
}
.site-header[data-tone=blue] .brand img {
  filter: brightness(0) invert(1)
}
.desktop-nav {
  display: flex;
  align-items: center;
  gap: clamp(16px,2vw,30px);
  font-size: 1rem
}
.desktop-nav>a {
  display: flex;
  align-items: center;
  min-height: 44px;
  white-space: nowrap
}
.language {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .875rem
}
.language a {
  display: grid;
  place-items: center;
  min-width: 30px;
  min-height: 44px
}
.language [aria-current] {
  font-weight: 700
}
.mobile-trigger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: 0;
  color: #000;
  padding: 0
}
.mobile-trigger span {
  display: block;
  font-size: 1.2em;
  line-height: 1
}
.mobile-dialog {
  max-width: none;
  max-height: 100dvh;
  overflow: auto;
  border: 0;
  border-radius: 0;
  padding: 32px
}
.mobile-dialog [data-slot=dialog-close] { min-width: 44px; min-height: 44px; display: grid; place-items: center }
.no-script-nav { padding-block: 18px; border-block: 1px solid var(--border) }
.no-script-nav summary { cursor: pointer; min-height: 44px }
.no-script-nav nav { display: flex; flex-wrap: wrap; gap: 12px 24px }
.no-script-nav a { display: inline-flex; align-items: center; min-height: 44px }
.mobile-dialog nav {
  display: grid;
  gap: 18px
}
.mobile-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}
.mobile-links section {
  display: grid;
  gap: 10px;
  align-content: start
}
.mobile-links a {
  min-height: 44px;
  font-size: 1.125rem
}
.site-footer {
  background: var(--blue);
  color: white;
  padding-block: 54px 36px;
  text-align: center
}
.site-footer[data-tone=light] {
  background: white;
  color: black
}
.site-footer nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px 34px
}
.site-footer nav a,.site-footer nav button {
  font-size: .875rem;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  background: none;
  border: 0;
  color: inherit
}
.site-footer p {
  font-size: .875rem;
  line-height: 1.5;
  opacity: .75;
  margin: 20px auto 0;
  max-width: 100%;
  padding-inline: 12px;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none
}
.footer-company::after {
  content: ' · '
}
@media(max-width:1100px) {
  :root {
    --blue: #1a467b;
    --primary: #1a467b
  }
  .blue,.split-hero,.site-footer:not([data-tone=light]) {
    background-color: #1a467b
  }
  .desktop-nav {
    display: none
  }
  .mobile-trigger {
    display: inline-flex;
    color: #000
  }
  .brand img {
    width: 128px
  }
}
@media(max-width:480px) {
  .mobile-links {
    grid-template-columns: 1fr
  }
  .site-footer nav {
    flex-direction: column;
    align-items: center;
    gap: 0
  }
  .site-footer {
    padding-bottom: max(36px,calc(20px + env(safe-area-inset-bottom)))
  }
  .footer-company,.footer-director {
    display: block
  }
  .footer-company::after {
    content: none
  }
  .footer-director {
    margin-top: 4px
  }
}
.nav-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  background: none;
  border: 0;
  color: inherit;
  font-size: inherit;
  padding: 0
}
.nav-dropdown {
  min-width: 250px;
  padding: 12px;
  border-radius: 0;
  border: 0
}
.nav-dropdown a {
  padding: 12px;
  font-size: .95rem
}
