/* Unified variable-font system and readability pass. */
:root {
  --serif: "Roboto Flex", sans-serif;
  --sans: "Roboto Flex", sans-serif;
  --mono: "Roboto Flex", sans-serif;
}

body {
  font-size: 16px;
  line-height: 1.55;
  font-family: "Roboto Flex", sans-serif;
  font-variation-settings: "opsz" 14, "wdth" 100;
}

/* One family throughout; hierarchy comes from width, weight and spacing. */
.hero h1,
.page-intro h1,
.shop-hero h1,
.release-info h1 {
  font-family: "Roboto Flex", sans-serif;
  font-variation-settings: "opsz" 72, "wdth" 87;
}

.section h2,
.tracklist h2,
.series-panels h2 {
  font-family: "Roboto Flex", sans-serif;
  font-variation-settings: "opsz" 56, "wdth" 92;
}

.method-copy h2,
.journal-grid h2,
.service-notes h3 {
  font-family: "Roboto Flex", sans-serif;
  font-variation-settings: "opsz" 48, "wdth" 94;
}

.release-card h3,
.catalog-grid h3,
.edition-list b,
.process-note h3,
.product-info h2,
.product-info strong,
.lab-criteria b {
  font-family: "Roboto Flex", sans-serif;
  font-variation-settings: "opsz" 32, "wdth" 100;
}

.eyebrow,
.tag,
.status,
.release-card .meta,
.catalog-grid small,
.spec-grid small,
.buy-panel small,
.product-info small,
.journal-grid small,
.catalog-count,
.back-link,
.tracklist li span,
.tracklist li em,
.shop-filters button,
.service-notes span,
.series-panels span,
.lab-criteria span,
footer p {
  font-family: "Roboto Flex", sans-serif;
  font-variation-settings: "opsz" 11, "wdth" 96;
  letter-spacing: .09em;
}

.brand-name {
  font-family: "Roboto Flex", sans-serif;
  font-variation-settings: "opsz" 18, "wdth" 88;
}

.brand-subtitle {
  font-family: "Roboto Flex", sans-serif;
  font-variation-settings: "opsz" 8, "wdth" 94;
}

.brand-subtitle { font-size: 8px; }
.site-header nav a,
.header-tools button { font-size: 13px; }
.eyebrow { font-size: 12px; line-height: 1.5; }
.button,
.text-link { font-size: 12px; }
.hero-index { font-size: 11px; }
.disc-ring span,
.disc-ring small { font-size: 10px; }
.floating-note span { font-size: 11px; }
.manifesto-strip { font-size: 11px; }

.tag,
.status,
.release-card .meta,
.catalog-grid small,
.spec-grid small,
.buy-panel small,
.process-note dt,
.process-note dd,
.product-visual > span,
.product-info small,
.journal-grid small {
  font-size: 11px;
  line-height: 1.5;
}

.release-card .sub,
.catalog-grid p,
.product-info p,
.service-notes p {
  font-size: 14px;
  line-height: 1.6;
}

.scale,
.meter-label { font-size: 11px; }
.criteria span { font-size: 12px; line-height: 1.6; }
.edition-list span,
.edition-list em,
.edition-list a { font-size: 12px; }
.catalog-toolbar > button,
.view-switch button { font-size: 12px; }
.catalog-count,
.catalog-count button,
.back-link { font-size: 12px; }
.spec-grid b { font-size: 14px; }
.tracklist li span,
.tracklist li em { font-size: 12px; }
.shop-filters button,
.product-info button,
.service-notes span,
.series-panels span,
.lab-criteria span { font-size: 12px; }
.footer-brand span,
footer p { font-size: 12px; }
.footer-brand + div a { font-size: 13px; }
.prototype-bar > span,
.prototype-bar small,
.prototype-bar button { font-size: 11px; }

@media (max-width: 900px) {
  .site-header nav a,
  .header-tools button { font-size: 12px; }
  .prototype-bar button { font-size: 10px; }
}
