/* Final hero layout. Loaded after the legacy bundle to avoid cascade conflicts. */
#hero.about-company {
  height: auto !important;
  min-height: 0 !important;
  margin-top: 40px;
  margin-bottom: 0;
  overflow: hidden;
  background: #00c2cb;
}

#hero .company-heading {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 120px 0 44px !important;
  background: #00c2cb;
  color: #fff;
}

#hero .company-heading .container {
  display: flex;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 15px;
  flex-direction: column;
  align-items: center;
  gap: 34px;
}

#hero .company-heading .container > div {
  width: 100%;
  min-width: 0;
}

#hero h1.text_principal {
  width: 100%;
  max-width: min(96vw, 1480px);
  margin: 0 auto !important;
  color: #fff;
  font-size: clamp(36px, 3.2vw, 54px) !important;
  font-weight: 800;
  line-height: 1.08 !important;
  text-align: center;
  white-space: nowrap;
}

#hero .hero-support-text {
  max-width: min(92vw, 1280px);
  margin: 20px auto 0 !important;
  color: #fff;
  font-size: clamp(18px, 1.35vw, 24px) !important;
  font-weight: 500;
  line-height: 1.55;
  text-align: center;
}

#hero .company-player {
  width: min(78vw, 1248px) !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  margin: 0 auto !important;
  overflow: hidden;
  border-radius: 12px !important;
  box-shadow: 0 18px 44px rgba(12, 77, 91, 0.18);
}

#hero .company-player .video-react-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#hero .hero-video-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 28px !important;
}

#hero .hero-video-actions .hero-cta-btn {
  min-width: 180px;
  margin: 0;
  padding: 12px 24px;
  border-color: #fff;
  background: #fff;
  color: #0580b1;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(12, 77, 91, 0.14);
}

#hero .hero-video-actions .hero-cta-btn:hover,
#hero .hero-video-actions .hero-cta-btn:focus {
  border-color: #fff;
  background: #eefbfc;
  color: #045f86;
}

@media (min-width: 992px) and (max-width: 1599px) {
  #hero .company-player {
    width: min(72vw, 1080px) !important;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  #hero .company-heading {
    padding: 118px 0 42px !important;
  }

  #hero h1.text_principal {
    max-width: 92vw;
    font-size: 36px !important;
    white-space: normal;
  }

  #hero .company-player {
    width: min(88vw, 900px) !important;
  }
}

@media (max-width: 768px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  #topbar .contact-info {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
  }

  #topbar .contact-info .bi-geo-alt-fill + a {
    display: none;
  }

  #topbar .contact-info .bi-geo-alt-fill {
    display: inline-block;
    margin-left: 12px;
  }

  #hero.about-company {
    margin-top: 40px;
  }

  #hero .company-heading {
    padding: 104px 0 36px !important;
  }

  #hero .company-heading .container {
    width: 100vw;
    max-width: 100vw;
    padding: 0 15px;
    gap: 24px;
  }

  #hero h1.text_principal {
    width: 100%;
    max-width: 100%;
    padding: 0 8px;
    font-size: clamp(26px, 7.2vw, 30px) !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  #hero .hero-support-text {
    max-width: 100%;
    margin-top: 14px !important;
    padding: 0 8px;
    font-size: 16px !important;
  }

  #hero .company-player {
    width: 100% !important;
  }

  #hero .hero-video-actions {
    width: 100%;
    margin-top: 18px !important;
    flex-direction: column;
    gap: 10px;
  }

  #hero .hero-video-actions .hero-cta-btn {
    width: min(100%, 320px);
  }
}
