/* ==========================================================
   SOFTTECH
   STYLE.CSS
   PARTE 1
==========================================================*/

/*==========================
  GOOGLE FONT
==========================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==========================
  RESET
==========================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;

    background:#08111f;

    color:#FFF;

    overflow-x:hidden;

    line-height:1.6;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    color:inherit;

}

ul{

    list-style:none;

}

button{

    cursor:pointer;

    border:none;

    font-family:inherit;

}

section{

    padding:110px 0;

}

/*==========================
  VARIÁVEIS
==========================*/

:root{

    --primary:#2F80FF;

    --secondary:#6C63FF;

    --accent:#00D9FF;

    --dark:#08111f;

    --dark2:#111D30;

    --dark3:#18253B;

    --text:#FFFFFF;

    --gray:#AEB7C8;

    --border:rgba(255,255,255,.08);

    --shadow:0 20px 50px rgba(0,0,0,.35);

    --radius:18px;

    --transition:.35s ease;

    --gradient:linear-gradient(135deg,#2F80FF,#6C63FF);

}

/*==========================
 CONTAINER
==========================*/

.container{

    width:90%;

    max-width:1280px;

    margin:auto;

}

/*==========================
 TITULOS
==========================*/

.titulo{

    text-align:center;

    margin-bottom:70px;

}

.titulo span{

    color:var(--accent);

    font-weight:700;

    letter-spacing:3px;

    font-size:14px;

}

.titulo h2{

    margin-top:15px;

    font-size:42px;

    font-weight:700;

}

.titulo p{

    margin-top:20px;

    color:var(--gray);

    max-width:700px;

    margin-left:auto;

    margin-right:auto;

}

/*==========================
 TAG
==========================*/

.tag{

    display:inline-block;

    padding:10px 22px;

    border-radius:50px;

    background:rgba(47,128,255,.15);

    border:1px solid rgba(47,128,255,.25);

    color:#5fc7ff;

    font-size:13px;

    letter-spacing:2px;

    font-weight:600;

}

/*==========================
 BOTÕES
==========================*/

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 36px;

    border-radius:50px;

    background:var(--gradient);

    color:#FFF;

    font-weight:600;

    transition:var(--transition);

    box-shadow:0 12px 35px rgba(47,128,255,.35);

}

.btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:0 20px 45px rgba(47,128,255,.55);

}

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 36px;

    border-radius:50px;

    border:1px solid rgba(255,255,255,.15);

    background:rgba(255,255,255,.05);

    backdrop-filter:blur(12px);

    color:#FFF;

    transition:.35s;

}

.btn-secondary:hover{

    background:rgba(255,255,255,.12);

}

/*==========================
 HEADER
==========================*/

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:999;

    transition:.4s;

    backdrop-filter:blur(14px);

    background:rgba(8,17,31,.65);

    border-bottom:1px solid rgba(255,255,255,.05);

}

header .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:90px;

}

/*==========================
 LOGO
==========================*/

.logo{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:28px;

    font-weight:700;

    color:#FFF;

}

.logo i{

    color:var(--primary);

    font-size:34px;

}

/*==========================
 MENU
==========================*/

nav ul{

    display:flex;

    gap:40px;

}

nav a{

    color:#D8E1EF;

    font-weight:500;

    position:relative;

    transition:.3s;

}

nav a:hover{

    color:#FFF;

}

nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.3s;

}

nav a:hover::after{

    width:100%;

}

.btn-menu{

    padding:14px 26px;

    background:var(--gradient);

    border-radius:40px;

    color:#FFF;

    font-weight:600;

    transition:.35s;

}

.btn-menu:hover{

    transform:translateY(-3px);

}

.menu-mobile{

    display:none;

    font-size:30px;

    cursor:pointer;

}

/*==========================
 HERO
==========================*/

#inicio{

    position:relative;

    overflow:hidden;

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:120px;

}

#inicio::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    border-radius:50%;

    background:#235dff25;

    top:-250px;

    right:-200px;

    filter:blur(120px);

}

#inicio::after{

    content:"";

    position:absolute;

    width:600px;

    height:600px;

    border-radius:50%;

    background:#6c63ff25;

    bottom:-250px;

    left:-200px;

    filter:blur(120px);

}

