/* Legacy selectors include body.keep-or-replace; match that scope explicitly.
 * f-06: secondary pages, scoped so the flag-off renderer stays intact. */
body.keep-or-replace.front41-secondary-page {
  --kor-ink: #142b45; --kor-background: #f7f9fc; --kor-green: #1d5db6;
  --kor-muted: #475569; --color-text: #142b45; --color-primary: #1d5db6;
  --color-text-muted: #475569; --color-background: #f7f9fc;
  --color-border: #e2e8f0; --color-surface: #fff;
  --color-keep: #0f766e; --color-keep-bg: #e7f5f1; --color-focus: #1d5db6;
  --font-sans: Inter, Arial, sans-serif; --font-serif: Inter, Arial, sans-serif;
  margin: 0;
  background: var(--color-background);
  color: var(--color-text);
  font: var(--kor-text-body);
}
.front41-secondary-page .site-main-column { min-width: 0; }
body.keep-or-replace.front41-secondary-page .front41-secondary { box-sizing: border-box; min-width: 0; color: var(--color-text); }
body.keep-or-replace.front41-secondary-page .front41-secondary *, body.keep-or-replace.front41-secondary-page .front41-secondary *::before, body.keep-or-replace.front41-secondary-page .front41-secondary *::after { box-sizing: border-box; }
body.keep-or-replace.front41-secondary-page .front41-secondary main, body.keep-or-replace.front41-secondary-page main.front41-secondary {
  width: 100%; max-width: 1296px; margin: 0 auto;
  padding: 48px 24px 64px; background: transparent;
}
body.keep-or-replace.front41-secondary-page.front41-shell .front41-secondary main, body.keep-or-replace.front41-secondary-page.front41-shell main.front41-secondary {
  max-width: 1440px; padding-inline: 72px;
}
body.keep-or-replace.front41-secondary-page .front41-secondary h1 { max-width: 24ch; margin: 0; font: 700 clamp(32px, 3.3vw, 48px)/1.14 Inter, sans-serif; letter-spacing: -.025em; color: var(--color-text); }
body.keep-or-replace.front41-secondary-page .front41-secondary h2 { font: 700 clamp(24px, 2.4vw, 32px)/1.25 Inter, sans-serif; color: var(--color-text); }
body.keep-or-replace.front41-secondary-page .front41-secondary h3 { font: var(--kor-text-h3); color: var(--color-text); }
body.keep-or-replace.front41-secondary-page .front41-secondary p, body.keep-or-replace.front41-secondary-page .front41-secondary li { line-height: 1.7; overflow-wrap: anywhere; }
body.keep-or-replace.front41-secondary-page .front41-secondary a { color: var(--color-primary); text-underline-offset: 4px; }
body.keep-or-replace.front41-secondary-page .front41-secondary :is(a, button, input, select, summary):focus-visible {
  outline: 2px solid var(--color-focus); outline-offset: 4px;
}
body.keep-or-replace.front41-secondary-page .front41-secondary :is(button, .button) {
  border: 1px solid var(--color-primary); border-radius: 12px;
  padding: 12px 18px; background: var(--color-primary); color: white;
  font: var(--kor-text-label); white-space: normal; cursor: pointer;
}
body.keep-or-replace.front41-secondary-page .front41-secondary :is(input, select) {
  min-width: 0; max-width: 100%; min-height: 44px; padding: 10px 12px;
  border: 1px solid #94a3b8; border-radius: 12px; background: white;
  color: var(--color-text); font: inherit;
}
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.home-portal-hero, .trust-hero, .catalog-compact-hero, .methodology-hero, .blog-header) {
  min-height: auto; padding: 0 0 32px; margin: 0; background: transparent;
  border: 0; border-radius: 0; box-shadow: none; display: block;
}
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.home-portal-hero, .methodology-hero, .blog-header)::before,
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.home-portal-hero, .methodology-hero, .blog-header)::after { display: none; }
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.section-kicker, .blog-header__kicker, .methodology-hero__kicker, .front41-kicker) {
  color: var(--color-primary); font: var(--kor-text-label); letter-spacing: .06em;
}
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.trust-lead, .published-comparison-intro, .blog-header__description, .methodology-hero__description, .lede) {
  max-width: 70ch; color: var(--color-text-muted); font-size: 20px; line-height: 1.6;
}
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.content-section, .trust-grid article, .trust-policy-list section, .catalog-compare-dock, .context-strip, .filter-rail, .method-card, .method-principle, .methodology-note, .methodology-economics, .blog-card, .article-trust-box, .front41-method-card) {
  min-width: 0; padding: 24px; border: 1px solid var(--color-border);
  border-radius: 20px; background: var(--color-surface); box-shadow: none;
}
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.trust-grid, .front41-score-grid) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.trust-page, .methodology-page, .blog-page, .published-comparison-page) { gap: 32px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .trust-policy-list { display: grid; gap: 24px; }
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.trust-grid article, .front41-method-card) h2,
body.keep-or-replace.front41-secondary-page .front41-secondary .front41-method-card h3 { margin-top: 0; }
body.keep-or-replace.front41-secondary-page .front41-secondary .front41-score-methods { margin-bottom: 32px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .front41-method-card p { margin: 16px 0 0; font-size: 16px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .front41-method-card strong { color: var(--color-text); }
body.keep-or-replace.front41-secondary-page .front41-secondary .methodology-section { border-top: 1px solid var(--color-border); padding-block: 32px; }
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.methodology-nav, .page-links) { display: flex; flex-wrap: wrap; gap: 16px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .blog-article { max-width: 78ch; margin-inline: auto; }
body.keep-or-replace.front41-secondary-page .front41-secondary .blog-article__body { font-size: 18px; line-height: 1.8; }
body.keep-or-replace.front41-secondary-page .front41-secondary .blog-article__body section { margin-block: 40px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .blog-article__image { margin: 32px 0; }
body.keep-or-replace.front41-secondary-page .front41-secondary img { max-width: 100%; height: auto; }
body.keep-or-replace.front41-secondary-page .front41-secondary .blog-list { gap: 24px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .blog-card { overflow: hidden; }
body.keep-or-replace.front41-secondary-page .front41-secondary .blog-card__content { min-width: 0; }
body.keep-or-replace.front41-secondary-page .front41-secondary .catalog-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; }
body.keep-or-replace.front41-secondary-page .front41-secondary .filter-rail { position: static; }
body.keep-or-replace.front41-secondary-page .front41-secondary .catalog-filters { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; gap: 16px; padding: 0; background: transparent; border: 0; }
body.keep-or-replace.front41-secondary-page .front41-secondary .catalog-filters label { display: grid; min-width: 0; gap: 8px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .catalog-filters select { width: 100%; }
body.keep-or-replace.front41-secondary-page .front41-secondary .catalog-results { min-width: 0; }
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.product-list, .catalog-product-list) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .product-row { min-width: 0; width: 100%; border: 1px solid var(--color-border); border-radius: 20px; background: white; box-shadow: none; }
body.keep-or-replace.front41-secondary-page .front41-secondary :is(.catalog-more, .search-empty-state) { grid-column: 1 / -1; }
body.keep-or-replace.front41-secondary-page .front41-secondary .kor-card-content { min-width: 0; }
body.keep-or-replace.front41-secondary-page .front41-secondary .product-card-actions { flex-wrap: wrap; gap: 12px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .product-card-media { background: var(--color-background); }
body.keep-or-replace.front41-secondary-page .front41-secondary .catalog-compare-dock { margin-block: 0 24px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--color-border); border-radius: 16px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .comparison-table { width: 100%; min-width: 680px; border-collapse: separate; border-spacing: 0; }
body.keep-or-replace.front41-secondary-page .front41-secondary .comparison-table :is(th, td) { padding: 16px; border-bottom: 1px solid var(--color-border); vertical-align: top; }
body.keep-or-replace.front41-secondary-page .front41-secondary .comparison-table .comparison-criterion { position: sticky; left: 0; z-index: 1; width: 180px; min-width: 140px; max-width: 180px; background: var(--color-surface); box-shadow: 1px 0 var(--color-border); }
body.keep-or-replace.front41-secondary-page .front41-secondary .comparison-table thead .comparison-criterion { z-index: 2; }
body.keep-or-replace.front41-secondary-page .front41-secondary .comparison-section th { background: var(--color-background); }
body.keep-or-replace.front41-secondary-page .front41-secondary .comparison-unknown { color: var(--color-text-muted); white-space: normal; }
body.keep-or-replace.front41-secondary-page .front41-secondary .front41-recovery { max-width: 640px; margin-top: 24px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .front41-recovery label { display: block; margin-bottom: 8px; font-weight: 600; }
body.keep-or-replace.front41-secondary-page .front41-secondary .front41-recovery > div { display: flex; gap: 12px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .front41-recovery input { flex: 1; width: 100%; }
body.keep-or-replace.front41-secondary-page .front41-error { max-width: 960px; margin-inline: auto; padding: 48px 24px; }
body.keep-or-replace.front41-secondary-page .front41-error main { padding: 0; }
body.keep-or-replace.front41-secondary-page .front41-secondary .context-choice-grid { gap: 16px; }
@media (max-width: 900px) {
  body.keep-or-replace.front41-secondary-page .front41-secondary .catalog-layout { grid-template-columns: minmax(0, 1fr); }
  body.keep-or-replace.front41-secondary-page .front41-secondary .catalog-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.keep-or-replace.front41-secondary-page .front41-secondary .filter-heading { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  body.keep-or-replace.front41-secondary-page .front41-secondary main, body.keep-or-replace.front41-secondary-page main.front41-secondary,
  body.keep-or-replace.front41-secondary-page.front41-shell .front41-secondary main, body.keep-or-replace.front41-secondary-page.front41-shell main.front41-secondary { padding: 32px 16px 48px; }
  body.keep-or-replace.front41-secondary-page .front41-secondary :is(.trust-grid, .front41-score-grid, .product-list, .catalog-product-list, .catalog-filters, .method-card-grid, .method-overview, .methodology-outcomes, .methodology-section, .blog-list, .blog-card) { grid-template-columns: minmax(0, 1fr); }
  body.keep-or-replace.front41-secondary-page .front41-secondary :is(.content-section, .filter-rail, .catalog-compare-dock, .front41-method-card) { padding: 20px; }
  body.keep-or-replace.front41-secondary-page .front41-secondary .front41-recovery > div { flex-direction: column; }
  body.keep-or-replace.front41-secondary-page .front41-secondary .comparison-table .comparison-criterion { width: 130px; min-width: 130px; }
  body.keep-or-replace.front41-secondary-page .front41-secondary .published-comparison-devices { display: grid; grid-template-columns: minmax(0, 1fr); }
  body.keep-or-replace.front41-secondary-page .front41-secondary .blog-article__body { font-size: 17px; }
  body.keep-or-replace.front41-secondary-page .front41-error { padding: 32px 16px; }
}

body.keep-or-replace.front41-secondary-page .front41-secondary .filter-heading { display: grid; gap: 8px; grid-column: 1 / -1; }
body.keep-or-replace.front41-secondary-page .front41-secondary .filter-heading span { position: static; white-space: normal; font-size: 13px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .section-heading { display: flex; flex-wrap: wrap; gap: 16px; }
body.keep-or-replace.front41-secondary-page .front41-secondary .section-heading p { max-width: 44ch; }
body.keep-or-replace.front41-secondary-page .front41-secondary .kor-card-content h2 { font-size: 22px; line-height: 1.35; }
body.keep-or-replace.front41-secondary-page .front41-secondary p { color: var(--color-text-muted); }

/* Native comparison links retain the selected visual state without button ARIA. */
.front41-secondary .compare-toggle.is-selected { background: var(--color-keep-surface); color: var(--color-text); border-color: var(--color-brand-strong); }

/* f-17: independent editorial templates, sharing only published copy. */
.f17-page { display: grid; gap: 32px; overflow-wrap: anywhere; }
.f17-page h1, .f17-page h2, .f17-page h3 { margin-top: 0; }
.f17-page p { margin-top: 0; }
.f17-hero { padding-block: 16px; }
.f17-kicker { color: var(--color-primary); font: var(--kor-text-eyebrow); letter-spacing: .08em; text-transform: uppercase; }
.f17-lead { max-width: 70ch; color: var(--color-text-muted); font: var(--kor-text-body-large); }
.f17-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.f17-panel, .f17-columns article { min-width: 0; padding: 24px; border: 1px solid var(--color-border); border-radius: 20px; background: var(--color-surface); }
.f17-links { display: flex; flex-wrap: wrap; gap: 16px; }
.f17-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.f17-blog-card { min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: 20px; background: var(--color-surface); }
.f17-blog-card__image { display: block; aspect-ratio: 16 / 9; background: var(--color-background); }
.f17-blog-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.f17-blog-card__content { display: grid; gap: 16px; padding: 24px; }
.f17-blog-card__content h2 { margin: 0; font: var(--kor-text-h3); }
.f17-blog-card__meta, .f17-article__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; color: var(--color-text-muted); font: var(--kor-text-small); }
.f17-article { display: grid; gap: 32px; width: 100%; max-width: 78ch; margin-inline: auto; }
.f17-article header { display: grid; gap: 24px; }
.f17-article__body { font-size: 18px; line-height: 1.8; }
.f17-article__body section { margin-block: 40px; }
.f17-article__image { margin: 0; }
.f17-article__image img { display: block; width: 100%; border-radius: 20px; }
.f17-context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.f17-context-grid form { min-width: 0; }
body.keep-or-replace.front41-secondary-page .f17-context-grid .f17-context-link { display: flex; align-items: center; justify-content: center; box-sizing: border-box; border: var(--kor-border-width) solid; border-radius: var(--kor-radius-12); text-decoration: none; width: 100%; min-height: 96px; border-color: var(--color-border); background: var(--color-surface); color: var(--color-primary); font: var(--kor-text-h3); }
body.keep-or-replace.front41-secondary-page .f17-context-grid .f17-context-link:hover { border-color: var(--color-primary); }
.front41-legal-page { padding-block: 48px 64px; }
.front41-legal-page h1 { font: var(--kor-text-h1); }
.front41-legal-page .f17-panel { max-width: 85ch; line-height: 1.8; }
.front41-legal-page h2 { margin-top: 32px; font: var(--kor-text-h3); }
.front41-legal-page h2:first-child { margin-top: 0; }
.front41-legal-page a { color: var(--color-primary); }
/* f-06 layouts previously completed by legacy sheets. */
.front41-secondary .method-overview, .front41-secondary .method-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.front41-secondary .method-overview article { display: flex; gap: 16px; }
.front41-secondary .methodology-outcomes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-block: 32px; }
.front41-secondary .methodology-outcome { padding: 24px; border-radius: 20px; background: var(--color-keep-bg); }
.front41-secondary .methodology-outcome--replace { background: var(--color-replace-bg); }
.front41-secondary .methodology-outcome--unavailable { background: var(--color-check-bg); }
.front41-secondary .methodology-nav { margin-block: 32px; }
.front41-secondary .published-comparison-devices { display: flex; gap: 24px; flex-wrap: wrap; }
.front41-secondary .published-comparison-devices a { display: grid; gap: 8px; }
.front41-secondary .comparison-table caption { text-align: left; margin-block: 16px; }
.front41-secondary .context-strip { padding: 24px; margin-block: 24px; border: 1px solid var(--color-border); border-radius: 20px; }
.front41-secondary .search-result-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.front41-secondary .product-card-media img { width: 100%; max-height: 240px; object-fit: contain; }
.front41-secondary .product-card-media { display: block; }
.front41-secondary .kor-card-content { padding: 24px; }
.front41-secondary .product-card-actions, .front41-secondary .catalog-compare-dock__heading, .front41-secondary .compare-chips { display: flex; gap: 16px; flex-wrap: wrap; }
.front41-secondary .catalog-compare-dock { margin-bottom: 24px; }
@media (max-width: 1100px) {
  .f17-blog-grid, .f17-context-grid, .f17-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .f17-blog-grid, .f17-context-grid, .f17-columns, .front41-secondary .method-overview, .front41-secondary .method-card-grid, .front41-secondary .methodology-outcomes, .front41-secondary .search-result-list { grid-template-columns: minmax(0, 1fr); }
  .front41-legal-page { padding-block: 32px 48px; }
  .front41-legal-page h1 { font-size: 36px; }
}

/* Keep component typography ahead of the f-06 page-wide heading rules. */
body.keep-or-replace.front41-secondary-page .f17-page .f04-category-card h2,
body.keep-or-replace.front41-secondary-page .f17-page .f17-blog-card h2 { font: var(--kor-text-h3); }
body.keep-or-replace.front41-secondary-page .front41-secondary .f17-context-grid .f17-context-link { background: var(--color-surface); color: var(--color-primary); border-color: var(--color-border); font: var(--kor-text-h3); }
.front41-secondary .product-row .meta-line { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font: var(--kor-text-small); }
.front41-secondary .product-row .kor-card-facts { display: grid; gap: 8px; }
.front41-secondary .product-row .kor-card-facts div { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--color-border); padding-block: 8px; }
.front41-secondary .product-row .kor-card-facts dd { margin: 0; text-align: right; }
.front41-secondary .product-row .product-decision { display: grid; gap: 8px; padding: 12px; margin-block: 16px; border-radius: 12px; background: var(--color-keep-bg); }
.front41-secondary .product-row .product-decision strong { color: var(--color-keep); }
.front41-secondary .product-row .product-decision small { color: var(--color-text-muted); }
.front41-secondary .product-row .kor-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: currentColor; }
.front41-secondary .product-row[data-tone="unknown"] .product-decision { background: var(--color-check-bg); }
.front41-secondary .product-row[data-tone="unknown"] .product-decision strong { color: var(--color-text-muted); }
.front41-secondary .product-row[data-tone="replace"] .product-decision { background: var(--color-replace-bg); }
.front41-secondary .product-row[data-tone="replace"] .product-decision strong { color: var(--color-replace); }

body.keep-or-replace.front41-secondary-page .f17-page .f17-kicker { color: var(--color-primary); }
/* Search result cards open the product from anywhere; image info and compare stay usable. */
.front41-secondary .product-row { position: relative; transition: box-shadow .15s, transform .15s; }
.front41-secondary .product-row h2 a::after { content: ""; position: absolute; inset: 0; }
.front41-secondary .product-row:hover { box-shadow: 0 8px 24px rgba(20, 43, 69, .08); transform: translateY(-2px); }
.front41-secondary .product-row details, .front41-secondary .product-row .compare-toggle { position: relative; z-index: 1; }
