/*
 * Shared typography layer.
 * Performance-first: one local system font stack, no external font requests.
 * Loaded after page styles so older page-level typography inherits one system.
 */
:root {
  --plc-system-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-sans: var(--plc-system-font);
  --font-display: var(--plc-system-font);
  --font-numeric: var(--plc-system-font);
  --font-body: var(--plc-system-font);
  --font-ui: var(--plc-system-font);
  --pcc-font-body: var(--plc-system-font);
  --pcc-font-ui: var(--plc-system-font);
  --pcc-font-display: var(--plc-system-font);
  --pcc-font-heading: var(--plc-system-font);
  --pcc-font-numeric: var(--plc-system-font);
}

html,
body {
  font-family: var(--plc-system-font);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
body *,
body *::before,
body *::after {
  font-family: var(--plc-system-font);
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-title,
.hero-title,
.journal-title,
.pcc-section-title,
.v3-title,
#pcc-app-wrapper h1,
#pcc-app-wrapper h2,
#pcc-app-wrapper h3,
#pcc-app-wrapper .hero-title {
  font-family: var(--plc-system-font) !important;
  font-weight: 800;
  letter-spacing: -.04em;
}

h1 {
  line-height: 1.04;
}

h2,
h3 {
  line-height: 1.15;
}

button,
input,
select,
textarea,
label,
nav,
.pcc-label,
.pcc-page-hero__badge,
.pcc-btn,
.step-label,
.eyebrow,
[class*="badge"],
#pcc-app-wrapper button,
#pcc-app-wrapper input,
#pcc-app-wrapper select,
#pcc-app-wrapper textarea,
#pcc-app-wrapper label,
#pcc-app-wrapper .mode-tab,
#pcc-app-wrapper [class*="cta"],
#pcc-app-wrapper [class*="btn"] {
  font-family: var(--plc-system-font) !important;
}

em,
i,
.serif,
.pcc-page-hero__serif,
.ins-serif,
.pcc-logo__serif,
#pcc-app-wrapper .hero h1 .serif {
  font-family: var(--plc-system-font) !important;
}

table,
table th,
table td,
.pcc-stat-num,
.hero-stat-num,
.pcc-summary-value,
.pcc-live-estimate strong,
.range-value,
.slider-value,
.v3-stat__val,
.v3-table-mono,
.stat strong,
.snapshot-card strong,
.tier-card strong,
.lifetime-box strong,
.side-row strong,
[class*="price"],
[class*="cost"],
[class*="total"],
[class*="amount"],
[class*="val"] {
  font-family: var(--plc-system-font) !important;
  font-variant-numeric: tabular-nums;
}

.pcc-post-body,
.pcc-post-body p,
.pcc-post-body li,
.pcc-post-body blockquote,
.cost-section p,
.methodology-box p,
.guide-section__sub,
.journal-card-body p,
.journal-topic p {
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.75;
}

#pcc-app-wrapper .hero h1 {
  text-transform: none !important;
}