.hero{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

    position:relative;

    z-index:2;

}

.hero-text h1{

    font-size:68px;

    line-height:1.1;

    margin:25px 0;

    font-weight:800;

}

.hero-text h1 span{

    color:#49a6ff;

}

.hero-text p{

    color:var(--gray);

    font-size:20px;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.hero-image{

    position:relative;

}

.hero-image img{

    border-radius:25px;

    box-shadow:var(--shadow);

    border:1px solid rgba(255,255,255,.08);

}

/*==========================
 ESTATÍSTICAS
==========================*/

.estatisticas{

    padding-top:20px;

}

.estatisticas .container{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.card-info{

    background:rgba(255,255,255,.04);

    border:1px solid var(--border);

    border-radius:20px;

    padding:40px;

    text-align:center;

    backdrop-filter:blur(18px);

    transition:.35s;

}

.card-info:hover{

    transform:translateY(-10px);

    border-color:#2f80ff;

}

.card-info i{

    font-size:42px;

    color:var(--primary);

    margin-bottom:20px;

}

.card-info h2{

    font-size:44px;

    margin-bottom:10px;

}

.card-info span{

    color:var(--gray);

}

/*==========================
 ANIMAÇÃO PADRÃO
==========================*/

.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:.8s;

}

.fade-up.show{

    opacity:1;

    transform:none;

}

/* ==========================================================
   SOFTTECH
   STYLE.CSS
   PARTE 2
==========================================================*/

/*=========================================================
    SERVIÇOS
=========================================================*/

#servicos{

    position:relative;

    overflow:hidden;

}

#servicos::before{

    content:"";

    position:absolute;

    width:550px;

    height:550px;

    border-radius:50%;

    background:rgba(47,128,255,.08);

    filter:blur(120px);

    top:-180px;

    left:-220px;

}

.cards{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.card{

    position:relative;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    padding:45px 35px;

    overflow:hidden;

    transition:.35s ease;

    backdrop-filter:blur(18px);

}

.card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:linear-gradient(90deg,#2F80FF,#6C63FF);

}

.card:hover{

    transform:translateY(-12px);

    border-color:#2F80FF;

    box-shadow:0 20px 50px rgba(0,0,0,.35);

}

.card i{

    width:78px;

    height:78px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:linear-gradient(135deg,#2F80FF,#6C63FF);

    font-size:34px;

    color:#FFF;

    margin-bottom:28px;

}

.card h3{

    font-size:24px;

    margin-bottom:18px;

}

.card p{

    color:var(--gray);

    line-height:1.8;

}

.card:hover i{

    transform:rotate(-8deg) scale(1.08);

    transition:.35s;

}

/*=========================================================
    SOBRE
=========================================================*/

#empresa{

    background:#0d1728;

    position:relative;

}

.sobre{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.sobre-imagem{

    position:relative;

}

.sobre-imagem::after{

    content:"";

    position:absolute;

    width:100%;

    height:100%;

    left:25px;

    top:25px;

    border-radius:24px;

    border:2px solid rgba(47,128,255,.25);

    z-index:0;

}

.sobre-imagem img{

    position:relative;

    z-index:2;

    border-radius:24px;

    box-shadow:0 30px 60px rgba(0,0,0,.45);

}

.sobre-texto h2{

    font-size:46px;

    margin:22px 0;

    line-height:1.2;

}

.sobre-texto p{

    color:var(--gray);

    margin-bottom:22px;

    font-size:17px;

    line-height:1.9;

}

/*=========================================================
    DIFERENCIAIS
=========================================================*/

.diferenciais{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

    margin:40px 0;

}

.diferenciais div{

    display:flex;

    align-items:center;

    gap:14px;

    padding:18px;

    border-radius:15px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.05);

    transition:.35s;

}

.diferenciais div:hover{

    background:rgba(47,128,255,.10);

    transform:translateX(8px);

}

.diferenciais i{

    color:#2F80FF;

    font-size:22px;

}

/*=========================================================
    EFEITO DE FUNDO
=========================================================*/

#empresa::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    border-radius:50%;

    right:-250px;

    bottom:-250px;

    background:rgba(108,99,255,.08);

    filter:blur(150px);

}

/*=========================================================
    BOTÃO SOBRE
=========================================================*/

