.header__top { background: var(--site-blue); color: #fff; }
.header__top-inner { min-height: 2.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
.header__contacts { display: flex; gap: 3rem; align-items: center; font-size: 1.125rem; line-height: 1.5rem; }
.header__contact { display: inline-flex; align-items: center; gap: 1rem; }
.header__contact:hover { color: #fff; text-decoration: underline; }
.header__contact .site__icon { width: 1.25rem; height: 1.125rem; }
.header__nav { padding: 31px 0; background: #fff; }
.header__nav-inner { display: flex; align-items: center; flex-wrap: wrap; }
.header__brand { margin-right: 114px; }
.header__logo { width: 78px; height: 58px; }
.header__menu { flex-grow: 1; min-width: 0; }
.header__links { display: flex; align-items: center; gap: 2.5rem; margin: 0; padding: 0; list-style: none; }
.header__item { position: relative; }
.header__link-row { display: flex; align-items: center; gap: 4px; }
.header__submenu-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 8px; min-width: 1.5rem; min-height: 44px; padding: 0; border: 0; background: transparent; color: inherit; }
.header__caret { display: inline-block; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.header__submenu-toggle[aria-expanded='true'] .header__caret { transform: rotate(225deg); }
.header__submenu { position: absolute; top: 100%; left: 0; z-index: 1030; min-width: 240px; padding: 8px; margin: 0; list-style: none; border: 1px solid #e5e5e5; border-radius: 8px; background: #fff; box-shadow: 0 8px 1.5rem #00000014; }
.header__submenu[hidden] { display: none; }
.header__item:last-child .header__submenu { left: auto; right: 0; }
.header__submenu-link { display: block; padding: 12px 1rem; font-size: 1rem; line-height: 1.5rem; border-radius: 4px; }
a.header__submenu-link:hover, a.header__submenu-link:focus-visible { color: var(--site-blue); background: #f3f6fb; }
.header__drawer-heading { font-size: 1.5rem; line-height: 32px; color: var(--site-blue); }
.header__drawer-header { flex-shrink: 0; border-bottom: 1px solid #e5e5e5; }
.header__link { position: relative; display: block; font-size: 1.125rem; line-height: 1.5rem; white-space: nowrap; padding: 12px 0; }
.header__link--active::after { content: ''; position: absolute; bottom: 5px; left: 0; right: 0; height: 2px; background: var(--site-blue); }
.header__language { display: inline-flex; border: 0; background: transparent; color: inherit; }
.header__actions { margin-left: auto; display: flex; align-items: center; gap: 1.5rem; }
.header__icon-button { background: transparent; border: 0; display: inline-flex; align-items: center; justify-content: center; width: 32px; min-height: 44px; padding: 4px; }
.header__quote { color: #fff; background: var(--site-blue); font-size: 1rem; font-weight: 700; padding: 14px 26px; border-radius: 6px; white-space: nowrap; }
.header__quote:hover { background: #1d386d; color: #fff; transform: translateY(-3px); }
.header__toggle { margin-left: auto; padding: 10px; border-color: #ddd; }
.site__socials a:hover{transform: translateY(-2px);}
@media (max-width: 1750px) {
  .header__brand { margin-right: 54px; }
  .header__links { gap: 32px; }
  .header__actions { gap: 12px; }
}
@media (max-width: 1480px) {
  .header__links { gap: 1.5rem; }
  .header__brand { margin-right: 34px; }
  .header__link { font-size: 1rem; }
  .header__quote { padding-inline: 1.125rem; }
}
@media (max-width: 1200px) {
  .header__nav { padding: 1.25rem 0; }
  .header__brand { margin-right: 0; }
  .header__actions { margin-left: 1.5rem; }
  .header__links { flex-direction: column; align-items: stretch; gap: 0; }
  .header__menu { --bs-offcanvas-width: min(360px, calc(100vw - 32px)); height: 100vh; height: 100dvh; }
  .header__drawer-header { padding: max(1.25rem, env(safe-area-inset-top)) 1.5rem 1.25rem; }
  .header__drawer-close { min-width: 1.5rem; min-height: 1.5rem; }
  .header__menu-body { flex: 1 1 0; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; padding: 12px 1.5rem max(24px, env(safe-area-inset-bottom)); }
  .header__item { border-bottom: 1px solid #e5e5e5; }
  .header__link-row .header__link { flex-grow: 1; min-width: 0; }
  .header__submenu-toggle { min-width: 44px; min-height: 3rem; }
  .header__language { justify-content: space-between; width: 100%; text-align: left; }
  .header__submenu { position: static; min-width: 0; padding: 0 0 12px 12px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .header__submenu-link { min-height: 44px; padding: 10px 12px; overflow-wrap: anywhere; }
  .header__link { font-size: 1.125rem; padding: 12px 0; white-space: normal; }
  .header__link--active::after { right: auto; width: 3rem; bottom: 6px; }
}
@media (max-width: 992px) {
  .header__contacts { gap: 1.5rem; font-size: 14px; }
  .header__contact { gap: 8px; }
  .header__top .site__socials { gap: 12px; }
  .header__top .site__social-icon { width: 14px; height: 14px; }
}
@media (max-width: 768px) {
  .header__top-inner { justify-content: center; padding: 8px 0; }
  .header__contacts { flex-wrap: wrap; justify-content: center; gap: 4px 1.25rem; }
  .header__top .site__socials { display: none; }
  .header__logo { width: 64px; height: auto; }
  .header__actions { gap: 6px; margin-left: 10px; }
  .header__quote { padding: 12px 14px; font-size: 14px; }
  .header__toggle { padding: 6px; }
}