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


/* =========================
   HERO
========================= */

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

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

.hero h1{
    font-size:3rem;
    font-weight:800;
    margin-bottom:20px;
}

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

/* =========================
   HERO IMAGE NEON
========================= */

.hero-image-wrapper{
    position:relative;
    display:inline-block;
    border-radius:28px;
    overflow:visible;
}

/* Glow externo */

.hero-image-wrapper::before{
    content:"";
    position:absolute;
    inset:-18px;
    border-radius:40px;
    background:radial-gradient(circle,
        rgba(0,234,255,.45) 0%,
        rgba(4,80,132,.22) 45%,
        transparent 75%);
    filter:blur(28px);
    z-index:0;
}

/* Borda neon */

/* =========================
   HERO IMAGE NEON
========================= */

.hero-image-wrapper{
    position: relative;
    display: inline-block;
    width: 90%;
    max-width: 550px;
    aspect-ratio: 5 / 4;
    border-radius: 28px;
    overflow: hidden; /* corta a imagem exatamente na moldura */
}

/* Glow externo */
.hero-image-wrapper::before{
    content: "";
    position: absolute;
    inset: -18px;
    border-radius: 40px;
    background: radial-gradient(circle,
        rgba(0,234,255,.45) 0%,
        rgba(4,80,132,.22) 45%,
        transparent 75%);
    filter: blur(28px);
    z-index: 0;
}

/* Borda neon */
.hero-image-wrapper::after{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 28px;
    border: 2px solid rgba(0,234,255,.9);
    box-shadow:
        0 0 8px rgba(0,234,255,.95),
        0 0 22px rgba(0,234,255,.55),
        0 0 42px rgba(0,234,255,.28);
    pointer-events: none;
    z-index: 2;
}

/* Imagem alinhada com a moldura */
.hero-img{
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 28px;
    display: block;
    margin: 0; /* remove a sobra inferior */
    box-shadow:
        inset 0 0 25px rgba(0,234,255,.08),
        0 25px 60px rgba(0,0,0,.45);
}

/* =========================
   BOTÕES
========================= */

.btn-primary-custom{
    background:var(--accent);
    color:#06142c;
    padding:14px 30px;
    font-weight:700;
    border-radius:40px;
    text-decoration:none;
    border:none;
    transition:.3s;
}

.btn-primary-custom:hover{
    background:#76c7e9;
    transform:translateY(-2px);
}

.btn-outline-custom{
    border:2px solid var(--accent);
    color:var(--accent);
    padding:12px 28px;
    border-radius:40px;
    text-decoration:none;
    transition:.3s;
}

.btn-outline-custom:hover{
    background:var(--accent);
    color:#06142c;
    transform:translateY(-2px);
}

/* =========================
   TÍTULOS
========================= */

.section-title{
    font-size:2.4rem;
    font-weight:800;
    color: #f5f7fa;
}

.section-title_02 {
    font-size: 32px;
    color: #010511;
    font-family:'Poppins',sans-serif;
    font-weight:800;
}

/* =========================
   CARDS DE SERVIÇOS
========================= */

.service-card{
    background:var(--white);
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 22px 45px rgba(0,0,0,.12);
}

.service-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.service-card ul{
    padding-left:18px;
    margin:20px 0;
}

/* =========================
   PIPELINE
========================= */

.pipeline-section{
    background:#071f44;
    color:var(--white);
    padding:80px 0;
}

.step{
    background:#0b315f;
    padding:18px 26px;
    border-radius:14px;
    font-weight:700;
}

/* =========================
   CORE
========================= */

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

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

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

/* =========================
   MINI CARDS
========================= */

.mini-card{
    background:var(--white);
    padding:30px;
    border-radius:18px;
    text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,.07);
    transition:.3s;
}

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

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

/* =========================
   CTA FINAL
========================= */

.cta-final{
    background:var(--secondary);
    padding:80px 0;
    color:var(--white);
}

.cta-final h2{
    font-size:2.3rem;
    font-weight:800;
}

/* =========================
   FOOTER
========================= */

footer{
    background:#010511;
    color:var(--white);
    padding:0;
}

.social i{
    font-size:1.8rem;
    margin:0 10px;
    cursor:pointer;
    transition:.3s;
}

.social i:hover{
    color:var(--accent);
}

/* =========================
   RESPONSIVO
========================= */

@media(max-width:992px){

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

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

    .hero-image-wrapper{
        margin-top:40px;
    }
}

@media(max-width:768px){

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

    .hero p{
        font-size:1rem;
    }

    .btn-primary-custom,
    .btn-outline-custom{
        display:block;
        width:100%;
        margin-bottom:15px;
    }

    .hero-img{
        max-width:100%;
    }
}


/* ===========================================
   STACK TECNOLÓGICA MWX
=========================================== */

.stack-tech{

    background:linear-gradient(180deg,#071f44,#03071E);

    color:#fff;

    position:relative;

    overflow:hidden;

}

.stack-tech::before{

    content:"";

    position:absolute;

    top:-120px;

    left:-120px;

    width:280px;

    height:280px;

    background:rgba(147,214,243,.12);

    filter:blur(90px);

    border-radius:50%;

}

.stack-tech::after{

    content:"";

    position:absolute;

    bottom:-150px;

    right:-120px;

    width:320px;

    height:320px;

    background:rgba(147,214,243,.08);

    filter:blur(120px);

    border-radius:50%;

}

.stack-badge{

    display:inline-block;

    padding:8px 20px;

    border-radius:999px;

    background:rgba(147,214,243,.12);

    border:1px solid rgba(147,214,243,.35);

    color:#93D6F3;

    font-size:.9rem;

    letter-spacing:.5px;

}

.stack-title{

    font-size:2.4rem;

    font-weight:800;

    font-family:'Poppins',sans-serif;


}

.stack-subtitle{

    color:#c9ddff;

    font-size:1.05rem;

    max-width:700px;

    margin:auto;

}

/* Carrossel */

.stack-marquee{

    overflow:hidden;

    position:relative;

    padding:18px 0 28px;

}

.stack-track{

    display:flex;

    width:max-content;

    gap:24px;

    animation:scrollStack 35s linear infinite;

}

.stack-marquee:hover .stack-track{

    animation-play-state:paused;

}

@keyframes scrollStack{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

/* Cards */

.tech-card{

    min-width:180px;

    height:140px;

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

    border:1px solid rgba(147,214,243,.22);

    border-radius:22px;

    backdrop-filter:blur(12px);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    transition:.3s;

    box-shadow:0 0 0 rgba(147,214,243,0);

}

.tech-card:hover{

    border-color:#93D6F3;

    box-shadow:

        0 0 25px rgba(147,214,243,.35),

        inset 0 0 25px rgba(147,214,243,.08);

}

.tech-card img{

    height:52px;

    object-fit:contain;

    margin-bottom:12px;

}

.tech-card span{

    color:#fff;

    font-weight:600;

    text-align:center;

    font-size:.95rem;

}

/* Responsivo */

@media(max-width:768px){

    .stack-title{

        font-size:1.9rem;

    }

    .tech-card{

        min-width:150px;

        height:120px;

    }

    .tech-card img{

        height:42px;

    }

}


.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--bs-heading-color);
}

/* ==========================================
   BOTÃO NEON PADRÃO MWX CTA FINAL
========================================== */

.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 #00EAFF;
    font-family:"Poppins",sans-serif;
    font-weight:600;
    font-size:1rem;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.5px;
    transition:all .35s ease;
    box-shadow:
        0 0 12px rgba(0,234,255,.65),
        0 0 28px rgba(0,234,255,.35);
}

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

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