html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
iframe,
table {
  max-width: 100%;
}

.navbar-brand {
  min-width: 0;
  max-width: calc(100% - 64px);
}

.navbar-brand .h4,
.navbar-brand small {
  white-space: normal;
  overflow-wrap: anywhere;
}

.navbar-brand .h4 {
  font-size: clamp(1rem, 4.4vw, 1.5rem);
  line-height: 1.1;
}

.navbar-brand small {
  font-size: clamp(.68rem, 2.8vw, .85rem);
  line-height: 1.15;
}

.carousel-caption .p-3 {
  width: min(92vw, 900px);
}

.hero-img {
  min-height: 520px;
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 991.98px) {
  .navbar {
    padding: .75rem 1rem !important;
  }

  .navbar-brand > span:first-child {
    width: 44px !important;
    height: 44px !important;
    margin-right: .65rem !important;
    flex: 0 0 auto;
  }

  .navbar-collapse {
    max-height: calc(100vh - 76px);
    overflow-y: auto;
    padding-top: .75rem;
  }

  .navbar-light .navbar-nav .nav-link {
    padding: .65rem 0;
    font-size: 1rem;
  }

  .dropdown-menu {
    border: 0;
    box-shadow: none;
    padding-left: 1rem;
  }
}

@media (max-width: 767.98px) {
  #header-carousel .carousel-item {
    height: 520px;
    min-height: 520px;
  }

  #header-carousel .carousel-item img,
  .hero-img {
    height: 520px !important;
  }

  .carousel-caption {
    padding: 1rem;
  }

  .carousel-caption h1 {
    font-size: .9rem;
    letter-spacing: .08em;
  }

  .carousel-caption .display-1,
  .carousel-caption h2,
  .carousel-caption h3 {
    font-size: clamp(1.75rem, 9vw, 2.35rem) !important;
    line-height: 1.12;
  }

  .carousel-caption p {
    font-size: .95rem;
    line-height: 1.45;
  }

  .carousel-caption .btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 138px;
    margin: .25rem !important;
    padding: .75rem 1rem !important;
  }

  .carousel-control-prev,
  .carousel-control-next {
    display: none;
  }

  .display-4,
  .display-5,
  .display-6 {
    font-size: clamp(1.75rem, 8vw, 2.25rem);
  }

  .container-fluid.py-6,
  .container-fluid.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .hover-card {
    padding: 1.25rem !important;
  }

  .hover-card h4 {
    font-size: 1.15rem;
  }

  .whatsapp-circle,
  .call-circle {
    width: 52px;
    height: 52px;
  }

  .whatsapp-bubble-link {
    left: 14px;
    bottom: 18px;
  }

  .call-bubble-link {
    right: 14px;
    bottom: 18px;
  }
}

@media (max-width: 575.98px) {
  .row > .col-6 {
    width: 100%;
  }

  .navbar-brand .h4 {
    font-size: 1rem;
  }

  .navbar-brand small {
    font-size: .7rem;
  }

  #header-carousel .carousel-item,
  #header-carousel .carousel-item img,
  .hero-img {
    height: 560px !important;
    min-height: 560px;
  }
}