#empresa .btn-primary{

    margin-top:20px;

}

/*=========================================================
    TRANSIÇÕES
=========================================================*/

.card,
.portfolio-card,
.tech,
.step,
.depoimento{

    transition:all .35s ease;

}

/*=========================================================
    SCROLLBAR
=========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#0b1524;

}

::-webkit-scrollbar-thumb{

    background:linear-gradient(#2F80FF,#6C63FF);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#2F80FF;

}

/*=========================================================
    SELEÇÃO DE TEXTO
=========================================================*/

::selection{

    background:#2F80FF;

    color:#FFF;

}

/*=========================================================
    ANIMAÇÃO DOS CARDS
=========================================================*/

.card{

    animation:fadeCard .8s ease both;

}

.card:nth-child(2){

    animation-delay:.10s;

}

.card:nth-child(3){

    animation-delay:.20s;

}

.card:nth-child(4){

    animation-delay:.30s;

}

.card:nth-child(5){

    animation-delay:.40s;

}

.card:nth-child(6){

    animation-delay:.50s;

}

@keyframes fadeCard{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

/*=========================================================
    RESPONSIVIDADE INTERMEDIÁRIA
=========================================================*/

@media (max-width:1100px){

    .cards{

        grid-template-columns:repeat(2,1fr);

    }

    .sobre{

        grid-template-columns:1fr;

    }

    .sobre-imagem{

        max-width:700px;

        margin:auto;

    }

}

@media (max-width:768px){

    .cards{

        grid-template-columns:1fr;

    }

    .diferenciais{

        grid-template-columns:1fr;

    }

    .sobre-texto h2{

        font-size:34px;

    }

}
/* ==========================================================
   SOFTTECH
   STYLE.CSS
   PARTE 3A
   PORTFÓLIO + TECNOLOGIAS
==========================================================*/

/*=========================================================
    PORTFÓLIO
=========================================================*/

#portfolio{

    position:relative;

    background:#08111f;

    overflow:hidden;

}

#portfolio::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    border-radius:50%;

    left:-280px;

    bottom:-280px;

    background:rgba(47,128,255,.08);

    filter:blur(150px);

}

.portfolio-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

    position:relative;

    z-index:2;

}

.portfolio-card{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    background:#111D30;

    border:1px solid rgba(255,255,255,.08);

    transition:.4s;

    box-shadow:0 15px 45px rgba(0,0,0,.30);

}

.portfolio-card img{

    width:100%;

    height:280px;

    object-fit:cover;

    transition:.6s;

}

.portfolio-info{

    padding:28px;

}

.portfolio-info h3{

    font-size:26px;

    margin-bottom:15px;

}

.portfolio-info p{

    color:var(--gray);

    line-height:1.8;

}

.portfolio-card:hover{

    transform:translateY(-12px);

    border-color:#2F80FF;

    box-shadow:0 25px 60px rgba(0,0,0,.45);

}

.portfolio-card:hover img{

    transform:scale(1.08);

}

/* Overlay */

.portfolio-card::after{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:280px;

    background:linear-gradient(

        to top,

        rgba(8,17,31,.20),

        rgba(47,128,255,.08)

    );

    pointer-events:none;

}

/*=========================================================
    TECNOLOGIAS
=========================================================*/

#tecnologias{

    background:#0D1728;

    position:relative;

}

#tecnologias::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    right:-220px;

    top:-180px;

    border-radius:50%;

    background:rgba(108,99,255,.08);

    filter:blur(120px);

}

.tech-grid{

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:25px;

    margin-top:60px;

}

.tech{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:18px;

    padding:35px 20px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.06);

    border-radius:18px;

    transition:.35s;

    backdrop-filter:blur(12px);

}

.tech i{

    font-size:46px;

    color:#2F80FF;

    transition:.35s;

}

.tech span{

    font-size:16px;

    color:#D6E2F2;

    font-weight:500;

}

.tech:hover{

    transform:translateY(-10px);

    background:rgba(47,128,255,.10);

    border-color:#2F80FF;

    box-shadow:0 18px 45px rgba(0,0,0,.35);

}

.tech:hover i{

    transform:scale(1.15) rotate(-6deg);

    color:#49A6FF;

}

/*=========================================================
    ANIMAÇÃO DOS CARDS
=========================================================*/

