/* ── typography-tokens.css v2.0 — Tuskers India ── */
:root {
  --font-display: 'Outfit', 'Inter', sans-serif;
  --font-sans:    'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:    'IBM Plex Mono', 'Courier New', monospace;
  --font-serif:   'Instrument Serif', Georgia, serif;
  /* Backward-compat aliases (used in inline <style> blocks) */
  --sans:  var(--font-sans);
  --mono:  var(--font-mono);
  --serif: var(--font-serif);
  --fs-xs:   0.6875rem;
  --fs-sm:   0.8125rem;
  --fs-base: 0.9375rem;
  --fs-md:   1rem;
  --fs-lg:   1.0625rem;
  --fs-xl:   1.1875rem;
  --fs-2xl:  1.625rem;
  --fs-3xl:  2.25rem;
  --fs-4xl:  4.5rem;
  --lh-tight: 0.95; --lh-snug: 1.2; --lh-normal: 1.7; --lh-relaxed: 1.8;
}
body { font-family:var(--font-sans); font-size:var(--fs-base); line-height:var(--lh-normal); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; font-feature-settings:'cv02','cv03','cv04','cv11'; }
h1,h2,h3,h4,h5 { font-family:var(--font-display); color:var(--text-primary); text-transform:none; }
h1 { font-size:clamp(var(--fs-3xl),9vw,var(--fs-4xl)); font-weight:800; line-height:var(--lh-tight); letter-spacing:-0.03em; }
h2 { font-size:clamp(var(--fs-2xl),3.5vw,var(--fs-3xl)); font-weight:700; line-height:1.1; letter-spacing:-0.025em; }
h3 { font-size:clamp(var(--fs-xl),2.5vw,var(--fs-2xl)); font-weight:600; line-height:1.2; letter-spacing:-0.02em; }
h4 { font-size:clamp(var(--fs-md),1.5vw,var(--fs-lg)); font-weight:600; line-height:1.3; letter-spacing:-0.01em; }
h5 { font-size:var(--fs-xs); font-weight:700; letter-spacing:0.10em; text-transform:uppercase; line-height:1.4; }
p { font-family:var(--font-sans); font-size:var(--fs-base); line-height:var(--lh-normal); color:var(--text-secondary); max-width:68ch; }
.card p,.stat-item p,.footer-col p,.hero-text p,.faq-answer p,.why-proof-list li,.ticker-item { max-width:none; }
h1 em,h2 em,.page-hero h1 em,.legacy-headline em,.audit-cta-left h2 em { font-family:var(--font-serif); font-style:italic; letter-spacing:-0.01em; }
.label { font-family:var(--font-sans); font-size:var(--fs-xs); font-weight:600; text-transform:uppercase; letter-spacing:0.12em; color:var(--text-secondary); opacity:0.7; display:block; margin-bottom:8px; }
.section-number { font-family:var(--font-mono); font-size:var(--fs-xs); font-weight:600; color:var(--accent); letter-spacing:0.15em; opacity:0.6; display:block; margin-bottom:12px; }
.badge { font-family:var(--font-mono); font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:0.05em; }
.mono-value { font-family:var(--font-mono); font-size:var(--fs-sm); font-weight:600; letter-spacing:-0.02em; color:var(--text-primary); }
.quote { font-family:var(--font-sans); font-size:clamp(var(--fs-md),2vw,var(--fs-xl)); font-style:italic; line-height:var(--lh-relaxed); font-weight:400; }
.nav-links a { font-family:var(--font-sans); font-size:var(--fs-base); font-weight:500; letter-spacing:0.01em; text-transform:none; }
.dropdown-menu a { font-family:var(--font-sans)!important; font-size:var(--fs-sm)!important; font-weight:700!important; letter-spacing:0.02em!important; text-transform:none!important; }
.page-hero h1,.page-hero-content h1 { font-size:clamp(var(--fs-3xl),7vw,var(--fs-4xl)); line-height:var(--lh-tight); letter-spacing:-0.04em; color:#ffffff; }
.form-group label,.form-group>label { font-family:var(--font-mono); font-size:var(--fs-xs); font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent); }
.footer-col h5 { font-family:var(--font-sans); font-size:var(--fs-xs); font-weight:700; text-transform:uppercase; letter-spacing:0.12em; color:var(--text-secondary); margin-bottom:24px; }
.footer-col a { font-family:var(--font-sans); font-size:var(--fs-base); opacity:0.7; }
.footer-bottom { font-family:var(--font-mono); font-size:var(--fs-xs); color:var(--text-secondary); }
@media (max-width:480px) { :root { --fs-base:0.875rem; --fs-md:0.9375rem; --fs-xl:1.0625rem; } }
