/* Typography — shared by every page, loaded after the page's own styles.
   Two families only: Source Serif 4 for headings, Public Sans for everything else. */
:root{
  --f-display:"Source Serif 4","Noto Serif Devanagari","Iowan Old Style",Georgia,serif;
  --f-body:"Public Sans","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  /* labels, chips and numbers used a monospace face; they now use the body face */
  --f-mono:var(--f-body);
  --f-code:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
}
body{line-height:1.6;text-rendering:optimizeLegibility}

/* headings */
h1,h2,h3,h4{font-weight:600;letter-spacing:-.012em;line-height:1.15}
h1{letter-spacing:-.02em;line-height:1.1}
.hero h1{letter-spacing:-.025em;line-height:1.04}
.big,.svc-name,.office .big,.result .big,.total strong,.mono-av,.person h3{font-weight:600}
.quote blockquote{font-weight:400;font-style:italic}

/* small labels: one consistent style */
.eyebrow{font-size:.74rem;letter-spacing:.1em;font-weight:600}
.chip,.tag{font-size:.76rem;font-weight:500;line-height:1.1;letter-spacing:0;padding:.42em .65em}
.passport dt,.f-sec{font-size:.7rem;font-weight:600;letter-spacing:.08em}
.stampmark{font-weight:700;letter-spacing:.1em}

/* numbers line up without a monospace face */
.timeline b,.keydates time,table.fees td,.fee-table td,.passport dd,.p-list .n,.path .k,
.quiz-meta,.hero .phone-line b,.total strong,.big{font-variant-numeric:tabular-nums}
.timeline b{font-weight:600}
.keydates time{font-weight:600}
.hero .phone-line b{font-weight:600}

/* the passport strip and the generated intake summary keep a true monospace */
.mrz,.summary{font-family:var(--f-code)}