/* Generated by scripts/build-theme-assets.py from tokens.css and main.css. */
:root {
  color-scheme: light;
  --neutral-0: #ffffff;
  --neutral-50: #f6f8fb;
  --neutral-100: #eef2f7;
  --neutral-200: #dce3ec;
  --neutral-400: #8290a3;
  --neutral-600: #536276;
  --neutral-900: #182b43;
  --blue-50: #edf2f8;
  --blue-200: #d2deed;
  --blue-700: #1e3d63;
  --blue-800: #142e4d;
  --paper: var(--neutral-0);
  --white: var(--neutral-0);
  --ink: var(--neutral-900);
  --muted: var(--neutral-600);
  --line: var(--neutral-200);
  --surface-subtle: var(--neutral-50);
  --control-border: var(--neutral-400);
  --accent: var(--blue-700);
  --accent-hover: var(--blue-800);
  --link-hover: #315e92;
  --footer-hover: #c3d8f2;
  --tint: var(--blue-50);
  --selection: var(--blue-200);
  --on-accent: var(--neutral-0);
  --footer-bg: var(--neutral-900);
  --footer-text: var(--neutral-100);
  --footer-muted: var(--neutral-200);
  --footer-line: var(--neutral-600);
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --text-caption: .875rem;
  --text-label: .9375rem;
  --text-body: 1rem;
  --text-reading: 1.125rem;
  --text-lead: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);
  --text-card: clamp(1.375rem, 1.2rem + .45vw, 1.625rem);
  --text-section: clamp(1.5rem, 1.3rem + .6vw, 1.875rem);
  --text-page: clamp(2rem, 1.45rem + 2.2vw, 3rem);
  --text-display: clamp(2.25rem, 1.5rem + 2.2vw, 3.125rem);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 5rem;
  --radius-control: .375rem;
  --radius-card: .5rem;
  --radius-panel: .75rem;
  --shadow-card: 0 2px 4px #182b4306, 0 12px 28px #182b4309;
  --shadow-overlay: 0 8px 24px #182b4314, 0 24px 64px #182b431a;
  --gutter: clamp(1rem, 4vw, 3.5rem);
  --content-width: 1160px;
  --reading-width: 720px;
}

