/* Shared editorial article theme for every article-page template. */
.article-page:not(.growth-factor-article) {
  --editorial-ink: #29251f;
  --editorial-muted: #716c63;
  --editorial-line: #ddd8cf;
  --editorial-paper: #fffdf9;
  --editorial-wash: #f2f0e8;
  background: var(--editorial-paper) !important;
  color: var(--editorial-ink) !important;
  cursor: auto !important;
}

.article-page:not(.growth-factor-article) #cdot { display: none !important; }
.article-page:not(.growth-factor-article) .reading-progress { display: none !important; }
.article-page:not(.growth-factor-article) a,
.article-page:not(.growth-factor-article) summary { cursor: pointer; }

.article-page:not(.growth-factor-article) .article-hero {
  padding: 76px 24px 58px !important;
  text-align: left !important;
  background: #f4f1e9 !important;
  border-bottom: 1px solid var(--editorial-line) !important;
}

.article-page:not(.growth-factor-article) .article-hero::before,
.article-page:not(.growth-factor-article) .article-hero::after { display: none !important; }
.article-page:not(.growth-factor-article) .article-hero-inner { max-width: 820px !important; margin-inline: auto !important; }

/* Shared nav rules apply to every nav element, so article-local navs need a reset. */
.article-page:not(.growth-factor-article) .article-breadcrumbs,
.article-page:not(.growth-factor-article) .toc {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  height: auto !important;
  min-height: 0 !important;
  box-shadow: none !important;
  will-change: auto !important;
  transform: none !important;
}

.article-page:not(.growth-factor-article) .article-breadcrumbs {
  display: flex !important;
  justify-content: flex-start !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 26px !important;
  background: transparent !important;
  color: var(--editorial-muted) !important;
  font-size: .76rem !important;
  letter-spacing: .02em;
}

