/*
Theme Name: The Vocation Review
Theme URI: https://vocationreview.com
Description: Child theme of GeneratePress for The Vocation Review — humanist broadsheet. Tokens: team-11 (Kimi branch A).
Author: Elanvale Ltd
Template: generatepress
Version: 1.0.1
*/

:root{
  --paper:#FAF7F1; --surface:#FFFFFF; --surface-2:#F3EDE3;
  --ink:#1B1713; --ink-2:#3A342D; --mute:#6F675C;
  --line:#E3DCCD; --line-strong:#C9BFA9;
  --accent:#7A1E2B; --accent-deep:#571520;
  --sponsored:#F1EAD9;
  --measure:38rem; --grid-max:75rem;
}

/* ---------- base ---------- */
html{font-size:100%}
body{
  background:var(--paper); color:var(--ink);
  font-family:'Source Serif 4',Georgia,serif; font-size:1.125rem; line-height:1.62;
  font-feature-settings:"onum" 1,"kern" 1;
  -webkit-font-smoothing:antialiased;
}
.grid-container{max-width:var(--grid-max)}
a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--accent-deep)}
img{max-width:100%;height:auto}

h1,h2,h3,h4,h5,h6{
  font-family:'Newsreader',Georgia,serif; color:var(--ink);
  font-weight:600; letter-spacing:-.01em; margin:0 0 .5em;
}
h1{font-size:2.625rem;line-height:1.08}
h2{font-size:2rem;line-height:1.15}
h3{font-size:1.5rem}
h4{font-size:1.25rem}
@media(max-width:768px){h1{font-size:1.85rem}h2{font-size:1.5rem}}

/* ---------- masthead ---------- */
.site-header{
  background:var(--paper);
  border-top:1px solid var(--line-strong);
  border-bottom:3px solid var(--ink); position:relative; padding:1.25rem 0 .75rem;
}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--ink)}
.site-branding,.site-logo{text-align:center;width:100%}
.main-title{
  font-family:'Newsreader',Georgia,serif !important;
  font-weight:600 !important; text-transform:uppercase;
  letter-spacing:.06em; font-size:2.25rem !important; line-height:1.1; margin:0;
}
.main-title a{color:var(--ink) !important;text-decoration:none}
.site-description{
  font-family:'Source Serif 4',serif; font-style:italic; color:var(--mute);
  font-size:.9375rem; margin-top:.35rem; letter-spacing:.02em;
}
.main-navigation{background:transparent;border-bottom:1px solid var(--line)}
.main-navigation .inside-navigation{position:relative; padding-right:9.5rem}
.main-navigation .main-nav ul li a{
  font-family:'Source Serif 4',serif; font-size:.8125rem; text-transform:uppercase;
  letter-spacing:.14em; color:var(--ink-2); font-weight:600;
}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.current-menu-item>a{
  color:var(--accent); background:transparent;
}

/* language switcher — текстовый, без флагов; правый край навигационной палубы.
   inside-navigation получает padding-right (см. выше) — резервирует полосу под переключатель,
   чтобы плавающие пункты меню переносились ДО того, как упрутся в него на средних ширинах.
   top:0 + фиксированная высота 60px (= line-height пункта меню в ядре GeneratePress) держат
   переключатель на уровне ПЕРВОЙ строки меню, даже если пункты переносятся на вторую. */
.forge-langs{
  position:absolute; top:0; right:.625rem; height:60px;
  display:flex; align-items:center; gap:.3rem;
  font-size:.75rem; letter-spacing:.08em; text-transform:uppercase;
}
.forge-langs a{color:var(--mute);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}
.forge-langs a.is-active{color:var(--ink);border-bottom-color:var(--accent)}
.forge-langs span{color:var(--line-strong)}
@media (max-width:768px){
  .main-navigation .inside-navigation{padding-right:0}
  .forge-langs{
    position:static; height:auto; justify-content:center;
    width:100%; padding:.5rem 0; margin:0;
  }
}

