/* VIA Meat — balanced premium typography system */
:root{
  --type-display:clamp(46px,4.2vw,62px);
  --type-h2:clamp(34px,3vw,48px);
  --type-h3:clamp(18px,1.45vw,22px);
  --type-body:16px;
  --type-body-lg:18px;
  --type-small:14px;
  --type-eyebrow:12px;
}

body{
  font-size:var(--type-body);
  line-height:1.62;
}

/* Main display headings — deliberately restrained for a premium editorial feel */
h1,
.display,
.hero-copy h1,
.page-hero h1,
.product-detail-content h1,
.about-hero h1,
.brands-hero h1,
.business-hero h1,
.products-hero h1,
.prod-hero h1{
  font-size:var(--type-display) !important;
  line-height:1.04 !important;
  letter-spacing:-.025em !important;
}

/* Section titles */
h2,
.title,
.about-story h2,
.about-process h2,
.about-values-dark h2,
.brand-responsibility h2,
.brands-cta h2,
.business-trust-content h2,
.business-inquiry h2,
.listing-head h2,
.polovin-banner h2,
.prod-hero h2,
.prod-story h2,
.prod-safety h2,
.prod-bottom-copy h2,
.prod-bottom-cta h2{
  font-size:var(--type-h2) !important;
  line-height:1.10 !important;
  letter-spacing:-.018em !important;
}

/* Card and step titles */
h3,
.proof h3,
.product-card-body h3,
.info-card h3,
.step h3,
.about-value h3,
.about-process-card h3,
.business-benefit h3,
.business-solution h3,
.prod-pillars h3,
.product-link-card h3,
.reference-card-body h3,
.contact-detail h3{
  font-size:var(--type-h3) !important;
  line-height:1.28 !important;
}

/* Body copy — keep supporting text comfortably readable */
p,
.lead,
.hero-copy p,
.section-heading p,
.step p,
.proof p,
.product-card-body p:not(.eyebrow),
.info-card p,
.about-hero .lead,
.about-value p,
.about-story p,
.about-process-card p,
.about-values-dark p,
.brands-lead,
.brand-card-top>p:not(.brand-card-tag),
.brand-responsibility-copy>p:not(.brands-kicker),
.business-hero p,
.business-benefit p,
.business-solution p,
.prod-hero p,
.prod-pillars p,
.prod-story p,
.prod-safety p,
.prod-bottom-copy p{
  font-size:var(--type-body) !important;
  line-height:1.62 !important;
}

/* Intro copy can be one step larger */
.lead,
.brands-lead,
.hero-copy>p,
.page-hero .lead,
#process .section-heading>p{
  font-size:var(--type-body-lg) !important;
  line-height:1.58 !important;
}

/* Labels remain refined, but never tiny */
.eyebrow,
.brands-kicker,
.prod-kicker,
.brand-card-tag,
.step-n{
  font-size:var(--type-eyebrow) !important;
}

/* Utility text, links and footer text should not fall below readable premium size */
.text-link,
.filter-btn,
.prod-link,
.spec-list,
.prod-safety-list,
.footer a,
.footer p,
.prod-footer a,
.prod-footer-bottom,
.brands-footer a,
.brands-footer h4{
  font-size:var(--type-small) !important;
  line-height:1.5;
}

/* The process section follows the same site-wide scale */
#process .section-heading .title{
  font-size:var(--type-h2) !important;
}
#process .step h3{
  font-size:20px !important;
}
#process .step p{
  font-size:var(--type-body) !important;
  line-height:1.6 !important;
  max-width:235px;
}

@media(max-width:900px){
  :root{
    --type-display:clamp(40px,7vw,52px);
    --type-h2:clamp(31px,5.5vw,42px);
    --type-h3:19px;
    --type-body:16px;
    --type-body-lg:17px;
  }
}

@media(max-width:600px){
  :root{
    --type-display:clamp(36px,10vw,44px);
    --type-h2:clamp(29px,8vw,36px);
    --type-h3:18px;
    --type-body:16px;
    --type-body-lg:17px;
    --type-small:14px;
  }

  body{line-height:1.58}
}

/* Unified desktop hero typography — match Production page */
@media (min-width: 1101px) {
  h1,
  .display,
  .hero-copy h1,
  .page-hero h1,
  .product-detail-content h1,
  .about-hero h1,
  .brands-hero h1,
  .business-hero h1,
  .products-hero h1,
  .prod-hero h1 {
    font-size: 58px !important;
    line-height: 1.04 !important;
  }
}