/* Базовые правила и типографика. Значения системы - в tokens.css. */
* { box-sizing: border-box; }
html { scroll-padding-top: var(--space-6); }
body { margin: 0; background: var(--paper); color: var(--ink); font: var(--text-body)/1.65 var(--sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a { color: inherit; text-underline-offset: .2em; text-decoration-thickness: from-font; text-decoration-skip-ink: auto; }
button, input, select, textarea { font: inherit; }
button, a, input, summary { touch-action: manipulation; }
button { cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
h1, h2, h3, h4, h5, h6, p { margin-block-start: 0; }
h1, h2, h3, h4, h5, h6 { color: var(--ink); overflow-wrap: break-word; text-wrap: balance; }
h1 { margin-block-end: var(--space-5); font: 400 var(--text-page)/1.2 var(--serif); letter-spacing: -.025em; }
h2 { margin-block-end: var(--space-4); font-size: var(--text-section); line-height: 1.3; font-weight: 600; letter-spacing: -.025em; }
h3 { margin-block-end: var(--space-3); font-size: 1.25rem; line-height: 1.4; font-weight: 600; letter-spacing: -.015em; }
p { margin-block-end: var(--space-4); }
h2, h3, [id] { scroll-margin-top: var(--space-6); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
[hidden] { display: none !important; }
::selection { background: var(--selection); color: var(--ink); }
.container { width: min(var(--content-width), calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.small { font-size: var(--text-label); }
.muted { color: var(--muted); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: absolute; inset-block-start: -100px; inset-inline-start: var(--space-4); z-index: 999; max-width: calc(100% - 2rem); padding: var(--space-3) var(--space-5); border-radius: var(--radius-control); background: var(--ink); color: var(--white); overflow-wrap: anywhere; }
.skip-link:focus { inset-block-start: var(--space-4); }

/* Шапка, навигация и общие действия. */
.site-header { border-bottom: 1px solid var(--line); background: var(--white); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 88px; gap: var(--space-5); padding-block: var(--space-4); }
.brand { display: flex; flex-direction: column; gap: .125rem; text-decoration: none; }
.brand strong { font-size: 1.5rem; line-height: 1.25; font-weight: 700; letter-spacing: -.04em; }
.brand > span { font-size: var(--text-label); line-height: 1.4; color: var(--muted); }
.site-navigation { display: flex; align-items: center; }
.nav-list { display: flex; align-items: center; gap: var(--space-1); padding: 0; margin: 0; list-style: none; }
.nav-list a { display: block; min-height: 44px; padding: .625rem 1rem; border-radius: var(--radius-control); font-size: var(--text-body); text-decoration: none; }
.nav-list a[aria-current], .nav-list .current-menu-item > a, .nav-list .current-menu-ancestor > a { background: var(--tint); color: var(--accent); font-weight: 600; }
.menu-toggle { display: none; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 10px; border: 0; background: transparent; color: var(--ink); }
.menu-icon { display: block; flex-shrink: 0; }
.menu-toggle[aria-expanded=true] .menu-line-top { transform: translateY(6px) rotate(45deg); transform-origin: 12px 6px; }
.menu-toggle[aria-expanded=true] .menu-line-middle { opacity: 0; }
.menu-toggle[aria-expanded=true] .menu-line-bottom { transform: translateY(-6px) rotate(-45deg); transform-origin: 12px 18px; }
.button, .text-link, .privacy-actions button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 48px; max-width: 100%; padding: .75rem 1.125rem; border: 1px solid var(--accent); border-radius: var(--radius-control); background: var(--accent); color: var(--on-accent); font-size: var(--text-body); font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; overflow-wrap: anywhere; }
.button-secondary, .privacy-actions .button-secondary { border-color: var(--control-border); background: var(--white); color: var(--ink); }
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* Главная и повторяющиеся блоки. */
.hero { padding-block: var(--space-9) var(--space-7); }
.hero-copy { display: flex; flex-direction: column; align-items: center; min-width: 0; max-width: 850px; margin-inline: auto; gap: var(--space-5); text-align: center; }
.hero h1 { margin: 0; max-width: 25ch; font-size: clamp(2.25rem, 1.4rem + 2.2vw, 3rem); line-height: 1.16; }
.hero-lead { max-width: 46ch; margin: 0; color: var(--muted); font-size: var(--text-lead); line-height: 1.65; text-wrap: pretty; }
.hero-copy .hero-actions { align-self: center; justify-content: center; margin-block-start: var(--space-2); }
.hero-feature .card-body { padding-block-start: var(--space-5); }
.hero-feature .card-body h2 { font-size: clamp(1.5rem, 1.2rem + .6vw, 1.875rem); }
.hero-feature .card-excerpt { max-width: 55ch; }
.section { padding-block: var(--space-8); }
.section-actions { display: flex; justify-content: center; margin-block-start: var(--space-7); }
.section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-4); margin-block-end: var(--space-5); }
.section-heading h2 { margin: 0; }
.section-heading .button { min-height: 44px; padding: .625rem 1rem; font-size: var(--text-label); }
.topics-section { padding-block: var(--space-8); border-top: 1px solid var(--line); }
.topics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.topic-link { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-width: 0; min-height: 68px; padding: var(--space-4) var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--white); font-weight: 500; text-decoration: none; }
.topic-count { flex-shrink: 0; color: var(--muted); font-size: var(--text-label); font-weight: 400; font-variant-numeric: tabular-nums; }
.story-grid, .people-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7) var(--space-6); }
.story-card { position: relative; min-width: 0; display: flex; flex-direction: column; background: var(--white); }

.card-image { aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-card); background: var(--tint); }
.card-image img, .portrait img { width: 100%; height: 100%; object-fit: cover; }
.card-body { display: flex; flex-direction: column; flex: 1; padding-block-start: var(--space-4); }
.card-category { position: relative; z-index: 2; width: fit-content; min-height: 28px; margin-block-end: var(--space-2); color: var(--accent); font-size: var(--text-label); text-decoration: none; }
.card-body :is(h2, h3) { margin-block-end: var(--space-3); font: 400 var(--text-card)/1.4 var(--serif); letter-spacing: -.015em; }
.card-title-link { text-decoration: none; }
.card-title-link::after { content: ''; position: absolute; inset: 0; z-index: 1; }

