.article-page { background: var(--paper); }
.article-header { min-height: 72px; padding: 17px max(20px, calc((100vw - 1040px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); background: rgba(255,253,249,.96); }
.article-header .brand { flex: 0 0 auto; }
.article-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 20px; font-size: .72rem; }
.article-nav a { text-decoration: none; }
.article-nav .article-reserve { margin-top: -7px; padding: 7px 14px; color: #fff; border: 1px solid var(--brown); background: var(--brown); }
.article-main { width: min(1040px, calc(100vw - 40px)); margin: 0 auto; }
.breadcrumbs { padding: 24px 0 0; color: #7c6e6a; font-size: .68rem; }
.breadcrumbs a { color: var(--brown); }
.article-hero { padding: 90px 0 75px; border-bottom: 1px solid var(--line); }
.article-hero .eyebrow { margin-bottom: 20px; }
.article-hero h1 { max-width: 900px; margin-bottom: 28px; font-size: clamp(2.25rem, 5vw, 4.3rem); }
.article-hero .seo-keyword-title { font-size: clamp(2.25rem, 4vw, 3.5rem); line-height: 1.55; }
.seo-keyword-title span { display: block; white-space: nowrap; }
.article-hero .lead { max-width: 760px; margin-bottom: 0; font-size: 1rem; }
.article-meta { margin-top: 25px; color: #7c6e6a; font-size: .67rem; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 80px; padding: 80px 0 120px; }
.article-content { min-width: 0; }
.article-content section { margin-bottom: 80px; scroll-margin-top: 30px; }
.article-content h2 { margin-bottom: 28px; font-size: clamp(1.7rem, 3.2vw, 2.6rem); }
.article-content h3 { margin: 35px 0 14px; font-size: 1.25rem; }
.article-content p, .article-content li { font-size: .92rem; }
.article-content li + li { margin-top: 10px; }
.article-content ul, .article-content ol { padding-left: 1.3em; }
.article-note { padding: 24px; border-left: 3px solid var(--rose); background: var(--cream); }
.article-note p:last-child { margin-bottom: 0; }
.compare-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.compare-table th, .compare-table td { padding: 18px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.compare-table th { width: 22%; color: var(--brown); background: var(--cream); font-weight: 500; }
.check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.check-card { padding: 25px; border: 1px solid var(--line); background: var(--cream); }
.check-card b { display: block; margin-bottom: 8px; font-family: var(--serif); }
.check-card p { margin: 0; font-size: .78rem; }
.article-sidebar { position: sticky; top: 30px; align-self: start; padding: 25px; border: 1px solid var(--line); background: var(--cream); }
.article-sidebar b { display: block; margin-bottom: 16px; font-family: var(--serif); }
.article-sidebar a { display: block; padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--brown); font-size: .72rem; text-decoration: none; }
.article-cta { padding: 45px; color: #fff; background: var(--brown); }
.article-cta h2 { margin-bottom: 18px; }
.article-cta .button { margin-top: 12px; border-color: #fff; background: #fff; color: var(--brown); }
.article-disclaimer { color: #766966; font-size: .72rem !important; }
.article-footer { padding: 48px max(20px, calc((100vw - 1040px) / 2)); color: rgba(255,255,255,.76); background: var(--ink); }
.article-footer nav { display: flex; flex-wrap: wrap; gap: 22px; margin-bottom: 24px; }
.article-footer a { font-size: .72rem; text-decoration: none; }
.article-footer p { margin: 0; font-size: .62rem; }
@media (max-width: 820px) {
  .article-header { align-items: flex-start; flex-direction: column; }
  .article-nav { justify-content: flex-start; gap: 12px 18px; }
  .article-layout { grid-template-columns: 1fr; gap: 25px; }
  .article-sidebar { position: static; order: -1; }
  .check-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .article-main { width: min(100% - 30px, 1040px); }
  .article-hero { padding: 65px 0 55px; }
  .article-hero .seo-keyword-title { font-size: clamp(1.65rem, 7.4vw, 1.9rem); letter-spacing: .01em; }
  .article-layout { padding: 60px 0 90px; }
  .article-content section { margin-bottom: 60px; }
  .compare-table, .compare-table tbody, .compare-table tr, .compare-table th, .compare-table td { display: block; width: 100%; }
  .compare-table tr { margin-bottom: 16px; }
  .compare-table th { border-bottom: 0; }
  .article-cta { padding: 32px 23px; }
}