/* ---------- kicker / standfirst / meta ---------- */
.forge-kicker{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--accent);font-weight:600;margin-bottom:.75rem;display:block;
}
.forge-standfirst{
  font-size:1.375rem;line-height:1.42;font-style:italic;color:var(--ink-2);
  margin:0 0 1.75rem;max-width:min(var(--measure),100%);
}
.entry-meta,.forge-byline{
  font-size:.8125rem;color:var(--mute);letter-spacing:.01em;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:.6rem 0;margin:0 0 2rem;
}
.forge-byline a{color:var(--ink-2)}

/* ---------- article body ---------- */
.entry-content{max-width:min(var(--measure),100%)}
.entry-content p{margin:0 0 1.35rem}
.entry-content>p:first-of-type::first-letter{
  float:left;font-family:'Newsreader',Georgia,serif;font-weight:600;
  font-size:6.3rem;line-height:.82;padding:.32rem .7rem 0 0;color:var(--ink);
}
.entry-content h2{margin:2.5rem 0 .75rem}
.entry-content h3{margin:2rem 0 .6rem}
/* пул-квота по-журнальному (панч-лист G): без левой полосы, по центру меры,
   hairline сверху/снизу, атрибуция капителью */
blockquote,.forge-pullquote{
  border:0;margin:2.25rem 0;padding:1.75rem 0;text-align:center;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:500;
  font-size:1.625rem;line-height:1.35;color:var(--ink);
}
.forge-pullquote cite{
  display:block;font-family:'Source Serif 4',serif;font-style:normal;font-size:.75rem;
  text-transform:uppercase;letter-spacing:.12em;color:var(--mute);margin-top:.9rem;
}
.entry-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.9375rem}
.entry-content th{
  text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;
  color:var(--mute);font-weight:600;border-bottom:1px solid var(--line-strong);padding:.6rem .75rem .6rem 0;
}
.entry-content td{border-bottom:1px solid var(--line);padding:.7rem .75rem .7rem 0;vertical-align:top}
/* язык FT: только горизонтали — жирная верхняя у шапки, hairline между рядами, никаких вертикалей */
.entry-content table,.entry-content table td,.entry-content table th{border-left:0;border-right:0}
.entry-content table{border-top:2px solid var(--ink)}
/* первая колонка (PERIOD/даты вида «2023–present») не переносится на две строки */
.entry-content table td:first-child,.entry-content table th:first-child{white-space:nowrap}

/* ---------- profile header ---------- */
.forge-profile-head{display:grid;grid-template-columns:minmax(0,1fr) 2fr;gap:2.5rem;margin:0 0 2.5rem;align-items:start}
.forge-profile-head img{filter:grayscale(1) contrast(1.05);width:100%;aspect-ratio:4/5;object-fit:cover}
.forge-factrail{border-top:1px solid var(--line-strong);margin-top:1.25rem;font-size:.8125rem}
.forge-factrail dt{text-transform:uppercase;letter-spacing:.1em;font-size:.6875rem;color:var(--mute);margin-top:.75rem}
.forge-factrail dd{margin:.15rem 0 0;color:var(--ink-2)}
@media(max-width:768px){.forge-profile-head{grid-template-columns:1fr;gap:1.25rem}}

/* ---------- cards / issue grid ---------- */
.forge-lead{border-bottom:1px solid var(--line-strong);padding-bottom:2rem;margin-bottom:2rem}
.forge-lead h2{font-size:2.5rem;line-height:1.06}
.forge-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-bottom:1px solid var(--line);padding-bottom:2rem;margin-bottom:2rem}
.forge-row article h3{font-size:1.25rem;line-height:1.22}
.forge-compact{border-bottom:1px solid var(--line);padding:.9rem 0}
.forge-compact h4{font-size:1.0625rem;margin:.2rem 0 0}
@media(max-width:768px){.forge-row{grid-template-columns:1fr;gap:1.5rem}}

/* ---------- sponsored (узнаётся за 2 секунды) ---------- */
.forge-sponsored{background:var(--sponsored);padding:1.25rem 1.5rem;margin:0 0 2rem;border-left:3px solid var(--ink)}
.forge-chip{
  display:inline-block;background:var(--ink);color:var(--paper);
  font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600;
  padding:.25rem .6rem;margin-bottom:.5rem;
}
.forge-sponsored p{font-size:.875rem;color:var(--ink-2);margin:0}