.portfolio-card{

    animation:portfolioFade .8s ease both;

}

.portfolio-card:nth-child(2){

    animation-delay:.15s;

}

.portfolio-card:nth-child(3){

    animation-delay:.30s;

}

.portfolio-card:nth-child(4){

    animation-delay:.45s;

}

@keyframes portfolioFade{

    from{

        opacity:0;

        transform:translateY(45px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

/*=========================================================
    RESPONSIVO
=========================================================*/

@media(max-width:1200px){

    .tech-grid{

        grid-template-columns:repeat(4,1fr);

    }

}

@media(max-width:900px){

    .portfolio-grid{

        grid-template-columns:1fr;

    }

    .tech-grid{

        grid-template-columns:repeat(3,1fr);

    }

}

@media(max-width:700px){

    .tech-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:480px){

    .tech-grid{

        grid-template-columns:1fr;

    }

    .portfolio-info h3{

        font-size:22px;

    }

}
/* ==========================================================
   SOFTTECH
   STYLE.CSS
   PARTE 3B
   TIMELINE + CTA
==========================================================*/

/*=========================================================
    PROCESSO
=========================================================*/

#processo{

    position:relative;

    overflow:hidden;

    background:#08111f;

}

#processo::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    left:-300px;

    top:-280px;

    border-radius:50%;

    background:rgba(47,128,255,.06);

    filter:blur(160px);

}

.timeline{

    position:relative;

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:30px;

    margin-top:70px;

}

.timeline::before{

    content:"";

    position:absolute;

    left:10%;

    right:10%;

    top:45px;

    height:3px;

    background:linear-gradient(
        90deg,
        #2F80FF,
        #6C63FF
    );

    z-index:0;

}

.step{

    position:relative;

    z-index:2;

    text-align:center;

}

.numero{

    width:90px;

    height:90px;

    margin:auto;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    font-weight:700;

    color:#FFF;

    background:linear-gradient(
        135deg,
        #2F80FF,
        #6C63FF
    );

    border:6px solid #08111f;

    box-shadow:0 20px 40px rgba(47,128,255,.35);

    transition:.35s;

}

.step:hover .numero{

    transform:scale(1.08) rotate(-8deg);

}

.step h3{

    margin-top:30px;

    margin-bottom:15px;

    font-size:22px;

}

.step p{

    color:var(--gray);

    line-height:1.8;

    font-size:15px;

}

/*=========================================================
    CTA
=========================================================*/

.cta{

    position:relative;

    overflow:hidden;

    text-align:center;

    padding:120px 0;

    background:linear-gradient(
        135deg,
        #2F80FF,
        #6C63FF
    );

}

.cta::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    top:-150px;

    left:-150px;

    filter:blur(90px);

}

.cta::after{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    border-radius:50%;

    background:rgba(255,255,255,.10);

    right:-150px;

    bottom:-150px;

    filter:blur(90px);

}

.cta .container{

    position:relative;

    z-index:5;

}

.cta h2{

    font-size:48px;

    margin-bottom:25px;

    color:#FFF;

}

.cta p{

    max-width:700px;

    margin:auto;

    font-size:20px;

    color:rgba(255,255,255,.92);

    margin-bottom:45px;

}

.cta .btn-primary{

    background:#FFF;

    color:#2F80FF;

    box-shadow:0 20px 45px rgba(0,0,0,.25);

}

.cta .btn-primary:hover{

    transform:translateY(-6px);

    background:#F2F7FF;

}

/*=========================================================
    ANIMAÇÕES
=========================================================*/

.step{

    animation:stepFade .8s ease both;

}

.step:nth-child(2){

    animation-delay:.12s;

}

.step:nth-child(3){

    animation-delay:.24s;

}

.step:nth-child(4){

    animation-delay:.36s;

}

.step:nth-child(5){

    animation-delay:.48s;

}

