/* Mithila Tax Solutions — generated from tokens.json */
:root, [data-theme="light"] {
  --primary: #24355b;
  --primary-hover: #1a2845;
  --primary-tint: #e9edf4;
  --accent: #b34332;
  --accent-tint: #f8ece9;
  --bg: #f7f8fa;
  --surface: #ffffff;
  --text: #202a3a;
  --text-secondary: #566174;
  --on-primary: #ffffff;
  --on-primary-muted: #c5cdda;
  --border-decorative: #dce2e9;
  --border-control: #7b8798;
  --success: #176b52;
  --success-tint: #e7f2ee;
  --warning: #8a5700;
  --warning-tint: #fbf1df;
  --error: #b42318;
  --error-tint: #fdedeb;
  --disabled-surface: #eef1f4;
  --disabled-text: #6e7889;
  --focus-ring: var(--primary);
  --focus-ring-inverse: #ffffff;
  --shadow-raised: 0 1px 2px rgba(32, 42, 58, 0.06);
  --shadow-overlay: 0 8px 24px rgba(32, 42, 58, 0.12);
}
:root {
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;
  --radius-control: 8px;
  --radius-card: 12px;
  --content-max: 1200px;
  --gutter-desktop: 32px;
  --gutter-mobile: 20px;
  --measure: 68ch;
  --touch-min: 44px;
  --header-height: 72px;
  --stroke-hairline: 1px;
  --stroke-focus: 2px;
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --font-heading: Manrope, "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-body: "Source Sans 3", "Source Sans Pro", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-devanagari: "Noto Sans Devanagari", "Nirmala UI", Mangal, "Kohinoor Devanagari", sans-serif;
}
.h1 { font-family: var(--font-heading); font-size: 56px; line-height: 64px; font-weight: 700; letter-spacing: -0.01em; }
.h2 { font-family: var(--font-heading); font-size: 40px; line-height: 48px; font-weight: 700; letter-spacing: -0.005em; }
.h3 { font-family: var(--font-heading); font-size: 24px; line-height: 32px; font-weight: 600; }
.h1-mobile { font-family: var(--font-heading); font-size: 36px; line-height: 44px; font-weight: 700; }
.h2-mobile { font-family: var(--font-heading); font-size: 28px; line-height: 36px; font-weight: 700; }
.h3-mobile { font-family: var(--font-heading); font-size: 22px; line-height: 30px; font-weight: 600; }
.body { font-family: var(--font-body); font-size: 18px; line-height: 28px; font-weight: 400; }
.body-mobile { font-family: var(--font-body); font-size: 16px; line-height: 26px; font-weight: 400; }
.body-strong { font-family: var(--font-body); font-size: 18px; line-height: 28px; font-weight: 600; }
.label { font-family: var(--font-body); font-size: 16px; line-height: 24px; font-weight: 600; }
.nav { font-family: var(--font-body); font-size: 16px; line-height: 24px; font-weight: 500; }
.control { font-family: var(--font-body); font-size: 16px; line-height: 24px; font-weight: 400; }
.small { font-family: var(--font-body); font-size: 14px; line-height: 20px; font-weight: 400; }
.eyebrow { font-family: var(--font-body); font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: 0.06em; }
.figures { font-family: var(--font-body); font-size: 16px; line-height: 24px; font-weight: 500; }
.body-devanagari { font-family: var(--font-devanagari); font-size: 18px; line-height: 30px; font-weight: 400; }
.heading-devanagari { font-family: var(--font-devanagari); font-size: 36px; line-height: 48px; font-weight: 600; }
