/* Reading layout shared with the best whole-house generators guide. */
  .article-page.editorial-guide .article-hero { padding: 36px 0 62px; background: #173d32; }
  .article-page.editorial-guide .article-hero::before { background: radial-gradient(circle at 86% 30%, rgba(135,165,116,.2), transparent 39%); }
  .article-page.editorial-guide .breadcrumbs { margin-bottom: 44px; }
  .article-page.editorial-guide .hero-composition { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(32px, 6vw, 88px); }
  .article-page.editorial-guide .hero-copy { min-width: 0; }
  .article-page.editorial-guide .article-kind { margin-bottom: 22px; }
  .article-page.editorial-guide .article-hero h1 { max-width: 610px; font-size: clamp(46px, 4.8vw, 70px); font-weight: 700; line-height: 1.04; letter-spacing: -.065em; }
  .article-page.editorial-guide .article-dek { max-width: 530px; margin-top: 26px; color: #e2e9db; font-size: clamp(18px, 1.8vw, 22px); line-height: 1.48; }
  .article-page.editorial-guide .article-meta { max-width: 520px; margin-top: 35px; color: #c7d7c8; line-height: 1.5; }
  .article-page.editorial-guide .guide-lead-illustration { max-width: none; margin: 0; }
  .article-page.editorial-guide .guide-lead-illustration img { width: 100%; aspect-ratio: 1.18; object-fit: cover; border-radius: 2px; box-shadow: 16px 18px 0 rgba(10,35,28,.5); }
  .article-page.editorial-guide .guide-lead-illustration figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

  .article-page.editorial-guide .article-content { padding: 55px 0 90px; }
  .article-page.editorial-guide .article-layout { grid-template-columns: minmax(0, 860px) minmax(0, 220px); gap: 0 64px; }
  .article-page.editorial-guide .article-intro { max-width: 780px; margin-bottom: 8px; padding-bottom: 22px; border: 0; }
  .article-page.editorial-guide .article-intro p:first-child { font-size: 21px; line-height: 1.5; }
  .article-page.editorial-guide .article-intro ul { margin: 20px 0 12px; padding: 0 0 0 25px; border: 0; border-radius: 0; background: transparent; }
  .article-page.editorial-guide .article-intro li { padding-left: 5px; }
  .article-page.editorial-guide .article-prose { color: #263b30; font-size: 17px; line-height: 1.7; }
  .article-page.editorial-guide .article-prose p { color: #354b3d; font-size: 17px; line-height: 1.7; }
  .article-page.editorial-guide .article-body .article-section { margin: 0; padding: 40px 0 46px; border: 0; border-top: 1px solid #cbd5c8; border-radius: 0; background: transparent; box-shadow: none; }
  .article-page.editorial-guide .article-body .article-section:first-child { padding-top: 4px; border-top: 0; }
  .article-page.editorial-guide .article-body .article-section.is-answer,
  .article-page.editorial-guide .article-body .article-section.is-picks,
  .article-page.editorial-guide .article-body .article-section.is-methodology,
  .article-page.editorial-guide .article-body .article-section.is-verdict,
  .article-page.editorial-guide .article-body .article-section.is-safety { border-left: 0; background: transparent; }
  .article-page.editorial-guide .article-body h2 { max-width: 730px; margin-bottom: 23px; font-size: clamp(31px, 3vw, 39px); line-height: 1.12; letter-spacing: -.045em; }
  .article-page.editorial-guide .article-body h3 { margin-top: 37px; font-size: 23px; }
  .article-page.editorial-guide .article-body ul, .article-page.editorial-guide .article-body ol { padding: 0 0 0 25px; border: 0; border-radius: 0; background: transparent; }
  .article-page.editorial-guide .article-body li { padding-left: 5px; }
  .article-page.editorial-guide .article-body blockquote { border: 0; border-top: 2px solid #486c51; border-radius: 0; background: #e9efe5; }
  .article-page.editorial-guide .article-body table { margin: 22px 0 26px; font-size: 14px; box-shadow: none; }
  .article-page.editorial-guide .article-body th:first-child, .article-page.editorial-guide .article-body td:first-child { min-width: 190px; }
  .article-page.editorial-guide .article-body th:nth-child(2), .article-page.editorial-guide .article-body td:nth-child(2),
  .article-page.editorial-guide .article-body th:nth-child(3), .article-page.editorial-guide .article-body td:nth-child(3) { min-width: 95px; }
  .article-page.editorial-guide .article-body th:last-child, .article-page.editorial-guide .article-body td:last-child { min-width: 210px; }
  .article-page.editorial-guide .article-body .shortlist-video { margin: 34px 0 42px; }
  .article-page.editorial-guide .article-body .shortlist-video figcaption { font-size: 21px; }
  .article-page.editorial-guide .article-body .shortlist-video-frame { border-radius: 3px; }
  .article-page.editorial-guide .article-body p:last-child>a:only-child { display: inline-block; padding: 8px 0; font-size: 14px; }
  .article-page.editorial-guide .article-body a { overflow-wrap: anywhere; }
  .article-page.editorial-guide .article-sidebar { gap: 20px; }
  .article-page.editorial-guide .sidebar-card { border: 0; border-top: 2px solid #173d32; border-radius: 0; background: transparent; box-shadow: none; }
  .article-page.editorial-guide .sidebar-card h2 { padding: 15px 0 10px; border: 0; }
  .article-page.editorial-guide .article-toc a { padding: 9px 0; font-size: 12px; }
  .article-page.editorial-guide .takeaways ul { padding: 5px 0 5px 19px; }
  .article-page.editorial-guide .related-guides > a { padding: 9px 0; font-size: 12px; }

  @media (max-width: 1000px) {
    .article-page.editorial-guide .article-layout { grid-template-columns: minmax(0, 1fr) 205px; column-gap: 30px; }
    .article-page.editorial-guide .hero-composition { gap: 35px; }
  }
  @media (max-width: 760px) {
    .article-page.editorial-guide .article-hero { padding: 25px 0 45px; }
    .article-page.editorial-guide .breadcrumbs { margin-bottom: 28px; }
    .article-page.editorial-guide .hero-composition { grid-template-columns: 1fr; gap: 30px; }
    .article-page.editorial-guide .article-hero h1 { font-size: clamp(40px, 10vw, 58px); }
    .article-page.editorial-guide .article-dek { margin-top: 18px; }
    .article-page.editorial-guide .article-meta { margin-top: 20px; }
    .article-page.editorial-guide .guide-lead-illustration img { aspect-ratio: 1.45; box-shadow: 8px 10px 0 rgba(10,35,28,.5); }
    .article-page.editorial-guide .article-content { padding-top: 34px; }
    .article-page.editorial-guide .article-layout { grid-template-columns: 1fr; }
    .article-page.editorial-guide .article-body .article-section { padding: 32px 0 36px; }
    .article-page.editorial-guide .article-body h2 { font-size: 29px; }
    .article-page.editorial-guide .article-sidebar { max-height: 230px; margin-bottom: 20px; }
    .buying-route { flex-direction: column; gap: 10px; }
  }

/* Keep long article titles balanced alongside the existing editorial artwork. */
.article-page.editorial-guide .article-hero h1 { font-size: clamp(38px, 4.2vw, 60px); }
.article-page.editorial-guide .hero-composition:not(:has(.guide-lead-illustration)) { grid-template-columns: 1fr; }
.article-page.editorial-guide .hero-composition:not(:has(.guide-lead-illustration)) h1 { max-width: 900px; }
.article-page.editorial-guide .article-intro ul,
.article-page.editorial-guide .article-intro ol { padding: 0 0 0 25px; border: 0; background: transparent; }
.article-page.editorial-guide .article-prose blockquote { border: 0; border-left: 3px solid #486c51; border-radius: 0; background: #e9efe5; box-shadow: none; }
.article-page.editorial-guide .article-body .article-section.is-safety { padding: 28px; background: #fff5f3; border-top: 2px solid #b9362b; }
.article-page.editorial-guide .article-body table th,
.article-page.editorial-guide .article-body table td { min-width: 100px; }
.article-page.editorial-guide .article-body table { border-radius: 3px; }
.article-page.editorial-guide .article-body table th:first-child,
.article-page.editorial-guide .article-body table td:first-child { min-width: 160px; }
.article-page.editorial-guide .article-body figure:has(iframe) { margin: 34px 0 42px !important; }
.article-page.editorial-guide .article-body figure:has(iframe) figcaption { font-family: var(--font-display); font-size: 21px !important; line-height: 1.3; }
.article-page.editorial-guide .article-body figure:has(iframe) > div { border-radius: 3px !important; }
.article-page.editorial-guide .article-body figure:has(iframe) p { font-size: 13px; }
@media (max-width: 760px) {
 .article-page.editorial-guide .article-hero h1 { font-size: clamp(35px, 9vw, 48px); }
 .article-page.editorial-guide .article-body .article-section.is-safety { padding: 22px 18px; }
 .article-page.editorial-guide .article-sidebar { max-height: 230px; }
}

.article-page.editorial-guide .editorial-table { width: 100%; overflow-x: auto; margin: 22px 0 26px; border: 1px solid #ced9e1; border-radius: 3px; }
.article-page.editorial-guide .article-body .editorial-table table { display: table; width: 100%; min-width: 520px; margin: 0; border: 0; border-radius: 0; }
.article-page.editorial-guide .article-body .editorial-table th,
.article-page.editorial-guide .article-body .editorial-table td { min-width: 0; }
