
    :root {
        --primary: #3b71b8;
        --secondary: #333333;
        --topbar-h: 40px;
        --navbar-h: 70px;
    }
    
    html, body {
        margin: 0;
        padding: 0;
        scroll-behavior: smooth;
    }

    body {
        font-family: 'Inter', sans-serif;
        background-color: #f8fafc;
    }

    .glass {
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
    }

    /* --- 1. AJUSTE DO SLIDER PRINCIPAL (CAROUSEL) PARA EXIBIR IMAGEM INTEIRA --- */
    #home {
        /* Removemos a altura fixa para desktop para que o JavaScript controle a proporção */
        height: auto; 
        position: relative;
        overflow: hidden;
        width: 100%;
    }

    /* No Mobile, removemos as alturas mínimas e fixas */
    @media (max-width: 400px) {
        #home {
            height: auto !important;
            min-height: 0 !important;
        }
    }

    .carousel-track {
        display: flex;
        /* A altura do track será definida pela altura da imagem ativa */
        height: auto; 
        width: 500%; 
        transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .slide {
        width: 20%;
        /* A altura do slide também acompanha a imagem */
        height: auto; 
        flex-shrink: 0;
    }

    /* ESTE É O SEGREDO: A imagem define a proporção */
    .slide img {
        width: 100%;
        height: auto; /* Mantém a proporção original da imagem */
        display: block;
        /* Removemos o object-fit: cover; para não cortar */
        object-fit: inherit; 
    }

    /* --- 2. AJUSTE DO SLIDER SECUNDÁRIO (FADE) PARA EXIBIR IMAGEM INTEIRA --- */
    .fade-slider {
        /* Para o slider de fade com texto sobreposto funcionar mostrando a imagem inteira, 
           precisamos usar uma técnica diferente, pois as imagens são absolutas. 
           Vamos definir a proporção baseada na imagem de fundo. */
        position: relative;
        background: #111;
        overflow: hidden;
        width: 100%;
        /* Altura padrão para desktop */
        height: 500px; 
    }

    /* Ajuste responsivo para manter a proporção da imagem no Fade Slider */
    @media (max-width: 400px) {
        .fade-slider {
            /* Definimos uma altura fixa menor que aproxime a proporção da sua imagem mobile.
               Se suas imagens mobile forem 16:9, tente 211px para uma largura de 375px. 
               Como não sei a proporção exata das suas imagens, usei um valor seguro. */
            height: 250px; /* Ajuste este valor conforme a proporção real da sua imagem mobile */
        }
    }

    .fade-item {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 1.2s ease-in-out;
        z-index: 0;
        display: flex;
        align-items: center;
    }

    .fade-item.active {
        opacity: 1;
        z-index: 10;
    }

    /* Mantemos a imagem inteira dentro do container */
    .fade-item img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* Mantemos cover aqui para preencher a área definida acima, 
                              mas ajustamos a altura da seção no @media para "casar" 
                              com a proporção da imagem. É a forma mais segura para texto sobreposto. */
    }

    /* Ajustes de tipografia para resoluções pequenas no Fade Slider */
    @media (max-width: 400px) {
        .fade-slider h2 {
            font-size: 1.4rem !important; /* Reduzimos mais para caber na altura menor */
            line-height: 1.2;
            margin-bottom: 0.3rem !important;
        }
        .fade-slider p {
            font-size: 0.8rem !important;
            margin-bottom: 0.8rem !important;
            line-height: 1.3;
            display: -webkit-box; /* Limita linhas de texto se necessário */
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .fade-slider a {
            padding: 0.6rem 1.2rem !important;
            font-size: 0.8rem !important;
        }
        /* Ajuste do container de texto para telas pequenas */
        .fade-slider .container {
            padding-top: 1rem;
            padding-bottom: 1rem;
        }
    }

    .fade-bg-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to right, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 100%);
        z-index: 1;
    }

    /* --- INDICADORES --- */
    .indicator-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.3);
        transition: all 0.3s ease;
        cursor: pointer;
        border: 2px solid transparent;
    }
    .indicator-dot.active {
        background: var(--primary);
        transform: scale(1.2);
        border-color: white;
    }

    /* Ajuste da posição dos pontos indicadores no mobile */
    @media (max-width: 400px) {
        #home .absolute.bottom-8,
        .fade-slider .absolute.bottom-10 {
            bottom: 5px !important;
        }
        .indicator-dot {
            width: 8px;
            height: 8px;
        }
    }

    .logo-img {
        height: 48px;
        width: auto;
    }

    #mobile-menu {
        transition: all 0.3s ease-in-out;
        transform-origin: top;
    }
    #mobile-menu.hidden {
        display: none;
        transform: scaleY(0);
        opacity: 0;
    }

    select option {
        background: #333;
        color: white;
    }
