/* Scoped to the reviewed comparison article; shared author/share/print tools stay unchanged. */
.canon-comparison-page .comparison-container { max-width: 1060px; }
.canon-comparison-page .page-title { max-width: 960px; }
.canon-comparison-page .page-hero-shell { padding-bottom: 0; border-bottom: 0; }
.canon-comparison-page .comparison-body { padding-top: 1.6rem; }
.canon-comparison-page .article-content { gap: 1.25rem; }
.canon-comparison-page .article-section { padding: clamp(1.2rem, 3vw, 2.25rem); }
.canon-comparison-page .article-section h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.15; }
.canon-comparison-page .article-section h3 { margin: 1.5rem 0 .6rem; }
.canon-comparison-page .article-section p + p { margin-top: 1rem; }
.canon-comparison-page .article-section li + li { margin-top: .6rem; }
.canon-comparison-page .article-section :is(h2, h3), .comparison-sources li { scroll-margin-top: 110px; }
.canon-comparison-page .article-section a { text-decoration: underline; text-underline-offset: .15em; }
.comparison-figure { margin: 1.5rem 0 0; }
.comparison-figure img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 14px; }
.comparison-figure figcaption { margin-top: .65rem; font-size: .78rem; line-height: 1.6; color: #4d625a; }
.comparison-infographic { margin-bottom: 2rem; }
.comparison-infographic a { display: block; }
.comparison-toc ul { columns: 2; column-gap: 2rem; }
.comparison-toc li { break-inside: avoid; }
.canon-comparison { border-collapse: collapse; width: 100%; table-layout: fixed; font-size: .83rem; line-height: 1.65; }
.canon-comparison caption { text-align: left; font-weight: 700; color: #123e2c; margin-bottom: .8rem; }
.canon-comparison th, .canon-comparison td { padding: .85rem; border: 1px solid #ccd9d1; vertical-align: top; overflow-wrap: anywhere; }
.canon-comparison thead th { background: #124530; color: white; }
.canon-comparison tbody th { background: #eef3ee; text-align: left; color: #123e2c; }
.comparison-sources { font-size: .86rem; line-height: 1.8; overflow-wrap: anywhere; }
.comparison-sources li { padding-left: .2rem; }
.source-backlink { white-space: nowrap; }
@media screen and (max-width: 760px) {
  .comparison-toc ul { columns: 1; }
  .canon-comparison, .canon-comparison tbody, .canon-comparison tr, .canon-comparison th, .canon-comparison td { display: block; width: 100%; }
  .canon-comparison caption { display: block; }
  .canon-comparison thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .canon-comparison tr { margin-bottom: 1.2rem; }
  .canon-comparison td { border-top: 0; }
  .canon-comparison td::before { content: attr(data-label); display: block; font-weight: 700; color: #123e2c; margin-bottom: .35rem; }
}
@media print {
  .comparison-toc, .comparison-hero-image, .comparison-infographic { display: none !important; }
  .canon-comparison-page .comparison-body { padding: 0; }
  .canon-comparison-page .article-content { display: block; }
  .canon-comparison-page .article-section { padding: 0; margin: 0 0 1rem; border: 0; box-shadow: none; }
  .canon-comparison-page .article-section h2 { font-size: 17pt; }
  .canon-comparison-page .article-section h3 { font-size: 12pt; }
  .canon-comparison-page .article-section :is(p, li) { font-size: 10pt; line-height: 1.5; }
  .canon-comparison { font-size: 8pt; line-height: 1.4; }
  .canon-comparison th, .canon-comparison td { padding: .35rem; color: #000; background: #fff; }
  .canon-comparison thead { display: table-header-group; }
  .canon-comparison tr { break-inside: avoid; }
  .comparison-sources li { break-inside: avoid; }
  .source-backlink { display: none; }
}
