:root {
  --shared-nav-navy: #073f5d;
  --shared-nav-paper: #f8f7f1;
  --shared-nav-ink: #13384a;
  --shared-nav-mint: #58c6c1;
  --shared-nav-line: rgba(7, 63, 93, .12);
}

.v3-header {
  position: sticky;
  z-index: 100;
  top: 0;
  width: 100%;
  background: rgba(248, 247, 241, .96);
  border-bottom: 1px solid var(--shared-nav-line);
  backdrop-filter: blur(16px);
}

.v3-header .v3-shell {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.v3-header .v3-top {
  color: #cde0e8;
  background: var(--shared-nav-navy);
  font: 400 11px/1.2 "DM Sans", "Inter", sans-serif;
  letter-spacing: .04em;
}

.v3-header .v3-top .v3-shell {
  display: flex;
  justify-content: center;
  gap: 32px;
  min-height: 35px;
  padding: 8px 0;
}

.v3-header .v3-top a {
  color: #cde0e8;
  font-weight: 400;
  text-decoration: none;
}

.v3-header .v3-top a i {
  margin-right: 4px;
  color: #ff5f57;
}

.v3-header .v3-nav {
  display: flex;
  align-items: center;
  height: 88px;
  gap: 34px;
}

.v3-header .v3-logo {
  margin-right: auto;
}

.v3-header .v3-logo img {
  display: block;
  width: 164px;
  height: 74px;
  object-fit: contain;
}

.v3-header .v3-menu {
  display: flex;
  align-items: center;
  gap: 26px;
  font: 700 13px/1.2 "DM Sans", "Inter", sans-serif;
}

.v3-header .v3-menu a {
  position: relative;
  color: var(--shared-nav-ink);
  text-decoration: none;
}

.v3-header .v3-menu a::after {
  content: "";
  position: absolute;
  right: 100%;
  bottom: -8px;
  left: 0;
  height: 2px;
  background: var(--shared-nav-mint);
  transition: right .25s ease;
}

.v3-header .v3-menu a:hover::after,
.v3-header .v3-menu a.active::after,
.v3-header .v3-menu a[aria-current="page"]::after {
  right: 0;
}

.v3-header .v3-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 46px;
  padding: 0 19px;
  border-radius: 3px;
  color: #fff !important;
  background: var(--shared-nav-navy);
  box-shadow: 0 14px 28px rgba(7, 63, 93, .14);
  font: 700 13px/1 "DM Sans", "Inter", sans-serif;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .25s ease, background .25s ease;
}

.v3-header .v3-btn:hover {
  transform: translateY(-2px);
  background: #052f47;
}

.v3-header .v3-btn > i {
  color: var(--shared-nav-mint);
  font-size: 17px;
}

.v3-header .v3-btn b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, .14);
}

.v3-header .v3-menu-button {
  display: none;
  padding: 8px;
  border: 0;
  background: none;
}

.v3-header .v3-menu-button span {
  display: block;
  width: 26px;
  height: 2px;
  margin: 5px;
  background: var(--shared-nav-ink);
}

body:not(.home-v3) main {
  padding-top: 0 !important;
}

@media (max-width: 980px) {
  .v3-header .v3-menu-button {
    display: block;
  }

  .v3-header .v3-menu {
    position: absolute;
    top: 123px;
    right: 20px;
    left: 20px;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    padding: 25px;
    background: var(--shared-nav-paper);
    box-shadow: 0 20px 45px rgba(5, 47, 71, .14);
  }

  .v3-header .v3-menu.open {
    display: flex;
  }

  .v3-header .v3-nav > .v3-btn {
    display: none;
  }
}

@media (max-width: 600px) {
  .v3-header .v3-shell {
    width: min(100% - 28px, 520px);
  }

  .v3-header .v3-top .v3-shell {
    justify-content: flex-start;
    gap: 0;
    overflow: hidden;
    white-space: nowrap;
  }

  .v3-header .v3-top span {
    display: none;
  }

  .v3-header .v3-top a {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .v3-header .v3-nav {
    height: 76px;
  }

  .v3-header .v3-logo img {
    width: 138px;
    height: 64px;
  }

  .v3-header .v3-menu {
    top: 111px;
  }
}