.card-body > p { margin-block-end: var(--space-4); color: var(--muted); font-size: var(--text-label); line-height: 1.65; text-wrap: pretty; }
.card-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.card-meta { display: flex; flex-direction: column; align-items: start; gap: var(--space-1); margin-block-start: auto; padding-block-start: var(--space-3); color: var(--muted); font-size: var(--text-caption); line-height: 1.6; }
.card-author { position: relative; z-index: 2; font-size: var(--text-label); color: var(--ink); font-weight: 500; text-decoration: none; overflow-wrap: anywhere; }
.card-meta-details { display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.card-meta-details time { font-variant-numeric: tabular-nums; }
.byline { position: relative; z-index: 2; }
.byline { font-size: var(--text-label); font-weight: 600; text-decoration: none; }
.byline span { display: block; color: var(--muted); font-size: var(--text-caption); font-weight: 400; }
.portrait { aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-card); background: var(--tint); }
.image-placeholder { display: grid; place-items: center; height: 100%; min-height: inherit; background: var(--tint); color: var(--muted); font: 400 3rem/1 var(--serif); }
.card-body > .person-role { margin-block-end: var(--space-2); color: var(--ink); font-weight: 600; }
.experts-section { border-top: 1px solid var(--line); }
.editorial-note, .about-strip { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); padding: var(--space-6); border-radius: var(--radius-panel); }
.editorial-note { background: var(--tint); }
.editorial-note :is(h2, h3) { margin-block-end: var(--space-2); font-size: 1.25rem; line-height: 1.4; }
.editorial-note p, .about-strip p { max-width: 65ch; margin: 0; color: var(--muted); text-wrap: pretty; }
.editorial-note > .button, .about-strip > .button { flex-shrink: 0; }
.about-strip { margin-block: var(--space-6) 0; border: 1px solid var(--line); background: var(--white); }
.about-strip h2 { margin-block-end: var(--space-3); }
.about-strip p + p { margin-block-start: var(--space-4); }
.home-faq { max-width: 800px; margin-inline: auto; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); min-height: 64px; padding-block: var(--space-5); color: var(--ink); font-size: var(--text-body); font-weight: 600; line-height: 1.5; list-style: none; cursor: pointer; overflow-wrap: anywhere; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-icon { flex-shrink: 0; }
.faq-item[open] .faq-icon-vertical { display: none; }
.faq-answer { max-width: 68ch; padding-block-end: var(--space-5); padding-inline-end: 2.75rem; color: var(--muted); font-size: var(--text-body); line-height: 1.7; }
.faq-answer p { margin: 0; }
.faq-answer a { color: var(--accent); }
@media (hover: hover) {
  .faq-item summary:hover, .faq-answer a:hover { color: var(--link-hover); }
}

/* Каталоги и навигация по страницам. */
.breadcrumbs { margin-block: var(--space-5) var(--space-1); color: var(--muted); font-size: var(--text-label); line-height: 1.5; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { min-width: 0; overflow-wrap: anywhere; }
.breadcrumbs li + li::before { content: '/'; padding-inline-end: var(--space-2); }
.breadcrumbs a { display: inline-block; min-height: 28px; text-decoration: none; }
.page-heading { max-width: var(--reading-width); padding-block: 0 var(--space-5); }
.page-heading h1 { margin-block-end: var(--space-4); }
.page-heading > p, .archive-intro { max-width: 65ch; margin-block-end: var(--space-3); color: var(--muted); font-size: var(--text-lead); line-height: 1.65; text-wrap: pretty; }
.archive-page { padding-block-end: var(--space-8); }
.topic-filter { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block: 0 var(--space-5); }
.topic-filter a { display: block; min-height: 44px; padding: .625rem 1rem; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--white); font-size: var(--text-label); line-height: 1.5; text-decoration: none; }
.topic-filter a[aria-current] { border-color: var(--accent); background: var(--accent); color: var(--on-accent); font-weight: 600; }
.result-summary { margin-block-end: var(--space-5); color: var(--muted); font-size: var(--text-label); font-variant-numeric: tabular-nums; }
.pagination { display: flex; justify-content: center; margin-block-start: var(--space-7); padding-block-start: var(--space-6); border-top: 1px solid var(--line); }
.pagination ul { display: flex; justify-content: center; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.pagination a, .pagination span { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: .5rem .875rem; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--white); font-size: var(--text-label); font-variant-numeric: tabular-nums; text-decoration: none; }
.pagination .current { border-color: var(--accent); background: var(--accent); color: var(--on-accent); font-weight: 600; }
.pagination .dots { border: 0; background: transparent; }

