/* Shared site header, footer, services menu and responsive quick actions. */
.global-nav.nav {
  background: rgba(248,247,244,.98);
  box-shadow: 0 8px 28px rgba(11,42,91,.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.global-nav .nav__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding-inline: 28px;
}
.global-nav .nav__logo {
  width: clamp(190px, 16vw, 238px);
  min-width: 190px;
}
.global-nav .nav__logo-img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 58px;
  object-fit: contain;
}
.global-nav .nav__caret { width: auto; height: auto; margin-left: 5px; font-size: .62rem; line-height: 1; }
.global-nav .nav__links > li > a,
.global-nav .nav__item--drop__trigger { color: #0B2A5B; }
.global-nav .nav__links > li > a:hover,
.global-nav .nav__item--drop__trigger:hover { color: #0B2A5B; background: rgba(11,42,91,.07); }
.global-nav .nav__link--active { color: #B88722 !important; background: rgba(200,155,60,.12) !important; }
.global-nav .nav__actions .btn--ghost,
.global-nav .nav__actions .btn--ghost:visited {
  color: #0B2A5B !important;
  border-color: rgba(11,42,91,.34) !important;
  background: transparent !important;
}
.global-nav .nav__actions .btn--ghost:hover,
.global-nav .nav__actions .btn--ghost:focus-visible {
  color: #fff !important;
  border-color: #0B2A5B !important;
  background: #0B2A5B !important;
}
.site-topbar .site-topbar__inner {
  width: min(100%, 1280px);
  padding-inline: 28px;
}

.global-nav .nav__item--drop { position: relative; }
.global-nav .nav__item--drop::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 12px; }
.global-nav .nav__sub { top: calc(100% + 10px); transition: opacity .2s ease, visibility .2s ease, transform .2s ease; }
.global-nav .nav__item--drop:hover > .nav__sub,
.global-nav .nav__item--drop:focus-within > .nav__sub { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }

.global-nav .nav__sub--services {
  left: 50%;
  width: 360px;
  padding: 10px;
  border: 1px solid rgba(11,42,91,.1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(11,42,91,.16);
  transform: translate(-50%, 8px);
}
.global-nav .nav__item--drop:hover > .nav__sub--services,
.global-nav .nav__item--drop:focus-within > .nav__sub--services { transform: translate(-50%, 0); }
.global-nav .nav__sub--services li + li { margin-top: 4px; }
.global-nav .nav__sub--services a {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 12px;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 7px 10px;
  border-radius: 7px;
  color: #17385F;
  font-size: .78rem;
  font-weight: 750;
  text-decoration: none;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.global-nav .nav__sub--services a:hover { color: #0B2A5B; background: #F7F3E8; transform: translateX(3px); }
.global-nav .nav__service-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 7px; color: #A97918; background: rgba(200,155,60,.13); }
.global-nav .nav__sub--services a > .fa-chevron-right { color: #90A0B2; font-size: .6rem; }
.global-nav .nav__mobile-actions { display: none; }
.global-footer .footer__contact-head { margin-top: 22px; }
.global-footer .footer__socials a { display: grid; place-items: center; }

.mobile-action-bar { display: none; }

@media (max-width: 1180px) and (min-width: 961px) {
  .global-nav .nav__inner { padding-inline: 28px; gap: 12px; }
  .global-nav .nav__logo { width: 202px; min-width: 202px; }
  .global-nav .nav__logo-img { height: 52px; }
  .global-nav .nav__links > li > a,
  .global-nav .nav__item--drop__trigger { padding-inline: 9px; font-size: .78rem; }
  .global-nav .nav__actions { gap: 7px; }
  .global-nav .nav__actions .btn { padding-inline: 14px; }
}

@media (max-width: 960px) {
  .global-nav.nav { height: 72px; }
  .global-nav .nav__inner {
    position: relative;
    min-height: 72px;
    padding: 0 16px;
    gap: 12px;
  }
  .global-nav .nav__logo {
    width: 174px;
    min-width: 0;
    max-width: calc(100% - 62px);
  }
  .global-nav .nav__logo-img { width: 100%; height: auto; max-height: 48px; }
  .global-nav .nav__actions { display: none !important; }
  .global-nav #hamburger.nav__hamburger,
  .content-page .global-nav #hamburger.nav__hamburger {
    display: flex !important;
    position: static !important;
    width: 42px;
    height: 42px;
    margin: 0 0 0 auto;
    padding: 9px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(11,42,91,.15);
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(11,42,91,.08);
    transform: none !important;
    color: #0B2A5B;
  }
  .global-nav #hamburger.nav__hamburger b { display: none !important; }
  .global-nav #hamburger.nav__hamburger span,
  .content-page .global-nav #hamburger.nav__hamburger span {
    display: block !important;
    width: 22px;
    height: 2px;
    background: #0B2A5B;
  }
  .global-nav .nav__links,
  .global-nav .nav__links.open,
  .global-nav .nav__links.is-open,
  .content-page .global-nav .nav__links.open,
  .content-page .global-nav .nav__links.is-open {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - var(--topbar-h, 32px) - 72px - 64px) !important;
    margin: 0 !important;
    padding: 10px 14px 14px !important;
    flex-direction: column;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    overflow-y: auto;
    background: rgba(11,42,91,.985);
    box-shadow: 0 18px 40px rgba(7,29,62,.22);
  }
  .global-nav .nav__links { display: none !important; }
  .global-nav .nav__links.is-open,
  .global-nav .nav__links.open { display: flex !important; }
  .global-nav .nav__links > li {
    width: 100%;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  .global-nav .nav__links.is-open > li > a,
  .global-nav .nav__links.is-open > li > .nav__item--drop__trigger,
  .global-nav .nav__links.open > li > a,
  .global-nav .nav__links.open > li > .nav__item--drop__trigger {
    min-height: 42px;
    padding: 10px 13px;
    color: rgba(255,255,255,.9) !important;
    background: transparent;
    font-size: .84rem;
    line-height: 1.25;
  }
  .global-nav .nav__links.is-open > li > a:hover,
  .global-nav .nav__links.is-open > li > .nav__item--drop__trigger:hover,
  .global-nav .nav__links.open > li > a:hover,
  .global-nav .nav__links.open > li > .nav__item--drop__trigger:hover {
    color: #fff !important;
    background: rgba(255,255,255,.08);
  }
  .global-nav .nav__links.is-open .nav__link--active,
  .global-nav .nav__links.open .nav__link--active {
    color: #F0C85A !important;
    background: rgba(200,155,60,.13) !important;
  }
  .global-nav .nav__item--drop::after { display: none; }
  .global-nav .nav__sub,
  .global-nav .nav__sub--services {
    position: static;
    width: 100%;
    margin: 3px 0 7px;
    padding: 6px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 7px;
    background: rgba(255,255,255,.06);
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none !important;
    display: none;
  }
  .global-nav .nav__item--drop.is-open > .nav__sub { display: block; }
  .global-nav .nav__sub--services a { grid-template-columns: 34px minmax(0,1fr) 10px; min-height: 46px; color: rgba(255,255,255,.88); }
  .global-nav .nav__sub--services a:hover { color: #fff; background: rgba(255,255,255,.08); }
  .global-nav .nav__service-icon { width: 32px; height: 32px; color: #F2C860; background: rgba(200,155,60,.16); }
  .global-nav .nav__mobile-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 11px 0 0;
    margin-top: 7px;
    border-top: 1px solid rgba(255,255,255,.12);
  }
  .global-nav .nav__mobile-action {
    display: inline-flex !important;
    width: auto !important;
    min-height: 40px;
    padding: 9px 14px !important;
    justify-content: center;
    border-radius: 7px;
    font-size: .76rem;
    font-weight: 800;
  }
  .global-nav .nav__mobile-action--outline { border: 1px solid rgba(255,255,255,.38); color: #fff !important; background: transparent !important; }
  .global-nav .nav__mobile-action--primary { border: 1px solid #C89B3C; color: #0B2A5B !important; background: #C89B3C !important; }

  body.has-mobile-action-bar { padding-bottom: 66px; }
  .mobile-action-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    min-height: 64px;
    padding: 5px max(6px, env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-right));
    border-top: 1px solid rgba(255,255,255,.16);
    background: #0B2A5B;
    box-shadow: 0 -10px 30px rgba(7,29,62,.2);
  }
  .mobile-action-bar a {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px 4px;
    border-radius: 6px;
    color: #fff;
    font-size: clamp(.57rem,2.45vw,.68rem);
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
  }
  .mobile-action-bar a + a { border-left: 1px solid rgba(255,255,255,.13); }
  .mobile-action-bar a:hover,
  .mobile-action-bar a:focus-visible { color: #F0C85A; background: rgba(255,255,255,.08); }
  .mobile-action-bar i { color: #F0C85A; font-size: .95rem; }
}

@media (max-width: 420px) {
  .global-nav .nav__logo { width: 166px; }
  .site-topbar .site-topbar__inner { padding-inline: 16px; }
  .mobile-action-bar { min-height: 62px; }
}

@media print {
  .mobile-action-bar { display: none !important; }
  body.has-mobile-action-bar { padding-bottom: 0; }
}
