/*
 * Human-review readability remediation.
 *
 * This file is intentionally limited to typography, readable spacing, contrast,
 * touch targets, and the reflow needed by larger text. It does not change copy,
 * evidence, product order, commerce eligibility, images, or navigation logic.
 */
:root {
  --read-h1: 44px;
  --read-h2: 30px;
  --read-h3: 22px;
  --read-lead: 19px;
  --read-body: 18px;
  --read-note: 16px;
  --read-control: 16px;
  --read-card-title: 20px;
  --read-muted: #455b5d;
  --read-muted-dark: #d2dddb;
}

html { font-size: 18px; }
body { font-size: var(--read-body); line-height: 1.85; }
p { font-size: var(--read-body); line-height: 1.9; }
small, figcaption { font-size: var(--read-note); line-height: 1.75; }
button, select, input, textarea { font-size: var(--read-control); }
button, select, summary, .button { min-height: 44px; }
.button, .button--small, .text-link { font-size: var(--read-control); line-height: 1.65; }

h1, h2, h3, h4 {
  overflow-wrap: anywhere;
  word-break: normal;
  letter-spacing: -.02em;
  text-wrap: balance;
}
h1 { line-height: 1.45; }
h2 { font-size: var(--read-h2); line-height: 1.5; }
h3, h4 { font-size: var(--read-h3); line-height: 1.55; }
@supports (word-break: auto-phrase) {
  h1, h2, h3, h4 { word-break: auto-phrase; }
}
.article-hero h1 { text-wrap: pretty; }
[data-page="article-underwear-front-opening"] .article-hero h1 {
  text-wrap: balance;
  word-break: normal;
}

/* Header and primary navigation. */
.site-header__inner { gap: 22px; }
.brand__wordmark { flex-wrap: wrap; row-gap: 5px; line-height: 1.25; }
.brand .brand__wordmark b,
.brand .brand__wordmark em,
.brand--editorial > small { font-size: var(--read-note); letter-spacing: .035em; }
.brand--editorial { min-height: 44px; }
.site-header .publication-nav a,
.site-header .mobile-publication-nav nav a,
.mobile-publication-nav summary {
  min-height: 44px;
  font-size: var(--read-control);
  line-height: 1.6;
}
.mobile-publication-nav summary { min-width: 64px; }
.mobile-publication-nav nav { max-height: calc(100dvh - 72px); overflow-y: auto; }

/* Editorial labels, metadata, breadcrumbs, and secondary links. */
.editorial-kicker, .c3-section-number, .editorial-section-heading > span,
.editorial-section-heading p:first-child, .category-ledger__item > span,
.editorial-note-list span, .v4-question-ledger li span, .reading-index small,
.editorial-product-row__identity small, .editorial-product-row__identity p,
.editorial-product-row li > span, .compare-product-link small,
.compare-product-link em, .v4-method-note span, .product-model,
.product-key-facts li > span, .editorial-interpretation > span,
.official-evidence > span, .commerce-label, .commercial-label,
.product-fact-group > header span, .product-fact-group dt,
.official-evidence small, .article-meta, .article-section__number,
.product-maker, .model-number, .verified-at, .source-id, .eyebrow,
.category-label, .subset-note, .policy-status dt, .result-note,
.field-help, .verification-line span, .fact-list dt, .source-list p {
  font-size: var(--read-note);
  line-height: 1.75;
  letter-spacing: .015em;
}
.breadcrumbs, .v4-category-hero .breadcrumbs, .v4-compare-intro .breadcrumbs,
.v4-product-hero .breadcrumbs { font-size: var(--read-note); line-height: 1.7; align-items: center; }
.breadcrumbs a { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; }
.contact-state a, .editorial-text-link, .v4-category-actions a,
.editorial-product-row > a, .v4-method-note a, .official-evidence a,
.reading-index span, .article-sources a, .article-sources li a,
.c3-home-hero__actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-size: var(--read-control);
  line-height: 1.65;
}

