/* Inter is served locally; its SIL Open Font License is in assets/fonts/inter. */
@font-face {
  font-family: Inter;
  src: url('../fonts/inter/Inter-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url('../fonts/inter/Inter-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url('../fonts/inter/Inter-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-family-base: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  /* Scale type from the reference's 1920px desktop, without scaling layout rems. */
  --type-section: clamp(30px, 2.91666667vw, 56px);
  --type-scene: clamp(28.5px, 2.5vw, 48px);
  --type-body: clamp(14px, 1.04166667vw, 20px);
  --type-product: clamp(20px, 1.45833333vw, 28px);
  --type-small: clamp(12px, .83333333vw, 16px);
  --type-stat: clamp(40px, 4.16666667vw, 80px);
}

body {
  font-family: var(--font-family-base);
  font-size: var(--type-body);
  font-weight: 400;
}

h1, h2 { font-weight: 600; }
h3, h4 { font-weight: 500; }
strong, b { font-weight: 600; }

main h1,
.home-hero-content h1,
.center-hero-copy h1,
.product-information h1,
.secondary-hero-copy h1,
.article-heading h1,
.contact-hero-overlay h1 {
  font-size: var(--type-scene);
  line-height: 1.3;
  letter-spacing: -.035em;
}

.home-hero-content h1 { font-weight: 400; }
.home-hero-content .home-hero-subtitle {
  color: var(--color-brand);
  font-size: var(--type-section);
  font-weight: 600;
  line-height: 1.3;
}

main h2,
.section-heading h2,
.home-products-heading h2,
.partner-showcase-title,
.center-grid-heading h2,
.contact-inquiry-panel h2,
.contact-directory h2,
.contact-location h2 {
  font-size: var(--type-section);
  font-weight: 600;
  line-height: 1.3;
}

.home-business-copy h3,
.about-business-grid h3,
.about-capability-grid h3,
.capabilities-panel-heading h3,
.verification-module-copy h3,
.verification-lab h3,
.verification-field h3 {
  font-size: var(--type-scene);
  font-weight: 500;
  line-height: 1.3;
}

.section-heading p:not(.eyebrow),
.section-intro,
.home-business-copy > p,
.home-hero-description,
.center-hero-copy > p:not(.eyebrow),
.secondary-hero-copy > p:not(.eyebrow, .secondary-mock-note),
.about-introduction .section-intro,
.partner-showcase-copy,
.capability-copy p,
.article-heading > p:last-child,
.article-body-section p {
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.4;
}

.product-card h3,
.home-product-rail .product-card h3,
.center-product-grid .product-card h3,
.related-product-grid .product-card h3,
.product-focus-summary h1,
.article-card h3,
.resource-article-grid .article-card h3 {
  font-size: var(--type-product);
  font-weight: 500;
  line-height: 1.3;
}

.product-card p,
.product-short-description,
.card-link-label,
.home-text-link,
.center-explore-link,
.secondary-text-link,
.button, .btn, .cta-link,
.home-hero-actions .button {
  font-size: var(--type-small);
  font-weight: 400;
}

.desktop-nav a,
.site-header-fallback nav a {
  font-size: 14px;
  font-weight: 400;
}
.site-header .button, .site-header .btn { font-size: 12px; }
.language-switcher button { font-size: 12px; font-weight: 400; }
.category-tab { font-weight: 500; }
.eyebrow, .article-card-category { font-weight: 500; }
.footer-links h2 { font-weight: 500; }
.footer-links a { font-weight: 400; }
.footer-bottom { font-size: 11px; font-weight: 400; }
.capabilities-media-grid strong, .home-award-year {
  font-size: var(--type-stat);
  font-weight: 400;
  line-height: 1.1;
}

@media (max-width: 980px) {
  :root {
    --type-section: clamp(30px, 4vw, 40px);
    --type-scene: clamp(28.5px, 3.8vw, 36px);
    --type-body: 16px;
    --type-product: clamp(20px, 2.5vw, 24px);
    --type-small: 14px;
    --type-stat: clamp(40px, 6vw, 60px);
  }
  .mobile-drawer nav > ul > li > a,
  .mobile-nav-group > div > a,
  .mobile-menu-close { font-weight: 400; }
  .contact-inquiry-form input,
  .contact-inquiry-form select,
  .contact-inquiry-form textarea { font-size: 16px; }
}
