/* MR9 Version 9.3 — Purpose-Based Hero Sizing
   Homepage: dramatic but not full-screen
   Service pages: medium-height
   Utility/contact pages: compact, with meaningful content visible sooner
*/

/* Prevent older rules from forcing near-full-screen heroes. */
body.mr9-home-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero),
body.mr9-medium-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero),
body.mr9-compact-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero) {
  height: auto !important;
  max-height: none !important;
}

/* Homepage: still impressive, but content appears sooner. */
body.mr9-home-hero :is(.hero,.page-hero,.service-hero,.inner-hero) {
  min-height: clamp(500px, 68vh, 760px) !important;
}

/* Main sales, portfolio and service pages. */
body.mr9-medium-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero) {
  min-height: clamp(360px, 46vh, 560px) !important;
}

/* Contact, resources, partner and other utility pages. */
body.mr9-compact-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero) {
  min-height: clamp(245px, 31vh, 370px) !important;
}

/* Keep headline scale appropriate for laptop screens. */
body.mr9-home-hero :is(.hero-copy,.page-hero-copy,.service-hero-copy,.inner-hero-copy) h1 {
  font-size: clamp(46px, 6vw, 86px) !important;
  line-height: .96 !important;
}

body.mr9-medium-hero :is(.hero-copy,.page-hero-copy,.service-hero-copy,.inner-hero-copy) h1 {
  font-size: clamp(42px, 5.3vw, 74px) !important;
  line-height: .98 !important;
}

body.mr9-compact-hero :is(.hero-copy,.page-hero-copy,.service-hero-copy,.inner-hero-copy) h1 {
  font-size: clamp(36px, 4.5vw, 60px) !important;
  line-height: 1 !important;
}

/* Reduce excessive vertical padding inside shorter heroes. */
body.mr9-medium-hero :is(.hero-copy,.page-hero-copy,.service-hero-copy,.inner-hero-copy) {
  padding-top: clamp(120px, 13vw, 175px) !important;
  padding-bottom: clamp(42px, 6vw, 76px) !important;
}

body.mr9-compact-hero :is(.hero-copy,.page-hero-copy,.service-hero-copy,.inner-hero-copy) {
  padding-top: clamp(105px, 11vw, 145px) !important;
  padding-bottom: clamp(28px, 4vw, 48px) !important;
}

/* Inquiry page has its own hero classes and needs the strongest reduction. */
body.inquiry-page .inquiry-hero,
body.mr9-compact-hero .inquiry-hero {
  min-height: clamp(285px, 36vh, 380px) !important;
  height: auto !important;
}

body.inquiry-page .inquiry-hero-copy,
body.mr9-compact-hero .inquiry-hero-copy {
  padding:
    clamp(110px, 11vw, 145px)
    clamp(22px, 6vw, 92px)
    clamp(34px, 4.5vw, 55px) !important;
}

body.inquiry-page .inquiry-hero-copy h1,
body.mr9-compact-hero .inquiry-hero-copy h1 {
  font-size: clamp(38px, 5.4vw, 68px) !important;
  line-height: .98 !important;
  max-width: 850px !important;
  margin-bottom: 15px !important;
}

body.inquiry-page .inquiry-hero-copy span,
body.mr9-compact-hero .inquiry-hero-copy span {
  font-size: clamp(16px, 1.55vw, 21px) !important;
  line-height: 1.45 !important;
  max-width: 760px !important;
}

/* Bring the form introduction closer to the hero. */
body.inquiry-page .inquiry-shell {
  padding-top: clamp(40px, 5vw, 66px) !important;
}

/* Laptop tuning: retain desktop layout without oversized imagery. */
@media (min-width: 1025px) and (max-width: 1440px) {
  body.mr9-home-hero :is(.hero,.page-hero,.service-hero,.inner-hero) {
    min-height: clamp(470px, 62vh, 660px) !important;
  }

  body.mr9-medium-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero) {
    min-height: clamp(330px, 42vh, 480px) !important;
  }

  body.mr9-compact-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero),
  body.inquiry-page .inquiry-hero {
    min-height: clamp(255px, 32vh, 340px) !important;
  }
}

/* Mobile: enough visual identity without pushing content off-screen. */
@media (max-width: 1024px) {
  body.mr9-home-hero :is(.hero,.page-hero,.service-hero,.inner-hero) {
    min-height: clamp(420px, 61vh, 600px) !important;
  }

  body.mr9-medium-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero) {
    min-height: clamp(300px, 43vh, 430px) !important;
  }

  body.mr9-compact-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero),
  body.inquiry-page .inquiry-hero {
    min-height: clamp(235px, 34vh, 315px) !important;
  }

  body.inquiry-page .inquiry-hero-copy,
  body.mr9-compact-hero .inquiry-hero-copy {
    padding: 105px 20px 30px !important;
  }

  body.inquiry-page .inquiry-hero-copy h1,
  body.mr9-compact-hero .inquiry-hero-copy h1 {
    font-size: clamp(37px, 11vw, 54px) !important;
  }
}

@media (max-width: 600px) {
  body.mr9-home-hero :is(.hero,.page-hero,.service-hero,.inner-hero) {
    min-height: 500px !important;
  }

  body.mr9-medium-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero) {
    min-height: 340px !important;
  }

  body.mr9-compact-hero :is(.hero,.page-hero,.service-hero,.inner-hero,.portfolio-hero,.about-hero),
  body.inquiry-page .inquiry-hero {
    min-height: 265px !important;
  }

  body.inquiry-page .inquiry-shell {
    padding-top: 34px !important;
  }
}
