/* Ruta ACADEMIA\styles.css*/
        /* Color Variables */
        :root {
            --primary: #051e82;
            --secondary: #3333CC;
            --accent1: #5973CA;
            --accent2: #C4CCF0;
            --accent3: #ED72A1;
            --accent4: #FED8F1;
            --accent5: #B0BAFF;
            --white: #FFFFFF;
            --gray: #616060;
        }

        /* Global Styles */
        body {
            font-family: 'Montserrat', sans-serif;
            overflow-x: hidden;
        }

        h1, h2, h3, h4, h5, h6 {
            font-weight: 700;
            color: var(--primary);
        }

        /* Navigation */
        .navbar {
            background-color: var(--primary);
            padding: 15px 0;
        }

        .navbar-brand img {
            height: 40px;
        }

        .navbar-dark .navbar-nav .nav-link {
            color: var(--white);
            font-weight: 600;
            margin: 0 10px;
            text-transform: uppercase;
            font-size: 14px;
        }

        .social-icons a {
            color: var(--white);
            margin-left: 15px;
            font-size: 18px;
        }

        /* Hero Section */
        .hero {
            background-color: var(--accent2);
            padding: 0;
            position: relative;
            overflow: hidden;
        }

        .hero-content {
            padding: 60px 30px;
            background-color: var(--white);
        }

        .hero h1 {
            font-size: 38px;
            font-weight: 800;
            color: var(--primary);
            margin-bottom: 20px;
            line-height: 1.2;
        }

        .hero p {
            font-size: 18px;
            margin-bottom: 30px;
            color: var(--primary);
        }

        .btn-primary {
            background-color: var(--primary);
            border-color: var(--primary);
            color: var(--white);
            font-weight: 600;
            padding: 10px 30px;
            border-radius: 5px;
            text-transform: uppercase;
            transition: all 0.3s;
        }

        .btn-primary:hover {
            background-color: var(--secondary);
            border-color: var(--secondary);
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }

        .btn-outline-primary {
            border-color: var(--primary);
            color: var(--primary);
            font-weight: 600;
            padding: 8px 25px;
            border-radius: 5px;
            text-transform: uppercase;
            transition: all 0.3s;
        }

        .btn-outline-primary:hover {
            background-color: var(--primary);
            color: var(--white);
        }

        /* Discount Badge */
        .discount-badge {
            background-color: var(--primary);
            color: var(--white);
            border-radius: 50%;
            width: 180px;
            height: 180px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            position: absolute;
            right: 20%;
            top: 50%;
            transform: translateY(-50%);
            text-align: center;
            padding: 20px;
            z-index: 2;
        }

        .discount-badge .percentage {
            font-size: 48px;
            font-weight: 800;
            line-height: 1;
        }

        .discount-badge .text {
            font-size: 16px;
            font-weight: 600;
        }

        .discount-badge .small-text {
            font-size: 12px;
            text-transform: uppercase;
            margin-top: 5px;
        }

        /* Features */
        .features {
            padding: 60px 0;
            background-color: var(--white);
        }

        .feature-item {
            text-align: center;
            margin-bottom: 30px;
        }

        .feature-icon {
            background-color: var(--accent2);
            width: 80px;
            height: 80px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0 auto 20px;
            color: var(--primary);
            font-size: 30px;
        }

        .feature-item h4 {
            font-size: 16px;
            margin-bottom: 10px;
            color: var(--primary);
            font-weight: 600;
        }

        .feature-item p {
            font-size: 14px;
            color: var(--gray);
        }

        /* Courses */
        .courses {
            padding: 30px 0 60px;
            background-color: var(--white);
        }

        .section-title {
            background-color: var(--primary);
            color: var(--white);
            text-align: center;
            padding: 20px 0;
            margin-bottom: 40px;
            font-size: 24px;
            font-weight: 700;
            text-transform: uppercase;
        }

        .course-card {
            border-radius: 10px;
            overflow: hidden;
            margin-bottom: 30px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            transition: all 0.3s;
        }

        .course-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0,0,0,0.2);
        }

        .course-img {
            height: 200px;
            background-size: cover;
            background-position: center;
        }

        .course-body {
            padding: 20px;
            background-color: var(--white);
            text-align: center;
        }

        .course-title {
            font-size: 16px;
            font-weight: 700;
            text-transform: uppercase;
            margin-bottom: 15px;
            color: var(--primary);
            min-height: 60px;
        }

        /* Promotion Section */
        .promotion {
            background-color: var(--white);
            padding: 60px 0;
            position: relative;
        }

        .promo-img {
            border-radius: 10px;
            overflow: hidden;
        }

        .promo-img img {
            width: 100%;
            border-radius: 10px;
        }

        .promo-content {
            padding: 30px;
        }

        .promo-content h2 {
            font-size: 34px;
            margin-bottom: 20px;
            font-weight: 800;
        }

        .promo-content p {
            font-size: 18px;
            margin-bottom: 30px;
            color: var(--primary);
        }

        .promo-badge {
            background-color: var(--primary);
            color: var(--white);
            padding: 30px;
            border-radius: 15px;
            text-align: center;
            margin-bottom: 30px;
        }

        .promo-badge .percentage {
            font-size: 72px;
            font-weight: 800;
            line-height: 1;
        }

        .promo-badge .text {
            font-size: 24px;
            font-weight: 700;
            text-transform: uppercase;
        }

        .promo-badge .small-text {
            font-size: 16px;
            margin-top: 10px;
        }

        /* Call to Action */
        .cta {
            background-color: var(--primary);
            color: var(--white);
            padding: 30px 0;
            text-align: center;
        }

        .cta h2 {
            font-size: 30px;
            font-weight: 800;
            margin-bottom: 0;
            color: var(--white);
            text-transform: uppercase;
        }

        /* Carousel Controls */
        .carousel-control-prev, .carousel-control-next {
            width: 40px;
            height: 40px;
            background-color: var(--primary);
            border-radius: 50%;
            opacity: 1;
            top: 50%;
            transform: translateY(-50%);
        }

        .carousel-control-prev {
            left: -20px;
        }

        .carousel-control-next {
            right: -20px;
        }

        .carousel-control-prev-icon, .carousel-control-next-icon {
            width: 20px;
            height: 20px;
        }

        /* Animation Classes */
        .fade-in {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.5s ease, transform 0.5s ease;
        }

        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Responsive Adjustments */
        @media (max-width: 992px) {
            .hero-content {
                padding: 40px 20px;
            }
            
            .hero h1 {
                font-size: 32px;
            }
            
            .discount-badge {
                width: 150px;
                height: 150px;
                right: 10%;
            }
            
            .discount-badge .percentage {
                font-size: 40px;
            }
        }

        @media (max-width: 768px) {
            .hero-content {
                padding: 30px 15px;
            }
            
            .hero h1 {
                font-size: 28px;
            }
            
            .discount-badge {
                width: 120px;
                height: 120px;
                right: 5%;
            }
            
            .discount-badge .percentage {
                font-size: 32px;
            }
            
            .discount-badge .text {
                font-size: 14px;
            }
            
            .promo-content h2 {
                font-size: 28px;
            }
            
            .promo-badge .percentage {
                font-size: 60px;
            }
        }

        @media (max-width: 576px) {
            .hero-img {
                max-height: 300px;
                object-fit: cover;
            }
            
            .discount-badge {
                width: 100px;
                height: 100px;
                right: 10px;
            }
            
            .discount-badge .percentage {
                font-size: 28px;
            }
            
            .discount-badge .text {
                font-size: 12px;
            }
            
            .feature-icon {
                width: 60px;
                height: 60px;
                font-size: 24px;
            }
            
            .carousel-control-prev {
                left: -10px;
            }
            
            .carousel-control-next {
                right: -10px;
            }
        }
