/* ==================================================
   ENSETRA-DESIGN-001A
   Identidade visual premium Ensetra
   Engenharia de Segurança do Trabalho
================================================== */

:root {
    --ensetra-azul: #553e90;
    --ensetra-azul-profundo: #5b0045;
    --ensetra-verde: #553e90;
    --ensetra-verde-vivo: #f58942;
    --ensetra-grafite: #1f2937;
    --ensetra-cinza: #f4f7f8;
    --ensetra-linha: #dbe5e7;

    --azul-inst: var(--ensetra-azul);
    --azul-profundo: var(--ensetra-azul-profundo);
    --verde: var(--ensetra-verde);
    --laranja: var(--ensetra-verde-vivo);
}

body {
    background: #ffffff;
    color: var(--ensetra-grafite);
}

.site-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid rgba(15,52,67,.10);
    backdrop-filter: blur(14px);
}

.logo img,
.site-logo img,
.header-logo img {
    max-height: 58px;
    width: auto;
}

.hero-section.home-hero-section {
    background:
        radial-gradient(circle at 85% 20%, rgba(16,185,129,.22), transparent 28%),
        linear-gradient(135deg, #5b0045 0%, #553e90 48%, #553e90 100%);
}

.home-hero-overlay {
    background:
        linear-gradient(90deg, rgba(6,27,36,.92), rgba(6,27,36,.62), rgba(6,27,36,.28));
}

.home-hero-tag,
.section-tag {
    background: rgba(16,185,129,.12);
    color: #553e90;
    border: 1px solid rgba(16,185,129,.22);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero-title,
.section-title,
.home-corp-sst h2,
.home-psi h2,
.home-pillars-title {
    color: var(--ensetra-azul-profundo);
}

.hero-content-slide .hero-title {
    color: #ffffff;
}

.hero-subtitle {
    color: rgba(255,255,255,.88);
}

.btn-primary {
    background: linear-gradient(135deg, var(--ensetra-verde), var(--ensetra-verde-vivo));
    border-color: var(--ensetra-verde);
    box-shadow: 0 14px 34px rgba(15,118,110,.24);
}

.btn-primary:hover {
    background: linear-gradient(135deg, #5b0045, #f58942);
    transform: translateY(-2px);
}

.btn-cta-outline,
.btn-secondary {
    border-color: rgba(15,52,67,.22);
    color: var(--ensetra-azul);
}

.home-alert-bar {
    background: #fff4ec;
    border-color: rgba(16,185,129,.25);
}

.home-corp-sst,
.home-section-services,
.home-section-courses,
.home-section-blog {
    background: #ffffff;
}

.home-corp-sst__card,
.pilar-card,
.card-treinamento,
.servico-card {
    border: 1px solid rgba(15,52,67,.10);
    box-shadow: 0 18px 40px rgba(15,52,67,.08);
}

.site-footer {
    background: linear-gradient(135deg, #5b0045, #553e90);
}

.whatsapp-float {
    background: #25D366;
}

@media (max-width: 768px) {
    .hero-section.home-hero-section {
        min-height: 680px;
    }

    .hero-content-slide .hero-title {
        font-size: clamp(2rem, 9vw, 3.2rem);
    }
}


/* ==================================================
   ENSETRA-DESIGN-001B
   Home Premium Corporativa
================================================== */

.ensetra-premium-intro {
    background: linear-gradient(180deg, #ffffff 0%, #f4f7f8 100%);
    padding: 82px 0;
}

.ensetra-intro-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 42px;
    align-items: center;
}

.ensetra-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(16,185,129,.10);
    color: var(--ensetra-verde);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 1px solid rgba(16,185,129,.20);
}

.ensetra-intro-title {
    margin: 18px 0 16px;
    color: var(--ensetra-azul-profundo);
    font-size: clamp(2rem, 4vw, 3.6rem);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.ensetra-intro-title span {
    color: var(--ensetra-verde);
}

.ensetra-intro-text {
    color: #475569;
    font-size: 1.08rem;
    max-width: 680px;
}

.ensetra-intro-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.ensetra-intro-panel {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(16,185,129,.22), transparent 34%),
        linear-gradient(135deg, #5b0045, #553e90);
    padding: 28px;
    min-height: 420px;
    box-shadow: 0 26px 70px rgba(8,35,46,.22);
}

.ensetra-intro-panel::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    pointer-events: none;
}

.ensetra-panel-card {
    position: relative;
    z-index: 1;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 20px;
    padding: 18px;
    color: #ffffff;
    backdrop-filter: blur(10px);
    margin-bottom: 16px;
}

.ensetra-panel-card strong {
    display: block;
    font-size: 1.05rem;
    margin-bottom: 6px;
}

.ensetra-panel-card p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: .94rem;
}

.ensetra-solucoes {
    background: #ffffff;
    padding: 86px 0;
}

.ensetra-section-head {
    max-width: 820px;
    margin-bottom: 34px;
}

.ensetra-section-head h2 {
    color: var(--ensetra-azul-profundo);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.08;
    margin: 14px 0;
}

.ensetra-section-head p {
    color: #64748b;
    font-size: 1.05rem;
}

.ensetra-solucoes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ensetra-solucao-card {
    position: relative;
    min-height: 245px;
    padding: 26px;
    border-radius: 24px;
    border: 1px solid rgba(15,52,67,.10);
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(15,52,67,.08);
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease;
}

.ensetra-solucao-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 70px rgba(15,52,67,.14);
}

.ensetra-solucao-card::after {
    content: "";
    position: absolute;
    right: -46px;
    top: -46px;
    width: 118px;
    height: 118px;
    border-radius: 999px;
    background: rgba(16,185,129,.12);
}

.ensetra-solucao-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: #fff4ec;
    color: var(--ensetra-verde);
    font-size: 26px;
    margin-bottom: 18px;
}

