.site-header {
  min-height: 104px;
  height: auto;
  padding-block: 12px;
  background: #1f4f57;
  color: #f5f8f8;
  border-bottom: 1px solid rgba(245, 248, 248, 0.28);
}

.brand {
  gap: 1rem;
  color: #f5f8f8;
  font-size: 1.22rem;
}

.brand img {
  width: 82px;
  height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.18));
}

.brand small {
  color: #f5f8f8;
  opacity: 0.9;
}

.site-header nav > a:not(.button) {
  color: #f5f8f8;
}

.site-header nav > a:not(.button):hover {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.nav-dropdown{position:relative}
.nav-dropdown>button{display:flex;align-items:center;gap:.4rem;border:0;background:transparent;color:#f5f8f8;font:inherit;font-size:.93rem;padding:.75rem 0;cursor:pointer}
.nav-dropdown>button::after{content:"";width:.42rem;height:.42rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.nav-dropdown:hover>button::after,.nav-dropdown:focus-within>button::after,.nav-dropdown.open>button::after{transform:rotate(225deg) translate(-2px,-1px)}
.nav-dropdown>button:hover{text-decoration:underline;text-underline-offset:6px}
.dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:245px;padding:.55rem;background:#f5f8f8;color:#1f4f57;border:1px solid rgba(31,79,87,.2);box-shadow:0 14px 30px rgba(18,45,50,.18);display:none}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown.open .dropdown-menu{display:grid}
.dropdown-menu a{padding:.65rem .75rem;color:#1f4f57;text-decoration:none;font-size:.88rem;line-height:1.25}
.dropdown-menu a:hover,.dropdown-menu a:focus{background:#e5edef}
.dropdown-menu .dropdown-label{padding:.65rem .75rem .3rem;color:#577a7e;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #d6e0e1;margin-top:.25rem}
.services-menu{width:290px;max-height:min(72vh,590px);overflow-y:auto;overscroll-behavior:contain}

.site-header .button-small {
  background: #f5f8f8;
  border-color: #f5f8f8;
  color: #1f4f57;
}

.site-header .button-small:hover {
  background: #fefaf1;
}

@media (max-width: 760px) {
  .site-header {
    min-height: 82px;
    padding-block: 7px;
  }

  .brand img {
    width: 62px;
    height: 58px;
  }

  .brand {
    font-size: 1.05rem;
  }

  .menu-button span {
    background: #f5f8f8;
  }

  .site-header nav {
    top: 82px;
    background: #1f4f57;
    border-top: 1px solid rgba(245, 248, 248, 0.24);
  }

  .site-header nav > a:not(.button) {
    color: #f5f8f8;
  }

  .nav-dropdown>button{width:100%;justify-content:space-between;padding:.3rem 0;font-weight:600}
  .dropdown-menu{position:static;transform:none;width:100%;margin:.4rem 0 0;padding:.35rem;background:rgba(245,248,248,.08);border-color:rgba(245,248,248,.22);box-shadow:none}
  .nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{display:none}
  .nav-dropdown.open .dropdown-menu{display:grid}
  .dropdown-menu a{color:#f5f8f8;padding:.65rem .75rem}
  .dropdown-menu a:hover,.dropdown-menu a:focus{background:rgba(245,248,248,.1)}
  .dropdown-menu .dropdown-label{color:#d6e0e1;border-color:rgba(245,248,248,.22)}
  .services-menu{width:100%;max-height:55vh}
}

/* Collapse the navigation before the desktop links begin wrapping. */
@media (max-width: 1160px) {
  .site-header {
    min-height: 82px;
    height: 82px;
    padding: 7px 1rem;
  }

  .brand {
    font-size: 1.05rem;
  }

  .brand img {
    width: 62px;
    height: 58px;
  }

  .menu-button {
    display: flex;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    align-items: center;
  }

  .menu-button span {
    width: 24px;
    height: 1.5px;
    background: #f5f8f8;
  }

  .menu-button b {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }

  .site-header nav {
    display: none;
    position: absolute;
    top: 82px;
    left: 0;
    right: 0;
    padding: 1.5rem;
    background: #1f4f57;
    border-top: 1px solid rgba(245, 248, 248, 0.24);
    flex-direction: column;
    align-items: stretch;
  }

  .site-header nav.open {
    display: flex;
  }

  .site-header nav > .button-small {
    display: none;
  }

  .nav-dropdown > button {
    width: 100%;
    justify-content: space-between;
    padding: .3rem 0;
    font-weight: 600;
  }

  .dropdown-menu {
    position: static;
    transform: none;
    width: 100%;
    margin: .4rem 0 0;
    padding: .35rem;
    background: rgba(245, 248, 248, .08);
    border-color: rgba(245, 248, 248, .22);
    box-shadow: none;
  }

  .nav-dropdown:hover .dropdown-menu,
  .nav-dropdown:focus-within .dropdown-menu {
    display: none;
  }

  .nav-dropdown.open .dropdown-menu {
    display: grid;
  }

  .dropdown-menu a {
    color: #f5f8f8;
    padding: .65rem .75rem;
  }

  .dropdown-menu a:hover,
  .dropdown-menu a:focus {
    background: rgba(245, 248, 248, .1);
  }

  .dropdown-menu .dropdown-label {
    color: #d6e0e1;
    border-color: rgba(245, 248, 248, .22);
  }
}