/* Статья. */
.single-article { padding-block-end: var(--space-6); }
.article-heading { max-width: 900px; margin-inline: auto; padding-block: 0 var(--space-5); text-align: center; }
.article-heading h1 { margin-block-end: var(--space-4); }
.article-deck { max-width: 65ch; margin-inline: auto; margin-block-end: var(--space-4); color: var(--muted); font-size: var(--text-lead); line-height: 1.65; }
.article-meta, .article-meta > div { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
.article-meta { flex-direction: column; align-items: center; justify-content: center; gap: var(--space-2); max-width: 100%; padding: 0; color: var(--muted); font-size: var(--text-caption); }
.article-meta > div { justify-content: center; }
.article-meta .byline { font-size: var(--text-label); }
.article-meta .byline span { font-size: var(--text-caption); }
.article-cover { margin-block: 0 var(--space-7); margin-inline: auto; }
.article-cover > img { width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; border-radius: var(--radius-card); }
.article-cover figcaption { max-width: 75ch; margin-inline: auto; text-align: center; margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-label); }
.article-layout { max-width: var(--reading-width); margin-inline: auto; }
.article-reading { min-width: 0; }
/* Текст, блоки WordPress и широкое содержимое. */
.prose { min-width: 0; color: var(--ink); font-size: var(--text-reading); line-height: 1.8; overflow-wrap: break-word; }
.prose :is(p, ul, ol, dl) { margin-block: 0 var(--space-5); }
.prose :is(ul, ol) { padding-inline-start: 1.5em; }
.prose h2 { margin-block: var(--space-7) var(--space-4); font-size: var(--text-section); line-height: 1.35; }
.prose h3 { margin-block: var(--space-6) var(--space-3); font-size: 1.375rem; line-height: 1.4; }
.prose h4 { font-size: var(--text-reading); line-height: 1.5; }
.prose h5, .prose h6 { font-size: var(--text-body); line-height: 1.5; }
.prose > :first-child { margin-block-start: 0; }
.prose > :last-child { margin-block-end: 0; }
.prose a { color: var(--accent); overflow-wrap: anywhere; }
.prose li + li { margin-block-start: var(--space-2); }
.prose li > :is(ul, ol) { margin-block: var(--space-2); }
.prose figure { max-width: 100%; margin: var(--space-6) 0; }
.prose figure.aligncenter { margin-inline: auto; }
.prose img { height: auto; border-radius: var(--radius-control); }
.article-content img:where(:not(.emoji):not(.wp-smiley)) { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.article-content :is(.image-original-ratio, .is-style-original-ratio img) { aspect-ratio: auto; object-fit: contain; }
.prose figcaption, .prose .wp-caption-text { text-align: center; margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-label); line-height: 1.6; }
.prose blockquote { margin: var(--space-6) 0; padding: var(--space-5); border-inline-start: 3px solid var(--accent); border-radius: 0 var(--radius-control) var(--radius-control) 0; background: var(--tint); }
.prose blockquote p:last-child { margin: 0; }
.prose blockquote cite { display: block; margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-label); font-style: normal; }
.prose pre { max-width: 100%; overflow: auto; margin-block: var(--space-6); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-subtle); font-size: var(--text-label); line-height: 1.65; tab-size: 2; }
.prose :not(pre) > code { padding: .125em .3em; border-radius: .25rem; background: var(--surface-subtle); font-size: .9em; }
.prose kbd { padding: .125rem .375rem; border: 1px solid var(--control-border); border-radius: .25rem; font-size: .85em; }
.prose hr { margin-block: var(--space-6); border: 0; border-top: 1px solid var(--line); }
.prose dt { font-weight: 600; }
.prose dd { margin-inline-start: var(--space-5); margin-block-end: var(--space-3); }
.prose iframe, .prose video, .prose audio { max-width: 100%; }
.prose .wp-block-embed__wrapper iframe { width: 100%; }
.prose .wp-caption { max-width: 100% !important; }
.prose .alignleft { float: inline-start; max-width: 45%; margin-inline-end: var(--space-5); }
.prose .alignright { float: inline-end; max-width: 45%; margin-inline-start: var(--space-5); }
.prose::after { content: ''; display: table; clear: both; }
.prose mark { background: var(--selection); color: var(--ink); }
.prose .wp-block-columns { gap: var(--space-5); }
.prose .wp-block-gallery { gap: var(--space-3); }
.prose .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); clear: both; margin-block: var(--space-6); }
.prose .gallery-columns-1 { grid-template-columns: 1fr; }
.prose :is(.gallery-columns-3, .gallery-columns-5, .gallery-columns-6, .gallery-columns-7, .gallery-columns-8, .gallery-columns-9) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.prose .gallery-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.prose .gallery-item { min-width: 0; max-width: none; margin: 0; }
.prose .gallery-icon a { display: block; }
.prose .gallery-icon img { width: 100%; height: auto; }
.prose .gallery-caption { text-align: center; margin-block-start: var(--space-2); color: var(--muted); font-size: var(--text-caption); line-height: 1.6; }
.prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: var(--text-body); line-height: 1.6; }
.prose table th, .prose table td { padding: .875rem 1rem; border-bottom: 1px solid var(--line); text-align: start; vertical-align: top; }
.prose table th { background: var(--surface-subtle); font-weight: 600; }
.table-scroll { max-width: 100%; overflow-x: auto; margin-block: var(--space-6); border: 1px solid var(--line); border-radius: var(--radius-control); overscroll-behavior-inline: contain; }
.table-scroll:focus-visible, .prose pre:focus-visible { outline-offset: 2px; }
.table-scroll table { display: table; width: 100%; overflow: visible; margin: 0; background: var(--white); }
.table-scroll caption { padding: var(--space-4); background: var(--white); text-align: start; font-weight: 600; }
.table-scroll th, .table-scroll td { min-width: 130px; }
.table-scroll tr:last-child td { border-bottom: 0; }
.table-scroll tbody tr:nth-child(even) { background: var(--paper); }
.table-scroll[tabindex]::before { content: 'Таблицу можно прокрутить по горизонтали'; display: block; position: sticky; inset-inline-start: 0; max-width: 100%; padding: .625rem 1rem; border-bottom: 1px solid var(--line); background: var(--paper); color: var(--muted); font-size: var(--text-caption); line-height: 1.5; }
.table-scroll figure { margin: 0; }
.prose .wp-block-table { margin-block: var(--space-6); }
.prose .wp-block-table table { margin: 0; }
.article-tags { margin-block: var(--space-6); padding-block-start: var(--space-5); border-top: 1px solid var(--line); }
.article-tags h2 { font-size: var(--text-body); letter-spacing: 0; }
.article-tags ul { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.article-tags a { display: block; min-height: 40px; padding: .5rem .75rem; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--white); font-size: var(--text-caption); line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
.author-box { display: flex; align-items: start; gap: var(--space-5); margin-block: var(--space-6); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--white); }
.author-box > img { width: 112px; aspect-ratio: 16 / 9; height: auto; flex-shrink: 0; object-fit: cover; border-radius: var(--radius-control); }
.author-box > div { min-width: 0; }
.author-box h2 { margin-block-end: var(--space-2); color: var(--muted); font-size: var(--text-label); letter-spacing: 0; }
.author-box h3 { margin-block-end: var(--space-2); }
.author-box h3 a { text-decoration: none; }
.author-box p { margin-block-end: var(--space-2); color: var(--muted); font-size: var(--text-label); }
.author-box .button { margin-block-start: var(--space-3); font-size: var(--text-label); }
.post-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-block: var(--space-6); }
.post-navigation a { min-width: 0; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--white); text-decoration: none; }
.post-navigation span { display: block; margin-block-end: var(--space-2); color: var(--muted); font-size: var(--text-caption); }
.post-navigation strong { display: block; font-size: var(--text-label); font-weight: 500; line-height: 1.5; }
.article-parts { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block: var(--space-5); }
.article-parts > span, .article-parts a { min-width: 44px; min-height: 44px; padding: var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-control); text-align: center; }
.related-section { margin-block-start: var(--space-7); border-top: 1px solid var(--line); }

