html, body {
  overflow-x: hidden;
}
#home{
  position: relative;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
}
.hero-video-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-video-bg video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-video-bg::after{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.4) 0%, rgba(0,0,0,.2) 40%, transparent 100%);
  z-index: 1;
}
.hero-content{
  position: absolute;
  z-index: 2;
  bottom: 50px;
  left: 0;
  right: 0;
  padding: 0 24px;
  text-align: left;
}
.hero-content h1{
  font-size: clamp(2rem, 5vw, 3.8rem);
  line-height: 1.1;
  color: #fff;
  max-width: 100%;
  margin-bottom: .6rem;
}
.hero-content .hero-lead{
  font-size: 1rem;
  color: rgba(255,255,255,.85);
  max-width: 680px;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.hero-content .btn-light{
  border-radius: 50px;
}
.hero-content .btn-outline-light{
  border-radius: 50px;
}
.hero-contact-info{
  display: flex;
  gap: 2rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}
.hero-contact-info .contact-item{
  display: flex;
  align-items: center;
  gap: .75rem;
  color: rgba(255,255,255,.9);
  font-size: .95rem;
}
.hero-contact-info .contact-item i{
  font-size: 1.1rem;
  color: #fff;
}
@media (max-width: 991px){
  #home{ min-height: 500px; }
  .hero-content{ bottom: 32px; padding: 0 20px; }
  .hero-content h1{ font-size: clamp(1.6rem, 4.5vw, 2.4rem); margin-bottom: .8rem; }
}
@media (max-width: 575px){
  #home{ min-height: 460px; }
  .hero-content{ bottom: 20px; padding: 0 16px; }
  .hero-content h1{ font-size: 1.3rem; margin-bottom: .6rem; }
  .hero-contact-info{ gap: 1rem; }
  .hero-contact-info .contact-item{ font-size: .85rem; }
}

/* ===== Hero Navbar Overlay (index-v2.php only) ===== */
.home-navbar-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
}
.home-navbar-wrapper > .container-fluid.sticky-top {
  position: relative !important;
  top: 0 !important;
  background-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background-color .3s ease, box-shadow .3s ease;
}
.home-navbar-wrapper .navbar .nav-link {
  color: rgba(255,255,255,.9) !important;
  transition: color .3s ease;
}
.home-navbar-wrapper .navbar .nav-link:hover,
.home-navbar-wrapper .navbar .nav-link.active {
  color: #fff !important;
}
.home-navbar-wrapper .navbar-toggler {
  border-color: rgba(255,255,255,.5);
}
.home-navbar-wrapper .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
.home-navbar-wrapper .btn-solid-sm {
  background: rgba(255,255,255,.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,.3);
  transition: all .3s ease;
}
.home-navbar-wrapper .btn-solid-sm:hover {
  background: #fff;
  color: #333;
}
/* Scrolled state */
.home-navbar-wrapper.scrolled > .container-fluid.sticky-top {
  background-color: #fff !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.1) !important;
}
.home-navbar-wrapper.scrolled .navbar .nav-link {
  color: rgba(0,0,0,.8) !important;
}
.home-navbar-wrapper.scrolled .navbar .nav-link:hover,
.home-navbar-wrapper.scrolled .navbar .nav-link.active {
  color: var(--primary) !important;
}
.home-navbar-wrapper.scrolled .navbar-toggler {
  border-color: rgba(0,0,0,.1);
}
.home-navbar-wrapper.scrolled .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
.home-navbar-wrapper.scrolled .btn-solid-sm {
  background: var(--primary);
  color: #fff;
  border: none;
}
.home-navbar-wrapper.scrolled .btn-solid-sm:hover {
  background: #0056b3;
}
@media (max-width: 991px) {
  .home-navbar-wrapper .navbar-collapse {
    background: rgba(0,0,0,.92);
    padding: 1rem;
    border-radius: 8px;
    margin-top: .5rem;
  }
  .home-navbar-wrapper.scrolled .navbar-collapse {
    background: rgba(255,255,255,.98);
  }
}
