﻿/* XFPCB global typography — font-family / font-size / smoothing only.
   Do not add colors, margins, padding, or layout here. */

html, body, button, input, select, textarea {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* rem root stays 16px so heading rem steps keep absolute px */
html {
  font-size: 16px;
}

body {
  font-size: 18px;
}

/* Sitewide body prose (not only blog). !important beats page CSS. */
p, li,
main p,
main li,
main td,
main dd,
main .text-content,
.bp-article,
.bp-lead,
.blog-lead,
.service-lead,
.info-hero p,
.info-section p,
.service-section p,
.pcba-section p,
.comparison-section p,
.layer-section-heading p,
.xf-hero-lead,
.xf-section-copy p,
.xf-video-band p,
.xf-quote p,
.xf-service-card p,
.product-list-item p,
.hf-card li,
.capabilities-list li {
  font-size: 18px !important;
}

h1 {
  font-size: 2rem !important; /* 32px */
  font-weight: 700;
}

h2 {
  font-size: 1.5rem !important; /* 24px */
  font-weight: 700;
}

h3 {
  font-size: 1.25rem !important; /* 20px */
  font-weight: 600;
}

h4 {
  font-size: 1.1rem !important; /* 17.6px */
  font-weight: 600;
}

small, .small, .text-sm, time, .bp-meta-row, .footer-address {
  font-size: 0.875rem !important; /* 14px */
}
