/* Retained CMS articles and utility pages share the approved public identity. */
.editorial-content { padding-top: 48px; padding-bottom: 100px; }
.editorial-content .page-hero { display: block; padding: 24px 0 56px; }
.editorial-content .page-hero h1 { max-width: 18ch; margin-bottom: 28px; }
.editorial-content .page-hero p { max-width: 760px; }
.article-detail { max-width: 1100px; margin: 0 auto; padding: 70px var(--gutter) 100px; }
.editorial-content .article-detail { padding: 24px 0; }
.article-detail h1 { margin: 18px 0 28px; }
.article-detail h2 { font-size: clamp(28px, 3vw, 42px); margin: 42px 0 20px; }
.article-detail h3 { font-size: 25px; margin: 30px 0 16px; }
.article-detail ul, .article-detail ol { line-height: 1.8; padding-left: 24px; margin-bottom: 28px; }
.article-detail p { max-width: 78ch; }
.article-detail a:not(.button), .editorial-content article a:not(.button) { text-decoration: underline; text-underline-offset: 4px; }
.related-box { padding: 30px; margin-top: 48px; background: var(--paper); border: 1px solid var(--line); }
.related-box h2 { margin-top: 0; }
.editorial-content .section { padding: 24px 0 56px; }
.editorial-content .section-heading { margin-bottom: 30px; }
.editorial-content .article-grid, .editorial-content .card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.editorial-content .article-card, .editorial-content .card { padding: 30px; border: 1px solid var(--line); }
.editorial-content h3 { font-size: 26px; margin-bottom: 16px; }
.editorial-content .text-link { color: var(--green); }
.editorial-content .article-list { display: grid; gap: 34px; }
.editorial-content .article-row { padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.editorial-content .article-row h2 { font-size: clamp(28px, 3vw, 42px); margin-bottom: 20px; max-width: 32ch; }
.editorial-content .article-row p { max-width: 80ch; }
.editorial-content .button-secondary { background: white; border: 1px solid var(--line); }
.service-catalogue { padding-top: 76px; padding-bottom: 110px; }
.service-catalogue .service-grid { margin-top: 48px; }
.service-catalogue h1 { margin: 20px 0 28px; }
.service-catalogue > p { max-width: 760px; }
@media (max-width: 760px) {
    .editorial-content { padding-top: 24px; padding-bottom: 64px; }
    .editorial-content .article-grid, .editorial-content .card-grid { grid-template-columns: 1fr; }
    .article-detail { padding-top: 40px; padding-bottom: 64px; }
}
