/* Contact page — hero + strip full width on mobile and desktop */

body.contact-page,
body[data-rt-page="contact"] {
  overflow-x: hidden;
}

body.contact-page #__next,
body.contact-page main,
body[data-rt-page="contact"] #__next,
body[data-rt-page="contact"] main {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow-x: visible !important;
}

.ct-hero {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: clamp(260px, 38vh, 400px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(5.5rem, 12vw, 7rem) clamp(1rem, 4vw, 2rem) clamp(2rem, 4vw, 3rem) !important;
  text-align: center !important;
  overflow: hidden !important;
}

.ct-strip {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 1rem clamp(1rem, 4vw, 2rem) !important;
}

.ct-hero h1 {
  max-width: 18ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.12 !important;
}

.ct-hero p {
  max-width: min(480px, 92vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 768px) {
  html,
  body.contact-page,
  body[data-rt-page="contact"] {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  body.contact-page #__next,
  body.contact-page main,
  body[data-rt-page="contact"] #__next,
  body[data-rt-page="contact"] main {
    overflow-x: visible !important;
  }

  body.contact-page .ct-hero,
  body.contact-page .ct-strip,
  body[data-rt-page="contact"] .ct-hero,
  body[data-rt-page="contact"] .ct-strip {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
}

@media (max-width: 600px) {
  .ct-hero {
    min-height: clamp(240px, 52vw, 320px) !important;
    padding: clamp(5rem, 14vw, 5.75rem) 1rem 1.75rem !important;
  }

  .ct-strip {
    padding: 0.85rem 1rem !important;
  }

  .ct-hero h1 {
    font-size: clamp(1.65rem, 7vw, 2.1rem) !important;
    max-width: 100% !important;
  }

  .ct-hero p {
    font-size: clamp(0.82rem, 3.4vw, 0.92rem) !important;
    line-height: 1.6 !important;
  }
}

@media (min-width: 1024px) {
  .ct-hero {
    min-height: clamp(300px, 36vh, 380px) !important;
  }
}