.ensetra-solucao-card h3 {
    margin: 0 0 10px;
    color: var(--ensetra-azul-profundo);
    font-size: 1.18rem;
}

.ensetra-solucao-card p {
    color: #64748b;
    margin: 0 0 18px;
}

.ensetra-solucao-card a {
    color: var(--ensetra-verde);
    font-weight: 800;
    text-decoration: none;
}

.ensetra-processo {
    background:
        radial-gradient(circle at 10% 10%, rgba(16,185,129,.14), transparent 32%),
        linear-gradient(135deg, #5b0045, #553e90);
    color: #ffffff;
    padding: 86px 0;
}

.ensetra-processo .ensetra-section-head h2,
.ensetra-processo .ensetra-section-head p {
    color: #ffffff;
}

.ensetra-processo-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.ensetra-step {
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    border-radius: 20px;
    padding: 20px;
}

.ensetra-step span {
    display: inline-flex;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: var(--ensetra-verde-vivo);
    color: #06251f;
    font-weight: 900;
    margin-bottom: 16px;
}

.ensetra-step h3 {
    color: #ffffff;
    margin: 0 0 8px;
    font-size: 1rem;
}

.ensetra-step p {
    color: rgba(255,255,255,.76);
    margin: 0;
    font-size: .92rem;
}

@media (max-width: 980px) {
    .ensetra-intro-grid,
    .ensetra-solucoes-grid,
    .ensetra-processo-grid {
        grid-template-columns: 1fr;
    }

    .ensetra-premium-intro,
    .ensetra-solucoes,
    .ensetra-processo {
        padding: 56px 0;
    }
}



/* ==================================================
   ENSETRA-DESIGN-001C
   Paleta oficial Ensetra
================================================== */

:root {

    --ensetra-roxo:#553e90;
    --ensetra-roxo-escuro:#5b0045;
    --ensetra-laranja:#f58942;
    --ensetra-branco:#ffffff;

    --ensetra-shadow:
    0 22px 60px rgba(91,0,69,.16);

}


/* HEADER */

.site-header {

    background:#ffffff;
    border-bottom:
    1px solid rgba(85,62,144,.12);

}


/* HERO */

.hero-section.home-hero-section {

    background:
    radial-gradient(
        circle at 80% 20%,
        rgba(245,137,66,.28),
        transparent 30%
    ),
    linear-gradient(
        135deg,
        #5b0045,
        #553e90
    );

}


/* BOTÕES */

.btn-primary {

    background:
    linear-gradient(
        135deg,
        #f58942,
        #ff9d5c
    );

    border:none;

    box-shadow:
    0 14px 34px rgba(245,137,66,.32);

}


.btn-primary:hover {

    background:
    linear-gradient(
        135deg,
        #dd7130,
        #f58942
    );

}


/* TAGS */

.ensetra-kicker,
.section-tag {

    background:
    rgba(245,137,66,.12);

    color:#5b0045;

    border:
    1px solid rgba(245,137,66,.30);

}


/* CARDS */

.ensetra-solucao-card,
.home-corp-sst__card,
.card-treinamento,
.servico-card {

    box-shadow:var(--ensetra-shadow);

}


/* ÍCONES */

.ensetra-solucao-icon {

    background:
    rgba(245,137,66,.14);

    color:#553e90;

}


/* FOOTER */

.site-footer {

    background:
    linear-gradient(
        135deg,
        #5b0045,
        #553e90
    );

}



/* ==================================================
   ENSETRA-DESIGN-001D
   Logos oficiais Ensetra
================================================== */

.site-header-logo-img,
.site-logo img,
.logo img,
.header-logo img {
    max-height: 64px;
    width: auto;
    object-fit: contain;
}

.site-footer-logo-img {
    max-width: 260px;
    height: auto;
    object-fit: contain;
}

@media (max-width: 768px) {
    .site-header-logo-img,
    .site-logo img,
    .logo img,
    .header-logo img {
        max-height: 52px;
    }

    .site-footer-logo-img {
        max-width: 220px;
    }
}


/* ==================================================
   ENSETRA-DESIGN-001E
   Ajuste fino proporção logos oficiais
================================================== */

/* Header/menu */
.site-header-logo-img,
.site-logo img,
.logo img,
.header-logo img {
    max-height: 48px !important;
    max-width: 210px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Evita que a logo quebre o menu */
.site-header .container,
.site-header-inner,
.header-inner {
    min-height: 70px;
}

.site-nav,
.main-nav,
.header-nav {
    flex: 1;
}

/* Rodapé */
.site-footer-logo-img {
    max-width: 190px !important;
    max-height: 120px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .site-header-logo-img,
    .site-logo img,
    .logo img,
    .header-logo img {
        max-height: 44px !important;
        max-width: 185px !important;
    }

    .site-footer-logo-img {
        max-width: 170px !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .site-header-logo-img,
    .site-logo img,
    .logo img,
    .header-logo img {
        max-height: 40px !important;
        max-width: 160px !important;
    }

    .site-footer-logo-img {
        max-width: 150px !important;
    }
}


/* ==================================================
   ENSETRA-DESIGN-001F
   Ajuste fino header/footer oficiais
================================================== */

/* Header: reduzir logo para liberar espaço do menu */
.site-header-logo-img,
.site-logo img,
.logo img,
.header-logo img {
    max-height: 42px !important;
    max-width: 185px !important;
}

/* Aproximação controlada entre logo e menu */
.site-header .container,
.site-header-inner,
.header-inner {
    min-height: 70px !important;
    gap: 18px !important;
}

/* Menu mais compacto, sem quebrar textos */
.site-nav,
.main-nav,
.header-nav,
.nav-menu {
    gap: 10px !important;
    flex-wrap: nowrap !important;
}

.site-nav a,
.main-nav a,
.header-nav a,
.nav-menu a {
    font-size: 14px !important;
    padding: 10px 12px !important;
    white-space: nowrap !important;
    line-height: 1.15 !important;
}

/* Botão orçamento sem estourar */
.site-header .btn-primary,
.header-actions .btn-primary,
.nav-cta,
.header-cta {
    padding: 12px 18px !important;
    min-width: auto !important;
    white-space: nowrap !important;
}

/* Rodapé: centraliza melhor a logo dentro da coluna */
.site-footer-logo-img {
    display: block !important;
    margin: 0 auto 22px auto !important;
    max-width: 190px !important;
}

.site-footer-brand,
.footer-brand {
    text-align: center !important;
}

/* Tablet */
@media (max-width: 1100px) {
    .site-header-logo-img,
    .site-logo img,
    .logo img,
    .header-logo img {
        max-height: 38px !important;
        max-width: 165px !important;
    }

    .site-nav a,
    .main-nav a,
    .header-nav a,
    .nav-menu a {
        font-size: 13px !important;
        padding: 9px 9px !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .site-header-logo-img,
    .site-logo img,
    .logo img,
    .header-logo img {
        max-height: 38px !important;
        max-width: 155px !important;
    }

    .site-footer-logo-img {
        max-width: 160px !important;
    }
}


/* ==================================================
   ENSETRA-DESIGN-001G
   Menu final Ensetra
================================================== */

.site-header-logo-img,
.site-logo img,
.logo img,
.header-logo img {
    max-height: 50px !important;
    max-width: 205px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.site-nav,
.main-nav,
.header-nav,
.nav-menu {
    gap: 14px !important;
    flex-wrap: nowrap !important;
}

.site-nav a,
.main-nav a,
.header-nav a,
.nav-menu a {
    font-size: 14px !important;
    padding: 10px 10px !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
}

@media (max-width: 1100px) {
    .site-header-logo-img,
    .site-logo img,
    .logo img,
    .header-logo img {
        max-height: 46px !important;
        max-width: 185px !important;
    }

    .site-nav a,
    .main-nav a,
    .header-nav a,
    .nav-menu a {
        font-size: 13px !important;
        padding: 9px 8px !important;
    }
}


/* ==================================================
   ENSETRA-DESIGN-001H
   Ajuste final logo/menu desktop
================================================== */

@media (min-width: 1025px) {
    .site-header-logo-img,
    .site-logo img,
    .logo img,
    .header-logo img {
        max-height: 44px !important;
        max-width: 178px !important;
    }

    .site-header .container,
    .site-header-inner,
    .header-inner {
        gap: 26px !important;
    }

    .site-nav,
    .main-nav,
    .header-nav,
    .nav-menu {
        gap: 12px !important;
    }

    .site-nav a,
    .main-nav a,
    .header-nav a,
    .nav-menu a {
        white-space: nowrap !important;
        min-width: max-content !important;
        line-height: 1 !important;
        font-size: 14px !important;
        padding: 10px 9px !important;
    }
}


/* ==================================================
   ENSETRA-DESIGN-002A
   Hero Premium Institucional
================================================== */


.ensetra-hero {

    min-height: 680px;

    background:
    radial-gradient(
        circle at 85% 20%,
        rgba(245,137,66,.35),
        transparent 28%
    ),
    linear-gradient(
        135deg,
        #5b0045 0%,
        #553e90 55%,
        #321b5c 100%
    );

    color:#fff;

    display:flex;
    align-items:center;

    position:relative;
    overflow:hidden;

}


.ensetra-hero::after {

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    right:-120px;
    bottom:-180px;

    border-radius:50%;

    background:
    rgba(255,255,255,.08);

}


.ensetra-hero-grid {

    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
    1.1fr .9fr;

    gap:60px;

    align-items:center;

}


.ensetra-hero-tag {

    display:inline-flex;

    padding:10px 18px;

    border-radius:50px;

    background:
    rgba(245,137,66,.18);

    border:
    1px solid rgba(245,137,66,.5);

    color:#fff;

    font-weight:700;

    margin-bottom:24px;

}


.ensetra-hero h1 {

    font-size:56px;

    line-height:1.05;

    margin-bottom:24px;

}


.ensetra-hero h1 span {

    color:#f58942;

}


.ensetra-hero p {

    font-size:19px;

    line-height:1.7;

    color:
    rgba(255,255,255,.88);

    max-width:620px;

}


.ensetra-hero-actions {

    margin-top:36px;

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}


.ensetra-hero-card {

    background:
    rgba(255,255,255,.12);

    backdrop-filter:
    blur(18px);

    border:
    1px solid rgba(255,255,255,.25);

    border-radius:28px;

    padding:36px;

    box-shadow:
    0 30px 80px rgba(0,0,0,.25);

}


.ensetra-hero-card h3 {

    font-size:26px;

    margin-bottom:22px;

}


.ensetra-check {

    margin:18px 0;

    font-weight:600;

}


.ensetra-check::before {

    content:"✓ ";

    color:#f58942;

    font-weight:900;

}


/* Tablet */

@media(max-width:1024px){

    .ensetra-hero-grid {

        grid-template-columns:1fr;

    }


    .ensetra-hero h1 {

        font-size:44px;

    }

}


/* Mobile */

@media(max-width:768px){

    .ensetra-hero {

        min-height:auto;

        padding:70px 0;

    }


    .ensetra-hero h1 {

        font-size:34px;

    }


    .ensetra-hero-card {

        padding:26px;

    }

}



/* ==================================================
   ENSETRA-DESIGN-002B
   Cards Premium de Soluções SST
================================================== */

.ensetra-solutions-premium {
    background:
        linear-gradient(180deg, #ffffff 0%, #fbf8ff 100%);
    padding: 92px 0;
}

.ensetra-solutions-head {
    max-width: 860px;
    margin: 0 auto 44px;
    text-align: center;
}

.ensetra-solutions-tag {
    display: inline-flex;
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(245,137,66,.12);
    color: #5b0045;
    border: 1px solid rgba(245,137,66,.28);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ensetra-solutions-head h2 {
    margin: 18px 0 14px;
    color: #5b0045;
    font-size: clamp(2.1rem, 3.8vw, 3.5rem);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.ensetra-solutions-head h2 span {
    color: #f58942;
}

.ensetra-solutions-head p {
    color: #64748b;
    font-size: 1.08rem;
}

.ensetra-solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ensetra-solution-premium-card {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(85,62,144,.12);
    border-radius: 28px;
    padding: 30px;
    min-height: 300px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(91,0,69,.10);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.ensetra-solution-premium-card:hover {
    transform: translateY(-6px);
    border-color: rgba(245,137,66,.34);
    box-shadow: 0 32px 90px rgba(91,0,69,.16);
}

.ensetra-solution-premium-card::before {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    right: -68px;
    top: -68px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245,137,66,.24), transparent 68%);
}

.ensetra-solution-premium-card::after {
    content: "";
    position: absolute;
    inset: auto 26px 0 26px;
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, #553e90, #f58942);
    opacity: .85;
}

.ensetra-solution-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background:
        linear-gradient(135deg, rgba(85,62,144,.10), rgba(245,137,66,.16));
    color: #553e90;
    font-size: 30px;
    margin-bottom: 22px;
}

.ensetra-solution-premium-card h3 {
    color: #5b0045;
    font-size: 1.28rem;
    margin: 0 0 12px;
}

.ensetra-solution-premium-card p {
    color: #64748b;
    margin: 0 0 20px;
}

.ensetra-solution-list {
    display: grid;
    gap: 8px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.ensetra-solution-list li {
    color: #334155;
    font-size: .94rem;
}

.ensetra-solution-list li::before {
    content: "✓";
    color: #f58942;
    font-weight: 900;
    margin-right: 8px;
}

.ensetra-solution-premium-card a {
    color: #553e90;
    font-weight: 900;
    text-decoration: none;
}

.ensetra-solution-premium-card a:hover {
    color: #f58942;
}

@media (max-width: 1024px) {
    .ensetra-solutions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ensetra-solutions-premium {
        padding: 62px 0;
    }

    .ensetra-solutions-grid {
        grid-template-columns: 1fr;
    }

    .ensetra-solution-premium-card {
        min-height: auto;
        padding: 24px;
    }
}



/* ==================================================
   ENSETRA-DESIGN-002C
   Processo Premium de Atendimento
================================================== */

.ensetra-process-premium {
    position: relative;
    background:
        radial-gradient(circle at 10% 20%, rgba(245,137,66,.16), transparent 28%),
        linear-gradient(135deg, #5b0045 0%, #553e90 58%, #2f174f 100%);
    color: #ffffff;
    padding: 96px 0;
    overflow: hidden;
}

.ensetra-process-premium::after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -160px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(255,255,255,.07);
}

.ensetra-process-premium .container {
    position: relative;
    z-index: 2;
}

.ensetra-process-head {
    max-width: 860px;
    margin-bottom: 46px;
}

.ensetra-process-head span {
    display: inline-flex;
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(245,137,66,.16);
    color: #ffffff;
    border: 1px solid rgba(245,137,66,.45);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ensetra-process-head h2 {
    color: #ffffff;
    margin: 18px 0 14px;
    font-size: clamp(2.1rem, 3.8vw, 3.5rem);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.ensetra-process-head h2 strong {
    color: #f58942;
}

.ensetra-process-head p {
    color: rgba(255,255,255,.78);
    font-size: 1.08rem;
}

.ensetra-process-timeline {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.ensetra-process-step {
    position: relative;
    min-height: 230px;
    padding: 26px;
    border-radius: 26px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(12px);
    box-shadow: 0 24px 70px rgba(0,0,0,.18);
}

.ensetra-process-number {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: #f58942;
    color: #5b0045;
    font-weight: 900;
    margin-bottom: 18px;
}

.ensetra-process-step h3 {
    color: #ffffff;
    margin: 0 0 10px;
    font-size: 1.08rem;
}

.ensetra-process-step p {
    color: rgba(255,255,255,.76);
    margin: 0;
    font-size: .94rem;
}

.ensetra-process-footer {
    margin-top: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    flex-wrap: wrap;
    padding: 24px 28px;
    border-radius: 24px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
}

.ensetra-process-footer strong {
    display: block;
    font-size: 1.2rem;
    color: #ffffff;
}

.ensetra-process-footer p {
    margin: 4px 0 0;
    color: rgba(255,255,255,.74);
}

@media (max-width: 1180px) {
    .ensetra-process-timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ensetra-process-premium {
        padding: 64px 0;
    }

    .ensetra-process-timeline {
        grid-template-columns: 1fr;
    }

    .ensetra-process-step {
        min-height: auto;
        padding: 24px;
    }

    .ensetra-process-footer {
        padding: 22px;
    }
}



/* ==================================================
   ENSETRA-DESIGN-002D
   Autoridade / Prova Social Premium
================================================== */

.ensetra-authority {
    background: #ffffff;
    padding: 90px 0;
}

.ensetra-authority-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 42px;
    align-items: center;
}

.ensetra-authority-box {
    background:
        radial-gradient(circle at 85% 10%, rgba(245,137,66,.22), transparent 32%),
        linear-gradient(135deg, #5b0045, #553e90);
    border-radius: 32px;
    padding: 38px;
    color: #fff;
    box-shadow: 0 28px 80px rgba(91,0,69,.22);
}

.ensetra-authority-box h2 {
    color: #fff;
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 1.05;
    margin: 0 0 18px;
}

.ensetra-authority-box p {
    color: rgba(255,255,255,.82);
    font-size: 1.05rem;
    margin: 0;
}

.ensetra-authority-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 18px;
}

.ensetra-authority-card {
    background: #fff;
    border: 1px solid rgba(85,62,144,.12);
    border-radius: 26px;
    padding: 26px;
    box-shadow: 0 20px 60px rgba(91,0,69,.09);
}

.ensetra-authority-card strong {
    display: block;
    color: #5b0045;
    font-size: 2.2rem;
    line-height: 1;
    margin-bottom: 10px;
}

.ensetra-authority-card span {
    color: #334155;
    font-weight: 800;
}

.ensetra-authority-card p {
    color: #64748b;
    margin: 8px 0 0;
}

@media (max-width: 900px) {
    .ensetra-authority-grid,
    .ensetra-authority-cards {
        grid-template-columns: 1fr;
    }

    .ensetra-authority {
        padding: 60px 0;
    }
}


/* ==================================================
   ENSETRA-DESIGN-002E
   CTA Final Premium
================================================== */

.ensetra-final-cta {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 15%, rgba(245,137,66,.30), transparent 28%),
        linear-gradient(135deg, #5b0045, #553e90);
    color: #fff;
    padding: 86px 0;
}

.ensetra-final-cta-box {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2;
}

.ensetra-final-cta h2 {
    color: #fff;
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1.05;
    margin: 0 0 18px;
}

.ensetra-final-cta h2 span {
    color: #f58942;
}

.ensetra-final-cta p {
    color: rgba(255,255,255,.82);
    font-size: 1.12rem;
    max-width: 760px;
    margin: 0 auto 32px;
}

.ensetra-final-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.ensetra-final-actions .btn-primary {
    background: linear-gradient(135deg, #f58942, #ff9d5c);
    color: #fff;
}

.ensetra-final-actions .btn-cta-outline {
    border-color: rgba(255,255,255,.45);
    color: #fff;
    background: rgba(255,255,255,.08);
}

@media(max-width:768px){
    .ensetra-final-cta {
        padding: 62px 0;
    }
}

/* ENSETRA-HOMOLOGACAO-002E — ajuste alerta NR-01 */
.home-alert-bar,
.home-alert-bar a,
.home-alert-bar strong,
.home-alert-bar span {
    color: #5b0045 !important;
}

.home-alert-bar {
    background: #fff4ec !important;
    border: 1px solid rgba(245,137,66,.35) !important;
}

.home-alert-bar a {
    font-weight: 900 !important;
    text-decoration: underline !important;
}


/* ==================================================
   ENSETRA-HOMOLOGACAO-002G
   Menu definitivo + contraste alerta NR-01
================================================== */

/* Header igual padrão já aprovado */
.site-header,
.header,
.site-topbar {
    background: #143f70 !important;
}

.site-header .container,
.site-header-inner,
.header-inner {
    min-height: 70px !important;
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
}

/* Logo menor para liberar o menu */
.site-header-logo-img,
.site-logo img,
.logo img,
.header-logo img {
    max-height: 44px !important;
    max-width: 178px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

/* Menu em uma linha */
.site-nav,
.main-nav,
.header-nav,
.nav-menu {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.site-nav a,
.main-nav a,
.header-nav a,
.nav-menu a {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-height: 1 !important;
    font-size: 14px !important;
    padding: 10px 9px !important;
}

/* CTA separado e compacto */
.header-actions,
.site-header-actions {
    flex-shrink: 0 !important;
}

.header-actions .btn-primary,
.site-header .btn-primary,
.site-header-actions .btn-primary {
    padding: 12px 18px !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
}

/* Alerta NR-01 legível definitivamente */
.home-alert-bar,
.home-alert,
.alert-nr01,
.nr01-alert,
[class*="alert"] {
    color: #5b0045 !important;
}

.home-alert-bar *,
.home-alert *,
.alert-nr01 *,
.nr01-alert * {
    color: #5b0045 !important;
}

.home-alert-bar,
.home-alert,
.alert-nr01,
.nr01-alert {
    background: #fff4ec !important;
    border: 1px solid rgba(245,137,66,.45) !important;
}

.home-alert-bar a,
.home-alert a,
.alert-nr01 a,
.nr01-alert a {
    color: #5b0045 !important;
    font-weight: 900 !important;
    text-decoration: underline !important;
}

/* Tablet */
@media (max-width: 1120px) {
    .site-header-logo-img,
    .site-logo img,
    .logo img,
    .header-logo img {
        max-height: 40px !important;
        max-width: 160px !important;
    }

    .site-nav a,
    .main-nav a,
    .header-nav a,
    .nav-menu a {
        font-size: 13px !important;
        padding: 9px 7px !important;
    }
}

/* Mobile preserva menu hamburguer */
@media (max-width: 980px) {
    .site-nav,
    .main-nav,
    .header-nav,
    .nav-menu {
        display: none !important;
    }

    .site-header-logo-img,
    .site-logo img,
    .logo img,
    .header-logo img {
        max-height: 40px !important;
        max-width: 155px !important;
    }
}
