/* XL-Insight typography accessibility update
   Loaded after styles.css to improve readability, especially on phones. */

/* Prevent micro-text across the site */
body {
  font-size: 17px;
  line-height: 1.65;
}

p, li, a, button, input, textarea, label {
  font-size: max(1rem, 16px);
}

/* Small labels and eyebrow text remain compact, but readable */
.eyebrow,
.proof-kicker,
.service-title > p,
.journey-heading .eyebrow,
.copyright,
.footer-links,
.main-nav {
  font-size: 0.9rem !important;
  line-height: 1.45;
}

/* Numeric markers and counters */
.service-index {
  font-size: clamp(2.1rem, 4vw, 3.5rem) !important;
  line-height: 1;
  min-width: 2.4ch;
}


.hero-bottom > div > span,
.principles article > span,
.journey-flow > div > span,
.engagement-list article > span {
  font-size: 1rem !important;
  line-height: 1.2;
  font-weight: 700;
}

/* Supporting text that was visually too small */
.proof-item span,
.hero-bottom p,
.principles p,
.journey-flow p,
.industry-card p,
.engagement-list p,
.footer p,
.footer a,
.footer span {
  font-size: 1rem !important;
  line-height: 1.55;
}

.service-body li {
  font-size: 1rem;
  line-height: 1.55;
  margin-bottom: 0.35rem;
}

/* Contact form readability */
.contact-form label {
  font-size: 0.95rem !important;
  font-weight: 700;
}

.contact-form input,
.contact-form textarea {
  font-size: 1rem !important;
}

@media (max-width: 760px) {
  body {
    font-size: 18px;
    line-height: 1.65;
  }

  p, li {
    font-size: 1rem !important;
    line-height: 1.62 !important;
  }

  .hero-lead,
  .large-copy,
  .section-intro > p,
  .journey-heading > p,
  .cta-inner p {
    font-size: 1.08rem !important;
    line-height: 1.65 !important;
  }

  .eyebrow,
  .proof-kicker,
  .service-title > p {
    font-size: 0.92rem !important;
    letter-spacing: 0.08em;
  }

  .service-index {
    font-size: 2.6rem !important;
    margin-bottom: 0.4rem;
  }


  .hero-bottom > div > span,
  .principles article > span,
  .journey-flow > div > span,
  .engagement-list article > span {
    font-size: 1.05rem !important;
    min-width: 2.2rem;
  }

  .proof-item span,
  .hero-bottom p,
  .principles p,
  .journey-flow p,
  .industry-card p,
  .engagement-list p {
    font-size: 1rem !important;
  }

  .main-nav a,
  .button,
  .text-link {
    font-size: 1rem !important;
  }

  .copyright,
  .copyright span,
  .footer a,
  .footer p,
  .footer span {
    font-size: 0.95rem !important;
    line-height: 1.5;
  }
}

@media (max-width: 390px) {
  body {
    font-size: 17px;
  }

  .service-index {
    font-size: 2.35rem !important;
  }

}
