/* Homepage-only type overrides — bigger, bolder front-page text.
   Scoped under body.page-index so interior pages are unaffected. */

body.page-index .hero h1 {
  font-size: clamp(2.1rem, 1.4rem + 2.6vw, 3.1rem);
  font-weight: 800;
}

body.page-index .hero p {
  font-size: 1.18rem;
  font-weight: 600;
}

body.page-index h2 {
  font-weight: 800;
}

body.page-index .eyebrow {
  font-size: 1rem;
  font-weight: 800;
}

body.page-index .section-head p,
body.page-index > section p {
  font-size: 1.08rem;
  font-weight: 600;
}

body.page-index .service-card__caption {
  font-size: 1.08rem;
}

body.page-index .service-card__body p {
  font-size: 1rem;
  font-weight: 600;
}

body.page-index .feature h3 {
  font-size: 1.2rem;
}

body.page-index .feature p {
  font-size: 1rem;
  font-weight: 600;
}

body.page-index .stat__num {
  font-weight: 900;
}

body.page-index .stat__label {
  font-size: 0.95rem;
  font-weight: 700;
}

body.page-index .testimonial p {
  font-size: 1.12rem;
  font-weight: 600;
}

body.page-index .client-tile {
  font-weight: 800;
}

body.page-index .btn {
  font-weight: 800;
}

/* Spacing & layout refinements — tighter, more consistent rhythm between
   major homepage sections. Scoped to the homepage only. */
body.page-index .section {
  padding-block: var(--sp-7);
}

body.page-index .stats-band {
  padding-block: var(--sp-6);
}

body.page-index .section-head {
  margin-bottom: var(--sp-7);
}

body.page-index .section + .section,
body.page-index .stats-band + .section,
body.page-index .section + .stats-band {
  border-top: 1px solid rgba(16, 16, 18, 0.04);
}

@media (max-width: 640px) {
  body.page-index .section {
    padding-block: var(--sp-6);
  }
  body.page-index .section-head {
    margin-bottom: var(--sp-5);
  }
}