@keyframes stepFade{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

.cta{

    animation:ctaFade 1s ease;

}

@keyframes ctaFade{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

/*=========================================================
    RESPONSIVO
=========================================================*/

@media(max-width:1100px){

    .timeline{

        grid-template-columns:repeat(3,1fr);

    }

    .timeline::before{

        display:none;

    }

}

@media(max-width:768px){

    .timeline{

        grid-template-columns:1fr;

        gap:50px;

    }

    .cta h2{

        font-size:34px;

    }

    .cta p{

        font-size:18px;

    }

}

@media(max-width:480px){

    .numero{

        width:75px;

        height:75px;

        font-size:28px;

    }

    .step h3{

        font-size:20px;

    }

}

/*=========================================================
    ATE AQUI LEGAL
=========================================================*/


/* ==========================================================
   SOFTTECH
   STYLE.CSS
   PARTE 4A.1
   DEPOIMENTOS
==========================================================*/

#depoimentos{

    position:relative;

    overflow:hidden;

    background:#0D1728;

}

#depoimentos::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    border-radius:50%;

    right:-260px;

    top:-260px;

    background:rgba(47,128,255,.07);

    filter:blur(150px);

}

.depoimentos-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

    position:relative;

    z-index:2;

}

/*=========================================================
    CARD
=========================================================*/

.depoimento{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    padding:35px;

    backdrop-filter:blur(15px);

    transition:.35s;

    box-shadow:0 15px 40px rgba(0,0,0,.25);

}

.depoimento:hover{

    transform:translateY(-12px);

    border-color:#2F80FF;

    box-shadow:0 30px 60px rgba(0,0,0,.45);

}

/*=========================================================
    ESTRELAS
=========================================================*/

.estrelas{

    display:flex;

    gap:6px;

    margin-bottom:22px;

}

.estrelas i{

    color:#FFC93C;

    font-size:18px;

}

/*=========================================================
    TEXTO
=========================================================*/

.depoimento p{

    color:var(--gray);

    font-size:16px;

    line-height:1.9;

    margin-bottom:30px;

    min-height:140px;

    font-style:italic;

}

/*=========================================================
    CLIENTE
=========================================================*/

.cliente{

    display:flex;

    align-items:center;

    gap:18px;

}

.cliente img{

    width:70px;

    height:70px;

    border-radius:50%;

    object-fit:cover;

    border:3px solid #2F80FF;

}

.cliente h4{

    font-size:18px;

    margin-bottom:5px;

}

.cliente span{

    color:var(--gray);

    font-size:14px;

}

/*=========================================================
    ANIMAÇÕES
=========================================================*/

.depoimento{

    animation:depoimentoFade .8s ease both;

}

.depoimento:nth-child(2){

    animation-delay:.18s;

}

.depoimento:nth-child(3){

    animation-delay:.36s;

}

