/* Header refinement: original vector wordmark and a clearer navigation hierarchy. */
.site-header { border-bottom: 1px solid #e3e9ef; }
.header-inner { min-height: 68px; gap: 32px; }
.brand { display: inline-flex; align-items: center; min-height: 48px; }
.brand img { display: block; width: 202px; height: auto; }
#main-nav { gap: 36px; }
#main-nav > a {
  position: relative;
  color: #172c44;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.025em;
  padding: 18px 0;
}
#main-nav > a::after {
  content: '';
  position: absolute;
  height: 2px;
  background: #1a4076;
  left: 0;
  right: 0;
  bottom: 8px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
}
#main-nav > a:hover { color: #1a4076; }
#main-nav > a:hover::after, #main-nav > a:focus-visible::after { transform: scaleX(1); }
#main-nav .nav-catalog {
  border-left: 1px solid #d6dde5;
  padding: 12px 0 12px 28px;
  font-size: 17px;
  font-weight: 650;
  color: #1a4076;
}
#main-nav .nav-catalog::after { left: 28px; bottom: 3px; }
.brand:focus-visible, #main-nav > a:focus-visible, .menu-toggle:focus-visible {
  outline: 2px solid #1a4076;
  outline-offset: 5px;
}
.utility-inner { font-size: 11px; }
@media (min-width: 901px) and (max-width: 1200px) {
  .brand img { width: 190px; }
  #main-nav { gap: 27px; }
  #main-nav .nav-catalog { padding-left: 22px; }
  #main-nav .nav-catalog::after { left: 22px; }
}
@media (max-width: 900px) {
  .header-inner { min-height: 64px; gap: 0 20px; }
  .brand img { width: 188px; }
  .menu-toggle {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    gap: 10px;
    padding: 10px 0 10px 12px;
    min-height: 44px;
    color: #1a4076;
  }
  /* Three equal 2px strokes separated by two equal 5px gaps. */
  .menu-lines {
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 16px;
    border: 0;
    background: linear-gradient(to bottom,
      currentColor 0 2px, transparent 2px 7px,
      currentColor 7px 9px, transparent 9px 14px,
      currentColor 14px 16px);
  }
  .menu-lines::after { content: none; display: none; border: 0; }
  #main-nav { gap: 0; padding: 8px 0 20px; }
  #main-nav > a { font-size: 18px; font-weight: 600; padding: 15px 6px; }
  #main-nav > a::after { display: none; }
  #main-nav .nav-catalog {
    border-left: 0;
    font-size: 18px;
    padding: 16px 6px;
    margin-top: 4px;
  }
}
@media (max-width: 650px) {
  .header-inner { min-height: 60px; }
  .brand { min-height: 44px; }
  .brand img { width: 174px; }
  .utility-inner { font-size: 10px; }
}
@media (max-width: 360px) {
  .brand img { width: 160px; }
  .utility-inner { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  #main-nav > a::after { transition: none; }
}