/* ---------- footer / imprint: broadsheet claro (панч-лист F) — фон на полтона
   глубже крема, текст ink, двойная линейка сверху, паддинги сжаты ~40px ---------- */
.site-footer,.site-info{background:#F2EDE3;color:var(--ink)}
.forge-footer-rule-1{display:block;height:2px;background:var(--ink)}
.forge-footer-rule-2{display:block;height:1px;background:var(--line);margin-top:3px}
.site-info{font-size:.8125rem;padding:1rem 0 1.5rem}
.forge-imprint{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:var(--grid-max);margin:0 auto}
.forge-imprint .forge-footer-head{color:var(--mute);font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 .75rem;font-weight:600}
.forge-imprint ul{list-style:none;margin:0;padding:0}
.forge-imprint li{margin-bottom:.35rem}
@media(max-width:768px){.forge-imprint{grid-template-columns:1fr 1fr;gap:1.5rem}}

/* без теней, без скруглений — газетная дисциплина */
*{box-shadow:none !important}
.wp-block-button__link,button,input[type=submit]{border-radius:0;background:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:.8125rem}

/* ---------- хаб человека (GP Elements не дают ни сетки 1fr/320px, ни дуотона) ---------- */
.forge-hub{max-width:48rem;margin:0 auto;padding:2.5rem 0 4rem}
.forge-hub-top{margin:0 0 2rem}
/* панч-лист D: фото рядом с первыми абзацами био, а не над дырой — 2-кол. грид,
   фото фиксировано 320px, правый край = правый край меры текста */
.forge-hub-top.has-portrait{display:grid;grid-template-columns:1fr 320px;column-gap:40px;align-items:start}
.forge-hub-maincol{min-width:0}
.forge-hub-name{font-size:2.625rem;line-height:1.1;margin:0 0 .5rem}
.forge-hub-beat{font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:1.1875rem;line-height:1.42;color:var(--ink-2);margin:0 0 .35rem}
.forge-hub-role{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);margin:0}
.forge-hub-portrait{margin:0}
.forge-hub-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) sepia(.06) contrast(1.04);border:1px solid var(--line-strong)}
.forge-hub-bio{max-width:none;margin-top:1.25rem}
.forge-credentials{border-top:1px solid var(--line);margin:1.75rem 0 0;padding-top:1rem;max-width:38rem}
.forge-credentials dt{font-size:.6875rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);margin-top:.75rem}
.forge-credentials dd{margin:.15rem 0 0;color:var(--ink-2)}
.forge-hub-links{margin:1.5rem 0 0;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.forge-hub-links a{margin-right:1rem;white-space:nowrap}
.forge-hub-rule{border:0;border-top:1px solid var(--ink);margin:2.5rem 0 1.5rem}
.forge-hub-section{font-size:1.25rem;margin:0 0 1.25rem}
.forge-hub-corpus{list-style:none;margin:0;padding:0}
.forge-hub-item{border-bottom:1px solid var(--line);padding:1.1rem 0}
.forge-hub-item h3{font-size:1.375rem;line-height:1.25;margin:0 0 .3rem}
.forge-hub-dek{color:var(--ink-2);margin:0 0 .35rem}
.forge-hub-meta{font-size:.8125rem;color:var(--mute);margin:0}
.forge-hub-editorial{margin-top:2.5rem;border-top:1px solid var(--line-strong);padding-top:1.25rem}
.forge-hub-editorial p{margin:.35rem 0 0;font-size:1.0625rem}
@media(max-width:768px){.forge-hub-top.has-portrait{grid-template-columns:1fr;gap:1.25rem}.forge-hub-name{font-size:1.85rem}}

/* раскрытие процесса под материалом */
.forge-process-note{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1rem}
.forge-process-note p{font-size:.8125rem;color:var(--mute);margin:0 0 .35rem;font-style:italic}

/* ---------- индекс людей: карточка с портретом ---------- */
.forge-people-index{list-style:none;margin:2rem 0 0;padding:0}
.forge-people-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1.5rem;align-items:start;
  border-bottom:1px solid var(--line);padding:1.5rem 0}
