:root {
  --type-display: 60px;
  --type-page: 54px;
  --type-section: 40px;
  --type-lead: 18px;
  --type-reading: 16px;
}

body {
  font-family: system-ui, "Segoe UI", Arial, sans-serif;
  font-size: var(--type-reading);
  line-height: 1.6;
}

h1, h2, h3 { font-weight: 600; letter-spacing: 0; }
h1 { font-size: var(--type-page); line-height: 1.12; }
h2 { font-size: var(--type-section); line-height: 1.18; }
h3 { font-size: 20px; line-height: 1.28; }
p { line-height: 1.65; }
main .section h2, .svc-action h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}
.hero h1, .page-intro h1, .page-hero h1, .about-hero h1,
.svc-hero h1, .resource-intro h1, .blog-intro h1,
.blog-category-intro h1, .blog-article-header h1,
.op-intro h1, .collection-intro h1,
.section-heading h2, .process-heading h2, .quote-band h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}
.eyebrow { margin-bottom: 15px; font-size: 12px; line-height: 1.3; letter-spacing: 0; }
.button, .text-link { font-size: 14px; }

.hero-copy { width: min(48%, 620px); }
.hero h1 { max-width: 620px; margin-bottom: 20px; font-size: var(--type-display); line-height: 1.1; }
.hero p { max-width: 550px; font-size: var(--type-lead); line-height: 1.55; }
.hero-actions { margin-top: 26px; }
.section-heading h2 { max-width: 25ch; }
.section-heading p { max-width: 62ch; font-size: 17px; line-height: 1.6; }
.section-heading { margin-bottom: 30px; }

.page-intro h1, .catalog-intro h1, .inquiry-intro h1,
.resource-intro h1, .blog-intro h1, .blog-category-intro h1,
.blog-article-header h1, .svc-hero h1, .op-intro h1,
.collection-intro h1, .about-hero h1, .page-hero h1 {
  font-size: var(--type-page);
  line-height: 1.12;
}
.page-intro p, .resource-intro p, .blog-intro p, .blog-article-header p,
.svc-hero p, .collection-intro p, .about-hero p, .page-hero p,
.op-intro p { font-size: var(--type-lead); line-height: 1.6; }
.collection-intro h1 { max-width: 16ch; }
.detail-info h1 { font-size: 52px; }
.detail-lead { font-size: 17px; line-height: 1.6; }
.spec-list > div { font-size: 15px; }
.model-brief > p, .model-sample-note p, .model-order-layout li span,
.model-evidence-note li, .series-check-grid p, .series-approval p { font-size: 15px; line-height: 1.6; }

.buying-path-grid h3 { font-size: 23px; }
.buying-path-grid p, .process-heading p, .process-list p,
.service-grid p, .standards-grid p, .proof-report-strip p,
.factory-page-intro p, .company-evidence-grid p,
.facility-buyer-notes p, .batch-record-foot,
.faq-section details p { font-size: 15px; line-height: 1.65; }
.proof-process-copy h3 { font-size: 28px; }
.proof-process-copy p { font-size: 16px; line-height: 1.65; }
.process-list h3, .service-grid h3 { font-size: 19px; }
.proof-photo-grid strong { font-size: 18px; line-height: 1.35; }
.proof-report-strip h3 { font-size: 21px; }
.company-intro p, .two-column-text p { font-size: 16px; line-height: 1.7; }
.faq-section summary { font-size: 16px; }

.svc-brief-grid p, .svc-methods p, .svc-steps p,
.svc-route-grid p, .svc-sample-rows p, .svc-quality-note p,
.resource-path li p, .resource-item p, .faq-answer p,
.op-steps p { font-size: 15px; line-height: 1.65; }
.svc-steps h3, .resource-path h3, .resource-item h3 { font-size: 19px; }
.blog-card h3 { font-size: 21px; }
.blog-card p, .home-blog-grid p { font-size: 15px; line-height: 1.65; }
.blog-prose-section p { font-size: 16px; line-height: 1.75; }
.blog-answer p { font-size: 17px; line-height: 1.7; }
.blog-archive-heading p, .blog-evidence-heading p,
.blog-source-proof p, .blog-article-next p { font-size: 15px; line-height: 1.65; }
.blog-article-aside nav a { font-size: 14px; }

.product-card-copy h3 { font-size: 18px; }
.product-card-copy p { font-size: 13px; }
.product-card-copy > span { font-size: 11px; }
.filter-button, .filter-row > a, .catalog-attributes label,
.catalog-toolbar > span, .sidebar-note { font-size: 14px; }
.searchbox input { font-size: 15px; }
.check-list li, .svc-checklist li { font-size: 15px; line-height: 1.6; }
.footer-main h3 { font-size: 15px; }
.footer-main a:not(.button), .footer-brand p, .footer-inquiry p { font-size: 14px; }

@media (max-width: 1049px) {
  :root { --type-display: 48px; --type-page: 44px; --type-section: 34px; --type-lead: 17px; }
  .hero-copy { width: 53%; }
  .detail-info h1 { font-size: 44px; }
}

@media (max-width: 820px) {
  .hero-copy { width: 100%; }
}

@media (max-width: 580px) {
  :root { --type-display: 34px; --type-page: 34px; --type-section: 29px; --type-lead: 16px; }
  h3 { font-size: 18px; }
  .hero h1 { font-size: var(--type-display); line-height: 1.12; }
  .hero p { font-size: 15px; line-height: 1.55; }
  .hero-actions { margin-top: 20px; }
  .page-intro h1, .catalog-intro h1, .inquiry-intro h1,
  .resource-intro h1, .blog-intro h1, .blog-category-intro h1,
  .blog-article-header h1, .svc-hero h1, .op-intro h1,
  .collection-intro h1, .about-hero h1, .page-hero h1 { font-size: var(--type-page); }
  .detail-info h1 { font-size: 36px; }
  .page-intro p, .resource-intro p, .blog-intro p, .blog-article-header p,
  .svc-hero p, .collection-intro p, .about-hero p, .page-hero p,
  .op-intro p, .section-heading p, .detail-lead { font-size: 15px; line-height: 1.6; }
  .section-heading h2 { max-width: none; }
  .section-heading { margin-bottom: 24px; }
  .buying-path-grid h3 { font-size: 21px; }
  .blog-card h3 { font-size: 19px; }
  .product-card-copy h3 { font-size: 16px; }
  .product-card-copy p { font-size: 13px; }
  .filter-button, .filter-row > a, .catalog-attributes label,
  .catalog-toolbar > span, .sidebar-note { font-size: 13px; }
  .footer-main a:not(.button), .footer-brand p, .footer-inquiry p { font-size: 13px; }
  .process-list p, .service-grid p, .standards-grid p,
  .company-evidence-grid p, .svc-brief-grid p, .svc-methods p,
  .resource-path li p, .resource-item p, .blog-card p,
  .home-blog-grid p { font-size: 14px; line-height: 1.6; }
  .proof-process-copy h3 { font-size: 22px; }
  .proof-process-copy p { font-size: 15px; }
}
