/* Запасной шрифт — используется, если Google Fonts недоступны */
@font-face { font-family: 'Montserrat'; src: url(../fonts/Montserrat-Regular.ttf) format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/Montserrat-Medium.ttf) format('truetype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/Montserrat-SemiBold.ttf) format('truetype'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/Montserrat-Bold.ttf) format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url(../fonts/Montserrat-ExtraBold.ttf) format('truetype'); font-weight: 800; font-display: swap; }

html { scroll-behavior: smooth; }
body { margin: 0; background: #ffffff; -webkit-font-smoothing: antialiased; }
section[id] { scroll-margin-top: 16px; }
a { color: #004072; transition: color .15s ease, opacity .15s ease; }
a:hover { color: #1b1918; }
nav a:hover { color: #004072 !important; }
a[href^="mailto"][style*="background: #004072"]:hover { opacity: .88; color: #ffffff !important; }
footer a:hover { color: #c3cfdd !important; }
.map > ymaps, .map iframe { width: 100% !important; }

/* Планшеты и телефоны */
@media (max-width: 760px) {
    header img { height: 56px !important; }
    header nav { font-size: 16px !important; gap: 6px 20px !important; }
    h2 { font-size: 30px !important; }
    img.photo { height: 280px !important; }
    section[id] { padding-top: 64px !important; }
    .stats { padding: 4px 24px !important; }
    .stats > div { padding: 20px 0 !important; border-right: none !important; border-bottom: 1px solid #dde3ea; }
    .stats > div:last-child { border-bottom: none; }
    .stats > div > div:first-child { font-size: 32px !important; }
}