/* Комментарии и поля. */
.comments-section { margin-block: var(--space-7); }
.comments-section > h2 { font-size: var(--text-section); }
.comment-list { margin: 0; padding: 0; list-style: none; }
.comment-list .children { padding-inline-start: var(--space-5); list-style: none; }
.comment-body { margin-block-end: var(--space-4); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--white); }
.comment-author img { width: 40px; height: 40px; float: inline-start; margin-inline-end: var(--space-3); border-radius: 50%; }
.comment-metadata { color: var(--muted); font-size: var(--text-caption); }
.comment-content { clear: both; padding-block-start: var(--space-3); overflow-wrap: anywhere; }
.comment-content > :last-child { margin-block-end: 0; }
.reply a { display: inline-flex; min-height: 40px; align-items: center; color: var(--accent); font-size: var(--text-label); }
.comment-respond label { display: block; margin-block-end: var(--space-2); font-size: var(--text-label); font-weight: 500; }
.comment-respond input:not([type=checkbox], [type=submit]), .comment-respond textarea { width: 100%; min-height: 48px; padding: .75rem 1rem; border: 1px solid var(--control-border); border-radius: var(--radius-control); background: var(--white); color: var(--ink); font-size: var(--text-body); }
.comment-respond textarea { min-height: 160px; resize: vertical; }
.comment-form-cookies-consent { display: flex; align-items: start; gap: var(--space-3); }
.comment-form-cookies-consent label { font-weight: 400; }
.comment-form-cookies-consent input { width: 20px; height: 20px; flex-shrink: 0; margin-block-start: .25rem; accent-color: var(--accent); }
.comment-notes, .logged-in-as { color: var(--muted); font-size: var(--text-label); }
.form-submit { margin-block-start: var(--space-5); }
.comment-reply-title { font-size: 1.375rem; }
.comment-reply-title small { display: inline-block; margin-inline-start: var(--space-2); font-size: var(--text-caption); }