.article-page:not(.growth-factor-article) .article-breadcrumbs a { color: inherit !important; font-weight: 500 !important; }
.article-page:not(.growth-factor-article) .crumb-sep { margin: 0 3px; color: #aaa399 !important; }

.article-page:not(.growth-factor-article) .article-eyebrow {
  display: inline-block !important;
  padding: 0 !important;
  margin-bottom: 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #667054 !important;
  font-size: .69rem !important;
  letter-spacing: .17em !important;
}

.article-page:not(.growth-factor-article) .article-hero h1 {
  max-width: 760px !important;
  margin: 0 0 20px !important;
  color: var(--editorial-ink) !important;
  font-family: var(--display) !important;
  font-size: clamp(2.35rem, 5.3vw, 4.35rem) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
}

.article-page:not(.growth-factor-article) .article-hero h1 em { color: #687254 !important; }

.article-page:not(.growth-factor-article) .article-subtitle {
  max-width: 720px !important;
  margin: 0 0 30px !important;
  color: #5b564e !important;
  font-family: var(--display) !important;
  font-size: clamp(1.15rem, 2vw, 1.42rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
}

.article-page:not(.growth-factor-article) .article-author-box {
  display: block !important;
  grid-template-columns: none !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 17px 0 !important;
  border: 1px solid var(--editorial-line) !important;
  border-width: 1px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #5f5a52 !important;
  font-size: .78rem !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

.article-page:not(.growth-factor-article) .article-author-box::before,
.article-page:not(.growth-factor-article) .article-author-box::after { display: none !important; content: none !important; }
.article-page:not(.growth-factor-article) .article-author-box p { grid-column: auto !important; margin: 3px 0 !important; padding: 0 !important; border: 0 !important; font-size: .78rem !important; line-height: 1.6 !important; }
.article-page:not(.growth-factor-article) .article-meta { justify-content: flex-start !important; gap: 8px !important; margin-top: 17px !important; color: var(--editorial-muted) !important; font-size: .76rem !important; }
.article-page:not(.growth-factor-article) .article-meta > span:not(.meta-dot) { width: auto !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font-size: inherit !important; font-weight: 400 !important; }
.article-page:not(.growth-factor-article) .meta-dot { width: 3px !important; height: 3px !important; background: #8b927d !important; }

.article-page:not(.growth-factor-article) .article-wrap {
  padding: 54px 24px 72px !important;
  background: var(--editorial-paper) !important;
}

.article-page:not(.growth-factor-article) .article-card {
  max-width: 820px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.article-page:not(.growth-factor-article) .article-card p,
.article-page:not(.growth-factor-article) .article-card li {
  color: #39352f !important;
  font-size: 1.055rem !important;
  line-height: 1.78 !important;
}

.article-page:not(.growth-factor-article) .article-card p { margin-bottom: 22px !important; }
.article-page:not(.growth-factor-article) .article-card li { margin-bottom: 10px !important; }
.article-page:not(.growth-factor-article) .article-card > ol:not(.references),
.article-page:not(.growth-factor-article) .article-card > ul { margin: 0 0 30px !important; padding-left: 1.35rem !important; }
.article-page:not(.growth-factor-article) .article-card li::marker { color: #6f795c; font-weight: 700; }
.article-page:not(.growth-factor-article) .article-card a { color: #4e633f !important; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-page:not(.growth-factor-article) .article-card a:hover { color: #293c22 !important; }

.article-page:not(.growth-factor-article) .article-card h2 {
  margin: 58px 0 19px !important;
  padding-top: 21px !important;
  border-top: 1px solid var(--editorial-line) !important;
  color: var(--editorial-ink) !important;
  font-family: var(--display) !important;
  font-size: clamp(1.75rem, 3.2vw, 2.25rem) !important;
  font-weight: 400 !important;
  line-height: 1.17 !important;
  letter-spacing: -.02em !important;
  scroll-margin-top: 92px;
}

.article-page:not(.growth-factor-article) .article-card h3 {
  margin: 34px 0 13px !important;
  color: #343b2c !important;
  font-family: var(--display) !important;
  font-size: clamp(1.25rem, 2vw, 1.5rem) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  scroll-margin-top: 92px;
}

.article-page:not(.growth-factor-article) .hero-banner,
.article-page:not(.growth-factor-article) .article-figure,
.article-page:not(.growth-factor-article) .image-wide { margin: 0 0 43px !important; }
.article-page:not(.growth-factor-article) .article-figure { margin-top: 38px !important; }
.article-page:not(.growth-factor-article) .hero-banner img,
.article-page:not(.growth-factor-article) .article-figure img,
.article-page:not(.growth-factor-article) .image-wide img { display: block; width: 100%; height: auto; border: 1px solid #e1ddd5; border-radius: 6px; background: var(--editorial-wash); }
.article-page:not(.growth-factor-article) .image-caption { max-width: 690px; margin: 11px auto 0 !important; color: var(--editorial-muted) !important; font-size: .76rem !important; line-height: 1.55 !important; text-align: left !important; }

.article-page:not(.growth-factor-article) .quick-answer,
.article-page:not(.growth-factor-article) .science-box,
.article-page:not(.growth-factor-article) .warning-box,
.article-page:not(.growth-factor-article) .routine-box,
.article-page:not(.growth-factor-article) .article-internal-links {
  margin: 38px 0 !important;
  padding: 24px 27px !important;
  border: 0 !important;
  border-left: 3px solid #788363 !important;
  border-radius: 0 !important;
  background: var(--editorial-wash) !important;
  box-shadow: none !important;
}

.article-page:not(.growth-factor-article) .warning-box { border-left-color: #a87f42 !important; background: #f8f3e8 !important; }
.article-page:not(.growth-factor-article) .article-internal-links { border-left-color: #d58d9b !important; background: #f8eef0 !important; }
.article-page:not(.growth-factor-article) .box-label { margin-bottom: 9px !important; color: #4f5d42 !important; font-size: .67rem !important; letter-spacing: .16em !important; }
.article-page:not(.growth-factor-article) .warning-box .box-label { color: #866634 !important; }
.article-page:not(.growth-factor-article) .quick-answer p,
.article-page:not(.growth-factor-article) .science-box p,
.article-page:not(.growth-factor-article) .warning-box p,
.article-page:not(.growth-factor-article) .routine-box p,
.article-page:not(.growth-factor-article) .article-internal-links p { margin-bottom: 0 !important; }

.article-page:not(.growth-factor-article) .toc {
  margin: 46px 0 58px !important;
  padding: 24px 0 25px !important;
  border: 1px solid var(--editorial-line) !important;
  border-width: 1px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.article-page:not(.growth-factor-article) .toc h2 { margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; font: 700 .7rem/1.4 var(--body) !important; letter-spacing: .16em !important; text-transform: uppercase; }
.article-page:not(.growth-factor-article) .toc ol { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 36px; margin: 0 !important; padding-left: 1.3rem !important; }
.article-page:not(.growth-factor-article) .toc li { margin: 0 !important; font-size: .92rem !important; line-height: 1.6 !important; }
.article-page:not(.growth-factor-article) .toc a { text-decoration: none !important; }

.article-page:not(.growth-factor-article) .table-scroll,
.article-page:not(.growth-factor-article) .comparison-scroll {
  width: 100%;
  margin: 28px 0 42px !important;
  overflow-x: auto !important;
  border: 1px solid var(--editorial-line) !important;
  border-width: 1px 0 !important;
  background: transparent !important;
  -webkit-overflow-scrolling: touch;
}

.article-page:not(.growth-factor-article) .comparison,
.article-page:not(.growth-factor-article) .comparison-table,
.article-page:not(.growth-factor-article) .myth-table { width: 100%; min-width: 680px; margin: 0; border-collapse: collapse; font-size: .88rem; }
.article-page:not(.growth-factor-article) .comparison th,
.article-page:not(.growth-factor-article) .comparison td,
.article-page:not(.growth-factor-article) .comparison-table th,
.article-page:not(.growth-factor-article) .comparison-table td,
.article-page:not(.growth-factor-article) .myth-table th,
.article-page:not(.growth-factor-article) .myth-table td { padding: 14px 16px !important; border-color: var(--editorial-line) !important; line-height: 1.5 !important; vertical-align: top; }
.article-page:not(.growth-factor-article) .comparison th,
.article-page:not(.growth-factor-article) .comparison-table th,
.article-page:not(.growth-factor-article) .myth-table th { background: #eeece5 !important; color: #343b2c !important; font-size: .77rem !important; }

.article-page:not(.growth-factor-article) .faq details { padding: 0 !important; border-color: var(--editorial-line) !important; }
.article-page:not(.growth-factor-article) .faq summary { position: relative; min-height: 56px; padding: 17px 42px 17px 0 !important; color: #343b2c !important; font-size: .98rem !important; line-height: 1.45 !important; list-style: none; }
.article-page:not(.growth-factor-article) .faq summary::-webkit-details-marker { display: none; }
.article-page:not(.growth-factor-article) .faq summary::after { content: "+"; position: absolute; top: 15px; right: 3px; color: #6f795c; font: 400 1.35rem/1 var(--body); }
.article-page:not(.growth-factor-article) .faq details[open] summary::after { content: "−"; }
.article-page:not(.growth-factor-article) .faq details p { padding: 0 44px 18px 0; }
.article-page:not(.growth-factor-article) .faq-item { border-radius: 0 !important; border-width: 1px 0 0 !important; background: transparent !important; box-shadow: none !important; padding: 20px 0 !important; }

.article-page:not(.growth-factor-article) .related-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; margin: 4px 0 30px !important; border-top: 1px solid var(--editorial-line); }
.article-page:not(.growth-factor-article) .related-links a { min-height: 93px; padding: 19px 0 !important; border: 0 !important; border-bottom: 1px solid var(--editorial-line) !important; border-radius: 0 !important; background: transparent !important; color: var(--editorial-muted) !important; font-size: .88rem !important; line-height: 1.55 !important; }
.article-page:not(.growth-factor-article) .related-links strong { color: #343b2c !important; font-size: .96rem !important; }
.article-page:not(.growth-factor-article) .references { margin-bottom: 40px !important; padding-left: 1.25rem !important; }
.article-page:not(.growth-factor-article) .references li { color: #57524b !important; font-size: .82rem !important; line-height: 1.65 !important; }
.article-page:not(.growth-factor-article) .disclaimer { margin-top: 46px !important; padding-top: 24px !important; border-color: var(--editorial-line) !important; color: var(--editorial-muted) !important; line-height: 1.65 !important; }
.article-page:not(.growth-factor-article) .signature { margin-top: 34px !important; color: #7a654f !important; font-size: 1.3rem !important; }

/* Bring legacy article modules into the same restrained editorial system. */
.article-page:not(.growth-factor-article) .reason-card,
.article-page:not(.growth-factor-article) .fit-card,
.article-page:not(.growth-factor-article) .ing-card,
.article-page:not(.growth-factor-article) .qp-card,
.article-page:not(.growth-factor-article) .myth-card,
.article-page:not(.growth-factor-article) .claim-card,
.article-page:not(.growth-factor-article) .product-card,
.article-page:not(.growth-factor-article) .verdict-card,
.article-page:not(.growth-factor-article) .decision-card,
.article-page:not(.growth-factor-article) .mini-card,
.article-page:not(.growth-factor-article) .dose-card,
.article-page:not(.growth-factor-article) .routine-card,
.article-page:not(.growth-factor-article) .winner-card,
.article-page:not(.growth-factor-article) .snapshot-item,
.article-page:not(.growth-factor-article) .product-fact,
.article-page:not(.growth-factor-article) .quick-fact,
.article-page:not(.growth-factor-article) .fact,
.article-page:not(.growth-factor-article) .source-tier,
.article-page:not(.growth-factor-article) .score-block,
.article-page:not(.growth-factor-article) .rating-item,
.article-page:not(.growth-factor-article) .product-spotlight,
.article-page:not(.growth-factor-article) .review-score-card,
.article-page:not(.growth-factor-article) .rating-panel,
.article-page:not(.growth-factor-article) .verdict-banner,
.article-page:not(.growth-factor-article) .bottom-line,
.article-page:not(.growth-factor-article) .evidence-meter {
  border: 1px solid var(--editorial-line) !important;
  border-radius: 6px !important;
  background: var(--editorial-paper) !important;
  box-shadow: none !important;
}

.article-page:not(.growth-factor-article) :is(
  .reason-card,
  .fit-card,
  .ing-card,
  .qp-card,
  .myth-card,
  .claim-card,
  .product-card,
  .verdict-card,
  .decision-card,
  .mini-card,
  .dose-card,
  .routine-card,
  .winner-card,
  .snapshot-item,
  .product-fact,
  .quick-fact,
  .fact,
  .source-tier,
  .score-block,
  .rating-item,
  .product-spotlight,
  .review-score-card,
  .rating-panel,
  .verdict-banner,
  .bottom-line,
  .evidence-meter
) :is(p, li, strong, em, span, h2, h3, h4) {
  color: #39352f !important;
}

.article-page:not(.growth-factor-article) .reason-grid,
.article-page:not(.growth-factor-article) .fit-grid,
.article-page:not(.growth-factor-article) .claim-grid,
.article-page:not(.growth-factor-article) .myth-grid,
.article-page:not(.growth-factor-article) .timeline-grid,
.article-page:not(.growth-factor-article) .score-grid,
.article-page:not(.growth-factor-article) .product-facts,
.article-page:not(.growth-factor-article) .product-pros-cons,
.article-page:not(.growth-factor-article) .quick-picks {
  gap: 12px !important;
}

.article-page:not(.growth-factor-article) .promise-box,
.article-page:not(.growth-factor-article) .pull-quote,
.article-page:not(.growth-factor-article) .mini-note,
.article-page:not(.growth-factor-article) .science-note,
.article-page:not(.growth-factor-article) .study-callout,
.article-page:not(.growth-factor-article) .compact-note,
.article-page:not(.growth-factor-article) .bottom-line-callout,
.article-page:not(.growth-factor-article) .editor-note,
.article-page:not(.growth-factor-article) .caution,
.article-page:not(.growth-factor-article) .warning {
  border: 0 !important;
  border-left: 3px solid #788363 !important;
  border-radius: 0 !important;
  background: var(--editorial-wash) !important;
  box-shadow: none !important;
}

.article-page:not(.growth-factor-article) :is(
  .promise-box,
  .pull-quote,
  .mini-note,
  .science-note,
  .study-callout,
  .compact-note,
  .bottom-line-callout,
  .editor-note,
  .caution,
  .warning
) :is(p, li, strong, em, span, h2, h3, h4) {
  color: #39352f !important;
}

.article-page:not(.growth-factor-article) .mobile-cell-label {
  display: none !important;
}

.article-page:not(.growth-factor-article) .article-share-panel,
.article-page:not(.growth-factor-article) .seo-context-links,
.article-page:not(.growth-factor-article) .source-details,
.article-page:not(.growth-factor-article) .faq-section,
.article-page:not(.growth-factor-article) .references {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.article-page:not(.growth-factor-article) .faq-list { gap: 0 !important; }
.article-page:not(.growth-factor-article) .faq-list .faq-item,
.article-page:not(.growth-factor-article) .faq-section .faq-item {
  margin: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--editorial-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.article-page:not(.growth-factor-article) .section-kicker,
.article-page:not(.growth-factor-article) .reason-label,
.article-page:not(.growth-factor-article) .fit-label,
.article-page:not(.growth-factor-article) .qp-label,
.article-page:not(.growth-factor-article) .myth-label,
.article-page:not(.growth-factor-article) .evidence-label,
.article-page:not(.growth-factor-article) .verdict-label {
  color: #667054 !important;
  font-size: .67rem !important;
  letter-spacing: .14em !important;
}

/* Component safety layer.
   Older articles define many of these modules inline. Keep their structure, but
   neutralise decorative layers and restore readable foreground/background pairs. */
.article-page:not(.growth-factor-article) .quick-answer,
.article-page:not(.growth-factor-article) .science-box,
.article-page:not(.growth-factor-article) .warning-box,
.article-page:not(.growth-factor-article) .routine-box,
.article-page:not(.growth-factor-article) .article-internal-links,
.article-page:not(.growth-factor-article) .viral-hook,
.article-page:not(.growth-factor-article) .bottom-line,
.article-page:not(.growth-factor-article) .quick-summary,
.article-page:not(.growth-factor-article) .download-cta,
.article-page:not(.growth-factor-article) .neck-verdict,
.article-page:not(.growth-factor-article) .answer-box,
.article-page:not(.growth-factor-article) .product-score,
.article-page:not(.growth-factor-article) .review-score-card,
.article-page:not(.growth-factor-article) .rating-panel {
  position: relative !important;
  overflow: visible !important;
  color: var(--editorial-ink) !important;
  border: 1px solid var(--editorial-line) !important;
  border-left: 3px solid #788363 !important;
  border-radius: 6px !important;
  background: var(--editorial-wash) !important;
  box-shadow: none !important;
}

.article-page:not(.growth-factor-article) .quick-answer::before,
.article-page:not(.growth-factor-article) .quick-answer::after,
.article-page:not(.growth-factor-article) .science-box::before,
.article-page:not(.growth-factor-article) .science-box::after,
.article-page:not(.growth-factor-article) .warning-box::before,
.article-page:not(.growth-factor-article) .warning-box::after,
.article-page:not(.growth-factor-article) .routine-box::before,
.article-page:not(.growth-factor-article) .routine-box::after,
.article-page:not(.growth-factor-article) .article-internal-links::before,
.article-page:not(.growth-factor-article) .article-internal-links::after,
.article-page:not(.growth-factor-article) .viral-hook::before,
.article-page:not(.growth-factor-article) .viral-hook::after,
.article-page:not(.growth-factor-article) .bottom-line::before,
.article-page:not(.growth-factor-article) .bottom-line::after,
.article-page:not(.growth-factor-article) .quick-summary::before,
.article-page:not(.growth-factor-article) .quick-summary::after,
.article-page:not(.growth-factor-article) .neck-verdict::before,
.article-page:not(.growth-factor-article) .neck-verdict::after,
.article-page:not(.growth-factor-article) .answer-box::before,
.article-page:not(.growth-factor-article) .answer-box::after {
  display: none !important;
  content: none !important;
}

.article-page:not(.growth-factor-article) .quick-answer > *,
.article-page:not(.growth-factor-article) .science-box > *,
.article-page:not(.growth-factor-article) .warning-box > *,
.article-page:not(.growth-factor-article) .routine-box > *,
.article-page:not(.growth-factor-article) .article-internal-links > *,
.article-page:not(.growth-factor-article) .viral-hook > *,
.article-page:not(.growth-factor-article) .bottom-line > *,
.article-page:not(.growth-factor-article) .quick-summary > *,
.article-page:not(.growth-factor-article) .download-cta > *,
.article-page:not(.growth-factor-article) .neck-verdict > *,
.article-page:not(.growth-factor-article) .answer-box > * {
  position: relative !important;
  z-index: auto !important;
  color: inherit !important;
}

.article-page:not(.growth-factor-article) .quick-answer p,
.article-page:not(.growth-factor-article) .science-box p,
.article-page:not(.growth-factor-article) .warning-box p,
.article-page:not(.growth-factor-article) .routine-box p,
.article-page:not(.growth-factor-article) .article-internal-links p,
.article-page:not(.growth-factor-article) .viral-hook p,
.article-page:not(.growth-factor-article) .bottom-line p,
.article-page:not(.growth-factor-article) .quick-summary p,
.article-page:not(.growth-factor-article) .download-cta p,
.article-page:not(.growth-factor-article) .neck-verdict p,
.article-page:not(.growth-factor-article) .answer-box p,
.article-page:not(.growth-factor-article) .product-score p,
.article-page:not(.growth-factor-article) .review-score-card p,
.article-page:not(.growth-factor-article) .rating-panel p {
  color: #39352f !important;
}

.article-page:not(.growth-factor-article) .quick-answer h2,
.article-page:not(.growth-factor-article) .quick-answer h3,
.article-page:not(.growth-factor-article) .science-box h2,
.article-page:not(.growth-factor-article) .science-box h3,
.article-page:not(.growth-factor-article) .warning-box h2,
.article-page:not(.growth-factor-article) .warning-box h3,
.article-page:not(.growth-factor-article) .routine-box h2,
.article-page:not(.growth-factor-article) .routine-box h3,
.article-page:not(.growth-factor-article) .viral-hook h2,
.article-page:not(.growth-factor-article) .viral-hook h3,
.article-page:not(.growth-factor-article) .bottom-line h2,
.article-page:not(.growth-factor-article) .bottom-line h3,
.article-page:not(.growth-factor-article) .quick-summary h2,
.article-page:not(.growth-factor-article) .quick-summary h3,
.article-page:not(.growth-factor-article) .download-cta h2,
.article-page:not(.growth-factor-article) .download-cta h3,
.article-page:not(.growth-factor-article) .neck-verdict h2,
.article-page:not(.growth-factor-article) .neck-verdict h3,
.article-page:not(.growth-factor-article) .product-score h2,
.article-page:not(.growth-factor-article) .product-score h3,
.article-page:not(.growth-factor-article) .review-score-card h2,
.article-page:not(.growth-factor-article) .review-score-card h3,
.article-page:not(.growth-factor-article) .rating-panel h2,
.article-page:not(.growth-factor-article) .rating-panel h3,
.article-page:not(.growth-factor-article) .verdict-banner h2,
.article-page:not(.growth-factor-article) .verdict-banner h3,
.article-page:not(.growth-factor-article) .faq-item h3,
.article-page:not(.growth-factor-article) .author-box h2,
.article-page:not(.growth-factor-article) .author-box h3 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--editorial-ink) !important;
  line-height: 1.25 !important;
}

.article-page:not(.growth-factor-article) :is(
  .quick-answer,
  .science-box,
  .warning-box,
  .routine-box,
  .article-internal-links,
  .viral-hook,
  .bottom-line,
  .quick-summary,
  .download-cta,
  .neck-verdict,
  .answer-box
) :is(p, li, strong, em, span, h2, h3, h4) {
  color: #39352f !important;
}

.article-page:not(.growth-factor-article) .article-card h2 em,
.article-page:not(.growth-factor-article) .article-card h3 em {
  color: #687254 !important;
}

.article-page:not(.growth-factor-article) .reason-label,
.article-page:not(.growth-factor-article) .fit-label,
.article-page:not(.growth-factor-article) .qp-label,
.article-page:not(.growth-factor-article) .myth-label,
.article-page:not(.growth-factor-article) .study-label,
.article-page:not(.growth-factor-article) .evidence-badge.low,
.article-page:not(.growth-factor-article) .verdict,
.article-page:not(.growth-factor-article) .myth-verdict-badge,
.article-page:not(.growth-factor-article) .myth-badge {
  color: #455238 !important;
}

.article-page:not(.growth-factor-article) .box-label,
.article-page:not(.growth-factor-article) .section-kicker,
.article-page:not(.growth-factor-article) .share-kicker {
  color: #4f5d42 !important;
}

.article-page:not(.growth-factor-article) .ing-tag.hero {
  color: #fffdf9 !important;
  background: #4e633f !important;
}

.article-page:not(.growth-factor-article) .grade-badge.no {
  color: #78374a !important;
  background: #f7dde3 !important;
  border-color: #e8bdc8 !important;
}

.article-page:not(.growth-factor-article) .test-day > span {
  color: #536447 !important;
}

.article-page:not(.growth-factor-article) .myth-header {
  color: var(--editorial-ink) !important;
  background: transparent !important;
}

.article-page:not(.growth-factor-article) .myth-number {
  color: var(--editorial-olive) !important;
}

.article-page:not(.growth-factor-article) .myth-claim {
  color: var(--editorial-ink) !important;
}

/* Scores and review summaries use one high-contrast light treatment. */
.article-page:not(.growth-factor-article) .product-score,
.article-page:not(.growth-factor-article) .review-score-card,
.article-page:not(.growth-factor-article) .rating-panel,
.article-page:not(.growth-factor-article) .score-block {
  margin: 38px 0 !important;
  padding: 28px !important;
  color: var(--editorial-ink) !important;
  background: #eef0e8 !important;
}

.article-page:not(.growth-factor-article) .score-head,
.article-page:not(.growth-factor-article) .review-score-top {
  display: grid !important;
  grid-template-columns: minmax(130px, .34fr) minmax(0, 1fr) !important;
  gap: 26px !important;
  align-items: center !important;
  text-align: left !important;
}

.article-page:not(.growth-factor-article) .score-number,
.article-page:not(.growth-factor-article) .score-number strong,
.article-page:not(.growth-factor-article) .score-num,
.article-page:not(.growth-factor-article) .rating-score strong,
.article-page:not(.growth-factor-article) .ps-score-num {
  color: #4e633f !important;
}

.article-page:not(.growth-factor-article) .score-copy,
.article-page:not(.growth-factor-article) .score-copy h2,
.article-page:not(.growth-factor-article) .score-copy h3,
.article-page:not(.growth-factor-article) .score-copy p,
.article-page:not(.growth-factor-article) .score-text,
.article-page:not(.growth-factor-article) .score-den,
.article-page:not(.growth-factor-article) .rating-score span,
.article-page:not(.growth-factor-article) .rating-verdict,
.article-page:not(.growth-factor-article) .rating-note,
.article-page:not(.growth-factor-article) .score-method,
.article-page:not(.growth-factor-article) .score-method strong,
.article-page:not(.growth-factor-article) .citation-note,
.article-page:not(.growth-factor-article) .score-number small,
.article-page:not(.growth-factor-article) .rating-number small {
  color: #49443d !important;
}

.article-page:not(.growth-factor-article) .score-grid > div,
.article-page:not(.growth-factor-article) .rating-item {
  min-width: 0 !important;
  padding: 15px !important;
  border: 1px solid #d4d8cb !important;
  border-radius: 4px !important;
  background: rgba(255, 253, 249, .78) !important;
}

.article-page:not(.growth-factor-article) .score-grid strong,
.article-page:not(.growth-factor-article) .rating-item strong,
.article-page:not(.growth-factor-article) .rating-item b {
  color: #425337 !important;
}

.article-page:not(.growth-factor-article) .score-grid span,
.article-page:not(.growth-factor-article) .rating-item span,
.article-page:not(.growth-factor-article) .rating-item p,
.article-page:not(.growth-factor-article) .rating-row label,
.article-page:not(.growth-factor-article) .rating-row b {
  color: #5f5a52 !important;
}

.article-page:not(.growth-factor-article) .rating-track {
  background: #d6dacd !important;
}

.article-page:not(.growth-factor-article) .rating-fill {
  background: #667a55 !important;
}

/* Source and FAQ containers should never inherit the old dark-card palette. */
.article-page:not(.growth-factor-article) section.references,
.article-page:not(.growth-factor-article) div.references,
.article-page:not(.growth-factor-article) details.references,
.article-page:not(.growth-factor-article) .source-details,
.article-page:not(.growth-factor-article) .faq-section,
.article-page:not(.growth-factor-article) .article-share-panel,
.article-page:not(.growth-factor-article) .author-box {
  color: var(--editorial-ink) !important;
  border-color: var(--editorial-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.article-page:not(.growth-factor-article) section.references h2,
.article-page:not(.growth-factor-article) div.references h2,
.article-page:not(.growth-factor-article) details.references h2,
.article-page:not(.growth-factor-article) .source-details h2,
.article-page:not(.growth-factor-article) .faq-section > h2 {
  color: var(--editorial-ink) !important;
}

.article-page:not(.growth-factor-article) .references summary,
.article-page:not(.growth-factor-article) .source-details summary,
.article-page:not(.growth-factor-article) .references li,
.article-page:not(.growth-factor-article) .references strong,
.article-page:not(.growth-factor-article) .references em,
.article-page:not(.growth-factor-article) .source-details li,
.article-page:not(.growth-factor-article) .source-details strong,
.article-page:not(.growth-factor-article) .source-details em {
  color: #49443d !important;
}

.article-page:not(.growth-factor-article) .references a,
.article-page:not(.growth-factor-article) .source-details a {
  color: #4e633f !important;
  overflow-wrap: anywhere;
}

.article-page:not(.growth-factor-article) .faq-item h3 {
  font-size: 1.12rem !important;
}

.article-page:not(.growth-factor-article) .faq-item p {
  margin: 0 !important;
}

/* Keep true controls readable after the global article link colour is applied. */
.article-page:not(.growth-factor-article) .article-card a.product-cta.primary,
.article-page:not(.growth-factor-article) .article-card a.purchase-link,
.article-page:not(.growth-factor-article) .article-card a.affiliate-button,
.article-page:not(.growth-factor-article) .article-card a.product-shop-button {
  color: #fffdf9 !important;
  background: #4e633f !important;
  border-color: #4e633f !important;
}

.article-page:not(.growth-factor-article) .article-card a.share-button-pinterest {
  color: #392f2c !important;
  background: #f0cbd2 !important;
  border-color: #dfabb6 !important;
}

.article-page:not(.growth-factor-article) img,
.article-page:not(.growth-factor-article) svg,
.article-page:not(.growth-factor-article) video,
.article-page:not(.growth-factor-article) canvas {
  max-width: 100%;
}

.article-page:not(.growth-factor-article) .article-card,
.article-page:not(.growth-factor-article) .article-card * {
  min-width: 0;
}

/* Script-injected recommendations are shared by the whole blog. */
.article-page:not(.growth-factor-article) .article-recommendations { margin: 0 !important; padding: 64px max(24px, calc((100% - 1120px) / 2)) 72px !important; border: 1px solid var(--editorial-line) !important; border-width: 1px 0 0 !important; background: #f4f1e9 !important; }
.article-page:not(.growth-factor-article) .article-recommendations-kicker { display: block; margin: 0 0 11px !important; color: #667054 !important; font-size: .68rem !important; font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase; }
.article-page:not(.growth-factor-article) .article-recommendations h2 { margin: 0 0 9px !important; padding: 0 !important; border: 0 !important; color: var(--editorial-ink) !important; font: 400 clamp(1.9rem, 3.3vw, 2.65rem)/1.12 var(--display) !important; }
.article-page:not(.growth-factor-article) .article-recommendations-intro { margin: 0 0 29px !important; color: var(--editorial-muted) !important; font-size: .92rem !important; line-height: 1.6 !important; }
.article-page:not(.growth-factor-article) .article-recommendations-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.article-page:not(.growth-factor-article) .article-recommendation-card { display: flex !important; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #d8d3ca !important; border-radius: 6px !important; background: var(--editorial-paper) !important; color: var(--editorial-ink) !important; text-decoration: none !important; transition: border-color 180ms ease, transform 180ms ease; }
.article-page:not(.growth-factor-article) .article-recommendation-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border: 0; border-bottom: 1px solid #e1ddd5; background: #ece9e1; }
.article-page:not(.growth-factor-article) .article-recommendation-copy { display: flex; min-height: 156px; flex: 1; flex-direction: column; align-items: flex-start; padding: 18px 19px 19px; }
.article-page:not(.growth-factor-article) .article-recommendation-category { margin-bottom: 8px; color: #687254; font-size: .63rem; font-weight: 700; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; }
.article-page:not(.growth-factor-article) .article-recommendation-title { color: var(--editorial-ink); font: 400 1.08rem/1.3 var(--display); text-wrap: balance; }
.article-page:not(.growth-factor-article) .article-recommendation-cta { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 18px; color: #4e633f; font-size: .72rem; font-weight: 700; letter-spacing: .04em; }
.article-page:not(.growth-factor-article) .article-recommendation-cta::after { content: "→"; font-size: .95rem; }
.article-page:not(.growth-factor-article) .article-recommendation-card:hover,
.article-page:not(.growth-factor-article) .article-recommendation-card:focus-visible { border-color: #8d987b !important; text-decoration: none; transform: translateY(-3px); }

@media (max-width: 700px) {
  .article-page:not(.growth-factor-article) .article-hero { padding: 48px 20px 42px !important; }
  .article-page:not(.growth-factor-article) .article-wrap { padding: 32px 18px 58px !important; }
  .article-page:not(.growth-factor-article) .article-card p,
  .article-page:not(.growth-factor-article) .article-card li { font-size: 1rem !important; line-height: 1.74 !important; }
  .article-page:not(.growth-factor-article) .article-card h2 { margin-top: 48px !important; }
  .article-page:not(.growth-factor-article) .toc { margin: 38px 0 48px !important; }
  .article-page:not(.growth-factor-article) .toc ol { grid-template-columns: 1fr; gap: 3px; }
  .article-page:not(.growth-factor-article) .related-links { grid-template-columns: 1fr; }
  .article-page:not(.growth-factor-article) .related-links a { min-height: 0; }
  .article-page:not(.growth-factor-article) .article-recommendations { padding: 48px 18px 54px !important; }
  .article-page:not(.growth-factor-article) .article-recommendations-intro { margin-bottom: 24px !important; }
  .article-page:not(.growth-factor-article) .article-recommendations-grid { grid-template-columns: 1fr; gap: 13px; }
  .article-page:not(.growth-factor-article) .article-recommendation-card { display: grid !important; grid-template-columns: minmax(124px, 38%) minmax(0, 1fr); }
  .article-page:not(.growth-factor-article) .article-recommendation-card img { height: 100%; min-height: 154px; aspect-ratio: auto; border: 0; border-right: 1px solid #e1ddd5; }
  .article-page:not(.growth-factor-article) .article-recommendation-copy { min-height: 154px; padding: 15px 16px; }
  .article-page:not(.growth-factor-article) .article-recommendation-title { font-size: 1rem; }
  .article-page:not(.growth-factor-article) .article-recommendation-cta { padding-top: 13px; }
  .article-page:not(.growth-factor-article) .quick-answer,
  .article-page:not(.growth-factor-article) .science-box,
  .article-page:not(.growth-factor-article) .warning-box,
  .article-page:not(.growth-factor-article) .routine-box,
  .article-page:not(.growth-factor-article) .article-internal-links,
  .article-page:not(.growth-factor-article) .viral-hook,
  .article-page:not(.growth-factor-article) .bottom-line,
  .article-page:not(.growth-factor-article) .quick-summary,
  .article-page:not(.growth-factor-article) .download-cta,
  .article-page:not(.growth-factor-article) .neck-verdict,
  .article-page:not(.growth-factor-article) .answer-box,
  .article-page:not(.growth-factor-article) .product-score,
  .article-page:not(.growth-factor-article) .review-score-card,
  .article-page:not(.growth-factor-article) .rating-panel,
  .article-page:not(.growth-factor-article) .score-block {
    padding: 21px 19px !important;
  }
  .article-page:not(.growth-factor-article) .score-head,
  .article-page:not(.growth-factor-article) .review-score-top {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
    align-items: start !important;
  }
  .article-page:not(.growth-factor-article) .score-grid,
  .article-page:not(.growth-factor-article) .rating-grid {
    grid-template-columns: 1fr !important;
  }
  .article-page:not(.growth-factor-article) .rating-row {
    grid-template-columns: minmax(86px, 112px) minmax(0, 1fr) 36px !important;
    gap: 8px !important;
  }
  .article-page:not(.growth-factor-article) .comparison-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
  }
  .article-page:not(.growth-factor-article) .comparison-scroll,
  .article-page:not(.growth-factor-article) .table-scroll {
    overflow: visible !important;
    border: 0 !important;
  }
  .article-page:not(.growth-factor-article) .comparison-table thead {
    display: none !important;
  }
  .article-page:not(.growth-factor-article) .comparison-table tbody {
    display: grid !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .article-page:not(.growth-factor-article) .comparison-table tr {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    overflow: hidden;
    border: 1px solid var(--editorial-line) !important;
    border-radius: 5px !important;
    background: var(--editorial-paper) !important;
    box-shadow: none !important;
  }
  .article-page:not(.growth-factor-article) .comparison-table td,
  .article-page:not(.growth-factor-article) .comparison-table tbody tr:nth-child(even) td {
    display: block !important;
    width: 100% !important;
    padding: 13px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--editorial-line) !important;
    background: transparent !important;
  }
  .article-page:not(.growth-factor-article) .comparison-table td:last-child {
    border-bottom: 0 !important;
  }
  .article-page:not(.growth-factor-article) .comparison-table .mobile-cell-label {
    display: block !important;
    margin-bottom: 4px;
    color: #566447 !important;
    font-size: .67rem !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    line-height: 1.35 !important;
    text-transform: uppercase;
  }
}

@media (max-width: 420px) {
  .article-page:not(.growth-factor-article) .article-hero { padding-inline: 17px !important; }
  .article-page:not(.growth-factor-article) .article-wrap { padding-inline: 16px !important; }
  .article-page:not(.growth-factor-article) .article-hero h1 { font-size: 2.22rem !important; }
  .article-page:not(.growth-factor-article) .article-meta .meta-dot { display: none !important; }
  .article-page:not(.growth-factor-article) .article-meta span { width: 100%; }
  .article-page:not(.growth-factor-article) .article-recommendation-card { grid-template-columns: 116px minmax(0, 1fr); }
  .article-page:not(.growth-factor-article) .article-recommendation-card img,
  .article-page:not(.growth-factor-article) .article-recommendation-copy { min-height: 148px; }
  .article-page:not(.growth-factor-article) .article-recommendation-copy { padding: 13px 14px; }
  .article-page:not(.growth-factor-article) .article-recommendation-title { font-size: .94rem; }
}
