:root{
--primary:#03071E;
--secondary:#045084;
--accent:#93D6F3;
--white:#fff;
--light:#f5f7fa;
}

body{
font-family:'DM Sans',sans-serif;
background:var(--light);
padding-top:73px;
}


.hero{
background:linear-gradient(135deg,#03071E,#071f44);
padding:100px 0;
color:white;
overflow:hidden;
}

.hero h1{
font-size:3rem;
font-weight:800;
line-height:1.15;
margin-bottom:25px;
}

.hero p{
font-size:1.1rem;
color:#d9e8ff;
}

.badge-custom{
display:inline-block;
background:rgba(147,214,243,.15);
color:var(--accent);
padding:10px 20px;
border-radius:30px;
margin-bottom:25px;
}

.hero-image-wrapper{
border:2px solid #00d9ff;
border-radius:28px;
overflow:hidden;
box-shadow:
0 0 18px rgba(0,217,255,.45),
0 0 45px rgba(0,217,255,.18);
}

.hero-img{
display:block;
width:100%;
}


/* Botão CTA Geral */
.btn-cta-especialista {
  background-color: #054F77;
  color: #ffffff;
  border: 2px solid #054F77;
  font-family: 'Poppins', sans-serif;
  text-decoration: none;
}

.btn-cta-especialista:hover,
.btn-cta-especialista:focus {
  background-color: #043f5f;
  border-color: #043f5f;
  color: #ffffff;
}

.btn-primary-custom:active{
    transform: translateY(0);
}

#quem-somos .section-title{
    font-family: "Poppins", sans-serif;
    font-size: clamp(2.8rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 1.1;
    color: #00050c;
    margin-bottom: 1rem;
}

.section-subtitle{
max-width:800px;
margin:auto;
font-size:1.2rem;
color:#666;
}

.dark-section{
background:#071f44;
padding:90px 0;
}

.tech-box{
background:#0b315f;
padding:35px;
border-radius:22px;
text-align:center;
color:white;
height:100%;
transition:.3s;
}

.tech-box:hover{
transform:translateY(-8px);
}

.tech-box i{
font-size:3rem;
color:var(--accent);
margin-bottom:15px;
}

.pipeline{
background:#03071E;
padding:90px 0;
}

.pipeline-flow{
display:flex;
justify-content:center;
align-items:center;
gap:15px;
flex-wrap:wrap;
}

.step{
background:#0b315f;
padding:15px 24px;
border-radius:16px;
color:white;
font-weight:700;
}

.pipeline-flow i{
color:var(--accent);
font-size:1.4rem;
}

.mini-card{
background:white;
padding:35px;
border-radius:20px;
text-align:center;
height:100%;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.3s;
}

.mini-card:hover{
transform:translateY(-8px);
}

.mini-card i{
font-size:2.5rem;
color:var(--secondary);
margin-bottom:15px;
}


.cta-final-institucional{
    background: linear-gradient(180deg,#045084,#000);
    color:#fff;
    margin-bottom: 40px;
}

.cta-final-institucional h2{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:2.3rem;
}

.cta-final-institucional p{
    max-width:720px;
    color:#d5e7f8;
    font-size:1.1rem;
}

/* BOTÃO NEON PADRÃO MWX */
.btn-cta-neon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:18px 42px;
    border-radius:999px;
    background:#d7dde0;
    color:#111827;
    border:3px solid #00E5FF;
    font-family:'Poppins',sans-serif;
    font-weight:600;
    font-size:1rem;
    text-transform:uppercase;
    letter-spacing:.5px;
    text-decoration:none;
    transition:all .35s ease;
    box-shadow:
        0 0 12px rgba(0,229,255,.65),
        0 0 28px rgba(0,229,255,.35);
}

.btn-cta-neon:hover{
    background:#eef6fa;
    color:#03071E;
    transform:translateY(-3px) scale(1.02);
    box-shadow:
        0 0 18px rgba(0,229,255,.85),
        0 0 40px rgba(0,229,255,.55);
}

.btn-cta-neon:active{
    transform:translateY(0);
}



@media(max-width:991px){

.hero{
text-align:center;
padding:70px 0;
}

.hero h1{
font-size:2.2rem;
}

.pipeline-flow{
gap:12px;
}

.step{
width:100%;
}

.pipeline-flow i{
display:none;
}

}


/* =========================================================
   BANNER DESKTOP
========================================================= */
.banner-estatico{
  width:100%;
  background-image:url("assets/banner - Fabricio-oficial.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  height:450px;
}

/* =========================================================
   BANNER MOBILE / TABLET
========================================================= */
@media(max-width:991.98px){
  .banner-estatico{
    background-image:url("assets/banner - Fabricio-oficial-mobile.png");
    height:0;
    padding-top:125%;
  }
}

/* =========================================================
   ANIMAÇÃO
========================================================= */
.banner-anim{
  opacity:0;
  transform:translateY(40px);
  transition:900ms;
}

.banner-anim.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* =========================================================
   DESKTOP GRANDE
========================================================= */
@media(min-width:1400px) and (max-width:1599px){
  .banner-estatico{height:402px;}
}

@media(min-width:1600px){
  .banner-estatico{height:450px;}
}

/* ==========================================
   EVOLUÇÃO MWX
========================================== */

.evolucao-mwx{
    background:#f5f7fa;
    position:relative;
    overflow:hidden;
}

.evolucao-mwx::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:280px;
    height:280px;
    background:rgba(0,229,255,.08);
    filter:blur(90px);
    border-radius:50%;
}

.timeline-badge{
    display:inline-block;
    padding:8px 18px;
    border-radius:999px;
    background:rgba(4,80,132,.08);
    color:#045084;
    font-size:.9rem;
    font-weight:600;
    margin-bottom:20px;
}

.timeline-title{
    font-family:"Poppins",sans-serif;
    font-size:2.4rem;
    font-weight:800;
    color:#03071E;
    line-height:1.15;
    margin-bottom:25px;
}

.evolucao-mwx p{
    color:#3b4756;
    font-size:1.05rem;
    line-height:1.8;
}

.timeline-card{
    background:#071f44;
    border-radius:28px;
    padding:35px;
    position:relative;
    box-shadow:0 20px 50px rgba(0,0,0,.18);
}

.timeline-card::before{
    content:"";
    position:absolute;
    left:28px;
    top:35px;
    bottom:35px;
    width:2px;
    background:linear-gradient(#00E5FF,#045084);
}

.timeline-item{
    position:relative;
    padding-left:38px;
    margin-bottom:28px;
}

.timeline-item:last-child{
    margin-bottom:0;
}

.timeline-item::before{
    content:"";
    position:absolute;
    left:-6px;
    top:8px;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#93D6F3;
    box-shadow:0 0 12px rgba(0,229,255,.8);
}

.timeline-item span{
    display:block;
    color:#93D6F3;
    font-size:.9rem;
    margin-bottom:4px;
}

.timeline-item strong{
    display:block;
    color:#fff;
    font-size:1.2rem;
    font-family:"Poppins",sans-serif;
    margin-bottom:6px;
}

.timeline-item p{
    color:#d9e8ff;
    margin:0;
    font-size:.95rem;
}

.timeline-item.active::before{
    background:#00E5FF;
    box-shadow:
        0 0 10px #00E5FF,
        0 0 24px rgba(0,229,255,.9);
}

/* ==========================================================
   NOSSA EVOLUÇÃO
========================================================== */

.evolucao-section{
    background:#eef3f6;
    padding:100px 0;
}

.evolucao-badge{
    display:inline-block;
    padding:10px 22px;
    border-radius:999px;
    background:rgba(4,80,132,.10);
    color:#045084;
    font-family:"Poppins",sans-serif;
    font-weight:600;
    margin-bottom:22px;
}

.evolucao-title{
    font-family:"Poppins",sans-serif;
    font-size:clamp(2.1rem,4vw,3.3rem);
    font-weight:800;
    line-height:1.1;
    color:#03071E;
    margin-bottom:28px;
}

.evolucao-text{
    font-family:"DM Sans",sans-serif;
    font-size:1.08rem;
    line-height:1.85;
    color:#314055;
    margin-bottom:22px;
}

/* Card da Timeline */

.timeline-card{
    position:relative;
    background:linear-gradient(180deg,#041a3d,#020b1f);
    border-radius:32px;
    padding:45px;
    border:1px solid rgba(0,229,255,.25);
    box-shadow:
        0 0 18px rgba(0,229,255,.12),
        0 25px 55px rgba(0,0,0,.35);
}

.timeline-card::before{
    content:"";
    position:absolute;
    left:34px;
    top:45px;
    bottom:45px;
    width:2px;
    background:#00E5FF;
    box-shadow:0 0 14px rgba(0,229,255,.7);
}

.timeline-item{
    position:relative;
    display:flex;
    gap:24px;
    margin-bottom:34px;
}

.timeline-item:last-child{
    margin-bottom:0;
}

.timeline-dot{
    width:18px;
    height:18px;
    border-radius:50%;
    background:#93D6F3;
    box-shadow:0 0 12px rgba(0,229,255,.8);
    flex-shrink:0;
    position:relative;
    margin-left:-2px;
    margin-top:4px;
}

.timeline-dot.active{
    background:#00E5FF;
    box-shadow:
        0 0 16px rgba(0,229,255,1),
        0 0 34px rgba(0,229,255,.8);
}

.timeline-content small{
    color:#8ddcff;
    font-size:.9rem;
    display:block;
    margin-bottom:6px;
}

.timeline-content h4{
    color:#fff;
    font-family:"Poppins",sans-serif;
    font-size:1.45rem;
    font-weight:700;
    margin-bottom:10px;
}

.timeline-content p{
    color:#d5e7f8;
    line-height:1.6;
    margin:0;
}

/* Responsivo */

@media(max-width:991px){

    .evolucao-section{
        padding:70px 0;
    }

    .timeline-card{
        margin-top:10px;
        padding:35px 28px;
    }

    .timeline-card::before{
        left:28px;
    }

    .timeline-item{
        gap:18px;
    }

    .evolucao-title{
        font-size:2.2rem;
    }

    .evolucao-text{
        font-size:1rem;
    }
}