/* Информационные страницы, профили и пустые состояния. */
.page-content { max-width: var(--reading-width); padding-block-end: var(--space-8); }
.page:not(.home) #main > .container { max-width: var(--reading-width); }
.page-layout { display: block; }
.page-reading { min-width: 0; }
.contact-box { margin-block: var(--space-6) 0; padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--white); }
.contact-box h2 { font-size: 1.25rem; }
.privacy-actions { margin-block: var(--space-5); }
.profile-page { padding-block-end: var(--space-6); }
.profile-heading { display: flex; flex-direction: column; align-items: center; gap: var(--space-6); margin-block: var(--space-5) var(--space-8); }
.profile-copy { width: 100%; max-width: 760px; min-width: 0; text-align: center; }
.profile-heading h1 { margin-block-end: var(--space-3); }
.profile-role { margin-block-end: var(--space-2); font-size: var(--text-reading); font-weight: 600; }
.profile-specialization { max-width: 60ch; margin-inline: auto; margin-block-end: var(--space-4); color: var(--muted); font-size: var(--text-lead); line-height: 1.65; text-wrap: pretty; }
.profile-summary { max-width: 65ch; margin-inline: auto; margin-block-end: var(--space-5); color: var(--muted); text-wrap: pretty; }
.profile-heading .profile-articles-link { min-height: 44px; padding: .625rem 1rem; font-size: var(--text-label); }
.profile-photo { width: 100%; max-width: 960px; aspect-ratio: 16 / 9; overflow: hidden; background: var(--tint); border-radius: var(--radius-card); }
.profile-photo > img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.profile-body { display: grid; grid-template-columns: minmax(0, var(--reading-width)) minmax(220px, 1fr); align-items: start; min-width: 0; gap: var(--space-8); }
.profile-body > .prose { width: 100%; min-width: 0; }
.profile-body-single { display: block; max-width: var(--reading-width); margin-inline: auto; }
.profile-links { position: sticky; top: var(--space-6); min-width: 0; padding-block-start: var(--space-1); overflow-wrap: anywhere; }
.profile-links h2 { margin-block-end: var(--space-4); font-size: 1.25rem; }
.profile-social-links { display: flex; flex-direction: column; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.profile-social-link { display: flex; align-items: center; gap: var(--space-3); min-height: 48px; padding: .75rem 1rem; border: 1px solid var(--line); border-radius: var(--radius-control); font-size: var(--text-label); font-weight: 500; line-height: 1.5; text-decoration: none; }
.profile-social-link > span { flex: 1; min-width: 0; }
.profile-link-icon, .profile-link-arrow { flex-shrink: 0; }
.profile-link-arrow { color: var(--muted); }
.empty-state { margin-block: var(--space-5); padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--white); }
.empty-state h2 { font-size: 1.375rem; }
.empty-state > :last-child { margin-block-end: 0; }
.not-found { min-height: 45vh; padding-block: var(--space-7) var(--space-9); }
.not-found > p { max-width: 60ch; margin-block-end: var(--space-5); color: var(--muted); font-size: var(--text-lead); }

