/* AccountSuspension typography system
   Headings: Source Serif 4 (authority, editorial weight)
   Body/UI:  Inter (legibility at small sizes, dense policy copy)
   Loaded last so it overrides prior font declarations without editing them. */

:root {
  --font-heading: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

  /* Fluid type scale, 1.25 ratio, clamped between 360px and 1440px viewports */
  --fs-xs:   clamp(0.78rem, 0.76rem + 0.10vw, 0.84rem);
  --fs-sm:   clamp(0.88rem, 0.85rem + 0.14vw, 0.95rem);
  --fs-base: clamp(1.00rem, 0.96rem + 0.20vw, 1.09rem);
  --fs-lg:   clamp(1.16rem, 1.09rem + 0.32vw, 1.32rem);
  --fs-xl:   clamp(1.38rem, 1.26rem + 0.55vw, 1.72rem);
  --fs-2xl:  clamp(1.68rem, 1.46rem + 0.98vw, 2.36rem);
  --fs-3xl:  clamp(2.05rem, 1.66rem + 1.72vw, 3.24rem);
  --fs-4xl:  clamp(2.48rem, 1.83rem + 2.86vw, 4.45rem);

  --lh-tight: 1.08;
  --lh-snug: 1.28;
  --lh-body: 1.65;

  --measure: 68ch;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
input, textarea, select, button,
.site-nav, .primary-menu, .btn, .button {
  font-family: var(--font-body);
  font-optical-sizing: auto;
  font-synthesis-weight: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-size: var(--fs-base);
  line-height: var(--lh-body);
  letter-spacing: -0.006em;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6,
.hero h1, .hero-title, .display, .section-title {
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: -0.018em;
  line-height: var(--lh-tight);
  text-wrap: balance;
}

h1, .hero h1, .hero-title, .display { font-size: var(--fs-4xl); font-weight: 650; }
h2, .section-title             { font-size: var(--fs-3xl); line-height: var(--lh-snug); }
h3                             { font-size: var(--fs-2xl); line-height: var(--lh-snug); }
h4                             { font-size: var(--fs-xl);  line-height: var(--lh-snug); }
h5                             { font-size: var(--fs-lg); }
h6                             { font-size: var(--fs-base); letter-spacing: 0.02em; text-transform: uppercase; }

p, li {
  text-wrap: pretty;
  hyphens: manual;
}

article p, .prose p, .content p, .blog-body p {
  max-width: var(--measure);
}

/* Small caps eyebrow labels, e.g. "MERCURY FINTECH DEFENSE" */
.eyebrow, .kicker, .badge-label, .tag {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--fs-xs);
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

/* Forms: 16px minimum prevents iOS Safari zoom on focus */
input, textarea, select {
  font-size: max(1rem, var(--fs-base));
  line-height: 1.45;
}

label, .form-label {
  font-weight: 550;
  font-size: var(--fs-sm);
  letter-spacing: -0.002em;
}

button, .btn, .button, [type="submit"] {
  font-weight: 600;
  font-size: var(--fs-base);
  letter-spacing: -0.004em;
}

/* Tabular figures for case IDs, prices, dates, phone numbers */
.stat, .metric, .price, .case-id, .invoice-number, time, td.num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* Navigation and dense menus stay on the sans */
.site-nav a, .primary-menu a, .services-mega-menu a, .footer a {
  font-family: var(--font-body);
  letter-spacing: -0.002em;
}

.services-mega-menu a {
  font-size: var(--fs-sm);
  line-height: 1.5;
}

blockquote, .testimonial {
  font-family: var(--font-heading);
  font-size: var(--fs-lg);
  font-style: italic;
  line-height: 1.45;
  letter-spacing: -0.010em;
}

code, pre, kbd, samp {
  font-family: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
  font-size: 0.92em;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

@media (max-width: 480px) {
  h1, .hero h1, .hero-title { letter-spacing: -0.024em; }
  body { letter-spacing: 0; }
}

/* .section-title is a heading wrapper; its font-size cascades to any <p> inside.
   Reset paragraphs to true body size with a readable measure. Fixes 52 platform
   pages that place an intro paragraph under the section heading. */
.section-title p {
  font-size: var(--fs-base);
  font-weight: 400;
  line-height: var(--lh-relaxed, 1.7);
  max-width: 68ch;
  margin: 14px auto 0;
  letter-spacing: normal;
}
