 /* Fuente general */
    body {
      font-family: 'Montserrat', sans-serif;
      background-color: #f8f9fa;
      margin: 0;
      padding: 0;
    }

    /* Header video */
    header {
      position: relative;
      height: 75vh;
      overflow: hidden;
      color: white;
    }

    header video {
      position: absolute;
      top: 50%;
      left: 50%;
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      transform: translate(-50%, -50%);
      object-fit: cover;
      filter: brightness(0.45);
      z-index: 0;
    }

    header .overlay-content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; /* <- esto centra horizontalmente */
  text-align: center;   /* <- centra el texto */
  padding-left: 0;      /* <- elimina el padding izquierdo */
}


    header h1 {
      font-weight: 700;
      font-size: 3.5rem;
      letter-spacing: 2px;
      text-shadow: 2px 2px 8px rgba(70, 174, 235, 0.85);
      margin-bottom: 0.3rem;
    }

    header p.lead {
      font-size: 1.6rem;
      font-weight: 600;
      text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.7);
    }

    /* Navbar */
    .navbar {
      box-shadow: 0 2px 10px rgb(0 0 0 / 0.1);
      background-color: #ffffff;
    }

    .navbar .nav-link {
      font-weight: 600;
      color: #212529;
      transition: color 0.3s ease;
    }

    .navbar .nav-link:hover,
    .navbar .nav-link.active {
      color: #0d6efd;
    }

    .dropdown-menu {
      border-radius: 0.5rem;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    }

    .dropdown-header {
      font-weight: 700;
      font-size: 0.95rem;
      color: #0d6efd;
      padding-left: 1.5rem;
    }

    /* Portfolio cards */
    .portfolio-item .card {
      border: none;
      border-radius: 1rem;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      box-shadow: 0 0 15px rgb(0 0 0 / 0.06);
      height: 100%;
      display: flex;
      flex-direction: column;
    }

    .portfolio-item .card:hover {
      transform: translateY(-12px);
      box-shadow: 0 15px 30px rgb(0 0 0 / 0.15);
    }

    .portfolio-item .card-img-top {
      border-top-left-radius: 1rem;
      border-top-right-radius: 1rem;
      height: 180px;
      object-fit: cover;
    }

    .portfolio-item .card-body {
      flex-grow: 1;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .portfolio-item .card-body h4 a {
      text-decoration: none;
      color: #0d6efd;
      font-weight: 700;
      font-size: 1.25rem;
      margin-bottom: 0.8rem;
      transition: color 0.3s ease;
    }

    .portfolio-item .card-body h4 a:hover {
      color: #0a58ca;
    }

    .portfolio-item .card-text {
      font-size: 0.9rem;
      color: #495057;
      flex-grow: 1;
    }

    .portfolio-item .btn {
      align-self: start;
      margin-top: 1rem;
      font-weight: 600;
      padding: 0.4rem 1rem;
      font-size: 0.9rem;
      border-radius: 0.5rem;
    }

    /* Section titles */
    h2.section-title {
      font-weight: 700;
      margin-bottom: 2.5rem;
      color: #212529;
      text-transform: uppercase;
      letter-spacing: 1.5px;
    }

    /* About us */
    .about-image {
      border-radius: 1rem;
      box-shadow: 0 0 18px rgb(0 0 0 / 0.1);
      max-width: 100%;
    }

    .about-text p {
      font-size: 1.05rem;
      color: #343a40;
      text-align: justify;
    }

    /* Modal */
    .modal-content {
      border-radius: 1rem;
    }

    /* Clients logos */
    .client-logo {
      filter: grayscale(60%);
      transition: filter 0.3s ease;
      max-height: 80px;
      object-fit: contain;
      max-width: 100%;
      margin: 0 auto;
      display: block;
    }

    .client-logo:hover {
      filter: none;
    }

    /* WhatsApp floating button */
    .btn-whatsapp {
      position: fixed;
      bottom: 1.8rem;
      right: 1.8rem;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background-color: #25d366;
      box-shadow: 0 5px 18px rgba(37, 211, 102, 0.7);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1100;
      transition: background-color 0.3s ease;
    }

    .btn-whatsapp:hover {
      background-color: #1ebe57;
      text-decoration: none;
    }

    .btn-whatsapp img {
      width: 30px;
      height: 30px;
    }

    