/* Type-scale overrides, loaded after the compiled app CSS.
   Scale: H1 page title | H2 section | H2 banner | H3 feature 36 | card 24 | client 18 */

/* Titles */
h1.font-heading {
  font-size: clamp(2.25rem, 4.5vw, 4.5rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance;
}

/* Section headings */
h2[class*="clamp(1.5rem,3"] {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

/* Closing banners ("Have a project in mind?", "Let's talk") */
h2[class*="clamp(1.5rem,4vw"],
h2[class*="clamp(2rem,4.5vw"] {
  font-size: clamp(2rem, 4vw, 3.25rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

/* Service and card headings share one size */
h2.text-xl,
h3.text-xl,
h3.text-lg.md\:text-xl {
  font-size: 1.5rem !important;
  line-height: 1.25 !important;
  text-wrap: balance;
}

/* Client names */
h3.text-lg.leading-snug.mb-2 {
  font-size: 1.125rem !important;
  line-height: 1.3 !important;
}

/* Feature headings */
h3.md\:text-4xl {
  text-wrap: balance;
}

/* Category labels: readable sans instead of 12px italic serif */
p.font-heading.italic.text-xs {
  font-family: var(--font-body), sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 0.8125rem !important;
  letter-spacing: 0.02em;
  line-height: 1.4 !important;
}

/* Small body copy: bigger and a touch heavier */
p.font-body.text-sm {
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  text-wrap: pretty;
}
p.font-body.text-xs {
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
}

/* Footer */
.text-\[11px\] {
  font-size: 0.75rem !important;
}

/* Avoid single-word last lines in short copy */
p.font-body.text-sm:not(.line-clamp-3),
p.font-body.text-base {
  text-wrap: balance;
}

/* Hero slides move under the fixed headline */
@media (prefers-reduced-motion: reduce) {
  .hero-track { transition-duration: 0.01s !important; }
}

/* Consultancy pillars: second paragraph matches the larger first paragraph */
p.font-body.text-base.mb-4 + p.font-body.text-sm {
  font-size: 1rem !important;
  line-height: 1.625 !important;
}