/* Lead and body reading. */
.c3-home-hero h1, .v4-category-hero h1, .v4-compare-intro h1,
.v4-product-hero h1, .article-hero h1, .trust-hero h1, .page-hero h1 {
  font-size: var(--read-h1);
  line-height: 1.45;
  letter-spacing: -.025em;
}
.c3-home-hero__lead, .v4-home-hero__lead, .v4-category-hero h1 + p,
.article-lead, .trust-hero .page-lead,
.page-hero > .shell > p:last-child, .page-hero__grid > div > p:last-child,
.product-position, .result-lead {
  font-size: var(--read-lead);
  line-height: 1.9;
}
.v4-home-note p, .category-ledger__item p, .editorial-note-list p,
.c3-brand-story p, .c3-method-story li span, .c3-method-story li b,
.v4-method-note p, .c3-navigator-method p, .editorial-interpretation p,
.editorial-interpretation ul, .concept-list li, .privacy-strip p,
.result-product p, .commerce-card p, .trust-card p, .contact-state p,
.contact-state small, .status-definition-grid p, .evidence-note,
.privacy-facts li, .article-sources li p, .article-section p,
.key-takeaway p:last-child, .c3-compare-intro__grid > div > p:last-child,
.c3-home-hero__trust {
  font-size: var(--read-body);
  line-height: 1.9;
}
.c3-brand-story h2, .c3-method-story h2, .editorial-section-heading h2,
.editorial-interpretation h2, .article-section h2, .official-evidence h2,
.c3-navigator-method h2, .navigator-aside h2, .trust-card h2 {
  font-size: var(--read-h2);
  line-height: 1.5;
}
.category-ledger__item h3, .editorial-note-list h3, .reading-index h3 {
  font-size: var(--read-h3);
  line-height: 1.55;
}
.category-ledger__item > b { font-size: var(--read-note); line-height: 1.7; }
.story-figure figcaption, .story-figure--compare figcaption,
.story-figure--navigator figcaption {
  max-width: 100%;
  padding: 10px 12px;
  font-size: var(--read-note);
  line-height: 1.7;
}

/* Category and product indexes. */
.editorial-product-row__identity h3 {
  font-size: var(--read-card-title);
  line-height: 1.55;
}
.editorial-product-row ul { gap: 20px; }
.editorial-product-row li > span { margin-bottom: 6px; }
.v4-question-ledger li, .v4-guide-index a, .guide-card p,
.principle p, .care-list b { font-size: var(--read-body); line-height: 1.8; }
.guide-card > span, .guide-card b, .method-link a { font-size: var(--read-note); }

/* Evidence states remain text-first and epistemically unchanged. */
.evidence-state, .evidence-state--compact,
.evidence-state > span, .evidence-state small,
.evidence-state--compact small, .state-value,
.status-badge, .status-badge--compact, .limited-axis__products b {
  font-size: var(--read-note);
  line-height: 1.75;
}
.evidence-state small, .evidence-state--compact small { margin-top: 4px; color: var(--read-muted); }
.product-key-facts .evidence-state,
.editorial-product-row .evidence-state { display: inline-grid; }

/* Comparison controls, matrix, and compact mobile disclosure. */
.v4-compare-controls > .shell { padding-block: 14px; gap: 22px; }
.v4-compare-controls span, .v4-compare-controls p {
  font-size: var(--read-note);
  line-height: 1.7;
}
.compare-controls__buttons { gap: 10px; }
.compare-controls__buttons button {
  min-height: 46px;
  padding: 9px 14px;
  font-size: var(--read-control);
  line-height: 1.55;
}
.v4-comparison-matrix { font-size: var(--read-note); }
.v4-comparison-matrix thead th,
.v4-comparison-matrix tbody th small,
.v4-comparison-matrix tbody th span {
  font-size: var(--read-note);
  line-height: 1.7;
}
.v4-comparison-matrix tbody th a,
.compare-product-link b {
  min-height: 44px;
  display: flex;
  align-items: center;
  font-size: 18px;
  line-height: 1.6;
}
.v4-comparison-matrix th, .v4-comparison-matrix td {
  padding: 22px 14px;
  overflow-wrap: anywhere;
}

/* Product details, source evidence, and commerce. */
.product-fact-group h2 { font-size: 28px; }
.product-fact-group dl > div {
  grid-template-columns: minmax(145px, .65fr) minmax(0, 1fr);
  gap: 24px;
  padding-block: 18px;
}
.commerce-card h2, .result-product h4 {
  font-size: var(--read-card-title);
  line-height: 1.6;
}
.commerce-card small, .commerce-variant-note, .commerce-disclosure {
  font-size: var(--read-note);
  line-height: 1.75;
}
.amazon-cta {
  min-height: 48px;
  font-size: var(--read-control);
  line-height: 1.65;
  white-space: normal;
  overflow-wrap: anywhere;
}
.article-sources li p, .source-list p, .article-sources small {
  font-size: var(--read-note);
  line-height: 1.8;
}

/* Navigator: readable questions, hints, answers, and action. */
.navigator-card legend { font-size: 21px; line-height: 1.6; }
.navigator-card legend span, .navigator-aside dt, .result-group h3 span {
  font-size: var(--read-note);
}
.navigator-card .choice b, .navigator-card .choice small {
  font-size: var(--read-note);
  line-height: 1.75;
}
.choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Footer and disclosure contrast/size. */
.editorial-footer__brand b {
  font-size: var(--read-note);
  letter-spacing: .035em;
  line-height: 1.7;
}
.editorial-footer__brand p { font-size: 18px; }
.editorial-footer__brand small, .editorial-footer nav b {
  color: var(--read-muted-dark);
  font-size: var(--read-note);
  line-height: 1.75;
  letter-spacing: .025em;
}
.editorial-footer nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: #eef3f1;
  font-size: var(--read-note);
  line-height: 1.7;
}
.site-amazon-disclosure {
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 28px;
}
.site-amazon-disclosure span,
.site-amazon-disclosure p {
  color: var(--read-muted-dark);
  font-size: var(--read-note);
  line-height: 1.8;
}

