/* Shared by all articles; no per-article stylesheet. */
.article-heading { padding: 34px 0 70px; background: linear-gradient(132deg, var(--ivory), #eaf6f2); }
.article-heading h1 { max-width: 1000px; font-size: clamp(2.7rem, 5vw, 4.7rem); }
.article-lead { max-width: 780px; margin-top: 26px; color: var(--muted); font-size: 1.15rem; }
.article-meta { color: var(--muted); font-size: .8rem; }
.article-body { max-width: 840px; padding-block: 60px 90px; }
.article-body > section { margin-block: 50px; scroll-margin-top: 110px; }
.article-body h2 { font-size: clamp(1.9rem, 3vw, 2.7rem); }
.article-body p, .article-body li { line-height: 1.8; }
.article-body li { margin-block: 12px; }
.article-toc { padding: 24px 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.article-toc a { text-decoration: underline; text-underline-offset: 4px; }
.article-service { margin-block: 55px; padding: clamp(25px, 5vw, 42px); background: var(--mint); border-radius: var(--radius); }
.article-body .evidence-note { overflow-wrap: anywhere; }
.article-body > section:first-child { margin-top: 0; }
.article-visual { margin: 35px 0 50px; }
.article-visual img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.article-visual figcaption { margin-top: 12px; color: var(--muted); font-size: .85rem; line-height: 1.6; }
.table-scroll { overflow-x: auto; max-width: 100%; margin-block: 25px; border: 1px solid var(--line); border-radius: 12px; }
.article-body table { width: 100%; min-width: 540px; border-collapse: collapse; font-size: .95rem; }
.article-body th, .article-body td { padding: 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.article-body th { background: var(--mint); }
.article-body td { background: var(--white); }
.article-body h3 { margin-top: 30px; }
.article-body a { overflow-wrap: anywhere; }
@media (max-width: 720px) { .article-heading { padding-bottom: 45px; } .article-body { padding-top: 35px; } }
