/* Identity and contact placement supplied in the client's header reference. */
.site-header .masthead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 116px;
  gap: 24px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.site-header .brand { min-width: 0; gap: 16px; }
.site-header .brand-mark { width: 92px; height: 78px; }
.site-header .brand-text { min-width: 0; max-width: none; }
.site-header .brand-name {
  display: block;
  font-size: 1.0625rem;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.site-header .brand-name > span { display: block; }
.site-header .brand-caption {
  margin-top: 5px;
  margin-bottom: 0;
  color: #77818b;
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.site-header .header-right { display: flex; align-items: center; gap: 18px; }
.site-header .header-contacts {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  text-align: left;
  line-height: 1.4;
}
.header-contact-group { display: flex; flex-direction: column; gap: 3px; }
.header-contact-group > a { font-size: .82rem; font-weight: 500; white-space: nowrap; }
.site-header .header-contact-group > small {
  margin: 0;
  font-size: .7rem;
  color: #63758b;
  white-space: nowrap;
}
.header-socials { display: flex; align-items: center; gap: 6px; }
.social-icon { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; border-radius: 5px; }
.social-icon:hover { background: #edf3f8; }
.social-icon svg, .social-icon img { display: block; width: 25px; height: 25px; }
.header-order { flex-shrink: 0; }
.site-header .main-nav { flex-direction: row; flex-wrap: nowrap; gap: 18px; min-height: 58px; }
.site-header .nav-links { width: auto; flex: 1; justify-content: flex-start; }
.site-header .nav-actions { width: auto; flex-shrink: 0; }
@media (max-width: 1180px) and (min-width: 761px) {
  .site-header .masthead { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .site-header .brand-name { font-size: 1.1rem; }
  .site-header .header-right { justify-content: flex-end; }
  .site-header .header-contacts { gap: 24px; align-items: center; }
  .header-contact-group { flex-direction: row; align-items: center; gap: 12px; }
}

@media (max-width: 760px) {
  .site-header .masthead { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; min-height: 0; padding-top: 12px; padding-bottom: 12px; }
  .site-header .brand { gap: 10px; }
  .site-header .brand-mark { width: 56px; height: 58px; }
  .site-header .brand-name { font-size: .78rem; line-height: 1.35; letter-spacing: .025em; }
  .site-header .brand-caption { font-size: .56rem; line-height: 1.3; letter-spacing: .04em; margin-top: 4px; }
  .site-header .header-right { grid-column: 1 / -1; gap: 0; }
  .site-header .header-contacts { width: 100%; justify-content: space-between; gap: 12px; align-items: center; }
  .header-contact-group { gap: 2px; }
  .header-contact-group > a { font-size: .78rem; }
  .site-header .header-contact-group > small { font-size: .6rem; white-space: normal; }
  .header-socials { gap: 4px; }
  .social-icon { min-width: 32px; min-height: 32px; }
  .site-header .header-order { display: none; }
  .site-header .menu-toggle { grid-column: 2; grid-row: 1; }
  .site-header .main-nav.open { flex-direction: column; align-items: stretch; flex-wrap: nowrap; }
  .site-header .nav-links, .site-header .nav-actions { width: 100%; }
  .site-header .nav-links { flex: auto; }
  .site-header .mobile-order { width: 100%; }
}

@media (max-width: 390px) {
  .site-header .brand-mark { width: 48px; height: 54px; }
  .site-header .brand-name { font-size: .72rem; }
  .site-header .brand-caption { font-size: .52rem; }
}