/* Подвал. */
.site-footer { background: var(--footer-bg); color: var(--footer-text); overflow-wrap: anywhere; }
.footer-top > * { min-width: 0; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; align-items: start; gap: var(--space-7); padding-block: var(--space-7); }
.footer-brand { font-size: 1.5rem; font-weight: 700; letter-spacing: -.04em; line-height: 1.3; text-decoration: none; }
.footer-top p { max-width: 32ch; margin-block: var(--space-3) 0; color: var(--footer-muted); font-size: var(--text-body); }
.footer-top h2 { margin-block: 0 var(--space-3); color: var(--white); font-size: var(--text-body); line-height: 1.6; letter-spacing: 0; }
.footer-top ul { margin: 0; padding: 0; list-style: none; }
.footer-top li a { display: inline-flex; align-items: center; min-height: 40px; padding-block: .375rem; color: var(--footer-text); font-size: var(--text-label); text-decoration: none; }
.footer-bottom { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-4) var(--space-6); padding-block: var(--space-5); border-top: 1px solid var(--footer-line); color: var(--footer-muted); font-size: var(--text-caption); }
.footer-utilities { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-3) var(--space-6); margin-inline-start: auto; text-align: end; }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.site-footer .cookie-preferences { display: inline-flex; align-items: center; justify-content: flex-end; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; text-align: end; box-shadow: none; }
.site-footer :focus-visible { outline-color: var(--white); }

@media (hover: hover) {
  .button:hover, .text-link:hover, .privacy-actions button:hover { border-color: var(--accent-hover); background: var(--accent-hover); color: var(--on-accent); }
  .button-secondary:hover, .privacy-actions .button-secondary:hover { border-color: var(--accent); background: var(--tint); color: var(--ink); }
  .nav-list a:hover { background: var(--tint); color: var(--accent); }
  .story-card:hover .card-title-link { color: var(--link-hover); }
  a:hover { color: var(--link-hover); }
  .card-category:hover, .card-author:hover, .byline:hover { color: var(--link-hover); }
  .topic-link:hover, .topic-filter a:not([aria-current]):hover, .post-navigation a:hover, .article-tags a:hover, .pagination a:hover { border-color: var(--accent); background: var(--tint); color: var(--ink); }
  .profile-social-link:hover { border-color: var(--accent); background: var(--tint); color: var(--accent); }
  .breadcrumbs a:hover { color: var(--link-hover); }
  .site-footer a:hover { color: var(--footer-hover); }
  .site-footer .cookie-preferences:hover { background: transparent; color: var(--footer-hover); box-shadow: none; }
}

