/* Универсальный стиль в @layer: любой родной (неслойный) CSS всегда сильнее, независимо от специфичности. */
@layer revival {
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0 auto; max-width: 1040px; padding: 20px 20px 48px; font: 16px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: #243040; background: #f6f7f9; }
header, nav, main, section, article, footer, aside, #wrapper, #page, #content, .container, .wrapper { display: block; }
header, #header, .header { padding: 18px 22px; margin: 0 -20px 18px; background: #fff; border-bottom: 1px solid #e3e6ea; }
h1, h2, h3, h4 { line-height: 1.25; margin: 1.3em 0 .5em; color: #16202c; }
h1 { font-size: 2em; margin-top: .6em; }
h2 { font-size: 1.5em; padding-bottom: .25em; border-bottom: 2px solid #e3e6ea; }
h3 { font-size: 1.2em; }
p, li { margin: 0 0 .9em; }
a { color: #0b5cad; text-underline-offset: .15em; }
a:hover { color: #08407a; }
img, video, iframe { max-width: 100%; height: auto; border-radius: 6px; }
table { border-collapse: collapse; max-width: 100%; background: #fff; }
td, th { padding: 6px 10px; vertical-align: top; border: 1px solid #e3e6ea; }
nav ul, .menu ul, ul.menu { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; }
nav a, .menu a { display: inline-block; padding: 4px 2px; text-decoration: none; font-weight: 500; }
nav a:hover, .menu a:hover { text-decoration: underline; }
ul, ol { padding-left: 1.3em; }
main, #content, .content, article { background: #fff; padding: 8px 24px 20px; border-radius: 8px; box-shadow: 0 1px 3px rgba(20,30,50,.07); }
blockquote { margin: 1em 0; padding: .3em 1em; border-left: 4px solid #c9d1da; color: #4b5866; background: #fafbfc; }
input, select, textarea, button { font: inherit; max-width: 100%; padding: 8px 10px; border: 1px solid #c9d1da; border-radius: 6px; }
button, input[type=submit] { background: #0b5cad; color: #fff; border-color: #0b5cad; cursor: pointer; }
hr { border: 0; border-top: 1px solid #e3e6ea; margin: 1.5em 0; }
footer, #footer, .footer { margin-top: 2em; padding-top: 1em; border-top: 1px solid #dde1e6; font-size: .9em; color: #566170; }
@media (max-width: 640px) { body { padding: 12px 12px 32px; font-size: 15px; } main, #content, .content, article { padding: 6px 14px 14px; } header, #header, .header { margin: 0 -12px 14px; padding: 12px 14px; } }
/* иконки-SVG без размеров (стрелки, соцсети) без CSS плагинов растягиваются на весь экран */
svg:not([width]):not([height]) { width: 1.25em; height: 1.25em; vertical-align: middle; }
/* виджеты согласия на cookies без своего CSS выглядят мусором */
#cmplz-cookiebanner-container, .cmplz-cookiebanner, #cmplz-manage-consent, .cmplz-manage-consent, #cookie-notice, #cookie-law-info-bar, #cookie-banner, .cookie-banner, .cookie-notice, #CybotCookiebotDialog { display: none !important; }
}
