        :root {
          --primary-color: #005591;
          --secondary-color: #0080c8;
          --light-color: #f8f9fa;
        }

        body {
          font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
          color: #333;
          line-height: 1.6;
        }

        .navbar {
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }

        .navbar-brand {
          font-size: 24px;
          font-weight: bold;
          color: var(--primary-color) !important;
        }

        .navbar-nav .nav-link {
          font-weight: 500;
          color: #333 !important;
          transition: color 0.3s;
        }

        .navbar-nav .nav-link:hover {
          color: var(--primary-color) !important;
        }

        .hero-section {
          position: relative;
          height: 600px;
          display: flex;
          align-items: center;
          background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
          overflow: hidden;
        }

        .hero-video {
          position: absolute;
          width: 100%;
          height: 100%;
          object-fit: cover;
          opacity: 0.3;
        }

        .hero-content {
          position: relative;
          z-index: 2;
          color: white;
        }

        .btn-primary-custom {
          background: white;
          color: var(--primary-color);
          padding: 15px 30px;
          font-weight: 600;
          border-radius: 5px;
          transition: transform 0.3s, box-shadow 0.3s;
          border: none;
        }

        .btn-primary-custom:hover {
          transform: translateY(-2px);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
          background: white;
          color: var(--primary-color);
        }

        .section-title {
          font-size: 2.5rem;
          margin-bottom: 50px;
          color: #333;
        }

        .card-custom {
          background: white;
          border-radius: 10px;
          padding: 40px;
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
          transition: transform 0.3s;
          height: 100%;
          border: none;
        }

        .card-custom:hover {
          transform: translateY(-10px);
        }

        .card-icon {
          width: 80px;
          height: 80px;
          margin: 0 auto 20px;
        }

        .card-custom h3 {
          font-size: 1.3rem;
          margin-bottom: 15px;
          color: var(--primary-color);
        }

        .card-custom ul {
          list-style: none;
          padding-left: 0;
        }

        .card-custom li {
          padding: 8px 0;
          padding-left: 25px;
          position: relative;
        }

        .card-custom li:before {
          content: "✓";
          position: absolute;
          left: 0;
          color: var(--primary-color);
          font-weight: bold;
        }

        .video-wrapper {
          border-radius: 10px;
          overflow: hidden;
          box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        }

        .case-card {
          background: white;
          border-radius: 10px;
          overflow: hidden;
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
          height: 100%;
          transition: transform 0.3s;
          border: none;
        }

        .case-card:hover {
          transform: translateY(-5px);
        }

        .case-card img {
          width: 100%;
          height: 200px;
          object-fit: cover;
        }

        .case-content {
          padding: 30px;
        }

        .case-content h3 {
          font-size: 1.2rem;
          margin-bottom: 15px;
          color: var(--primary-color);
        }

        .solution-card {
          background: white;
          border-radius: 10px;
          padding: 40px 30px;
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
          transition: transform 0.3s;
          height: 100%;
          text-align: center;
          border: none;
        }

        .solution-card:hover {
          transform: translateY(-10px);
        }

        .solution-card img {
          width: 100%;
          margin-bottom: 25px;
        }

        .solution-card h3 {
          font-size: 1.2rem;
          margin-bottom: 15px;
          color: var(--primary-color);
        }

        footer {
          background: #1a1a1a;
          color: white;
        }

        footer h4 {
          margin-bottom: 20px;
          color: #fff;
        }

        footer a {
          color: #ccc;
          text-decoration: none;
          transition: color 0.3s;
        }

        footer a:hover {
          color: var(--primary-color);
        }

        .footer-bottom {
          padding-top: 20px;
          border-top: 1px solid #333;
          color: #888;
        }

        @media (max-width: 768px) {
          .hero-section {
            height: 500px;
          }

          .section-title {
            font-size: 2rem;
          }
        }


        /* 1. Estilo General y Sombra del Contenido */
        .custom-shadow {
          box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1) !important;
          border: none;
          border-radius: 1rem;
          background-color: #ffffff;
        }

        .tab-content {
          border-radius: 0 0 1rem 1rem !important;
          /* Bordes inferiores redondeados */
          margin-top: -1px;
          /* Para que se junte bien con el nav-tabs */
        }

        .text-primary {
          color: #005591 !important;
        }

        /* 2. Estilo de las Pestañas (Nav Tabs) */
        .custom-wave-tabs {
          border-bottom: 2px solid #e9ecef;
          background-color: #ffffff;
          border-radius: 1rem 1rem 0 0;
          box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05);
          /* Sombra suave superior */
          padding-top: 0.5rem;
        }



        .custom-wave-tabs .nav-link {
          border: none;
          color: #6c757d;
          padding: 1rem 1.25rem;
          position: relative;
          transition: color 0.3s ease;
          border-radius: 0.5rem 0.5rem 0 0;
        }

        .custom-wave-tabs .nav-link:hover {
          color: #005591;
          background-color: #f8f9fa;
        }

        .custom-wave-tabs .nav-link.active {
          color: #005591;
          font-weight: bold;
          background-color: #ffffff;
          border-top: 2px solid #005591;
          /* Línea de color arriba */
          border-left: 1px solid #e9ecef;
          border-right: 1px solid #e9ecef;
          border-bottom: 1px solid #ffffff;
          /* Truco para que la ola parezca que sale del contenido */
          margin-top: -1px;
        }

        .tab-wave-svg {
          position: absolute;
          bottom: -15px;
          left: 50%;
          transform: translateX(-50%);
          width: 50px;
          height: 30px;
          fill: #005591;
          opacity: 0;
          transition: opacity 0.3s ease;
          z-index: 2;
          /* Asegura que esté sobre el borde de la nav */
        }

        .nav-link.active .tab-wave-svg {
          opacity: 1;
        }

        .nav-link .tab-title {
          display: block;
          font-size: 1.1rem;
          font-weight: 600;
        }

        .nav-link .tab-label {
          display: block;
          font-size: 0.85rem;
          color: #9a9a9a;
        }

        .nav-link.active .tab-label {
          color: #343a40;
        }

        /* 3. Estilo de la Lista de Análisis */
        .custom-analysis-list {
          list-style: none;
        }

        .custom-analysis-list li {
          position: relative;
          padding-left: 2rem;
          margin-bottom: 0.7rem;
          font-size: 1.05rem;
          color: #495057;
        }

        .custom-analysis-list li::before {
          content: '✓';
          position: absolute;
          left: 0;
          top: 0;
          color: #198754;
          /* Color Verde */
          font-weight: bold;
          font-size: 1.2rem;
        }

        /* 4. Contenedor de Imagen/Video */
        .image-container img {
          height: auto;
          width: 100%;
          object-fit: cover;
        }

        .ratio {
          border-radius: 0.5rem;
        }

        /* 5. Botón de "Descubre más" */
        .custom-btn-discover {
          font-weight: 600;
          padding: 0.75rem 1.5rem;
          transition: all 0.3s ease;
        }

        .custom-btn-discover:hover {
          transform: translateY(-2px);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
        }

        /* 6. Ajustes de Responsividad */
        @media (max-width: 767.98px) {
          .custom-wave-tabs .nav-link {
            padding: 0.75rem 0.5rem;
          }

          .custom-wave-tabs {
            border-radius: 0;
          }

          .tab-content {
            border-radius: 0;
          }

          .tab-pane .order-md-1,
          .tab-pane .order-md-2 {
            order: unset !important;
            /* Asegura Texto -> Imagen/Video en móviles */
          }

          .tab-pane .row {
            text-align: center;
            /* Centra el texto en móviles */
          }

          .custom-btn-discover {
            width: 100%;
            margin-bottom: 1rem;
          }
        }

        .modal-dialog {
          max-width: 680px;
        }

        .modal-content {
          border: none;
          border-radius: 15px;
          box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        }

        .modal-header {
          border-radius: 15px 15px 0 0;
          background: linear-gradient(135deg, #005591 0%, #0080c8 100%) !important;
        }

        .btn-success {
          background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
          border: none;
          padding: 10px 25px;
          font-weight: 600;
          transition: all 0.3s ease;
        }

        .btn-success:hover {
          transform: translateY(-2px);
          box-shadow: 0 5px 15px rgba(37, 211, 102, 0.3);
        }

        .form-control,
        .form-select {
          border: 2px solid #e9ecef;
          border-radius: 8px;
          padding: 10px 15px;
          transition: all 0.3s ease;
        }

        .form-control:focus,
        .form-select:focus {
          border-color: #005591;
          box-shadow: 0 0 0 0.2rem rgba(0, 85, 145, 0.25);
        }

        .form-label {
          font-weight: 600;
          color: #495057;
          margin-bottom: 8px;
        }

        #contactoForm {
          animation: fadeIn 0.5s ease-in;
        }

        @keyframes fadeIn {
          from {
            opacity: 0;
            transform: translateY(10px);
          }

          to {
            opacity: 1;
            transform: translateY(0);
          }
        }