/* Readability layer: no user-facing text below 12px. */
:root {
  --text-micro: 0.75rem;
  --text-meta: 0.8125rem;
  --text-label: 0.875rem;
}

.brand-word small,
.desktop-nav a i,
.lab-status,
.hero-code,
.pack-index,
.evidence,
.molecule span,
.formula-core span,
.formula-node span,
.compare-cards span,
.collection-covers span,
.pack-story-copy span,
.quality-passport span,
.scene-stage span,
.digital-passport > span,
.evidence-magnifier span,
.lab-toggle,
.lab-mode .page::before {
  font-size: var(--text-micro);
  line-height: 1.35;
  letter-spacing: 0.08em;
}

.eyebrow,
.tag,
.fact span,
.source-pill,
.doc-status,
.gallery-count,
.breadcrumbs,
.glass-note,
.product-info .meta,
.footer .muted {
  font-size: var(--text-meta);
  line-height: 1.4;
}

.eyebrow,
.fact span,
.photo-copy span {
  letter-spacing: 0.09em;
}

.photo-copy span,
.compare th,
.journey-line span,
.viewer360 > span,
.viewer360 > p {
  font-size: var(--text-label);
  line-height: 1.45;
}

.formula-node {
  font-size: var(--text-label);
  line-height: 1.35;
}

.seo-header nav,
.seo-footer {
  font-size: var(--text-label);
  line-height: 1.5;
}

@media (max-width: 620px) {
  .bottom-nav a,
  .bottom-nav button {
    font-size: var(--text-micro);
    line-height: 1.2;
  }

  .fact b,
  .gallery-count {
    font-size: var(--text-meta);
  }

  .photo-banner-lab .photo-copy p,
  .viewer360 > p {
    font-size: var(--text-label);
  }
}
