/* ============================================================
   CERTIFICATIONS.AC · WORLD-CLASS TYPOGRAPHY POLISH
   Loaded LAST on every page. Touches typography & rhythm only.
   No content, URL, SEO, layout-structure or colour changes.
   Pairing:  Fraunces (display serif) + Inter (body sans)
   ============================================================ */

/* Fraunces = refined optical-sizing serif (premium institutions)
   Inter    = gold-standard UI sans (GitHub, Figma, Stripe-class) */

:root{
  --font-serif: 'Fraunces', 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-sans:  'Inter', 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ---------- Global rendering quality ---------- */
html{ -webkit-text-size-adjust:100%; text-rendering:optimizeLegibility; }
body{
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;
  letter-spacing: -0.005em;
}

/* ---------- Headings: refined serif, optical sizing, tight tracking ---------- */
h1, h2, h3, h4, h5, h6,
.nav-brand-name, .footer-brand .fb-name,
.hero h1, .page-hero h1,
.section-title, .cert-card-title, .cat-card-name,
.testi-name, .verify-box h2, .enq-title{
  font-family: var(--font-serif) !important;
  font-optical-sizing: auto;
  font-feature-settings: 'kern' 1, 'liga' 1;
  letter-spacing: -0.021em;
  -webkit-font-smoothing: antialiased;
}

h1, .hero h1, .page-hero h1{ letter-spacing:-0.028em; line-height:1.08; font-weight:600; }
h2{ letter-spacing:-0.022em; line-height:1.14; font-weight:600; }
h3{ letter-spacing:-0.015em; }

/* Italic accents in headings render beautifully in Fraunces */
h1 em, h2 em, .hero h1 em, .final h2 em{ font-style:italic; font-synthesis:none; }

/* ---------- Body copy: optimal measure, rhythm, weight ---------- */
p, li, .hero-sub, .section-sub, .section-subtitle,
.fcc-desc, .testi-text, .prose p, .why-card p, .cat-count{
  font-family: var(--font-sans);
  font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;
  letter-spacing: -0.003em;
}
p{ line-height:1.75; }

/* ---------- Eyebrows / labels: refined uppercase tracking ---------- */
.eyebrow, .nav-brand-sub, .footer-brand .fb-sub, .hero-badge,
.footer-col h5, .step-tag, .breadcrumb, .cert-badge,
.accred-name, .stat-desc{
  font-family: var(--font-sans);
  font-feature-settings: 'kern' 1;
}
.eyebrow, .nav-brand-sub, .footer-brand .fb-sub,
.footer-col h5{ letter-spacing:0.14em; }

/* ---------- Buttons: crisp, confident ---------- */
.btn, button{
  font-family: var(--font-sans);
  font-feature-settings: 'kern' 1;
  letter-spacing:0.005em;
  font-weight:600;
}

/* ---------- Numerals: tabular where they line up (stats, prices) ---------- */
.stat-num, .hero-trust .num, .fcc-price, .fcc-meta-item strong,
.stat-card .big-num, .hero-trust-item .num{
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: 'tnum' 1, 'lnum' 1;
}

/* ---------- Links: subtle, refined underline behaviour ---------- */
a{ text-decoration-thickness: 1px; text-underline-offset: 2px; }

/* ---------- Slightly richer vertical rhythm on content sections ---------- */
.prose p{ margin-bottom:1.15em; line-height:1.8; }

/* ---------- Tighten the big serif display sizes for elegance ---------- */
@media(min-width:1024px){
  .hero h1{ font-size:clamp(2.6rem,4.4vw,3.7rem); }
}

/* ---------- Print: keep brochure/invoice popups clean (scoped, harmless) ---------- */
@media print{
  body{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
