/* Step 2: local typefaces and a shared, responsive reading hierarchy. */
@font-face { font-family: Manrope; font-style: normal; font-weight: 400; font-display: swap; src: url('../reference/fonts/manrope-400.ttf') format('truetype'); }
@font-face { font-family: Manrope; font-style: normal; font-weight: 600; font-display: swap; src: url('../reference/fonts/manrope-600.ttf') format('truetype'); }
@font-face { font-family: Manrope; font-style: normal; font-weight: 700; font-display: swap; src: url('../reference/fonts/manrope-700.ttf') format('truetype'); }
@font-face { font-family: Manrope; font-style: normal; font-weight: 800; font-display: swap; src: url('../reference/fonts/manrope-800.ttf') format('truetype'); }
:root {
  --body: Manrope, 'Segoe UI', Arial, sans-serif;
  --display: Manrope, 'Segoe UI', Arial, sans-serif;
  --mono: Manrope, 'Segoe UI', Arial, sans-serif;
}
body { font-size: 1rem; line-height: 1.65; }
button, input, textarea, select { font-family: var(--body); }
h1, h2, h3, .collection-name {
  font-family: var(--display); font-weight: 700; letter-spacing: -.035em;
  text-transform: none; line-height: 1.2; overflow-wrap: break-word;
}
.hero h1 { max-width: 13ch; font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 800; line-height: 1.08; letter-spacing: -.045em; text-transform: none; }
.page-hero h1, .utility-heading h1, .empty-cart-page h1, .checkout-form h1,
.policy-page h1, .contact-hero h1, .account-intro h1, .about-hero h1 {
  font-size: clamp(1.875rem, 3.5vw, 3rem); font-weight: 700;
  line-height: 1.15; letter-spacing: -.035em; text-transform: none;
}
.section-intro h2, .shop-head h2, .story-title h2, .journal-copy h2,
.cta h2, .product-content-intro h2, .related-heading h2,
.contact-details-heading h2, .contact-form-heading h2, .contact-visit h2,
.about-story h2, .about-beliefs h2, .about-difference h2, .about-cta h2,
.account-form h2 {
  font-size: clamp(1.625rem, 2.7vw, 2.25rem); font-weight: 700;
  line-height: 1.2; text-transform: none; letter-spacing: -.03em;
}
.product-info-panel h1, .product-details h3 {
  font-size: clamp(1.625rem, 2.7vw, 2.5rem); font-weight: 700;
  line-height: 1.2; text-transform: none; letter-spacing: -.03em;
}
.story-step h3, .belief-grid h3, .difference-grid h3 { font-size: clamp(1.375rem, 2vw, 1.75rem); font-weight: 700; line-height: 1.25; text-transform: none; }
.catalog-card-copy h3 { font-size: 1.125rem; font-weight: 700; line-height: 1.35; letter-spacing: -.02em; text-transform: none; text-wrap: pretty; }
.catalog-card-copy > p:not(.eyebrow) { font-size: 1rem; line-height: 1.55; }
.collection-name { font-size: clamp(1rem, 1.5vw, 1.375rem); font-weight: 700; line-height: 1.3; text-transform: none; }
.cart-line-copy h2 { font-size: clamp(1.125rem, 1.7vw, 1.5rem); font-weight: 700; line-height: 1.35; text-transform: none; }
.empty-results h2, .cart-empty strong { font-size: 1.75rem; font-weight: 700; line-height: 1.2; text-transform: none; }
.policy-page h2 { font-size: clamp(1.375rem, 2vw, 1.75rem); font-weight: 700; line-height: 1.3; text-transform: none; }
.policy-page p, .terms-page ul { font-size: 1rem; line-height: 1.75; }
.policy-page .policy-lede { font-size: 1.125rem; }
.policy-page article { max-width: 72ch; }
.product-accordions summary { font-size: 1.125rem; font-weight: 700; line-height: 1.4; text-transform: none; letter-spacing: 0; }
.product-lede, .hero-copy, .active-description, .about-story-copy p,
.story-step > p:last-child, .journal-copy > p:not(.eyebrow),
.account-intro > p:not(.eyebrow), .contact-hero > p:last-child { font-size: 1rem; line-height: 1.7; }

/* Small labels stay distinct without the old tiny, widely spaced lettering. */
.eyebrow, .results-count, .product-meta-row, .variant-options legend,
.footer-bottom, .account-stats span { font-size: .75rem; font-weight: 700; line-height: 1.5; letter-spacing: .045em; }
.product-badge, .product-price-line > span, .product-image-placeholder small,
.product-breadcrumb { font-size: .75rem; line-height: 1.4; letter-spacing: 0; }
.form-grid label { font-size: .875rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.form-grid input, .form-grid textarea { font-size: 1rem; line-height: 1.5; }
.button, .text-link, .category-filters button, .shop-results-head button,
.site-search-form button, .product-search input { font-size: .875rem; font-weight: 700; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.button { white-space: normal; }
.price-pair strong { font-size: 1.125rem; font-weight: 800; }
.price-pair del { font-size: .875rem; }
.product-price-line strong { font-size: 1.75rem; font-weight: 800; }
.product-price-line del { font-size: 1rem; }
.trust-strip { font-size: .875rem; line-height: 1.5; }
.trust-strip strong { text-transform: none; }
.order-summary > p:not(.eyebrow), .coming-soon-callout p,
.cart-item p, .cart-item button, .checkout-line small { font-size: .875rem; line-height: 1.6; }
.footer-links a { font-size: .875rem; line-height: 1.6; }
.ticker-item strong { font-size: clamp(1rem, 1.4vw, 1.25rem); font-weight: 700; letter-spacing: 0; }
.ticker-item small { font-size: .75rem; letter-spacing: .025em; }
.menu-drawer nav a { font-size: clamp(1.375rem, 2.3vw, 1.875rem); font-weight: 700; line-height: 1.25; text-transform: none; letter-spacing: -.025em; }
.menu-drawer-action { font-size: 1rem; font-weight: 700; line-height: 1.4; text-transform: none; }
.menu-drawer .menu-note, .menu-drawer-foot > a { font-size: .75rem; line-height: 1.5; }
.search-results strong { font-size: 1rem; font-weight: 700; line-height: 1.4; text-transform: none; letter-spacing: 0; }
.search-results small { font-size: .75rem; line-height: 1.4; }
.site-search-form input { font-size: clamp(1.125rem, 3vw, 2rem); font-weight: 600; line-height: 1.4; text-transform: none; }

@media (max-width: 767px) {
  .hero h1 { max-width: 12ch; }
  .catalog-card-copy h3 { font-size: 1rem; line-height: 1.35; }
  .product-info-panel h1 { font-size: 1.625rem; }
  .button { font-size: .875rem; }
  .product-search input { font-size: 1rem; }
  .trust-strip { overflow-wrap: anywhere; }
}