/* Переходы сетки следуют ширине содержимого. */
@media (max-width: 64rem) {
  .hero-copy { gap: var(--space-5); }
  .story-grid, .people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-layout, .profile-body { gap: var(--space-6); grid-template-columns: minmax(0, 1fr) 220px; }
  .editorial-note { align-items: start; flex-direction: column; gap: var(--space-5); }
}
@media (max-width: 54rem) {
  .header-inner { flex-wrap: wrap; gap: var(--space-3) var(--space-4); min-height: 80px; }
  .menu-toggle:not([hidden]) { display: inline-flex; }
  .site-navigation { width: 100%; padding-block-start: var(--space-3); border-top: 1px solid var(--line); }
  .site-navigation.enhanced { display: none; }
  .menu-toggle[aria-expanded=true] + .site-navigation { display: flex; }
  .nav-list { width: 100%; flex-wrap: wrap; }
  .hero-copy { gap: var(--space-5); }
  .hero { padding-block: var(--space-8) var(--space-6); }
  .hero h1 { max-width: 23ch; }
  .hero-feature { max-width: 600px; width: 100%; }
  .hero-lead { max-width: 62ch; }
  .page-layout, .profile-body { display: flex; flex-direction: column; gap: var(--space-6); max-width: var(--reading-width); }
  .article-reading { order: 1; width: 100%; }
  .page-reading, .page-related, .profile-links { width: 100%; }
  .page-related, .profile-links { position: static; }
  .profile-heading { gap: var(--space-5); }
  .footer-top { gap: var(--space-5); }
}
@media (max-width: 38rem) {
  .header-inner { min-height: 76px; padding-block: var(--space-3); }
  .brand strong { font-size: 1.25rem; }
  .brand > span { font-size: var(--text-caption); }
  .nav-list { flex-direction: column; align-items: stretch; }
  .nav-list a { padding-inline: var(--space-3); }
  .hero { padding-block: var(--space-7) var(--space-6); }
  .hero h1 { max-width: none; line-height: 1.18; }
  .hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .hero-actions .button { width: 100%; }
  .section { padding-block: var(--space-7); }
  .section-actions { margin-block-start: var(--space-6); }
  .section-heading { gap: var(--space-3); }
  .section-heading .button { padding-inline: .75rem; }
  .topics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
  .topic-link { min-height: 60px; padding: .875rem; gap: var(--space-2); font-size: var(--text-label); }
  .topic-count { font-size: var(--text-caption); }
  .story-grid, .people-grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .editorial-note, .about-strip { align-items: stretch; flex-direction: column; padding: var(--space-5); gap: var(--space-5); }
  .editorial-note > .button, .about-strip > .button { flex-shrink: 1; }
  .about-strip { margin-block-end: 0; }
  .breadcrumbs { margin-block: var(--space-4) var(--space-1); font-size: var(--text-caption); }
  .page-heading { padding-block: 0 var(--space-5); }
  .topic-filter { gap: var(--space-2); }
  .topic-filter a { padding-inline: .75rem; }
  .pagination { margin-block-start: var(--space-6); }
  .pagination ul { gap: var(--space-1); }
  .pagination a, .pagination span { min-width: 40px; padding-inline: .625rem; }
  .article-heading { padding-block: 0 var(--space-5); }
  .article-heading h1 { line-height: 1.3; }
  .article-meta { align-items: center; flex-direction: column; }
  .article-meta, .article-meta > div { gap: var(--space-2) var(--space-4); }
  .article-meta > div { font-size: var(--text-caption); }
  .article-cover { margin-block-end: var(--space-5); }
  .article-cover figcaption { font-size: var(--text-caption); }
  .prose { line-height: 1.75; }
  .prose h2 { margin-block-start: var(--space-6); }
  .prose .alignleft, .prose .alignright { float: none; max-width: 100%; margin-inline: 0; }
  .prose blockquote { padding: var(--space-4); }
  .prose :is(.gallery-columns-3, .gallery-columns-4, .gallery-columns-5, .gallery-columns-6, .gallery-columns-7, .gallery-columns-8, .gallery-columns-9) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-scroll th, .table-scroll td { min-width: 120px; padding: var(--space-3); }
  .author-box { flex-wrap: wrap; gap: var(--space-4); }
  .post-navigation { grid-template-columns: 1fr; }
  .comment-list .children { padding-inline-start: var(--space-3); }
  .comment-body { padding: var(--space-4); }
  .profile-heading { margin-block: var(--space-5) var(--space-6); gap: var(--space-5); }
  .profile-heading h1 { line-height: 1.2; }
  .profile-links { padding-block-start: var(--space-4); }
  .page-content, .archive-page { padding-block-end: var(--space-7); }
  .footer-top { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: var(--space-6) var(--space-4); padding-block: var(--space-6); }
  .footer-top > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; align-items: start; gap: var(--space-3); }
  .footer-utilities { align-self: flex-end; width: 100%; margin-inline-start: 0; }
  .empty-state { padding: var(--space-5); }
}
@media (prefers-reduced-motion: no-preference) {
  .button, .topic-link, .topic-filter a, .story-card, .card-title-link, .nav-list a, .post-navigation a { transition: background-color .15s ease-out, border-color .15s ease-out, color .15s ease-out, box-shadow .15s ease-out; }
}
@media (forced-colors: active) {
  :focus-visible, .site-footer :focus-visible { outline-color: Highlight; }
  .button, .story-card, .topic-link { border: 1px solid ButtonText; }
  a[aria-current] { outline: 1px solid Highlight; }
}
@media print {
  .site-header, .site-footer, .related-section, .article-tags, .skip-link, .menu-toggle, .comments-section, .post-navigation, .page-related { display: none !important; }
  body { background: white; color: black; }
  .container { width: 100%; }
  .page-layout, .profile-body { display: block; }
  .prose { font-size: 12pt; }
  .article-heading h1 { font-size: 26pt; }
  .article-cover { max-width: 700px; }
  a { color: inherit; }
}
