/* Shared type scale: supporting 14 / reading 16 / card 20 / section 32 / page 40. */
:root {
  --type-note: 14px;
  --type-body: 16px;
  --type-card: 20px;
  --type-section: clamp(26px, 2.3vw, 32px);
  --type-page: clamp(30px, 3vw, 40px);
}
body { font-size: var(--type-body); line-height: 1.8; }
h1,h2,h3 { letter-spacing: 0; font-weight: 600; }
h1 { font-size: var(--type-page); line-height: 1.4; }
h2 { font-size: var(--type-section); line-height: 1.45; }
h3 { font-size: var(--type-card); line-height: 1.5; }
p { line-height: 1.85; }
button,input,select,textarea { font-size: var(--type-body); }
.eyebrow,.section-head .eyebrow,.page-heading>.eyebrow,.article-heading>.eyebrow,
.brand>span,.hero-eyebrow,.product-model,.industry-card .eyebrow,
.contact-details>.eyebrow,.inquiry-form>.eyebrow,.about-banner .eyebrow,
.calculator>.eyebrow,.regional-copy .eyebrow,.knowledge-list .eyebrow {
  font-size: 12px; line-height: 1.6; letter-spacing: 1.1px; font-weight: 500;
}
.brand>span { font-size: 11px; letter-spacing: .4px; }
.desktop-nav a,.mobile-nav a { font-size: 16px; font-weight: 500; }
.desktop-nav { gap: 28px; }
.button,.button.small,.header-actions .button,.detail-summary .button,
.cta-strip>.button,.inline-search .button,.split-heading .button,
.compare-actions .button,.empty-state .button,.not-found .button,
.calculator .button,.submit-button { font-size: 16px; line-height: 1.5; min-height: 46px; }
.compare-link,.text-link,.section-head>.text-link,.section-actions>.text-link { font-size: 14px; }
.hero h1 { font-size: clamp(42px,4.5vw,64px); line-height: 1.22; letter-spacing: -.025em; font-weight: 700; }
.hero-description { font-size: 18px; line-height: 1.9; max-width: 30em; margin-top: 28px; }
.hero-copy { padding-bottom: 44px; }
.hero-search input { font-size: 16px; }
.popular-search,.popular-search>span,.hero .chip,.chip { font-size: 14px; line-height: 1.6; }
.hero-local strong { font-size: 16px; line-height: 1.6; }
.hero-local div>span { font-size: 14px; }
.hero-benefits strong { font-size: 16px; font-weight: 500; line-height: 1.5; }
.hero-benefits small { font-size: 14px; line-height: 1.6; }
.hero-baseline,.hero-baseline>span:last-child,.machine-caption>span { font-size: 12px; }
.machine-caption>strong { font-size: 14px; }
.section-head { margin-bottom: 28px; gap: 20px; }
.section-head h2,.regional-copy h2,.industry-overview h2,.about-banner h2 { font-size: var(--type-section); line-height: 1.45; }
.section-head p { font-size: 16px; line-height: 1.8; margin-top: 12px; }
.content-section { margin-top: 72px; }
.filter-tabs>a,.filter-tabs>button,.catalog-count { font-size: 14px; line-height: 1.6; }
.filter-tabs>a,.filter-tabs>button { padding: 9px 18px; }
.product-info { padding: 22px; }
.product-info h3 { font-size: 20px; line-height: 1.55; font-weight: 600; min-height: 62px; margin-top: 8px; }
.product-info>p { font-size: 18px; line-height: 1.6; margin-top: 20px; font-weight: 500; }
.product-info small,.product-info>p>span { font-size: 14px; line-height: 1.7; font-weight: 400; }
.product-tag,.product-bottom { font-size: 14px; line-height: 1.6; }
.product-bottom { margin-top: 18px; padding-top: 16px; }
.micro-note,.detail-summary>.micro-note,.image-caption,.article-meta,
.source-box>p,.form-help,.consent,.breadcrumbs,.results-count,.region-note { font-size: 14px; line-height: 1.85; }
.industry-card h3 { font-size: 20px; line-height: 1.5; margin-top: 10px; }
.industry-card p,.industry-card .text-link { font-size: 16px; line-height: 1.8; }
.industry-card>div:last-child { padding: 24px; }
.knowledge-feature h3 { font-size: 28px; line-height: 1.5; }
.knowledge-feature p,.knowledge-list p { font-size: 16px; line-height: 1.8; }
.knowledge-list h3 { font-size: 20px; line-height: 1.55; margin: 8px 0; }
.article-number,.service-steps span { font-size: 14px; }
.service-steps h3 { font-size: 20px; line-height: 1.5; }
.service-steps p,.regional-copy>p { font-size: 16px; line-height: 1.9; }
.cta-strip h2 { font-size: 24px; line-height: 1.5; }
.cta-strip p,.cta-phone { font-size: 16px; line-height: 1.8; }
.site-footer { padding-top: 64px; }
.footer-brand h2,.footer-main h3 { font-size: 18px; line-height: 1.5; font-weight: 600; }
.footer-brand p,.footer-main>div:not(:first-child)>a,.footer-bottom,.footer-social a { font-size: 16px; line-height: 1.8; }
.footer-main h3 { margin-bottom: 18px; }
.footer-main>div:not(:first-child)>a { margin: 9px 0; }
.footer-main .footer-contact>.footer-hotline { font-size: 28px; line-height: 1.4; font-weight: 600; margin-bottom: 18px; }
.footer-bottom { padding-top: 24px; row-gap: 16px; }
.page-heading h1,.article-heading h1,.detail-summary h1,.split-heading .page-heading h1 { font-size: var(--type-page); line-height: 1.4; letter-spacing: -.015em; }
.page-heading p,.article-heading p,.lead { font-size: 18px; line-height: 1.85; max-width: 48em; }
.prose { font-size: 16px; line-height: 1.95; }
.prose p,.industry-overview p,.about-banner p { font-size: 16px; line-height: 1.95; }
.prose h2 { font-size: 28px; line-height: 1.5; margin: 36px 0 18px; }
.prose h3,.aside-box h3 { font-size: 20px; line-height: 1.5; }
.prose table,.prose summary,.prose details>p,.insight>p,.formula,.aside-box a:not(.button) { font-size: 16px; line-height: 1.85; }
.spec-highlights dd { font-size: 28px; line-height: 1.4; }
.spec-highlights dt,.spec-highlights small { font-size: 14px; }
.guide-link h3,.search-result h2,.compare-table h2 { font-size: 20px; }
.guide-link p,.search-result p,.link-card,.numbered-list>li { font-size: 16px; line-height: 1.85; }
.link-card small,.knowledge-nav { font-size: 14px; }
.contact-details h2,.inquiry-form h2,.calculator h2 { font-size: 28px; line-height: 1.5; }
.contact-details>p,.contact-details dd,.form-grid>label,.calculator label,.calculator>p { font-size: 16px; line-height: 1.8; }
.contact-details dt { font-size: 14px; }
.contact-hotline { font-size: 32px; line-height: 1.5; }
.contact-hotline small { font-size: 14px; }
.form-grid input,.form-grid select,.form-grid textarea,.form-grid input::placeholder,.form-grid textarea::placeholder,.inline-search input { font-size: 16px; }
.calculator-result { font-size: 40px; line-height: 1.3; }
.calculator-result span,.calculator-result small { font-size: 14px; }
.mobile-contact,.toast { font-size: 16px; }
@media(max-width:800px) {
  .hero-description { font-size: 16px; }
  .content-section { margin-top: 52px; }
  .page-heading p,.article-heading p,.lead { font-size: 16px; }
  .site-footer { padding-top: 44px; }
}
@media(max-width:600px) {
  .hero h1 { font-size: clamp(36px,9.5vw,48px); }
  .hero-eyebrow { font-size: 12px; }
  .brand>span { font-size: 10px; }
  .header-actions .button { font-size: 14px; min-height: 38px; }
  .hero-description { margin-top: 24px; }
  .section-head h2,.regional-copy h2 { font-size: 26px; }
  .section-head { margin-bottom: 24px; }
  .section-head p { max-width: none; }
  .section-head>.text-link { font-size: 14px; }
  .product-info h3 { font-size: 20px; min-height: 0; }
  .product-info>p { margin-top: 16px; }
  .knowledge-feature h3 { font-size: 26px; }
  .knowledge-feature .mini-chart { display: none; }
  .knowledge-feature { min-height: 240px; }
  .cta-strip h2 { font-size: 22px; }
  .page-heading h1,.article-heading h1,.detail-summary h1,.split-heading .page-heading h1 { font-size: 30px; }
  .prose h2 { font-size: 24px; margin-top: 30px; }
  .contact-details h2,.inquiry-form h2,.calculator h2 { font-size: 24px; }
  .footer-main .footer-contact>.footer-hotline { font-size: 28px; }
  .footer-main { gap: 32px 20px; }
  .footer-main h3 { margin-bottom: 16px; }
}
