/* =========================================================
   PÁGINA INICIAL
   Mantém apenas o que é exclusivo da home:
   - hero fullscreen
   - carrossel
   - conteúdo sobreposto da abertura
========================================================= */

.pagina-inicio {
    background: var(--cor-preto-forte);
}

/* =========================
   HERO / CARROSSEL
========================= */
.hero-fullscreen {
    position: relative;
    min-height: 78vh;
    height: 78vh;
    overflow: hidden;
}

.carousel-fullscreen {
    position: relative;
    width: 100%;
    height: 100%;
}

.carousel-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.7s ease, visibility 0.7s ease;
}

.carousel-slide.ativo {
    opacity: 1;
    visibility: visible;
}

.carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
}

.carousel-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.52) 58%, rgba(0, 0, 0, 0.78) 100%),
        linear-gradient(90deg, rgba(5, 5, 5, 0.58) 0%, rgba(5, 5, 5, 0.18) 45%, rgba(5, 5, 5, 0.06) 100%);
}

/* =========================
   CONTEÚDO DA HERO
========================= */
.hero-conteudo {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: end;
}

.hero-caixa {
    max-width: 760px;
    padding: 156px 0 122px;
}

.hero-caixa h1 {
    font-size: clamp(2.6rem, 6vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.03em;
    margin-bottom: 18px;
    text-wrap: balance;
}

.hero-texto {
    max-width: 660px;
    color: rgba(255, 255, 255, 0.90);
    font-size: 1.05rem;
    line-height: 1.85;
    margin-bottom: 24px;
}

.hero-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 28px;
}

.hero-citacao {
    max-width: 620px;
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(8px);
}

.hero-citacao p {
    color: rgba(255, 255, 255, 0.96);
    line-height: 1.75;
    font-style: italic;
    margin-bottom: 8px;
}

.hero-citacao footer {
    color: #ffd2ac;
    font-weight: 700;
    font-size: 0.96rem;
}

/* =========================
   CONTROLES DO CARROSSEL
========================= */
.carousel-btn {
    position: absolute;
    top: 50%;
    z-index: 4;
    transform: translateY(-50%);
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.26);
    backdrop-filter: blur(8px);
    color: var(--cor-branco);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: var(--transicao);
}

.carousel-btn:hover {
    background: rgba(254, 115, 0, 0.88);
    border-color: rgba(254, 115, 0, 0.88);
}

.carousel-btn-anterior {
    left: 22px;
}

.carousel-btn-proximo {
    right: 22px;
}

.carousel-indicadores {
    position: absolute;
    left: 50%;
    bottom: 24px;
    z-index: 4;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
}

.carousel-indicador {
    width: 12px;
    height: 12px;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.45);
    transition: var(--transicao);
}

.carousel-indicador.ativo,
.carousel-indicador:hover {
    background: var(--cor-laranja);
    transform: scale(1.08);
}

/* =========================
   AJUSTES DE SEÇÕES DA HOME
========================= */
.pagina-inicio .secao-servicos-home .cabecalho-secao,
.pagina-inicio .secao-publico-home .cabecalho-secao,
.pagina-inicio .secao-informativos-home .cabecalho-secao {
    max-width: 760px;
}

.pagina-inicio .secao-informativos-home .cta-final-acoes {
    margin-top: 10px;
}

/* =========================
   RESPONSIVO
========================= */
@media (max-width: 1024px) {
    .hero-fullscreen {
        min-height: 72vh;
        height: 72vh;
    }

    .hero-caixa {
        max-width: 660px;
        padding: 140px 0 112px;
    }

    .hero-caixa h1 {
        max-width: 13ch;
    }
}

@media (max-width: 900px) {
    .hero-fullscreen {
        min-height: 68vh;
        height: 68vh;
    }

    .hero-caixa {
        max-width: 620px;
        padding: 132px 0 100px;
    }

    .hero-texto {
        font-size: 1rem;
        line-height: 1.75;
    }

    .carousel-btn {
        width: 48px;
        height: 48px;
        font-size: 1.08rem;
    }

    .carousel-indicadores {
        bottom: 20px;
    }
}

@media (max-width: 768px) {
    .hero-fullscreen {
        min-height: 64vh;
        height: 64vh;
    }

    .hero-conteudo {
        align-items: center;
    }

    .hero-caixa {
        max-width: 100%;
        padding: 126px 0 72px;
    }

    .hero-caixa h1 {
        font-size: clamp(2.1rem, 8vw, 3rem);
        line-height: 1.02;
        max-width: 12ch;
        margin-bottom: 14px;
    }

    .hero-texto {
        max-width: 100%;
        font-size: 0.98rem;
        line-height: 1.7;
        margin-bottom: 20px;
    }

    .hero-acoes {
        gap: 12px;
        margin-bottom: 20px;
    }

    .hero-acoes .botao {
        width: 100%;
    }

    .hero-citacao {
        padding: 16px 16px;
        border-radius: 16px;
    }

    .hero-citacao p {
        font-size: 0.95rem;
        line-height: 1.65;
    }

    .carousel-btn {
        width: 44px;
        height: 44px;
        font-size: 1rem;
    }

    .carousel-btn-anterior {
        left: 12px;
    }

    .carousel-btn-proximo {
        right: 12px;
    }

    .carousel-indicadores {
        bottom: 16px;
        gap: 8px;
    }
}

@media (max-width: 560px) {
    .hero-fullscreen {
        min-height: 62vh;
        height: 62vh;
    }

    .hero-caixa {
        padding: 112px 0 62px;
    }

    .hero-caixa h1 {
        max-width: 11ch;
    }

    .hero-texto {
        font-size: 0.95rem;
    }

    .hero-selo {
        min-height: 34px;
        padding: 0 12px;
        font-size: 0.84rem;
        margin-bottom: 14px;
    }
}
/* Publicações recentes */
.secao-informativos-home{background:#111319;padding:76px 0}.grade-publicacoes-home{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.publicacao-home{background:#1a1d25;border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;transition:.25s}.publicacao-home:hover{transform:translateY(-4px);border-color:rgba(254,115,0,.28)}.publicacao-home__imagem{display:block;aspect-ratio:16/9;overflow:hidden;background:#0d1016}.publicacao-home__imagem img{width:100%;height:100%;object-fit:cover;transition:.5s}.publicacao-home:hover img{transform:scale(1.035)}.publicacao-home__imagem>div{height:100%;display:grid;place-items:center;color:#596273;font-size:2rem}.publicacao-home__conteudo{padding:20px}.publicacao-home__conteudo>span{color:#ff9c50;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:900}.publicacao-home h3{font-size:1.18rem;line-height:1.35;margin:9px 0}.publicacao-home p{color:#b9bfca;line-height:1.58;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.publicacao-home__link{display:inline-flex;align-items:center;gap:7px;margin-top:16px;color:#ff9c50;font-weight:900;font-size:.88rem}.publicacoes-home-vazio{padding:28px;border:1px dashed rgba(255,255,255,.14);border-radius:18px;color:#aeb4c1;text-align:center}@media(max-width:900px){.grade-publicacoes-home{grid-template-columns:1fr 1fr}}@media(max-width:620px){.grade-publicacoes-home{grid-template-columns:1fr}.secao-informativos-home{padding:52px 0}}
