/* Structured CMS articles/catalog only; existing article typography stays canonical. */
.cms-article-meta { color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.blog-hero--article h1 { overflow-wrap: anywhere; }
.blog-hero--article .blog-hero__image { align-self: center; min-height: 0; aspect-ratio: 3 / 2; }
.blog-hero--article .blog-hero__image img { min-height: 0; object-fit: contain; }
.article-body :is(p,li,blockquote,figcaption,a) { overflow-wrap: anywhere; }
.article-body .cms-article-image { margin: 32px 0; }
.article-body .cms-article-image img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 18px; }
.article-body .cms-article-image figcaption { margin: 10px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.6; }
.article-body blockquote p { color: inherit; font: inherit; }
.article-body blockquote cite { display: block; margin-top: 12px; font: 400 15px/1.6 var(--sans); }
.article-body .cms-list-level-1 { margin-inline-start: 1.25em; }
.article-body .cms-list-level-2 { margin-inline-start: 2.5em; }
.article-body .cms-list-level-3 { margin-inline-start: 3.75em; }
.article-body .cms-list-level-4 { margin-inline-start: 5em; }
.article-body .cms-list-level-5 { margin-inline-start: 6.25em; }
.article-body .cms-related-card { margin: 18px 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 18px; background: var(--ivory); }
.article-body .cms-related-card h3 { margin: 0; font: 500 22px/1.3 var(--serif); }
.article-body .cms-related-card h3 a { display: flex; align-items: center; min-height: 44px; color: var(--ink-deep); text-decoration: none; }
.article-body .cms-related-card h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.article-body .cms-related-card__link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; color: var(--ink-deep); font: 600 16px/1.5 var(--sans); }
.article-body .cms-related-card a:focus-visible { outline: 2px solid var(--ink-deep); outline-offset: 4px; border-radius: 3px; }
.article-toc a { min-height: 24px; }
.article-questionnaire { background: var(--ivory); }
.article-questionnaire h2 { margin-top: 0; font-size: 28px; }
.article-questionnaire p { color: var(--ink-soft); font-size: 16px; line-height: 1.6; }
.article-questionnaire a { align-items: center; min-height: 44px; font-size: 16px; }
.article-questionnaire a:focus-visible { outline: 2px solid var(--action); outline-offset: 4px; }
@media (max-width: 600px) {
  .article-body :is(.cms-list-level-2,.cms-list-level-3,.cms-list-level-4,.cms-list-level-5) { margin-inline-start: 1.5em; }
}
@media print {
  .cms-article-image img { max-height: 180mm; object-fit: contain; }
}
.article-body .cms-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-block: 24px; }
.article-body .cms-gallery .cms-article-image { min-width: 0; margin: 0; }
.article-body .cms-gallery img { width: 100%; height: auto; }
@media (max-width: 600px) { .article-body .cms-gallery { grid-template-columns: minmax(0,1fr); } }
