/* Hard overrides to normalize header heights on all pages */
.hero-section { min-height: 110vh !important; }
.page-header-section, .service-page-header {
  min-height: 110vh !important;
  padding-top: clamp(3rem, 8vh, 6rem) !important;
  padding-bottom: clamp(2rem, 6vh, 4rem) !important;
}

/* Treat first image in header sections as background layer */
.page-header-section > img,
.service-page-header > img,
.fleet-detail-header > img,
/* If an image component renders an <img> inside a wrapper, catch the first child */
.page-header-section img:first-child,
.service-page-header img:first-child,
.fleet-detail-header img:first-child {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 0 !important;
}

/* Ensure gradient and content layers sit above */
.page-header-section > .absolute,
.service-page-header > .absolute,
.fleet-detail-header > .absolute { z-index: 1 !important; }