@keyframes depoimentoFade{

    from{

        opacity:0;

        transform:translateY(45px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

/*=========================================================
    HOVER NOS AVATARES
=========================================================*/

.cliente img{

    transition:.35s;

}

.depoimento:hover .cliente img{

    transform:scale(1.08);

}

/*=========================================================
    RESPONSIVO
=========================================================*/

@media(max-width:1000px){

    .depoimentos-grid{

        grid-template-columns:1fr;

    }

    .depoimento p{

        min-height:auto;

    }

}
/* ==========================================================
   SOFTTECH
   STYLE.CSS
   PARTE 4A.2
   FAQ
==========================================================*/

/*=========================================================
    FAQ
=========================================================*/

#faq{

    position:relative;

    overflow:hidden;

    background:#08111f;

}

#faq::before{

    content:"";

    position:absolute;

    width:550px;

    height:550px;

    border-radius:50%;

    left:-220px;

    bottom:-220px;

    background:rgba(108,99,255,.08);

    filter:blur(140px);

}

.faq{

    max-width:900px;

    margin:60px auto 0;

    position:relative;

    z-index:2;

}

/*=========================================================
    DETAILS
=========================================================*/

.faq details{

    margin-bottom:22px;

    border-radius:18px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    overflow:hidden;

    transition:.35s;

    backdrop-filter:blur(14px);

}

.faq details:hover{

    border-color:#2F80FF;

    transform:translateY(-3px);

    box-shadow:0 20px 40px rgba(0,0,0,.30);

}

.faq details[open]{

    border-color:#2F80FF;

    background:rgba(47,128,255,.08);

}

/*=========================================================
    SUMMARY
=========================================================*/

.faq summary{

    position:relative;

    cursor:pointer;

    padding:24px 70px 24px 28px;

    font-size:18px;

    font-weight:600;

    color:#FFF;

    user-select:none;

    list-style:none;

}

.faq summary::-webkit-details-marker{

    display:none;

}

/*=========================================================
    ÍCONE +
=========================================================*/

.faq summary::after{

    content:"+";

    position:absolute;

    right:28px;

    top:50%;

    transform:translateY(-50%);

    width:34px;

    height:34px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(135deg,#2F80FF,#6C63FF);

    color:#FFF;

    font-size:22px;

    font-weight:700;

    transition:.35s;

}

.faq details[open] summary::after{

    content:"−";

    transform:translateY(-50%) rotate(180deg);

}

/*=========================================================
    TEXTO
=========================================================*/

.faq details p{

    padding:0 28px 28px 28px;

    color:var(--gray);

    line-height:1.9;

    font-size:16px;

}

/*=========================================================
    ANIMAÇÃO
=========================================================*/

.faq details{

    animation:faqFade .8s ease both;

}

.faq details:nth-child(2){

    animation-delay:.10s;

}

.faq details:nth-child(3){

    animation-delay:.20s;

}

.faq details:nth-child(4){

    animation-delay:.30s;

}

@keyframes faqFade{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

/*=========================================================
    RESPONSIVO
=========================================================*/

@media(max-width:768px){

    .faq{

        margin-top:40px;

    }

    .faq summary{

        font-size:16px;

        padding:22px 60px 22px 22px;

    }

    .faq details p{

        padding:0 22px 22px 22px;

        font-size:15px;

    }

}

@media(max-width:480px){

    .faq summary{

        font-size:15px;

    }

    .faq summary::after{

        width:30px;

        height:30px;

        font-size:18px;

        right:18px;

    }

}
/* ==========================================================
   SOFTTECH
   STYLE.CSS
   PARTE 4B.1
   CONTATO
==========================================================*/

/*=========================================================
    CONTATO
=========================================================*/

#contato{

    position:relative;

    overflow:hidden;

    background:#0B1422;

}

#contato::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    border-radius:50%;

    top:-250px;

    right:-250px;

    background:rgba(47,128,255,.08);

    filter:blur(160px);

}

#contato::after{

    content:"";

    position:absolute;

    width:550px;

    height:550px;

    border-radius:50%;

    bottom:-220px;

    left:-220px;

    background:rgba(108,99,255,.08);

    filter:blur(150px);

}

.contato{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:start;

    position:relative;

    z-index:2;

}

/*=========================================================
    TEXTO
=========================================================*/

.contato-info h2{

    font-size:46px;

    margin:22px 0;

    line-height:1.2;

}

.contato-info p{

    color:var(--gray);

    line-height:1.9;

    margin-bottom:40px;

}

/*=========================================================
    ITENS
=========================================================*/

