/* The supplied logo is kept intact; its aspect ratio is never stretched. */
.site-header {
  position:relative;
  background:#ffffff;
  border-top:3px solid var(--brand-blue);
  border-bottom:1px solid var(--line);
  z-index:20;
}
.header-inner {
  width:min(1240px,calc(100% - 88px));
  margin-inline:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
  min-height:144px;
  padding-block:12px;
}
.brand {
  display:inline-flex;
  align-items:center;
  flex:none;
  line-height:0;
}
.site-logo {
  display:block;
  width:auto;
  height:120px;
  max-width:none;
  aspect-ratio:1170 / 1345;
  object-fit:contain;
}
.primary-nav {
  display:flex;
  align-items:center;
  gap:29px;
  font-size:12px;
  font-weight:700;
}
.primary-nav>a {
  padding-block:12px;
  white-space:nowrap;
}
.primary-nav>a:hover,.primary-nav>a[aria-current] {
  color:var(--accent);
}
.primary-nav .nav-cta {
  border:1px solid var(--accent);
  background:var(--accent);
  color:#ffffff;
  padding:12px 18px;
  display:flex;
  gap:20px;
  align-items:center;
  border-radius:2px;
}
.primary-nav .nav-cta:hover {
  color:#ffffff;
  background:#941d25;
  border-color:#941d25;
}
.nav-cta span {
  font-size:20px;
  line-height:1;
}
.menu-toggle {
  display:none;
}
@media(max-width:1050px) {
  .header-inner {
    width:calc(100% - 48px);
    gap:22px;
  }
  .primary-nav {
    gap:18px;
    font-size:11px;
  }
  .primary-nav .nav-cta {
    padding:11px 14px;
    gap:10px;
  }
}
@media(max-width:820px) {
  .header-inner {
    flex-wrap:wrap;
    gap:14px 20px;
    min-height:114px;
    padding-block:12px;
  }
  .site-logo {
    height:90px;
  }
  .primary-nav {
    flex-basis:100%;
    flex-wrap:wrap;
    gap:16px 23px;
    padding-top:14px;
    padding-bottom:5px;
    border-top:1px solid var(--line);
  }
  .primary-nav .nav-cta {
    margin-left:auto;
  }
  .has-menu-js .menu-toggle {
    display:flex;
    align-items:center;
    gap:12px;
    background:#ffffff;
    border:1px solid #9aafc0;
    padding:10px 14px;
    font-size:12px;
    color:var(--ink);
    font-weight:700;
    cursor:pointer;
  }
  .has-menu-js .menu-toggle[aria-expanded="false"]+.primary-nav {
    display:none;
  }
}
@media(max-width:760px) {
  .header-inner {
    width:calc(100% - 36px);
  }
  .primary-nav {
    font-size:12px;
  }
  .primary-nav .nav-cta {
    margin-left:0;
  }
}
