/* ============================================
   NUMERIQ — Typography System
   Audience: 45-55 years, mobile-first
   Last updated: 2026
   ============================================ */

/* --- BASE --- */
body {
  font-size: 17px;
  font-family: 'Raleway', sans-serif;
  line-height: 1.6;
  font-weight: 400;
}

/* --- HEADINGS --- */
h1 { font-size: clamp(28px, 6vw, 42px); font-family: 'Cinzel', serif; line-height: 1.3; font-weight: 600; letter-spacing: 0.5px; }
h2 { font-size: clamp(22px, 4vw, 34px); font-family: 'Cinzel', serif; line-height: 1.35; font-weight: 600; letter-spacing: 0.5px; }
h3 { font-size: clamp(18px, 3vw, 26px); font-family: 'Cinzel', serif; line-height: 1.4; font-weight: 600; }
h4 { font-size: 18px; font-family: 'Raleway', sans-serif; line-height: 1.5; font-weight: 600; }

/* --- PARAGRAPHS & BODY --- */
p { font-size: 17px; line-height: 1.6; }
.article-body p,
.article-intro { font-size: 18px; line-height: 1.75; font-weight: 400; }
.lead { font-size: 19px; line-height: 1.7; font-weight: 300; }

/* --- NAVIGATION --- */
nav a,
.nav-links a { font-size: 16px; font-weight: 500; line-height: 1.5; }
.nav-cta { font-size: 15px; font-weight: 600; }

/* --- LABELS & BADGES --- */
.section-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: 2px; }
.article-category-badge { font-size: 12px; font-weight: 600; letter-spacing: 1.5px; }
.result-type-badge { font-size: 14px; font-weight: 500; }
.article-meta-line { font-size: 14px; font-weight: 400; line-height: 1.5; }

/* --- CARDS & CALCULATOR --- */
.calc-card-title { font-size: 16px; font-weight: 600; line-height: 1.5; }
.step-title { font-size: 15px; font-weight: 600; line-height: 1.5; }
.step-text { font-size: 15px; font-weight: 400; line-height: 1.6; }
.result-number-title { font-size: 20px; font-weight: 400; }
.result-desc { font-size: 17px; line-height: 1.75; }

/* --- BUTTONS --- */
button,
.btn,
.btn-primary,
.cta-button,
.waitlist-minimal-btn { font-size: 15px; font-weight: 600; line-height: 1.5; }
.toggle-btn { font-size: 14px; font-weight: 500; }

/* --- BREADCRUMBS --- */
.breadcrumb-sep { font-size: 13px; }
.breadcrumb a,
.breadcrumb span { font-size: 13px; line-height: 1.5; }

/* --- FOOTER --- */
footer { font-size: 14px; line-height: 1.6; }
.footer-copy { font-size: 13px; line-height: 1.6; font-weight: 400; }
footer a { font-size: 14px; font-weight: 400; }

/* --- INPUTS --- */
input[type="text"],
input[type="email"],
input[type="date"],
select,
textarea { font-size: 16px; line-height: 1.5; }

/* ============================================
   MOBILE OVERRIDES (max-width: 767px)
   ============================================ */
@media (max-width: 767px) {
  body { font-size: 17px; line-height: 1.6; }
  p { font-size: 17px; line-height: 1.6; }
  .article-body p,
  .article-intro { font-size: 17px; line-height: 1.7; }
  nav a,
  .nav-links a { font-size: 16px; }
  .step-text { font-size: 14px; }
  .step-title { font-size: 14px; }
  .toggle-btn { font-size: 14px; }
  .result-desc { font-size: 16px; line-height: 1.8; }
  .section-eyebrow { font-size: 12px; }
  button,
  .btn,
  .btn-primary,
  .cta-button { font-size: 15px; }
}

@media (max-width: 480px) {
  .toggle-btn { font-size: 13px; }
  .article-category-badge { font-size: 12px; }
  .step-text { font-size: 14px; }
}
