/* One readable type scale for every page. Load this stylesheet last. */
:root {
  --type-page-title: clamp(48px, 5.5vw, 76px);
  --type-product-title: clamp(38px, 4.2vw, 58px);
  --type-section: clamp(36px, 4vw, 56px);
  --type-card-title: clamp(25px, 2.4vw, 30px);
  --type-copy: 16px;
  --type-small-copy: 13px;
  --line-copy: 1.7;
  --line-small-copy: 1.6;
}
body { font-size:16px; }
.home-page .hero h1,
.story-copy h1,
.contact-page-heading h1,
.not-found h1,
.detail-copy h1 {
  font-family:var(--sans);
  font-size:var(--type-page-title);
  font-weight:650;
  line-height:1.04;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.detail-copy h1 { font-size:var(--type-product-title); }
h1 em,h2 em { color:var(--clay);font-weight:500; }
.intro-grid h2,
.story-values h2,
.visit-copy h2,
.catalog-heading h2,
.related-products h2 { font-size:var(--type-section);line-height:1.12;letter-spacing:-.035em; }
.product-card-copy h3,
.story-value-grid h3 { font:500 var(--type-card-title)/1.18 var(--serif);letter-spacing:-.02em; }
.hero-intro,
.intro-text p,
.visit-copy>p:last-child,
.map-placeholder>p:not(.eyebrow),
.story-copy>p:not(.eyebrow),
.contact-page-heading>p:last-child,
.product-card-copy p,
.detail-lead,
.contact-detail address,
.contact-detail p,
.not-found p,
.story-value-grid p {
  font-family:var(--sans);
  font-size:var(--type-copy);
  line-height:var(--line-copy);
  color:var(--muted);
}
.catalog-note p,
.detail-example,
.contact-detail-note,
.hero-note,
.image-caption { font-size:var(--type-small-copy);line-height:var(--line-small-copy); }
.eyebrow,
.contact-detail .eyebrow,
.catalog-heading .eyebrow {
  font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.14em;
}
.product-category,
.story-value-grid article>span { font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.08em; }
.site-nav { font-size:12px;letter-spacing:.07em; }
.breadcrumbs { font-size:13px;line-height:1.5; }
.text-link,
.contact-detail .text-link,
.return-link { font-size:14px; }
.button { min-height:50px;gap:22px;font-size:13px;letter-spacing:.065em; }
.filter-chip { font-size:13px; }
.filter-chip span { font-size:12px;font-variant-numeric:tabular-nums; }
.catalog-count { font-size:13px; }
.detail-signature { font-size:12px; }
.site-footer { font-size:12px;line-height:1.5;letter-spacing:.02em; }
.footer-brand { font-size:12px; }
.site-footer small { font-size:12px; }
.hero-intro,.detail-lead { line-height:1.75; }
.related-product-copy>strong { text-wrap:balance; }
@media (max-width:1100px) {
  .site-nav { font-size:14px; }
}
@media (max-width:620px) {
  :root {
    --type-page-title: clamp(38px, 10.5vw, 50px);
    --type-product-title: clamp(34px, 9.5vw, 46px);
    --type-section: clamp(34px, 9vw, 42px);
    --type-card-title: 26px;
  }
  .eyebrow,.contact-detail .eyebrow,.catalog-heading .eyebrow { letter-spacing:.11em; }
  .home-page .hero h1,.detail-copy h1 { letter-spacing:-.04em; }
  .button { letter-spacing:.045em; }
}
