.article-page { min-width: 0; color: #343d43; }
.article-header { padding: 15px 17px 12px; background: #fff; border: 1px solid var(--line); }
.article-header h1 { margin: 0 0 8px; color: #182126; font-size: 27px; line-height: 1.12; letter-spacing: -.3px; }
.article-header .lead { margin: 0; font-size: 13.5px; line-height: 1.48; }
.article-meta { margin-top: 10px; padding-top: 7px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 18px; color: #5f6a71; border-top: 1px solid #d0d7db; font-size: 10.5px; }

.toc { margin-top: 9px; padding: 10px 12px; background: #f0f3f4; border: 1px solid var(--line); }
.toc h2 { margin: 0 0 5px; font-size: 14px; }
.toc ol { margin: 0; padding-left: 21px; columns: 2; column-gap: 28px; }
.toc li { padding: 2px 0; break-inside: avoid; font-size: 10.75px; }

.article-page > section { margin-top: 9px; padding: 14px 17px; background: #fff; border: 1px solid var(--line); }
.article-page > section h2 { margin: 0 0 8px; padding-bottom: 5px; color: #202b31; border-bottom: 1px solid #c7d0d5; font-size: 18px; line-height: 1.2; }
.article-page > section h3 { margin: 13px 0 4px; color: #263942; font-size: 14px; }
.article-page > section p { margin: 0 0 9px; font-size: 12px; line-height: 1.58; }
.article-page > section p:last-child { margin-bottom: 0; }
.article-page table { width: 100%; margin: 10px 0; border-collapse: collapse; font-size: 10.5px; }
.article-page th, .article-page td { padding: 6px 7px; border: 1px solid #bec8ce; text-align: left; vertical-align: top; }
.article-page th { background: #e3e8eb; }
.steps { margin: 8px 0 10px; padding-left: 26px; }
.steps li { padding: 4px 0 6px 3px; font-size: 11.5px; line-height: 1.45; }
.check-list { margin: 8px 0 10px; padding-left: 22px; }
.check-list li { padding: 3px 0; font-size: 11.5px; line-height: 1.45; }
.notice { margin: 11px 0; padding: 9px 11px; background: #f3f0e3; border: 1px solid #c7bc9d; border-left: 4px solid #87784e; font-size: 11px; line-height: 1.45; }

.faq details { border-bottom: 1px solid var(--line-soft); }
.faq details:last-child { border-bottom: 0; }
.faq summary { padding: 7px 2px; color: var(--link); cursor: pointer; font-size: 12px; font-weight: 700; }
.faq details p { padding: 0 2px 7px; }
.sources ul, .related ul { margin: 0; padding-left: 19px; }
.sources li, .related li { padding: 3px 0; font-size: 11px; }
.back-link { margin-top: 10px !important; padding-top: 7px; border-top: 1px solid var(--line-soft); font-weight: 700; }
.comparison-cta { margin-top: 9px; padding: 10px 12px; background: #e5eaed; border: 1px solid var(--line); }
.comparison-cta strong { color: #27353d; font-size: 13px; }
.comparison-cta p { margin: 3px 0; font-size: 10.5px; }
.comparison-cta a { font-size: 11px; font-weight: 700; }

.legal-page > h2 { margin: 16px 0 5px; color: #202b31; font-size: 17px; }
.legal-page > p { margin: 0 0 10px; font-size: 12px; line-height: 1.58; }
.legal-page > .notice { margin-top: 9px; }

@media (max-width: 800px) {
  .article-header h1 { font-size: 24px; }
  .toc ol { columns: 1; }
}

@media (max-width: 560px) {
  .article-header { padding: 12px; }
  .article-header h1 { font-size: 23px; }
  .article-header .lead { font-size: 12.5px; }
  .article-page > section { padding: 12px; }
  .article-page > section h2 { font-size: 17px; }
  .article-page table { display: block; overflow-x: auto; }
}
