

        @keyframes gradientBG {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

            @keyframes pulseGlow {
            0%, 100% { box-shadow: 0 0 10px rgba(255, 255, 255, 0.3); }
            50% { box-shadow: 0 0 25px rgba(220, 38, 38, 0.8); }
            }

            @keyframes softPulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.03); }
        }
        
       
       .scroll-indicator {
            animation: bounce 2s infinite;
        }
        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
            40% {transform: translateY(-20px);}
            60% {transform: translateY(-10px);}
        }
        
        .gradient-btn {
        background-size: 200% 200%;
        background-image: linear-gradient(
            135deg,
            #f87171,  /* red-400 */
            #dc2626,  /* red-600 */
            #f87171   /* red-400 (loop suave) */
        );
        color: white;
        border: 3px solid black; /* <- borde negro */
        padding: 0.6rem 0.8rem;
        font-size: 1.1rem;
        font-weight: bold;
        border-radius: 999px;
        cursor: pointer;
        animation: gradientBG 3s ease infinite, pulseGlow 3s ease-in-out infinite, softPulse 3.5s ease-in-out infinite;
        transition: all 0.3s ease;
        text-transform: uppercase;
        letter-spacing: 1px;
        }


        .gradient-btn:hover {
        transform: scale(1.08);
        box-shadow: 0 0 25px rgba(220, 38, 38, 0.8), 0 0 35px rgba(255, 255, 255, 0.2);
        animation-play-state: paused;
        }
        
        .btn-hover-effect {
            transition: all 0.3s ease;
            transform: translateY(0);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }
        .btn-hover-effect:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
        }
        .fade-in {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease, transform 0.6s ease;
        }
        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }
        .scale-in {
            transform: scale(0.9);
            opacity: 0;
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .scale-in.visible {
            transform: scale(1);
            opacity: 1;
        }
        .whatsapp-btn {
            animation: pulseW 2.5s infinite;
        }

        




        @keyframes pulseW {
            0% { box-shadow: 0 0 0 0 rgba(108, 238, 115, 0.7); }
            70% { box-shadow: 0 0 0 15px rgba(76, 175, 80, 0); }
            100% { box-shadow: 0 0 0 0 rgba(76, 175, 80, 0); }
        }

          @keyframes pulse {
            0% { box-shadow: 0 0 0 0 rgba(228, 60, 60, 0.7); }
            70% { box-shadow: 0 0 0 15px rgba(76, 175, 80, 0); }
            100% { box-shadow: 0 0 0 0 rgba(76, 175, 80, 0); }
        }


        .lightbox {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.9);
            z-index: 1000;
            align-items: center;
            justify-content: center;
        }
        
        .lightbox-content {
            max-width: 90%;
            max-height: 90%;
        }
        
        .lightbox-content img {
            width: auto;
            height: auto;
            max-width: 100%;
            max-height: 80vh;
        }
        
        .close-btn {
            position: absolute;
            top: 20px;
            right: 30px;
            color: white;
            font-size: 40px;
            cursor: pointer;
        }
        
        .gallery-item {
            transition: all 0.3s ease;
            cursor: pointer;
        }
        
        .gallery-item:hover {
            transform: scale(1.03);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
        }
        
        .youtube-container {
            position: relative;
            padding-bottom: 56.25%;
            height: 0;
            overflow: hidden;
        }
        
        .youtube-container iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: none;
        }
 

        :root {
            --primary: #FF0000;  /* Rojo vibrante */
            --secondary: #000000; /* Negro puro */
            --accent: #FFFFFF;    /* Blanco puro */
            --dark: #000000;      /* Negro puro */
            --dark-secondary: #111111; /* Negro más oscuro */
            --text-light: #FFFFFF; /* Texto claro */
            --text-dark: #333333;  /* Texto oscuro */
        }
        
        /* Animaciones personalizadas */
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        @keyframes scaleIn {
            from { transform: scale(0.95); opacity: 0; }
            to { transform: scale(1); opacity: 1; }
        }
        
        .animate-on-scroll {
            opacity: 0;
            transition: all 0.6s ease-out;
        }
        
        .animate-on-scroll.animated {
            opacity: 1;
        }
        
        /* Animación para el menú */
        .nav-btn {
            position: relative;
            transition: all 0.3s ease;
        }
        
        .nav-btn::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background-color: var(--primary);
            transition: width 0.3s ease;
        }
        
        .nav-btn:hover::after {
            width: 100%;
        }
        
        
        /* Animación secciones */
        .section-hidden {
            opacity: 0;
            filter: blur(5px);
            transform: translateY(30px);
            transition: all 1s;
        }
        
        .section-show {
            opacity: 1;
            filter: blur(0);
            transform: translateY(0);
        }
        
       /* Animación de fondo con gradiente rojo */
        @keyframes gradientBG {
        0% { background-position: 0% 50%; }
        50% { background-position: 100% 50%; }
        100% { background-position: 0% 50%; }
        }

        @keyframes pulseGlow {
        0% { box-shadow: 0 0 0 rgba(220, 38, 38, 0.3); }
        50% { box-shadow: 0 0 18px rgba(220, 38, 38, 0.5); }
        100% { box-shadow: 0 0 0 rgba(220, 38, 38, 0.3); }
        }


        .gradient-btn:hover {
        transform: scale(1.08);
        box-shadow: 0 0 25px rgba(220, 38, 38, 0.8), 0 0 35px rgba(255, 255, 255, 0.2);
        animation-play-state: paused;
        }



        /* Efecto hover para tarjetas */
        .service-card {
            transition: all 0.3s ease;
            transform: perspective(1000px) rotateX(0deg);
        }
        
        .service-card:hover {
            transform: perspective(1000px) rotateX(10deg);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }


        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .fade-in-up {
            animation: fadeInUp 0.8s ease forwards;
        }
        
        .hidden-animate {
            opacity: 0;
        }
        
        #heroVideo {
            filter: brightness(0.6);
        }
        
        .scale-hover:hover {
            transform: scale(1.03);
        }
        
        .weight-shadow {
            box-shadow: 0 25px 50px -12px rgba(229, 14, 35, 0.25);
        }
        
       
        
        /* Efecto de ondas en los íconos */
        .icon-wave {
            position: relative;
        }
        
        .icon-wave::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: 50%;
            background-color: rgba(229, 14, 35, 0.3);
            animation: wave 2s ease-out infinite;
            z-index: -1;
        }
        
        @keyframes wave {
            0% {
                transform: scale(0.8);
                opacity: 1;
            }
            100% {
                transform: scale(1.3);
                opacity: 0;
            }
        }
        
        /* Efecto de contador animado */
        .counter {
            font-variant-numeric: tabular-nums;
        }
