.footer.footer--sitemap { display: block; width: min(calc(100% - 48px), var(--max)); min-height: 0; margin: 0 auto; padding: clamp(48px, 6vw, 84px) 0 clamp(48px, 5vw, 72px); border-top: 1px solid #bdd0e1; color: #17395c; }
.footer__top { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); gap: clamp(40px, 8vw, 128px); align-items: start; }
.footer.footer--sitemap .footer__map { display: block; }
.footer__identity { display: grid; justify-items: start; gap: 20px; }
.footer__logo { display: block; line-height: 0; }
.footer.footer--sitemap .footer__logo--current { padding: 16px 20px; background: #731637; border-radius: 12px; }
.footer.footer--sitemap .footer__logo--current img { display: block; background: transparent; }
.footer__logo img { width: 190px; height: auto; border-radius: 0; object-fit: contain; }
.footer__identity p { margin: 0; color: #52728d; font-size: 14px; line-height: 1.5; }
.footer__vk { display: inline-grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid #bdd0e1; border-radius: 10px; color: #17395c; text-decoration: none; transition: color .16s ease, border-color .16s ease, background-color .16s ease, transform .16s ease; }
.footer__vk svg { width: 23px; height: 23px; fill: currentColor; }
.footer__vk:hover { border-color: #17395c; color: #fff; background: #17395c; transform: translateY(-2px); }
.footer.footer--sitemap .footer__map-title { margin: 0 0 22px; color: #17395c; font-size: 16px; font-weight: 700; line-height: 1.2; }
.footer__map-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 34px; }
.footer.footer--sitemap .footer__map-section h2 { margin: 0; color: #17395c; font-size: 14px; font-weight: 700; line-height: 1.35; }
.footer__map-section h2 a { color: inherit; text-decoration: none; }
.footer__map-section ul { display: grid; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.footer.footer--sitemap .footer__map-section li, .footer.footer--sitemap .footer-legal a, .footer.footer--sitemap .footer__copyright { color: #52728d; font-size: 13px; line-height: 1.42; }
.footer__map-section a, .footer-legal a { text-decoration-color: #9ab2c5; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .16s ease, text-decoration-color .16s ease; }
.footer__map-section a:hover, .footer-legal a:hover, .footer__map-section h2 a:hover { color: #17395c; text-decoration-color: currentColor; }
.footer__bottom { display: flex; flex-wrap: wrap; gap: 18px 40px; align-items: center; justify-content: space-between; margin-top: clamp(44px, 6vw, 72px); padding-top: 22px; border-top: 1px solid #d7e4ed; }
.footer__copyright { margin: 0; }
.footer.footer--sitemap .footer-legal { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.footer__vk:focus-visible, .footer__map-section a:focus-visible, .footer-legal a:focus-visible { outline: 3px solid #17395c; outline-offset: 3px; }
html.is-accessible .footer.footer--sitemap, html.is-accessible .footer__bottom { color: #000 !important; border-color: #000 !important; background: #fff !important; }
@media (max-width: 880px) { .footer__top { grid-template-columns: 1fr; gap: 44px; } .footer__map-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .footer.footer--sitemap { width: calc(100% - 32px); padding: 40px 0 48px; } .footer__map-grid { grid-template-columns: 1fr; gap: 24px; } .footer__bottom { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 44px; } .footer-legal { flex-direction: column; gap: 12px; } }

/* Shared by the homepage and internal pages. */
footer.footer.footer--sitemap { color: #00323c; border-color: #d6cbc3; font-family: George, Arial, sans-serif; }
footer.footer.footer--sitemap .footer__logo--current { display: inline-flex; padding: 16px 20px; border-radius: 12px; background: #731637; max-width: 100%; }
footer.footer.footer--sitemap .footer__logo--current img { display: block; width: 240px; max-width: 100%; height: auto; border-radius: 0; }
footer.footer.footer--sitemap .footer__identity p { font-size: 18px; line-height: 1.6; }
footer.footer.footer--sitemap .footer__map-title { font-size: 20px; line-height: 1.5; color: #731637; }
footer.footer.footer--sitemap .footer__map-section h2,
footer.footer.footer--sitemap .footer__map-section li,
footer.footer.footer--sitemap .footer-legal a,
footer.footer.footer--sitemap .footer__copyright { color: #00323c; }
footer.footer.footer--sitemap .footer__social { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
footer.footer.footer--sitemap .footer__social a { display: inline-flex; gap: 12px; padding: 12px 18px; border: 1px solid #00323c; border-radius: 12px; color: #00323c; font-size: 18px; line-height: 1.5; text-decoration: none; }
footer.footer.footer--sitemap .footer__social a:hover { color: #fff; background: #00323c; }
footer.footer.footer--sitemap .footer__social a:focus-visible { outline: 3px solid #007d70; outline-offset: 4px; }
footer.footer.footer--sitemap { padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)); }
footer.footer.footer--sitemap .footer__map-section h2,
footer.footer.footer--sitemap .footer__map-section h2 a { font-size: 20px; line-height: 1.5; }
footer.footer.footer--sitemap .footer__map-section li a { font-size: 18px; line-height: 1.6; }
footer.footer.footer--sitemap .footer-legal a { font-size: 16px; line-height: 1.6; }
@media (max-width: 767px) {
  footer.footer.footer--sitemap { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
}
