/* Performance: reduce CLS, stable layout before web fonts / injected chrome */

@font-face {
  font-family: "Poppins Fallback";
  src: local("Arial");
  size-adjust: 100%;
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
}

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

body {
  font-family: "Poppins", "Poppins Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

#header-container {
  min-height: 72px;
  contain: layout style;
}

#footer-container {
  min-height: 240px;
  contain: layout style;
}

.wordmark {
  display: inline-flex;
  align-items: baseline;
  min-height: 1.2em;
}

.hero h1 {
  min-height: clamp(2.6rem, 7.5vw, 5.4rem);
}

.section-head {
  min-height: 4.5rem;
}

#services,
#locations,
#gallery,
#how,
#faq {
  content-visibility: auto;
  contain-intrinsic-size: auto 480px;
}

.gallery-slider,
.hero-card {
  contain: layout;
}
