* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Amaranth", sans-serif;
}

.cabecalho {
    width: 100vw;
    height: auto;
    background: #252525;
    padding: 12px; /* Reduzido de 15px */
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    z-index: 100;
}

.cabecalho nav {
    margin: 0px 200px; /* Reduzido de 400px (400px quebrava muito rápido em telas médias) */
    display: flex;
}

.cabecalho img {
    width: 60px; /* Reduzido de 80px */
    height: auto;
    border-radius: 30px;
}

.cabecalho a {
    font-size: 18px; /* Reduzido de 24px */
    font-weight: 600;
    color: #C4955D;
    text-decoration: none;
    margin: 0px 12px;
    white-space: nowrap;
}

.cabecalho button {
    width: 150px; /* Reduzido de 200px */
    font-size: 14px; /* Reduzido de 18px */
    font-weight: 600;
    text-transform: uppercase;
    color: #FFFFFF;
    background: #C4955D;
    padding: 10px 15px;
    border: none;
    border-radius: 22px;
    cursor: pointer;
}

/* Esconde o hambúrguer no Desktop */
.menu-hamburguer {
    display: none;
}

.inicio {
    width: 100vw;
    height: 100vh;
    background: #7C685D;
    display: flex;
    align-items: center;
    padding: 110px; /* Reduzido de 150px */
}

.inicio-hero {
    width: 50%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: start;
    margin: 75px 0px 0px; /* Reduzido de 100px */
}

.inicio-hero h1 {
    font-size: 52px; /* Reduzido de 70px */
    font-weight: 600;
    color: #FFFFFF;
}

.inicio-hero span {
    color: #252525;
    font-size: 26px; /* Reduzido de 35px */
    font-weight: 700;
    letter-spacing: 4px;
    line-height: 1.2;
    text-transform: uppercase;
}

.inicio-hero p {
    color: #FFFFFF;
    font-size: 20px; /* Reduzido de 28px */
    line-height: 34px; /* Reduzido de 45px */
    margin: 38px 0px; /* Reduzido de 50px */
}

.inicio-imagem {
    width: 50%;
    height: auto;
    display: flex;
    justify-content: center;
    margin: 75px 0px 0px; /* Reduzido de 100px */
}

.inicio-imagem img {
    width: 560px; /* Reduzido de 750px */
    height: auto;
    border-radius: 300px;
    box-shadow: 0px 0px 15px 15px rgba(124, 92, 76, 0.4);
}

.inicio-hero button {
    background: #252525;
    color: #FFFFFF;
    font-size: 20px; /* Reduzido de 28px */
    width: 375px; /* Reduzido de 500px */
    height: 60px; /* Reduzido de 80px */
    border: none;
    border-radius: 22px;
    cursor: pointer;
}

.contadores {
    width: 100%;
    height: auto;
    display: flex;
    margin: 56px 0px; /* Reduzido de 75px */
    gap: 38px; /* Reduzido de 50px */
}

.contador-item {
    background: #252525;
    color: #FFFFFF;
    border-radius: 8px;
    width: 160px; /* Reduzido de 210px */
    height: auto;
    padding: 24px; /* Reduzido de 32px */
    display: flex;
    flex-direction: column;
    gap: 12px; /* Reduzido de 16px */
}

.numero {
    font-size: 24px; /* Reduzido de 30px */
    text-align: center;
    margin: 0px auto;
}

.contador-item p {
    font-size: 14px; /* Reduzido de 18px */
    text-align: center;
    margin: 0px auto;
}

.whatsapp {
    position: fixed;
    right: 10px;
    bottom: 10px;
}

.whatsapp img {
    width: 80px;
    height: auto;
}

.sobre {
    width: 100vw;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 38px; /* Reduzido de 50px */
}

.sobre h2{
    font-size: 52px; /* Reduzido de 70px */
    font-weight: 600;
    color: #252525;
    margin: 38px 0px 0px; /* Reduzido de 50px */
}

.sobre span {
    font-size: 24px; /* Reduzido de 32px */
    color: #7C685D;
    font-style: italic;
}