.forge-people-photo img{width:120px;height:120px;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.04);border:1px solid var(--line-strong)}
.forge-people-photo.is-empty{display:block;width:120px;height:120px;background:var(--surface-2);border:1px solid var(--line)}
.forge-people-item h3{margin:0 0 .35rem;font-size:1.5rem;line-height:1.2}
.forge-people-beat{margin:0 0 .35rem;color:var(--ink-2)}
.forge-people-role{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mute)}
@media(max-width:600px){.forge-people-item{grid-template-columns:84px minmax(0,1fr);gap:1rem}
  .forge-people-photo img,.forge-people-photo.is-empty{width:84px;height:84px}
  .forge-people-item h3{font-size:1.25rem}}


/* ---------- колонка чтения по центру: текст прижимался к левому краю ---------- */
.entry-header,.entry-content,.forge-byline,.forge-standfirst,.forge-kicker,.forge-process-note{
  margin-left:auto;margin-right:auto;
}
.entry-content>*{max-width:none}
.inside-article,.no-sidebar .inside-article{padding-left:0;padding-right:0}
@media(max-width:768px){.grid-container{padding-left:20px;padding-right:20px}}

/* ссылки в подвале: ink + hairline-подчёрк (панч-лист F), ховер — акцент */
.site-footer a,.forge-imprint a,.site-info a{
  color:var(--ink) !important;text-decoration:underline;
  text-decoration-color:var(--line-strong);text-underline-offset:3px;text-decoration-thickness:1px;
}
.site-footer a:hover,.forge-imprint a:hover,.site-info a:hover{
  color:var(--accent) !important;text-decoration-color:var(--accent);
}

.entry-header,.forge-byline,.forge-standfirst,.forge-kicker,.forge-process-note{max-width:min(38rem,100%)}


/* ---------- страховка от горизонтального выезда ---------- */
html,body{max-width:100%}
.entry-content img,.entry-content iframe,.entry-content pre,.entry-content table{max-width:100%}
.forge-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:768px){
  .forge-hub,.forge-people-index{max-width:100%}
  .forge-kicker{letter-spacing:.08em}
  .forge-stat .label{letter-spacing:.06em}
}
/* кнопка меню на мобильном была тёмной на тёмном */
.menu-toggle,.mobile-menu-control-wrapper .menu-toggle{color:var(--ink) !important;background:transparent !important}
.menu-toggle .gp-icon,.menu-toggle span{color:var(--ink) !important}

/* ================= правки по визуальному разбору команды ================= */

/* бумага издания монолитна: белый бокс был GP-настройками content_background_color/
   header_background_color=#ffffff (+ протухший generate_dynamic_css кэш) — почищено
   на уровне Customizer-настроек (владелец цвета), костыль CSS больше не нужен */
