/* Стили раздела статей; общая система остаётся в styles.css. */
.articles-page .article-container { width:min(1280px,calc(100% - 112px)); margin-inline:auto; }
.articles-page .article-header { position:absolute; z-index:2; inset:0 0 auto; color:#fff; }
.articles-page .article-header-inner { min-height:98px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid rgba(255,255,255,.35); }
.articles-page .article-header a { text-decoration:none; }
.articles-page .article-nav { display:flex; flex-wrap:wrap; gap:28px; }
.articles-page .article-nav a { font:400 13px/1.5 var(--font-mono); letter-spacing:.04em; text-transform:uppercase; }
.articles-page .article-nav a:hover,.articles-page .article-nav a[aria-current] { text-decoration:underline; text-underline-offset:6px; }
.articles-page .article-header :focus-visible,.articles-page .article-hero :focus-visible { outline:2px solid #18191e; outline-offset:3px; box-shadow:0 0 0 2px #fff; }
.articles-page .article-hero { padding:175px 0 86px; color:#fff; background:var(--gradient); }
.articles-page .article-hero h1 { max-width:1000px; font-size:clamp(38px,5.4vw,76px); overflow-wrap:anywhere; }
.articles-page .article-hero p { color:#fff; }
.articles-page .article-hero > .article-container > p:last-child:not(.article-kicker) { max-width:55ch; margin:28px 0 0; font-size:19px; }
.articles-page .article-kicker { margin:0 0 28px; font:400 12px/1.6 var(--font-mono); letter-spacing:.04em; text-transform:uppercase; }
.articles-page .article-layout { display:grid; grid-template-columns:minmax(190px,260px) minmax(0,760px); gap:clamp(45px,8vw,120px); align-items:start; padding-block:76px 110px; }
.articles-page .article-toc { position:sticky; top:28px; padding-top:6px; }
.articles-page .article-toc-mobile { display:none; }
.articles-page .article-toc p { color:var(--ink); font:500 12px/1.5 var(--font-mono); text-transform:uppercase; }
.articles-page .article-toc ol { margin:0; padding-left:22px; color:var(--text-2); font-size:14px; }
.articles-page .article-toc li { padding-left:4px; margin-bottom:12px; }
.articles-page .article-toc a { text-decoration:none; }
.articles-page .article-toc a:hover { color:var(--brand); text-decoration:underline; }
.articles-page .article-prose { min-width:0; font-size:18px; line-height:1.75; }
.articles-page .article-prose p,.articles-page .article-prose li { color:#303440; }
.articles-page .article-prose p { margin:0 0 24px; }
.articles-page .article-prose h2 { margin:58px 0 24px; font-size:clamp(27px,3vw,38px); line-height:1.16; scroll-margin-top:24px; overflow-wrap:anywhere; }
.articles-page .article-prose ul { margin:0 0 26px; padding-left:26px; }
.articles-page .article-prose li { margin-bottom:14px; padding-left:4px; }
.articles-page .article-prose a { color:#005b94; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.articles-page .article-prose a:hover { color:#5234c2; }
.articles-page .article-index { padding-block:90px 110px; }
.articles-page .article-index-heading { margin-bottom:40px; }
.articles-page .article-index-heading .article-kicker { color:var(--text-2); margin-bottom:16px; }
.articles-page .article-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.articles-page .article-card { display:flex; flex-direction:column; align-items:flex-start; min-height:350px; padding:32px; border:1px solid var(--line); background:#f8f8fa; }
.articles-page .article-card-top { display:flex; justify-content:space-between; align-items:start; width:100%; gap:16px; margin-bottom:38px; color:var(--text-2); font:400 12px/1.5 var(--font-mono); text-transform:uppercase; }
.articles-page .article-card-top svg { width:32px; flex:none; color:var(--brand); }
.articles-page .article-card h2 { font-size:clamp(25px,2.5vw,34px); line-height:1.12; margin-bottom:18px; }
.articles-page .article-card h2 a { text-decoration:none; }
.articles-page .article-card h2 a:hover { text-decoration:underline; text-underline-offset:4px; }
.articles-page .article-card p { max-width:58ch; }
.articles-page .article-card-link { margin-top:auto; color:#005b94; font:500 12px/1.5 var(--font-mono); text-transform:uppercase; text-underline-offset:4px; }
.articles-page .article-footer { background:#18191e; color:#fff; padding:50px 0; }
.articles-page .article-footer-inner { display:flex; justify-content:space-between; align-items:start; gap:36px; }
.articles-page .article-footer .logo { text-decoration:none; }
.articles-page .article-footer p { color:#d1d3da; font-size:14px; margin-bottom:10px; }
.articles-page .article-footer a { text-underline-offset:4px; }
@media (max-width:800px) {
  .articles-page .article-container { width:calc(100% - 40px); }
  .articles-page .article-header-inner { min-height:120px; align-content:center; flex-wrap:wrap; gap:12px; padding-block:16px; }
  .articles-page .article-nav { width:100%; gap:20px; }
  .articles-page .article-hero { padding:165px 0 42px; }
  .articles-page .article-layout { grid-template-columns:minmax(0,1fr); gap:28px; padding-block:32px 70px; }
  .articles-page .article-toc { display:none; }
  .articles-page .article-toc-mobile { display:block; padding:16px 20px; background:#f6f6f8; }
  .articles-page .article-toc-mobile summary { cursor:pointer; font:500 12px/1.5 var(--font-mono); text-transform:uppercase; }
  .articles-page .article-toc-mobile ol { margin:18px 0 0; padding-left:22px; color:var(--text-2); font-size:14px; }
  .articles-page .article-toc-mobile li { padding-left:4px; margin-bottom:12px; }
  .articles-page .article-toc-mobile a { text-decoration:none; }
  .articles-page .article-toc-mobile a:hover { color:var(--brand); text-decoration:underline; }
  .articles-page .article-cards { grid-template-columns:1fr; }
  .articles-page .article-index { padding-block:60px 70px; }
  .articles-page .article-footer-inner { flex-direction:column; }
}
@media (max-width:375px) {
  .articles-page .article-container { width:calc(100% - 32px); }
  .articles-page .article-nav { gap:14px; }
  .articles-page .article-nav a { font-size:11px; }
  .articles-page .article-hero h1 { font-size:32px; }
  .articles-page .article-card { padding:24px; }
}
@media (prefers-reduced-motion:reduce) { .articles-page { scroll-behavior:auto; } .articles-page * { animation:none !important; transition:none !important; } }

/* Компактные ссылки на статьи для главной страницы. */
.article-teasers #reading-title { margin-bottom:32px; }
.article-teasers__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.article-teasers__card { display:flex; flex-direction:column; align-items:flex-start; padding:32px; border:1px solid var(--line); background:#f8f8fa; }
.article-teasers__title { margin:0 0 18px; font-size:clamp(24px,2.5vw,34px); line-height:1.12; }
.article-teasers__title a { text-decoration:none; }
.article-teasers__title a:hover { text-decoration:underline; text-underline-offset:4px; }
.article-teasers__card p { max-width:58ch; }
.article-teasers__card > a { margin-top:auto; color:#005b94; text-underline-offset:4px; }
@media (max-width:800px) { .article-teasers__grid { grid-template-columns:1fr; } }
@media (max-width:375px) { .article-teasers__card { padding:24px; } }

/* Последний материал в нечётном списке занимает всю строку. */
.articles-page .article-card:last-child:nth-child(odd),
.article-teasers__card:last-child:nth-child(odd) { grid-column:1 / -1; }
.articles-page .article-card:last-child:nth-child(odd) h2,
.article-teasers__card:last-child:nth-child(odd) .article-teasers__title { max-width:36ch; }