.container {
    width: 100%;
    height: 225px; /* Reduzido de 300px */
    margin: 56px 0px 0px; /* Reduzido de 75px */
    mask-image: linear-gradient(to right, transparent, #000 10% 90%, transparent);
    margin-bottom: 38px; /* Reduzido de 50px */
}

.carrossel:hover .item {
    animation-play-state: paused;
    filter: grayscale(1);
}

.carrossel .item:hover {
    filter: grayscale(0);
}

.carrossel {
    width: 100%;
    display: flex;
}

.item {
    width: 375px; /* Reduzido de 500px */
    height: 225px; /* Reduzido de 300px */
    position: absolute;
    left: 100%;
    animation: autoRunSobre var(--tempo) linear infinite;
    animation-delay: var(--delay);
    cursor: pointer;
}

.item img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

@keyframes autoRunSobre {
    from {
        left: 100%;
    }
    to {
        left: -375px; /* Ajustado proporcionalmente ao tamanho do item */
    }
}

.sobre p {
    font-size: 18px; /* Reduzido de 24px */
    line-height: 1.5;
    width: 60%; /* Aumentei um pouquinho para melhor leitura no desktop */
}

.servicos {
    width: 100vw;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #252525;
    overflow-x: hidden;
}

.servicos h2 {
    font-size: 52px;
    font-weight: 600;
    color: #FFFFFF;
    margin: 38px 0px 0px;
}

.servicos span {
    font-size: 24px;
    color: #FFFFFF;
    font-style: italic;
}

.servicos-container {
    width: 80%;
    min-height: 100vh;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px; /* Reduzido de 32px */
    margin: 75px auto; /* Reduzido de 100px */
}

.servicos-slots {
    width: 25%;
    min-width: 225px; /* Reduzido de 300px */
    min-height: 300px;
    height: 340px; /* Reduzido de 450px */
    background: #7C685D;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px; /* Reduzido de 32px */
    border-radius: 24px; /* Reduzido de 32px */
    cursor: pointer;
    
    opacity: 0;
    transform: translateX(100vw);
}

.servicos-slots.animar1 {
    animation: autoRunServicos 5s ease-out forwards;
    animation-delay: var(--delay);
}

.card-icon {
    font-size: 52px; /* Reduzido de 70px */
    color: #252525;
}

.servicos-slots h3 {
    font-size: 24px; /* Reduzido de 32px */
    font-weight: 700;
    color: #FFFFFF;
    margin: 22px 0px; /* Reduzido de 30px */
    text-align: center;
}

.slots-p2 {
    font-size: 16px; /* Reduzido de 24px */
    text-align: justify;
    color: #252525;
}

@keyframes autoRunServicos {
    0% {
        opacity: 0;
        transform: translateX(100vw);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.caes {
    width: 100vw;
    min-height: 100vh; 
    height: auto; 
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #7C685D;
    overflow-x: hidden;
}

.caes h2 {
    font-size: 52px;
    font-weight: 600;
    color: #FFFFFF;
    margin: 38px 0px 0px;
}

.caes span {
    font-size: 24px;
    color: #FFFFFF;
    font-style: italic;
}

.caes-container {
    width: 80%;
    min-height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 48px; /* Reduzido de 64px */
    margin: 75px auto;
}

.caes-slots {
    width: 225px; /* Reduzido de 300px */
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 24px;
    gap: 6px; /* Reduzido de 8px */
    margin-top: 60px; /* Reduzido de 80px */
}

.caes-slots img {
    width: 150px; /* Reduzido de 200px */
    border-radius: 75px;
}

.caes-slots h3 {
    font-size: 36px; /* Reduzido de 48px */
    font-weight: 700;
    color: #252525;
}

.caes-slots h4 {
    font-size: 24px; /* Reduzido de 32px */
    font-weight: 600;
    color: #252525;
}

.caes-slots p {
    font-size: 18px; /* Reduzido de 24px */
    color: #C4955D;
}

.caes-slots button {
    width: 180px; /* Reduzido de 250px */
    height: 45px; /* Reduzido de 60px */
    padding: 10px;
    background: #252525;
    font-size: 18px; /* Reduzido de 24px */
    font-weight: 600;
    color: #FFFFFF;
    border: none;
    border-radius: 20px;
    margin-top: 8px;
    cursor: pointer;
}

.popup::backdrop {
    background: #252525;
    backdrop-filter: blur(4px); 
}

.popup {
    width: 90%;
    max-width: 450px; /* Reduzido de 600px */
    padding: 22px; /* Reduzido de 30px */
    background: #252525;
    border: none;
    border-radius: 12px;
    color: #ffffff;
    margin: auto;
}

.popup[open] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px; /* Reduzido de 20px */
}

.popup h2 {
    font-size: 52px; /* Reduzido de 70px */
    font-weight: 700;
    color: #C4955D;
}

.popup img {
    width: 100%;
    max-width: 450px;
    height: auto;
    border-radius: 6px;
}

.voltar-popup {
    width: 110px; /* Reduzido de 150px */
    height: 45px; /* Reduzido de 60px */
    background: #C4955D;
    border: none;
    border-radius: 22px;
    font-size: 18px; /* Reduzido de 24px */
    font-weight: 600;
    color: #FFFFFF;
    cursor: pointer;
}

.diretrizes {
    width: 100vw;
    min-height: 100vh;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #FFFFFF;
    overflow-x: hidden;
}

.diretrizes h2 {
    font-size: 52px;
    font-weight: 600;
    color: #252525;
    margin: 38px 0px 0px;
}

.diretrizes span {
    font-size: 24px;
    color: #252525;
    font-style: italic;
}

.diretrizes-container {
    width: 100%;
    min-height: 100vh;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px; /* Reduzido de 32px */
    margin: 75px auto;
}

.diretrizes-slots {
    width: 18%;
    min-width: 225px; /* Reduzido de 300px */
    min-height: 525px; /* Modificado de fixo (700px) para mínimo, evita bugs no texto */
    height: auto; 
    background: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 24px;
    border-radius: 24px;
}

.diretrizes-slots img {
    width: 100%;
    border-radius: 12px;
}

.diretrizes-slots h3 {
    font-size: 30px; /* Reduzido de 40px */
    font-weight: 700;
    color: #252525;
}

.diretrizes-slots p {
    font-size: 16px; /* Reduzido de 24px */
    color: #C4955D;
}

.footer {
    width: 100vw;
    min-height: 225px; /* Reduzido de 300px */
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 75px; /* Reduzido de 100px */
    background: #252525;
    overflow-x: hidden;
    gap: 150px; /* Ajuste para não empurrar muito os itens (era absurdo de grande) */
}

.footer-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.footer-logo img {
    width: 150px; /* Reduzido de 200px */
    height: auto;
    border-radius: 200px;
    box-shadow: 0px 0px 15px 15px rgba(124, 92, 76, 0.4);
}

.footer-logo p {
    font-size: 16px; /* Reduzido de 22px */
    color: #FFFFFF;
    width: 260px; /* Reduzido de 350px */
    text-align: center;
}

.footer-contatos {
    width: 225px; /* Reduzido de 300px */
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px; /* Reduzido de 32px */
}

.footer-contatos h4 {
    font-size: 36px; /* Reduzido de 48px */
    font-weight: 600;
    color: #FFFFFF;
}

.footer-icones {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.card-icon {
    font-size: 22px; /* Reduzido de 30px */
    color: #FFFFFF;
    text-transform: capitalize;
}

/* ========================================================
   RESPONSIVIDADE PARA TABLETS & MOBILE (Telas até 1024px)
======================================================== */
@media (max-width: 1024px) {
    
    /* Configuração do Header com Menu Hambúrguer */
    .cabecalho {
        justify-content: space-between;
        padding: 12px 30px; /* Adaptado */
    }

    .cabecalho nav {
        display: none; 
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #252525;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        padding: 20px 0;
        margin: 0;
    }
    
    .cabecalho nav.ativo {
        display: flex;
    }

    .menu-hamburguer {
        display: block;
        font-size: 26px; /* Adaptado */
        color: #C4955D;
        cursor: pointer;
    }

    .botao-fale-conosco {
        display: none;
    }

    .inicio {
        padding: 110px 40px 40px; /* Adaptado */
        flex-direction: column;
        height: auto;
        text-align: center;
    }

    .inicio-hero, .inicio-imagem {
        width: 100%;
        align-items: center;
        margin-top: 38px; /* Adaptado */
    }

    .inicio-imagem img {
        width: 100%;
        max-width: 375px; /* Adaptado de 500px */
    }

    .contadores {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .sobre .container {
        width: 80%;
    }
    
    .carrossel .item {
        padding: 0 10px;
    }

    .sobre p {
        width: 90%;
        text-align: center;
    }
    
    .servicos-slots, .diretrizes-slots {
        width: 100%;
        min-width: unset;
        height: auto;
    }

    .diretrizes-slots {
        padding: 24px;
    }

    .footer {
        gap: 38px;
        padding: 38px;
    }
}

/* ========================================================
   RESPONSIVIDADE EXCLUSIVA PARA CELULARES (Telas até 768px)
======================================================== */
@media (max-width: 768px) {
    
    .inicio-hero h1, .sobre h2, .servicos h2, .caes h2, .diretrizes h2, .popup h2 {
        font-size: 30px !important; /* Adaptado de 40px */
        text-align: center;
        margin-top: 24px;
    }

    .inicio-hero span, .sobre span, .servicos span, .caes span, .diretrizes span {
        font-size: 14px !important; /* Adaptado de 18px */
        text-align: center;
        letter-spacing: 2px;
    }
    
    .cabecalho {
        padding: 12px 15px; /* Adaptado */
    }

    .inicio {
        padding: 110px 15px 40px; /* Adaptado */
    }

    .inicio-hero p {
        font-size: 16px; /* Adaptado de 20px */
        line-height: 24px;
        text-align: center;
    }

    .inicio-hero button {
        width: 100%;
        font-size: 16px; /* Adaptado */
        height: 50px;
    }

    .item {
        width: 225px; /* Adaptado de 300px */
    }
    @keyframes autoRunSobre {
        from { left: 100%; }
        to { left: -225px; } /* Ajustado proporcionalmente à div do celular */
    }

    .servicos-container, .caes-container, .diretrizes-container {
        width: 90%;
        margin: 38px auto;
        gap: 18px;
    }

    .caes-slots {
        width: 100%;
        margin-top: 30px;
    }

    .servicos-slots h3, .diretrizes-slots h3, .caes-slots h3 {
        font-size: 21px; /* Adaptado de 28px */
    }

    .slots-p2, .diretrizes-slots p, .caes-slots p {
        font-size: 14px; /* Adaptado de 18px */
    }

    .footer {
        flex-direction: column;
        gap: 30px; /* Adaptado */
        padding: 38px 15px; /* Adaptado */
    }

    .footer-logo p {
        width: 100%;
    }

    .footer-contatos {
        align-items: center;
        text-align: center;
    }
}