        body {
            font-family: 'Montserrat', sans-serif;
            background-color: #F8FAFC;
            color: #1E293B;
            overflow-x: hidden;
            overflow-wrap: normal;
            word-break: normal;
            hyphens: none;
        }
        h1, h2, h3, h4, h5, h6, .font-title {
            font-family: 'Quicksand', sans-serif;
        }
        /* Ocultar cursor nativo en desktop para el puntero personalizado */
        @media (min-width: 1024px) {
            body { cursor: none; }
            a, button, select, input, textarea, .interactive-item { cursor: none; }
        }
        /* Estilos personalizados para transiciones del Mega Menú */
        .mega-menu {
            opacity: 0;
            visibility: hidden;
            transform: translateX(-50%) translateY(10px);
            transition: all 0.3s ease;
        }
        .group:hover .mega-menu {
            opacity: 1;
            visibility: visible;
            transform: translateX(-50%) translateY(0);
        }
        /* Personalización de la barra de desplazamiento */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #F8FAFC; }
        ::-webkit-scrollbar-thumb { background: #0055A8; border-radius: 4px; }

/* Soporte para animaciones GSAP */
.gsap-char {
    perspective: 400px;
    display: inline-block;
}

@media (max-width: 1024px) {
    .mega-menu {
        width: 95vw !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
}

/* Estilos para el Slideshow de Inicio */
.bg-slider-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%; /* Altura extra para el efecto parallax sin mostrar bordes */
    z-index: -10;
}

.bg-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: heroSliderFade 15s infinite ease-in-out;
}

.bg-slide:nth-child(2) { animation-delay: 5s; }
.bg-slide:nth-child(3) { animation-delay: 10s; }

@keyframes heroSliderFade {
    0% { opacity: 0; transform: scale(1.2); } /* Inicia con zoom (Ken Burns Out) */
    10% { opacity: 1; transform: scale(1.15); }
    33% { opacity: 1; }
    43% { opacity: 0; transform: scale(1.05); }
    100% { opacity: 0; transform: scale(1); } /* Termina en tamaño original */
}

.overlay-gradient {
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}