.contato-info .item{

    display:flex;

    align-items:center;

    gap:18px;

    padding:18px 22px;

    margin-bottom:18px;

    border-radius:16px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.contato-info .item:hover{

    transform:translateX(8px);

    border-color:#2F80FF;

    background:rgba(47,128,255,.08);

}

.contato-info .item i{

    width:55px;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:linear-gradient(135deg,#2F80FF,#6C63FF);

    color:#FFF;

    font-size:20px;

    flex-shrink:0;

}

.contato-info .item span{

    color:#E6EEF8;

    font-size:17px;

}

/*=========================================================
    FORMULÁRIO
=========================================================*/

.contato-form{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:24px;

    padding:40px;

    backdrop-filter:blur(16px);

    box-shadow:0 20px 50px rgba(0,0,0,.30);

}

.contato-form form{

    display:flex;

    flex-direction:column;

    gap:20px;

}

/*=========================================================
    INPUTS
=========================================================*/

.contato-form input,

.contato-form textarea{

    width:100%;

    padding:18px 22px;

    border-radius:14px;

    border:1px solid rgba(255,255,255,.08);

    background:rgba(255,255,255,.05);

    color:#FFF;

    font-size:16px;

    outline:none;

    transition:.30s;

    resize:none;

    font-family:'Poppins',sans-serif;

}

.contato-form input::placeholder,

.contato-form textarea::placeholder{

    color:#9CA9BC;

}

.contato-form input:focus,

.contato-form textarea:focus{

    border-color:#2F80FF;

    background:rgba(47,128,255,.08);

    box-shadow:0 0 0 4px rgba(47,128,255,.15);

}

/*=========================================================
    BOTÃO
=========================================================*/

.contato-form button{

    margin-top:10px;

    width:100%;

    justify-content:center;

    font-size:17px;

}

/*=========================================================
    ANIMAÇÃO
=========================================================*/

.contato-info{

    animation:contatoLeft .8s ease both;

}

.contato-form{

    animation:contatoRight .8s ease both;

}

@keyframes contatoLeft{

    from{

        opacity:0;

        transform:translateX(-50px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

@keyframes contatoRight{

    from{

        opacity:0;

        transform:translateX(50px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

/*=========================================================
    RESPONSIVO
=========================================================*/

@media(max-width:960px){

    .contato{

        grid-template-columns:1fr;

        gap:50px;

    }

}

@media(max-width:768px){

    .contato-info h2{

        font-size:34px;

    }

    .contato-form{

        padding:30px;

    }

}

@media(max-width:480px){

    .contato-form{

        padding:24px;

    }

    .contato-info .item{

        padding:15px;

    }

    .contato-info .item i{

        width:48px;

        height:48px;

        font-size:18px;

    }

}
/* ==========================================================
   SOFTTECH
   STYLE.CSS
   PARTE 4B.2
   FOOTER + BOTÃO TOPO + AJUSTES FINAIS
==========================================================*/

/*=========================================================
    FOOTER
=========================================================*/

footer{

    position:relative;

    background:#060D18;

    border-top:1px solid rgba(255,255,255,.08);

    padding-top:70px;

}

.footer{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:45px;

    padding-bottom:50px;

}

.footer-logo h2{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:34px;

    margin-bottom:20px;

}

.footer-logo i{

    color:var(--primary);

}

.footer-logo p{

    color:var(--gray);

    line-height:1.9;

    max-width:380px;

}

.footer h3{

    margin-bottom:20px;

    font-size:20px;

}

.footer ul{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.footer ul li{

    color:var(--gray);

    transition:.30s;

}

.footer ul li:hover{

    color:#FFF;

    transform:translateX(6px);

}

.footer ul a{

    color:inherit;

}

/*=========================================================
    REDES SOCIAIS
=========================================================*/

.social{

    display:flex;

    gap:15px;

    margin-top:10px;

}

.social a{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

    color:#FFF;

}

.social a:hover{

    background:linear-gradient(135deg,#2F80FF,#6C63FF);

    transform:translateY(-6px);

    border-color:transparent;

}

/*=========================================================
    COPYRIGHT
=========================================================*/

.copyright{

    text-align:center;

    color:#94A3B8;

    border-top:1px solid rgba(255,255,255,.06);

    padding:22px;

    font-size:15px;

}

/*=========================================================
    BOTÃO TOPO
=========================================================*/

.topo{

    position:fixed;

    right:30px;

    bottom:30px;

    width:56px;

    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        #2F80FF,
        #6C63FF
    );

    color:#FFF;

    font-size:22px;

    box-shadow:0 15px 35px rgba(47,128,255,.35);

    transition:.35s;

    z-index:999;

}

.topo:hover{

    transform:translateY(-8px);

}

/*=========================================================
    INPUT AUTO COMPLETE
=========================================================*/

input:-webkit-autofill,

textarea:-webkit-autofill{

    -webkit-box-shadow:0 0 0 1000px rgba(20,30,45,1) inset;

    -webkit-text-fill-color:#FFF;

}

/*=========================================================
    LINKS
=========================================================*/

a{

    transition:.30s;

}

a:hover{

    color:#5DAEFF;

}

/*=========================================================
    IMAGENS
=========================================================*/

img{

    user-select:none;

    -webkit-user-drag:none;

}

/*=========================================================
    RESPONSIVO
=========================================================*/

@media(max-width:1100px){

    .footer{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .footer{

        grid-template-columns:1fr;

        text-align:center;

    }

    .footer-logo p{

        margin:auto;

    }

    .footer-logo h2{

        justify-content:center;

    }

    .footer ul{

        align-items:center;

    }

    .social{

        justify-content:center;

    }

    .topo{

        right:20px;

        bottom:20px;

        width:50px;

        height:50px;

    }

}

@media(max-width:480px){

    section{

        padding:80px 0;

    }

    .container{

        width:92%;

    }

}

/*=========================================================
    ANIMAÇÕES GLOBAIS
=========================================================*/

@keyframes fadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

@keyframes slideUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

.animate{

    animation:slideUp .8s ease both;

}

/*=========================================================
    FIM DO ARQUIVO
=========================================================*/

/* ==========================================================
   SOFTTECH
   STYLE.CSS
   PARTE 5A
   MENU MOBILE + UTILITÁRIOS
==========================================================*/

/*=========================================================
    HEADER AO ROLAR
=========================================================*/

header.scrolled{

    background:rgba(6,13,24,.96);

    backdrop-filter:blur(18px);

    box-shadow:0 12px 30px rgba(0,0,0,.25);

    border-bottom:1px solid rgba(255,255,255,.08);

}

/*=========================================================
    MENU MOBILE
=========================================================*/

.menu-mobile{

    display:none;

    width:48px;

    height:48px;

    border-radius:12px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    justify-content:center;

    align-items:center;

    cursor:pointer;

    transition:.35s;

}

.menu-mobile:hover{

    background:rgba(47,128,255,.15);

    border-color:#2F80FF;

}

.menu-mobile i{

    font-size:22px;

    color:#FFF;

}

/*=========================================================
    MENU RESPONSIVO
=========================================================*/

@media(max-width:960px){

    nav{

        position:fixed;

        top:90px;

        right:-100%;

        width:320px;

        height:calc(100vh - 90px);

        background:#08111f;

        border-left:1px solid rgba(255,255,255,.08);

        transition:.40s ease;

        padding:35px;

        overflow-y:auto;

        z-index:999;

    }

    nav.active{

        right:0;

    }

    nav ul{

        display:flex;

        flex-direction:column;

        gap:25px;

    }

    nav ul li{

        width:100%;

    }

    nav a{

        display:block;

        padding:15px;

        border-radius:12px;

        transition:.30s;

    }

    nav a:hover{

        background:rgba(47,128,255,.10);

    }

    .btn-menu{

        display:none;

    }

    .menu-mobile{

        display:flex;

    }

}

/*=========================================================
    OVERLAY MENU
=========================================================*/

.menu-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:998;

}

.menu-overlay.active{

    opacity:1;

    visibility:visible;

}

/*=========================================================
    BOTÃO VOLTAR AO TOPO
=========================================================*/

.topo{

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:.35s;

}

.topo.show{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

}

/*=========================================================
    CLASSES UTILITÁRIAS
=========================================================*/

.text-center{

    text-align:center;

}

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}
.mt-5{margin-top:50px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}
.mb-5{margin-bottom:50px;}

.pt-1{padding-top:10px;}
.pt-2{padding-top:20px;}
.pt-3{padding-top:30px;}
.pt-4{padding-top:40px;}
.pt-5{padding-top:50px;}

.pb-1{padding-bottom:10px;}
.pb-2{padding-bottom:20px;}
.pb-3{padding-bottom:30px;}
.pb-4{padding-bottom:40px;}
.pb-5{padding-bottom:50px;}

/*=========================================================
    EFEITOS AUXILIARES
=========================================================*/

.shadow{

    box-shadow:0 20px 45px rgba(0,0,0,.25);

}

.radius{

    border-radius:20px;

}

.blur{

    backdrop-filter:blur(18px);

}

.border{

    border:1px solid rgba(255,255,255,.08);

}

/*=========================================================
    ANIMAÇÃO SUAVE
=========================================================*/

.fade{

    opacity:0;

    transform:translateY(25px);

    transition:.7s ease;

}

.fade.visible{

    opacity:1;

    transform:none;

}

/* ==========================
   BOTÃO WHATSAPP
========================== */
.btn-whatsapp{

    display:flex;
    align-items:center;
    justify-content:center;

    width:100%;

    gap:12px;

    padding:18px;

    margin-top:15px;

    background:#25D366;

    color:#FFF;

    border-radius:12px;

    text-decoration:none;

    font-size:18px;

    font-weight:600;

    transition:.3s;

}

.btn-whatsapp:hover{

    background:#1EBE5D;

    transform:translateY(-3px);

}

.btn-whatsapp i{

    font-size:26px;

}