.article-breadcrumb,.article-content { width: min(860px, calc(100% - 40px)); margin-inline: auto; }
.article-breadcrumb { padding-block: 30px; font-size: 14px; line-height: 1.6; }
.article-breadcrumb a,.article-content p a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.article-content { padding-bottom: 80px; line-height: 1.85; overflow-wrap: break-word; }
.article-header { padding: 34px 0 20px; border-bottom: 1px solid #dfe3ea; margin-bottom: 32px; }
.article-eyebrow { font-size: 12px; color: var(--red); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.article-content h1,.article-content h2,.article-content h3 { color: var(--navy); font-family: Raleway,sans-serif; font-weight: 800; line-height: 1.2; }
.article-content h1 { font-size: clamp(34px,4.4vw,60px); margin: 18px 0; }
.article-content h2 { font-size: clamp(27px,3vw,36px); margin: 52px 0 22px; }
.article-content h3 { font-size: 23px; margin: 30px 0 14px; }
.article-content p { margin: 0 0 22px; }
.article-content li { margin-bottom: 12px; }
.article-table-wrap { overflow-x: auto; margin: 30px 0; border: 1px solid #dfe3ea; border-radius: 12px; }
.article-table-wrap:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
.article-content table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 16px; line-height: 1.6; }
.article-content caption { padding: 18px; text-align: left; font-weight: 700; color: var(--navy); }
.article-content th,.article-content td { padding: 18px; text-align: left; vertical-align: top; border-top: 1px solid #dfe3ea; }
.article-content thead { background: var(--navy); color: #fff; }
.article-content tbody tr:nth-child(even) { background: #eeeef3; }
.article-content details { border-bottom: 1px solid #dfe3ea; padding: 22px 0; }
.article-content summary { cursor: pointer; font-weight: 800; color: var(--navy); line-height: 1.5; }
.article-content details p { margin: 18px 0 0; }
.article-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.article-actions .btn:not(.btn-red) { color: var(--navy); border: 1px solid var(--navy); }
@media(max-width:560px) { .article-content { font-size: 17px; }.article-header { padding-top: 10px; }.article-actions { flex-direction: column; } }