/* Reflow dependencies required by the larger text. */
@media (max-width: 1200px) {
  .brand--editorial > small { display: none; }
  .editorial-product-row {
    grid-template-columns: 40px minmax(200px, 1fr) minmax(300px, 1.2fr);
  }
  .editorial-product-row > a { grid-column: 2 / -1; justify-self: start; }
  .v4-product-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; }
  .product-fact-group dl { margin-left: 0; }
  .product-fact-group dl > div { grid-template-columns: 1fr; gap: 8px; }
  .product-key-facts { grid-template-columns: 1fr; }
  .product-key-facts li {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--v4-line);
  }
}

@media (max-width: 1023px) {
  .v4-compare-controls { position: static; }
  .v4-matrix-wrap { display: none; }
  .v4-mobile-comparison { display: grid; border-top: 1px solid var(--v4-line-dark); }
  .v4-compare .v4-compare-index { display: none; }
  .mobile-compare-item { border-bottom: 1px solid var(--v4-line-dark); padding: 28px 0; }
  .mobile-compare-item > header {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 18px;
  }
  .mobile-compare-item header small, .mobile-compare-item header p,
  .mobile-compare-item > header > span, .mobile-compare-item dt {
    font-size: var(--read-note);
    line-height: 1.7;
  }
  .mobile-compare-item h2 {
    margin-block: 6px;
    font-family: var(--v4-sans);
    font-size: var(--read-card-title);
    line-height: 1.55;
  }
  .mobile-compare-item dl { margin: 0; }
  .mobile-compare-item dl > div {
    display: grid;
    grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr);
    gap: 16px;
    border-top: 1px solid var(--v4-line);
    padding: 16px 0;
  }
  .mobile-compare-item dd { margin: 0; }
  .mobile-compare-item details { border-top: 1px solid var(--v4-line-dark); margin-top: 12px; }
  .mobile-compare-item summary, .mobile-compare-item > a {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding-block: 8px;
    font-size: var(--read-control);
    line-height: 1.65;
  }
  .mobile-compare-item > a { margin-top: 12px; }
  .editorial-product-row { grid-template-columns: 34px minmax(0, 1fr); }
  .editorial-product-row ul { grid-column: 2; }
  .v4-product-layout { grid-template-columns: 1fr; }
  .commerce-card { position: static; }
}

@media (max-width: 900px) {
  .c3-home-hero__grid, .story-figure--home { min-height: 0; }
  .c3-home-hero__copy { padding: 0 0 32px; }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .c3-home-hero h1 { font-size: 40px; }
}

@media (max-width: 720px) {
  :root {
    --read-h1: 34px;
    --read-h2: 27px;
    --read-h3: 21px;
    --read-lead: 18px;
    --read-body: 18px;
    --read-note: 16px;
    --read-card-title: 20px;
  }
  html { font-size: 18px; }
  .site-header__inner { gap: 14px; }
  .brand--editorial { flex: 1; min-width: 0; }
  .brand__wordmark { max-width: 245px; }
  .mobile-publication-nav { flex: 0 0 auto; }
  .mobile-publication-nav nav { max-height: calc(100dvh - 62px); }
  .c3-home-hero__grid { padding-top: 30px; }
  .c3-home-hero h1 { margin: 12px 0 20px; }
  .c3-brand-story h2 br, .c3-method-story h2 br { display: none; }
  .c3-home-hero__actions { margin-top: 18px; gap: 8px; }
  .c3-method-story li { grid-template-columns: 1fr; gap: 5px; }
  .editorial-product-row ul { grid-template-columns: 1fr; gap: 14px; }
  .compare-controls__buttons { flex-wrap: wrap; overflow: visible; }
  .compare-controls__buttons button { flex: 1 1 140px; white-space: normal; }
  .v4-compare-controls > .shell > div:first-child { flex-wrap: wrap; gap: 8px; }
  .mobile-compare-item dl > div {
    grid-template-columns: minmax(112px, .78fr) minmax(0, 1.22fr);
    gap: 14px;
  }
  .product-fact-group h2 { font-size: 25px; }
  .choice-grid, .choice-grid--two { grid-template-columns: 1fr; }
  .site-amazon-disclosure { grid-template-columns: 1fr; gap: 10px; }
  .editorial-footer__brand p { font-size: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}