html,body{background:#FAF7F1}

/* футер прижат к низу: реальный DOM — оба .site-footer СОСЕДИ #page под body,
   а не его потомки, поэтому 100vh на #page футер никогда не доставал. Флекс на body. */
body{display:flex;flex-direction:column;min-height:100vh}
/* width:100% обязателен: у #page.grid-container стоит margin-left/right:auto, а авто-margin
   по поперечной оси во флексе ОТМЕНЯЕТ stretch — колонка ужималась до max-content и уезжала
   в центр (архивы рубрик визуально «съезжали вправо» именно из-за этого). */
#page{flex:1 0 auto;width:100%}
.site-footer,.site-info{flex-shrink:0;width:100%}

/* буквица — привилегия первого абзаца СТАТЬИ, на служебных страницах рвала слова */
.page .entry-content>p:first-of-type::first-letter,
.archive .entry-content>p:first-of-type::first-letter,
.author .entry-content>p:first-of-type::first-letter{
  float:none;font-size:inherit;line-height:inherit;padding:0;font-weight:inherit;
}

/* кикер сидит на заголовке, а не висит с отступом (margin-left:0 раньше отрывал
   его от auto-центрирования колонки — кикер уплывал в левое поле) */
.forge-kicker{margin-bottom:.5rem}

/* активный пункт меню: GP красит фон инлайн-CSS по [class*="current-menu-"] —
   прошлый фикс ловил только current-menu-item/current_page_item, здесь реально
   current-post-ancestor/current-menu-parent/current-post-parent на статьях-категориях */
.main-navigation .main-nav ul li[class*="current-menu-"]>a,
.main-navigation .main-nav ul li[class*="current-post-"]>a,
.main-navigation .main-nav ul li.current_page_item>a{
  background:transparent !important;color:#7A1E2B !important;
  box-shadow:inset 0 -2px 0 #7A1E2B;
}

/* две линейки с ролями вместо трёх случайных */
.rule-hairline,hr.wp-block-separator{border:0;border-top:1px solid #E3DCCD;margin:2rem 0}
.rule-heavy{border:0;border-top:2px solid #1B1713;margin:2.5rem 0}

/* выходные данные в копирайте */
.forge-imprint-line{display:block;margin-top:.35rem;color:#9A948A;font-size:.75rem}

/* блок внешних профилей вместо ряда голых доменов */
.forge-elsewhere{margin:1.5rem 0 0}
.forge-elsewhere-label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.12em;color:#8A8378;margin-bottom:.35rem}
.forge-hub-links{margin:0;font-size:.9375rem;text-transform:none;letter-spacing:0}
.forge-hub-links a{margin-right:0;white-space:nowrap}
.forge-sep{color:#B9B2A5}

/* логотип на узком экране обрезался по правому краю */
.main-title{font-size:clamp(1.35rem,6.4vw,2.25rem) !important}
@media(max-width:600px){
  .main-title{letter-spacing:.03em !important}
  .forge-hub-portrait img{max-height:62vw;object-fit:cover;object-position:top center}
}

/* flex-потомки по умолчанию не сжимаются ниже min-content — из-за этого таблица
   распирала всю страницу и текст обрезался на мобильном. Разрешаем сжатие. */
.site,#page{min-width:0}
.site>*,#page>*,.site-content,.content-area,.inside-article,.entry-content{min-width:0}
.entry-content>*{min-width:0;max-width:100%}

/* ================= панч-лист волна 1 (2026-07-19) ================= */

/* заголовки-ссылки — цветом чернил, без подчёрка «голого линка»; акцент остаётся кикерам/линейкам/цифрам */
.wp-block-post-title a,.forge-people-item h3 a,.forge-hub-item h3 a{color:var(--ink);text-decoration:none}
.wp-block-post-title a:hover,.forge-people-item h3 a:hover,.forge-hub-item h3 a:hover{color:var(--accent)}

/* инлайн-ссылки в теле статьи — приглушённые (hairline-подчёрк), не заливка акцентом */
.entry-content a{
  color:var(--ink);text-decoration:underline;text-decoration-color:rgba(122,30,43,.4);
  text-underline-offset:3px;text-decoration-thickness:1px;
}
.entry-content a:hover{color:var(--accent);text-decoration-color:var(--accent)}

/* ================= панч-лист волна 2 (2026-07-19) ================= */

/* B. заголовки-ссылки (h1..h4, Query Loop/related) — выше специфичность .entry-content a,
   иначе инлайн-подчёрк «протекает» на лид-заголовок главной. Ink, без подчёрка; ховер — акцент. */
.entry-content h1 a,.entry-content h2 a,.entry-content h3 a,.entry-content h4 a,
h1 a,h2 a,h3 a,h4 a{
  color:var(--ink);text-decoration:none;
}
.entry-content h1 a:hover,.entry-content h2 a:hover,.entry-content h3 a:hover,.entry-content h4 a:hover,
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover{
  color:var(--accent);text-decoration:none;
}

/* ---------- C. главная = афиша выпуска ---------- */
/* .entry-content на главной несёт полную ширину полосы, не узкую меру статьи */
body.home .entry-content{max-width:var(--grid-max)}

.forge-issue-lead{
  display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:48px;
  align-items:start;padding-bottom:2rem;
}
.forge-issue-title{
  font-family:'Newsreader',Georgia,serif;font-weight:400;letter-spacing:-.01em;
  font-size:2.75rem;line-height:1.08;margin:0 0 1rem;color:var(--ink);
}
.forge-issue-title a{color:var(--ink);text-decoration:none}
.forge-issue-title a:hover{color:var(--accent)}
.forge-issue-standfirst{
  font-family:'Source Serif 4',serif;font-size:1.1875rem;line-height:1.5;
  color:var(--ink-2);margin:0 0 1rem;max-width:34rem;
}
/* Дата лида идёт сразу под станд-ферстом, текстовая колонка прижата к ВЕРХУ (2026-07-19).
   Раньше здесь стояли margin-top:auto + hairline, чтобы дата села вровень с низом 4:5-портрета;
   на живой странице это давало не «выравнивание», а дыру ~250px между деком и датой. Портрет
   выше текста — и пусть: низы колонок не обязаны совпадать, а провал в лиде читается как баг.
   Hairline убран вместе с прижимом — он размечал низ колонки, которого больше нет.
   Селекторы усилены родителем: у `.entry-content p` (0,1,1) специфичность выше голого класса;
   у кикера во флекс-колонке `margin:auto` из правила колонки чтения центрировал бы его. */
.forge-issue-lead-text{display:flex;flex-direction:column;min-width:0}
.forge-issue-lead .forge-kicker{margin-left:0;margin-right:0;max-width:none}
.forge-issue-lead-text .forge-issue-date{
  font-size:.8125rem;color:var(--mute);margin:.25rem 0 0;max-width:34rem;
}
.forge-issue-portrait{margin:0}
.forge-issue-portrait img{
  width:100%;aspect-ratio:4/5;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.04);border:1px solid var(--line);
}
@media(max-width:768px){
  .forge-issue-lead{grid-template-columns:1fr;gap:1.5rem}
  .forge-issue-title{font-size:2rem}
}

/* секции выпуска: рубрика-капитель + сетка карточек.
   Заголовок рубрики — единственное место акцента в секции (карточки идут чернилами). */
/* все селекторы секции идут от родителя: у `.entry-content h2/h3/p` (0,1,1) специфичность
   выше голого класса и она перебивает отступы карточек */
.forge-section{margin:0}
.forge-section .forge-section-head{
  font-family:'Source Serif 4',serif;font-size:.75rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;margin:0 0 1.5rem;
}
.forge-section-head a{color:var(--accent);text-decoration:none}
.forge-section-head a:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:4px}

.forge-cards{display:grid;gap:40px}
.forge-cards.is-3up{grid-template-columns:repeat(3,minmax(0,1fr))}
.forge-cards.is-4up{grid-template-columns:repeat(4,minmax(0,1fr))}
.forge-cards .forge-card{min-width:0}
.forge-cards .forge-card-title{
  font-family:'Newsreader',Georgia,serif;font-weight:400;letter-spacing:-.005em;
  font-size:1.3125rem;line-height:1.22;margin:0 0 .5rem;
}
.forge-cards .forge-card-title a{color:var(--ink);text-decoration:none}
.forge-cards .forge-card-title a:hover{color:var(--accent)}
/* Дек карточки печатается целиком: -webkit-line-clamp убран (2026-07-19).
   Клэмп рисовал «…» посреди фразы — панч-лист #24 запрещает авто-обрезку многоточием.
   Вместо обрезки текст самих карточек сокращён до первого предложения дека (тот же
   приём, что у Datum в forge_index_dek), поэтому ограничивать высоту больше нечем. */
.forge-cards .forge-card-dek{
  font-family:'Source Serif 4',serif;font-size:.9375rem;line-height:1.48;
  color:var(--ink-2);margin:0 0 .6rem;
}
.forge-cards .forge-card-date{font-size:.8125rem;color:var(--mute);margin:0}
@media(max-width:1024px){
  .forge-cards.is-4up{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .forge-cards.is-3up{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
}
@media(max-width:600px){
  .forge-cards.is-3up,.forge-cards.is-4up{grid-template-columns:1fr;gap:1.75rem}
}

.forge-masthead-note{max-width:var(--measure)}

/* ---------- архив рубрики = полоса выпуска ---------- */
/* колонка чтения (38rem + margin:auto) правомерна только на одиночном материале.
   На архиве она центрировала .entry-header внутри полосы 1180px, а дек оставался
   во всю ширину слева — заголовки «уезжали вправо» от собственных деков. */
:is(.archive,.blog) .entry-header,:is(.archive,.blog) .entry-summary,:is(.archive,.blog) .entry-content,
:is(.archive,.blog) .forge-archive-date{max-width:none;margin-left:0;margin-right:0}
:is(.archive,.blog) .page-header{
  border-bottom:2px solid var(--ink);margin:0 0 1rem;padding:0 0 .85rem;
  max-width:48rem;margin-left:0;margin-right:auto;
}
:is(.archive,.blog) .page-title{font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:2.25rem;line-height:1.1;margin:0}
:is(.archive,.blog) .site-main>article{
  border-bottom:1px solid var(--line);
  max-width:48rem;margin-left:0;margin-right:auto;
}
:is(.archive,.blog) .site-main>article:last-of-type{border-bottom:0}
:is(.archive,.blog) .inside-article{padding:1.6rem 0;max-width:none;margin-left:0;margin-right:0}
:is(.archive,.blog) .entry-title{
  font-family:'Newsreader',Georgia,serif;font-weight:400;letter-spacing:-.005em;
  font-size:1.75rem;line-height:1.2;margin:0 0 .45rem;
}
:is(.archive,.blog) .entry-title a{color:var(--ink);text-decoration:none}
:is(.archive,.blog) .entry-title a:hover{color:var(--accent)}
:is(.archive,.blog) .entry-summary p{
  font-family:'Source Serif 4',serif;font-size:1.0625rem;line-height:1.5;
  color:var(--ink-2);margin:0;
}
.forge-archive-date{font-size:.8125rem;color:var(--mute);margin:.55rem 0 0}

/* D. хаб — сетка/грид уже объявлены выше вместе с базовым .forge-hub-top (один владелец) */

/* ---------- E. хвост статьи: «From the editors» + «All people» ---------- */
.forge-editorial-tail{max-width:min(38rem,100%);margin-left:auto;margin-right:auto}
.forge-editorial-card{display:flex;align-items:center;gap:1.25rem;margin:0 0 .9rem}
.forge-editorial-card img{
  width:72px;height:72px;object-fit:cover;flex-shrink:0;
  filter:grayscale(1) contrast(1.04);border:1px solid var(--line);
}
.forge-editorial-card a{
  font-family:'Newsreader',Georgia,serif;font-size:1.1875rem;line-height:1.35;
  color:var(--ink);text-decoration:none;
}
.forge-editorial-card a:hover{color:var(--accent)}
.forge-editorial-allpeople{font-size:.8125rem;margin:0}
.forge-editorial-allpeople a{color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line-strong)}
.forge-editorial-allpeople a:hover{color:var(--accent);text-decoration-color:var(--accent)}

/* ---------- I. фигура-портрет в теле статьи ---------- */
.forge-article-figure{margin:2.25rem 0}
.forge-article-figure img{width:100%;height:auto;display:block}
.forge-article-figure .wp-element-caption{
  font-size:.8125rem;line-height:1.5;color:var(--mute);margin-top:.6rem;
}
.forge-article-figure .wp-element-caption cite{
  display:block;font-style:normal;text-transform:uppercase;
  letter-spacing:.08em;font-size:.6875rem;color:var(--mute);margin-top:.25rem;
}

/* хлебные крошки архива рубрики (аудит 2026-07-20) */
.forge-crumbs{font-size:.75rem;color:#6F675C;margin:0 0 1.25rem;letter-spacing:.01em}
.forge-crumbs a{color:#6F675C;text-decoration:none}
.forge-crumbs a:hover{color:#7A1E2B}
.forge-crumbs .forge-crumb-sep{color:#E3DCCD;margin:0 .1em}
.forge-crumbs [aria-current="page"]{color:inherit}
