/*=========================================================
=
= 01 - IMPORTAÇÃO DA FONTE
=
=========================================================*/

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;600;700;800&display=swap');


/*=========================================================
=
= 02 - RESET
=
=========================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

    overflow-x:hidden;

    max-width:100%;

}

body{

    overflow-x:hidden;

    max-width:100%;

}

img{

    display:block;

    max-width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

button,
input,
textarea,
select{

    font:inherit;

    border:none;

    outline:none;

    background:none;

}

ul{

    list-style:none;

}


/*=========================================================
=
= 03 - VARIÁVEIS
=
=========================================================*/

:root{

    /*=========================================
    = CORES PRINCIPAIS
    =========================================*/

    --primary:#4E7A97;
    --primary-dark:#2F4F67;
    --primary-light:#8FB3C9;

    /*=========================================
    = BACKGROUND
    =========================================*/

    --background:#0F1720;
    --background-secondary:#13212D;

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

    /*=========================================
    = TEXTOS
    =========================================*/

    --white:#F5F7FA;

    --text:#E8EEF3;

    --text-secondary:#A9B7C3;

    /*=========================================
    = BORDAS
    =========================================*/

    --border:rgba(255,255,255,.08);

    /*=========================================
    = GRADIENTES
    =========================================*/

    --gradient-primary:
    linear-gradient(
    135deg,
    #4E7A97,
    #8FB3C9);

    --gradient-dark:
    linear-gradient(
    135deg,
    #2F4F67,
    #4E7A97);

    --gradient-card:
    linear-gradient(
    180deg,
    rgba(255,255,255,.05),
    rgba(255,255,255,.02));

    /*=========================================
    = SOMBRAS
    =========================================*/

    --shadow-sm:
    0 10px 30px rgba(0,0,0,.18);

    --shadow-md:
    0 20px 50px rgba(0,0,0,.25);

    --shadow-lg:
    0 35px 80px rgba(0,0,0,.35);

    /*=========================================
    = BORDER RADIUS
    =========================================*/

    --radius-sm:14px;

    --radius-md:22px;

    --radius-lg:32px;

    --radius-full:999px;

    /*=========================================
    = TRANSIÇÕES
    =========================================*/

    --transition:.35s ease;

}


/*=========================================================
=
= 04 - BODY
=
=========================================================*/

body{

    font-family:'Plus Jakarta Sans',sans-serif;

    background:var(--background);

    color:var(--text);

    line-height:1.7;

    position:relative;

    min-height:100vh;

}

/*=========================================================
=
= 05 - BACKGROUND GLOBAL
=
=========================================================*/

.background{

    position:fixed;

    inset:0;

    overflow:hidden;

    z-index:-999;

}

/*=========================================================
=
= GRID
=
=========================================================*/

.background-grid{

    position:absolute;

    inset:0;

    background-image:

    linear-gradient(
    rgba(255,255,255,.025) 1px,
    transparent 1px),

    linear-gradient(
    90deg,
    rgba(255,255,255,.025) 1px,
    transparent 1px);

    background-size:60px 60px;

}

/*=========================================================
=
= BLURS
=
=========================================================*/

.background-blur{

    position:absolute;

    border-radius:50%;

    filter:blur(180px);

}

.blur-1{

    width:700px;

    height:700px;

    background:#4E7A97;

    top:-280px;

    left:-180px;

    opacity:.18;

}

.blur-2{

    width:600px;

    height:600px;

    background:#8FB3C9;

    right:-220px;

    bottom:-260px;

    opacity:.12;

}


/*=========================================================
=
= GRID DE FUNDO
=
=========================================================*/

body{

    background-image:

    linear-gradient(
    rgba(255,255,255,.025) 1px,
    transparent 1px),

    linear-gradient(
    90deg,
    rgba(255,255,255,.025) 1px,
    transparent 1px);

    background-size:60px 60px;

}


/*=========================================================
=
= SELEÇÃO DE TEXTO
=
=========================================================*/

::selection{

    background:var(--primary);

    color:var(--white);

}


/*=========================================================
=
= SCROLLBAR
=
=========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:var(--background);

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:999px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--primary-light);

}


/*=========================================================
=
= ANIMAÇÃO DAS LUZES
=
=========================================================*/

.background-blur{

    animation:floatBlur 20s ease-in-out infinite;

    will-change:transform;

}

.blur-2{

    animation-delay:10s;

}

@keyframes floatBlur{

    0%{

        transform:
        translate(0px,0px)
        scale(1);

    }

    25%{

        transform:
        translate(20px,-15px)
        scale(1.04);

    }

    50%{

        transform:
        translate(-15px,20px)
        scale(.98);

    }

    75%{

        transform:
        translate(10px,-10px)
        scale(1.03);

    }

    100%{

        transform:
        translate(0px,0px)
        scale(1);

    }

}


/*=========================================================
=
= BACKGROUND NOISE
=
=========================================================*/

.background-noise{

    position:absolute;

    inset:0;

    opacity:.025;

    background-image:
    radial-gradient(circle, rgba(255,255,255,.45) 1px, transparent 1px);

    background-size:22px 22px;

}


/*=========================================================
=
= BACKGROUND PARTICLES
=
=========================================================*/

.background-particles{

    position:absolute;

    inset:0;

    pointer-events:none;

}


/*=========================================================
=
= 06 - COMPONENTES GLOBAIS
=
=========================================================*/

.container{

    width:min(92%,1280px);

    margin:auto;

}

section{

    position:relative;

    padding:120px 0;

}

.section-header{

    max-width:700px;

    margin:0 auto 70px;

    text-align:center;

}

.section-tag{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 22px;

    border-radius:999px;

    background:rgba(78,122,151,.12);

    border:1px solid rgba(143,179,201,.20);

    color:var(--primary-light);

    font-size:.9rem;

    font-weight:600;

    margin-bottom:20px;

}

.section-title{

    font-size:clamp(2.5rem,5vw,4.5rem);

    font-weight:800;

    line-height:1.15;

    color:var(--white);

    margin-bottom:20px;

}

.section-title span{

    color:var(--primary-light);

}

.section-description{

    color:var(--text-secondary);

    font-size:1.05rem;

    line-height:1.9;

}


/*=========================================================
=
= TIPOGRAFIA
=
=========================================================*/

h1,h2,h3,h4{

    font-weight:700;

    letter-spacing:-1px;

}

p{

    color:var(--text-secondary);

}

strong{

    color:var(--white);

}


/*=========================================================
=
= ESPAÇAMENTOS
=
=========================================================*/

.mb-1{

    margin-bottom:10px;

}

.mb-2{

    margin-bottom:20px;

}

.mb-3{

    margin-bottom:30px;

}

.mb-4{

    margin-bottom:40px;

}

.mb-5{

    margin-bottom:60px;

}


/*=========================================================
=
= 07 - BOTÕES
=
=========================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:18px 36px;

    border-radius:var(--radius-full);

    font-weight:600;

    cursor:pointer;

    transition:var(--transition);

    position:relative;

    overflow:hidden;

    white-space:nowrap;

}

/*=========================================
= BOTÃO PRINCIPAL
=========================================*/

.btn-primary{

    background:var(--gradient-primary);

    color:var(--white);

    background-size:200%;

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

}

.btn-primary:hover{

    background-position:right center;

    transform:translateY(-4px);

    box-shadow:
    0 25px 60px rgba(78,122,151,.35);

}

/*=========================================
= BOTÃO SECUNDÁRIO
=========================================*/

.btn-secondary{

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

    border:1px solid var(--border);

    color:var(--white);

    backdrop-filter:blur(20px);

}

.btn-secondary:hover{

    border-color:var(--primary-light);

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

    transform:translateY(-4px);

}

/*=========================================
= BOTÃO OUTLINE
=========================================*/

.btn-outline{

    border:1px solid var(--primary);

    color:var(--primary-light);

}

.btn-outline:hover{

    background:rgba(78,122,151,.12);

}


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

.card{

    background:var(--gradient-card);

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    backdrop-filter:blur(20px);

    transition:var(--transition);

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

}

.card:hover{

    transform:translateY(-8px);

    border-color:rgba(143,179,201,.25);

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

}


/*=========================================================
=
= BADGES
=
=========================================================*/

.badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 22px;

    border-radius:999px;

    background:rgba(78,122,151,.10);

    border:1px solid rgba(143,179,201,.20);

    color:var(--primary-light);

    font-size:.92rem;

    font-weight:600;

}


/*=========================================================
=
= GRID
=
=========================================================*/

.grid{

    display:grid;

}

.grid-2{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

}

.grid-3{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.grid-4{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}


/*=========================================================
=
= FLEX
=
=========================================================*/

.flex{

    display:flex;

}

.flex-center{

    display:flex;

    align-items:center;

    justify-content:center;

}

.flex-between{

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.flex-column{

    display:flex;

    flex-direction:column;

}


/*=========================================================
=
= GLASS
=
=========================================================*/

.glass{

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

    border:1px solid var(--border);

    backdrop-filter:blur(20px);

}


/*=========================================================
=
= HOVER
=
=========================================================*/

.hover{

    transition:var(--transition);

}

.hover:hover{

    transform:translateY(-6px);

}



/*=========================================================
=
= UTILITÁRIOS
=
=========================================================*/

.text-center{

    text-align:center;

}

.w-100{

    width:100%;

}

.hidden{

    display:none;

}

.radius{

    border-radius:var(--radius-lg);

}

.shadow{

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

}


/*=========================================================
=
= 08 - HEADER
=
=========================================================*/

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:1000;

    transition:.4s;

}

header.scrolled{

    background:rgba(15,23,32,.72);

    backdrop-filter:blur(22px);

    border-bottom:1px solid rgba(255,255,255,.06);

}


/*=========================================================
=
= NAVBAR
=
=========================================================*/

.navbar{

    height:90px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}


/*=========================================================
=
= LOGO
=
=========================================================*/

.logo{

    font-size:1.7rem;

    font-weight:800;

    color:var(--white);

    letter-spacing:-1px;

    transition:var(--transition);

}

.logo:hover{

    color:var(--primary-light);

}


/*=========================================================
=
= MENU
=
=========================================================*/

.nav-menu{

    display:flex;

    align-items:center;

    gap:40px;

}

.nav-menu a{

    position:relative;

    color:var(--text);

    font-weight:500;

    transition:var(--transition);

}


/* Linha inferior */

.nav-menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--primary-light);

    border-radius:999px;

    transition:.35s;

}

.nav-menu a:hover{

    color:var(--primary-light);

}

.nav-menu a:hover::after{

    width:100%;

}



/*=========================================================
=
= 09 - HERO
=
=========================================================*/

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:120px;

}

.hero-content{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:80px;

}


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

.hero-left{

    max-width:620px;

}

.hero-left h1{

    font-size:clamp(3rem,5vw,5rem);

    line-height:1.1;

    margin:25px 0;

    color:var(--white);

}

.hero-left h1 span{

    background:var(--gradient-primary);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

}

.hero-left p{

    font-size:1.08rem;

    line-height:1.9;

    margin-bottom:40px;

}


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

.hero-buttons{

    display:flex;

    gap:18px;

    margin-bottom:35px;

}


/*=========================================================
=
= BENEFÍCIOS
=
=========================================================*/

.hero-features{

    display:flex;

    flex-wrap:wrap;

    gap:25px;

    color:var(--text-secondary);

    font-size:.95rem;

}

.hero-features div{

    display:flex;

    align-items:center;

    gap:8px;

}


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

.hero-right{

    position:relative;

    height:650px;

}


/*=========================================================
=
= MOCKUPS
=
=========================================================*/

.hero-mockup{

    position:absolute;

    background:var(--gradient-card);

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    backdrop-filter:blur(20px);

    overflow:hidden;

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

    transition:.45s;

}

.hero-mockup:hover{

    transform:translateY(-10px);

}


/*=========================================================
=
= MOCKUP PRINCIPAL
=
=========================================================*/

.mockup-main{

    width:500px;

    height:320px;

    top:90px;

    left:40px;

    z-index:3;

}


/*=========================================================
=
= MOCKUPS MENORES
=
=========================================================*/

.mockup-small{

    width:270px;

    height:170px;

}

.mockup-small.top{

    top:0;

    right:0;

    z-index:2;

}

.mockup-small.bottom{

    bottom:40px;

    right:40px;

}


/*=========================================================
=
= BROWSER
=
=========================================================*/

.browser{

    height:50px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 18px;

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

    border-bottom:1px solid rgba(255,255,255,.05);

}

.browser-left{

    display:flex;

    gap:8px;

    flex-shrink:0;

}

.browser-address{

    flex:1;

    min-width:0;

    overflow:hidden;

    white-space:nowrap;

    text-overflow:ellipsis;

    text-align:center;

    font-size:.78rem;

    color:var(--text-secondary);

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

    padding:6px 18px;

    border-radius:999px;

}

.browser span{

    width:12px;

    height:12px;

    border-radius:50%;

}

.browser span:nth-child(1){

    background:#ff5f57;

}

.browser span:nth-child(2){

    background:#febc2e;

}

.browser span:nth-child(3){

    background:#28c840;

}


/*=========================================================
=
= CONTEÚDO MOCKUP
=
=========================================================*/

.mockup-content{

    padding:30px;

}

.mockup-content h3{

    color:var(--white);

    margin-bottom:10px;

}

.mockup-content p{

    font-size:.9rem;

}

.mockup-image{

    width:100%;

    height:calc(100% - 50px);

    overflow:hidden;

}

.mockup-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.hero-mockup:hover img{

    transform:scale(1.03);

}


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

.hero{

    position:relative;

}

.hero-scroll{

    position:absolute;

    left:50%;

    bottom:40px;

    transform:translateX(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:12px;

    color:var(--text-secondary);

    font-size:.85rem;

    animation:fadeScroll 2s infinite;

}

.scroll-mouse{

    width:28px;

    height:48px;

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

    border-radius:999px;

    display:flex;

    justify-content:center;

    padding-top:8px;

}

.scroll-wheel{

    width:4px;

    height:10px;

    border-radius:999px;

    background:var(--primary-light);

    animation:wheelMove 1.8s infinite;

}


/*=========================================================
=
= FLOAT
=
=========================================================*/

.mockup-main{

    animation:floatMain 7s ease-in-out infinite;

}

.mockup-small.top{

    animation:floatTop 9s ease-in-out infinite;

}

.mockup-small.bottom{

    animation:floatBottom 8s ease-in-out infinite;

}


@keyframes floatMain{

    0%,100%{

        transform:
        rotate(-4deg)
        translateY(0);

    }

    50%{

        transform:
        rotate(-2deg)
        translateY(-12px);

    }

}

@keyframes floatTop{

    0%,100%{

        transform:
        rotate(5deg)
        translateY(0);

    }

    50%{

        transform:
        rotate(2deg)
        translateY(-8px);

    }

}

@keyframes floatBottom{

    0%,100%{

        transform:
        rotate(-6deg)
        translateY(0);

    }

    50%{

        transform:
        rotate(-3deg)
        translateY(-10px);

    }

}


.hero-mockup:hover{

    transform:
    rotate(0deg)
    translateY(-18px)
    scale(1.02);

}


@keyframes wheelMove{

    0%{

        transform:translateY(0);

        opacity:1;

    }

    100%{

        transform:translateY(12px);

        opacity:0;

    }

}

@keyframes fadeScroll{

    0%,100%{

        opacity:.6;

    }

    50%{

        opacity:1;

    }

}


/*=========================================================
=
= 10 - COMO PODEMOS AJUDAR O SEU NEGÓCIO
=
=========================================================*/

.segments{

    position:relative;

    padding:140px 0;

}


/*=========================================================
=
= CABEÇALHO DA SEÇÃO
=
=========================================================*/

.section-header{

    max-width:760px;

    margin:0 auto 80px;

    text-align:center;

}

.section-tag{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 20px;

    border-radius:999px;

    background:rgba(112,164,189,.12);

    border:1px solid rgba(112,164,189,.25);

    color:var(--primary-light);

    font-size:.85rem;

    font-weight:600;

    letter-spacing:.5px;

    margin-bottom:22px;

}

.section-title{

    font-size:clamp(2.4rem,4vw,3.6rem);

    line-height:1.15;

    color:var(--white);

    margin-bottom:22px;

}

.section-title span{

    background:var(--gradient-primary);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

}

.section-description{

    font-size:1.05rem;

    line-height:1.9;

    color:var(--text-secondary);

}

/*=========================================================
=
= GRID
=
=========================================================*/

.segments-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}


/*=========================================================
=
= PAINÉIS
=
=========================================================*/

.segment-card{

    position:relative;

    overflow:hidden;

    padding:38px;

    border-radius:30px;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.05),
        rgba(255,255,255,.025)
    );

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

    backdrop-filter:blur(18px);

    transition:.45s cubic-bezier(.2,.8,.2,1);

    box-shadow:
        0 10px 35px rgba(0,0,0,.18);

}

.segment-card:hover{

    transform:translateY(-10px);

    border-color:rgba(112,164,189,.35);

    box-shadow:
        0 25px 60px rgba(112,164,189,.18);

}

/*=========================================================
=
= LINHA SUPERIOR
=
=========================================================*/

.segment-line{

    position:absolute;

    top:0;

    left:0;

    width:0;

    height:4px;

    border-radius:999px;

    background:var(--gradient-primary);

    transition:.5s;

}

.segment-card:hover .segment-line{

    width:100%;

}


/*=========================================================
=
= ÍCONES
=
=========================================================*/

.segment-icon{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:22px;

    margin-bottom:28px;

    background:rgba(112,164,189,.12);

    border:1px solid rgba(112,164,189,.2);

    transition:.45s;

}

.segment-icon svg{

    width:34px;

    height:34px;

    color:var(--primary-light);

}

.segment-card:hover .segment-icon{

    transform:scale(1.08) rotate(-3deg);

    background:rgba(112,164,189,.18);

}


/*=========================================================
=
= TEXTO
=
=========================================================*/

.segment-card h3{

    font-size:1.45rem;

    color:var(--white);

    margin-bottom:14px;

}

.segment-card p{

    color:var(--text-secondary);

    line-height:1.8;

    margin-bottom:28px;

}


/*=========================================================
=
= LISTA
=
=========================================================*/

.segment-card ul{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.segment-card li{

    display:flex;

    align-items:center;

    gap:12px;

    color:var(--text);

}

.segment-card li::before{

    content:"";

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--primary-light);

    flex-shrink:0;

}


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

.segments-cta{

    margin-top:90px;

    padding:60px;

    border-radius:34px;

    text-align:center;

    background:linear-gradient(
        135deg,
        rgba(112,164,189,.10),
        rgba(255,255,255,.03)
    );

    border:1px solid rgba(112,164,189,.18);

}

.segments-cta h3{

    font-size:2rem;

    color:var(--white);

    margin-bottom:18px;

}

.segments-cta p{

    max-width:620px;

    margin:0 auto 34px;

    color:var(--text-secondary);

    line-height:1.8;

}


/*=========================================================
=
= 11 - PROJETOS
=
=========================================================*/

.projects{

    position: relative;
    padding: 180px 0;

}

.projects .container{

    display: flex;
    flex-direction: column;
    gap: 180px;

}


/*=========================================================
=
= CABEÇALHO DA SEÇÃO
=
=========================================================*/

.projects .section-header{

    max-width: 760px;
    margin: 0 auto;
    text-align: center;

}

.projects .section-number{

    display: inline-block;

    margin-bottom: 18px;

    font-size: .9rem;
    font-weight: 700;
    letter-spacing: 3px;

    color: rgba(112,164,189,.65);

}

.projects .section-tag{

    margin-bottom: 25px;

}

.projects .section-title{

    margin-bottom: 28px;

}

.projects .section-description{

    max-width: 650px;
    margin: 0 auto;

}


/*=========================================================
=
= CADA PROJETO
=
=========================================================*/

.project{

    display: grid;

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

    align-items: center;

    gap: 90px;

    position: relative;

}

.project.reverse{

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

}

.project.reverse .project-info{

    order: 2;

}

.project.reverse .project-preview{

    order: 1;

}


/*=========================================================
=
= TEXTO
=
=========================================================*/

.project-info{

    display: flex;

    flex-direction: column;

    align-items: flex-start;

}

.project-badge{

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 10px 18px;

    margin-bottom: 26px;

    border-radius: 999px;

    background: rgba(112,164,189,.12);

    border: 1px solid rgba(112,164,189,.22);

    color: var(--primary-light);

    font-size: .82rem;

    font-weight: 600;

    letter-spacing: .5px;

}

.project-info h3{

    font-size: clamp(2.2rem,4vw,3.2rem);

    color: var(--white);

    line-height: 1.1;

    margin-bottom: 18px;

}


/*=========================================================
=
= STATUS
=
=========================================================*/

.project-status{

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 28px;

    color: var(--text-secondary);

    font-size: .92rem;

}

.status-dot{

    width: 10px;
    height: 10px;

    border-radius: 50%;

    background: #47d16c;

    box-shadow:

        0 0 15px rgba(71,209,108,.7);

}


/*=========================================================
=
= INTRODUÇÃO
=
=========================================================*/

.project-intro{

    margin-bottom: 38px;

    color: var(--text-secondary);

    font-size: 1.05rem;

    line-height: 1.9;

}


/*=========================================================
=
= DESAFIO / SOLUÇÃO / RESULTADO
=
=========================================================*/

.project-story{

    display: flex;

    flex-direction: column;

    gap: 30px;

}

.project-story h4{

    margin-bottom: 10px;

    font-size: 1.05rem;

    color: var(--white);

}

.project-story p{

    color: var(--text-secondary);

    line-height: 1.9;

}

/*=========================================================
=
= MOCKUP DO PROJETO
=
=========================================================*/

.project-preview{

    position: relative;

    display: flex;
    flex-direction: column;

    border-radius: 28px;

    overflow: visible;

}


/*=========================================================
=
= GLOW DE FUNDO
=
=========================================================*/

.project-preview::before{

    content:"";

    position:absolute;

    width:75%;
    height:75%;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    background:radial-gradient(
        circle,
        rgba(112,164,189,.22) 0%,
        rgba(112,164,189,.08) 45%,
        transparent 80%
    );

    filter:blur(70px);

    z-index:-2;

}


/*=========================================================
=
= JANELA DO NAVEGADOR
=
=========================================================*/

.browser{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:16px 22px;

    border-radius:22px 22px 0 0;

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

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

    border-bottom:none;

    backdrop-filter:blur(18px);

}


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

.browser-left{

    display:flex;

    gap:10px;

    flex-shrink:0;

}

.browser-left span{

    width:11px;
    height:11px;

    border-radius:50%;

}

.browser-left span:nth-child(1){

    background:#ff5f57;

}

.browser-left span:nth-child(2){

    background:#febc2e;

}

.browser-left span:nth-child(3){

    background:#28c840;

}


/*=========================================================
=
= ENDEREÇO
=
=========================================================*/

.browser-address{

    flex:1;

    min-width:0;

    margin-left:14px;

    overflow:hidden;

    white-space:nowrap;

    text-overflow:ellipsis;

    text-align:center;

    padding:8px 18px;

    border-radius:999px;

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

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

    color:var(--text-secondary);

    font-size:.82rem;

    letter-spacing:.4px;

}


/*=========================================================
=
= IMAGEM
=
=========================================================*/

.project-image{

    position:relative;

    overflow:hidden;

    border-left:1px solid rgba(255,255,255,.08);

    border-right:1px solid rgba(255,255,255,.08);

    border-bottom:1px solid rgba(255,255,255,.08);

    border-radius:0 0 22px 22px;

    background:#111922;

    box-shadow:

        0 30px 80px rgba(0,0,0,.35),

        0 0 40px rgba(112,164,189,.08);

}


/*=========================================================
=
= LINK CLICÁVEL DO MOCKUP (ABRE O SITE REAL)
=
=========================================================*/

.project-mockup-link{

    display:block;

    color:inherit;

    text-decoration:none;

    cursor:pointer;

}

.project-mockup-link .project-image img{

    transition:transform .6s cubic-bezier(.2,.8,.2,1), filter .6s;

}

.project-mockup-link:hover .project-image img{

    transform:scale(1.04);

    filter:brightness(.75);

}

.mockup-visit{

    position:absolute;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    background:rgba(10,15,20,.35);

    color:var(--white);

    font-weight:600;

    font-size:1rem;

    letter-spacing:.2px;

    opacity:0;

    transform:translateY(10px);

    transition:opacity .4s, transform .4s;

    pointer-events:none;
}

.mockup-visit i{

    width:20px;

    height:20px;

}

.project-mockup-link:hover .mockup-visit{

    opacity:1;

    transform:translateY(0);
}


/*=========================================================
=
= PRINT
=
=========================================================*/

.project-image img{

    width:100%;

    display:block;

    transition:

        transform .9s ease,

        filter .9s ease;

}


/*=========================================================
=
= HOVER
=
=========================================================*/

.project-preview:hover img{

    transform:scale(1.035);

    filter:brightness(1.05);

}

.project-preview{

    transition:transform .5s ease;

}

.project-preview:hover{

    transform:translateY(-8px);

}


/*=========================================================
=
= SOMBRA GERAL
=
=========================================================*/

.project-preview::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:22px;

    pointer-events:none;

    box-shadow:

        inset 0 1px 0 rgba(255,255,255,.05);

}


/*=========================================================
=
= FICHA TÉCNICA
=
=========================================================*/

.project-details{

    position:absolute;

    right:-70px;

    bottom:-45px;

    width:240px;

    padding:24px;

    border-radius:22px;

    background:rgba(17,25,34,.95);

    backdrop-filter:blur(18px);

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

    box-shadow:

        0 25px 60px rgba(0,0,0,.40);

    z-index:10;

}


/*=========================================================
=
= LADO ESQUERDO (PROJETO REVERSE)
=
=========================================================*/

.project.reverse .project-details{

    right:auto;

    left:-70px;

}


/*=========================================================
=
= ITENS
=
=========================================================*/

.project-details div{

    padding-bottom:18px;

    margin-bottom:18px;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.project-details div:last-child{

    margin-bottom:0;

    padding-bottom:0;

    border:none;

}

.project-details span{

    display:block;

    margin-bottom:8px;

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

    font-size:.72rem;

    font-weight:700;

    letter-spacing:1.6px;

}

.project-details strong{

    color:var(--white);

    font-size:.95rem;

    line-height:1.5;

}

/*=========================================================
=
= 12 - SERVIÇOS
=
=========================================================*/

.services{

    position:relative;

    padding:140px 0;

}


/*=========================================================
=
= GRID
=
=========================================================*/

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}


/*=========================================================
=
= CARD DE SERVIÇO
=
=========================================================*/

.service-card{

    position:relative;

    overflow:hidden;

    padding:38px;

    border-radius:30px;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.05),
        rgba(255,255,255,.025)
    );

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

    backdrop-filter:blur(18px);

    transition:.45s cubic-bezier(.2,.8,.2,1);

    box-shadow:
        0 10px 35px rgba(0,0,0,.18);

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:rgba(112,164,189,.35);

    box-shadow:
        0 25px 60px rgba(112,164,189,.18);

}


/*=========================================================
=
= LINHA SUPERIOR
=
=========================================================*/

.service-line{

    position:absolute;

    top:0;

    left:0;

    width:0;

    height:4px;

    border-radius:999px;

    background:var(--gradient-primary);

    transition:.5s;

}

.service-card:hover .service-line{

    width:100%;

}


/*=========================================================
=
= ÍCONE
=
=========================================================*/

.service-icon{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:22px;

    margin-bottom:28px;

    background:rgba(112,164,189,.12);

    border:1px solid rgba(112,164,189,.2);

    transition:.45s;

}

.service-icon svg{

    width:34px;

    height:34px;

    color:var(--primary-light);

}

.service-card:hover .service-icon{

    transform:scale(1.08) rotate(-3deg);

    background:rgba(112,164,189,.18);

}


/*=========================================================
=
= TEXTO
=
=========================================================*/

.service-card h3{

    font-size:1.45rem;

    color:var(--white);

    margin-bottom:14px;

}

.service-card p{

    color:var(--text-secondary);

    line-height:1.8;

    margin-bottom:28px;

}


/*=========================================================
=
= LISTA "O QUE INCLUI"
=
=========================================================*/

.service-card ul{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.service-card li{

    display:flex;

    align-items:center;

    gap:12px;

    color:var(--text);

}

.service-card li::before{

    content:"";

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--primary-light);

    flex-shrink:0;

}


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

.services-cta{

    margin-top:90px;

    padding:60px;

    border-radius:34px;

    text-align:center;

    background:linear-gradient(
        135deg,
        rgba(112,164,189,.10),
        rgba(255,255,255,.03)
    );

    border:1px solid rgba(112,164,189,.18);

}

.services-cta h3{

    font-size:2rem;

    color:var(--white);

    margin-bottom:18px;

}

.services-cta p{

    max-width:620px;

    margin:0 auto 34px;

    color:var(--text-secondary);

    line-height:1.8;

}


/*=========================================================
=
= 13 - PROCESSO DE DESENVOLVIMENTO
=
=========================================================*/

.process{

    position:relative;

    padding:140px 0;

}


/*=========================================================
=
= LINHA DO TEMPO
=
=========================================================*/

.process-steps{

    position:relative;

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:24px;

}

.process-steps::before{

    content:"";

    position:absolute;

    top:34px;

    left:0;

    right:0;

    height:2px;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(112,164,189,.35),
        rgba(112,164,189,.35),
        transparent
    );

    z-index:0;

}


/*=========================================================
=
= ETAPA
=
=========================================================*/

.process-step{

    position:relative;

    z-index:1;

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

}


/*=========================================================
=
= NÚMERO
=
=========================================================*/

.process-number{

    width:68px;

    height:68px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    margin-bottom:24px;

    background:var(--background);

    border:1px solid rgba(112,164,189,.35);

    box-shadow:
        0 0 0 6px var(--background),
        0 10px 25px rgba(0,0,0,.3);

    color:var(--primary-light);

    font-size:1.2rem;

    font-weight:800;

    transition:.4s;

}

.process-step:hover .process-number{

    background:var(--gradient-primary);

    color:var(--white);

    transform:scale(1.08);

}


/*=========================================================
=
= TEXTO
=
=========================================================*/

.process-step h3{

    font-size:1.1rem;

    color:var(--white);

    margin-bottom:10px;

}

.process-step p{

    font-size:.92rem;

    line-height:1.75;

    color:var(--text-secondary);

}


/*=========================================================
=
= 14 - SOBRE
=
=========================================================*/

.about{

    position:relative;

    padding:140px 0;

}

.about .section-header{

    margin-bottom:90px;

}


/*=========================================================
=
= CONTEÚDO (GRID)
=
=========================================================*/

.about-content{

    display:grid;

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

    align-items:start;

    gap:90px;

}


/*=========================================================
=
= TEXTO
=
=========================================================*/

.about-text p{

    margin-bottom:24px;

    font-size:1.05rem;

    line-height:1.9;

    color:var(--text-secondary);

}


/*=========================================================
=
= PILARES
=
=========================================================*/

.about-pillars{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:28px;

    margin-top:40px;

}

.about-pillar{

    display:flex;

    align-items:flex-start;

    gap:16px;

}

.about-pillar i{

    width:22px;

    height:22px;

    flex-shrink:0;

    margin-top:3px;

    color:var(--primary-light);

}

.about-pillar h4{

    font-size:1rem;

    color:var(--white);

    margin-bottom:6px;

}

.about-pillar p{

    font-size:.9rem;

    line-height:1.7;

    color:var(--text-secondary);

}


/*=========================================================
=
= VISUAL — JANELA DE CÓDIGO
=
=========================================================*/

.code-window{

    position:relative;

    border-radius:22px;

    overflow:hidden;

    background:#0c1319;

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

    box-shadow:
        0 30px 80px rgba(0,0,0,.35),
        0 0 40px rgba(112,164,189,.08);
}

.code-window .browser{

    border-radius:0;

}

.code-body{

    padding:30px 26px;

}

.code-body pre{

    margin:0;

    font-family:'Courier New',monospace;

    font-size:.92rem;

    line-height:1.9;

    color:var(--text-secondary);

    white-space:pre-wrap;

}

.code-key{

    color:var(--primary-light);

}

.code-var{

    color:var(--white);

}

.code-string{

    color:#e3b678;

}

.code-bool{

    color:#7fc9a3;

}


/*=========================================================
=
= 15 - FAQ
=
=========================================================*/

.faq{

    position:relative;

    padding:140px 0;

}


/*=========================================================
=
= LISTA
=
=========================================================*/

.faq-list{

    max-width:820px;

    margin:0 auto;

    display:flex;

    flex-direction:column;

    gap:16px;

}


/*=========================================================
=
= ITEM (ACCORDION)
=
=========================================================*/

.faq-item{

    border-radius:20px;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.05),
        rgba(255,255,255,.025)
    );

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

    overflow:hidden;

    transition:border-color .35s;

}

.faq-item[open]{

    border-color:rgba(112,164,189,.35);

}

.faq-item summary{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:26px 30px;

    cursor:pointer;

    list-style:none;

    color:var(--white);

    font-weight:600;

    font-size:1.02rem;

}

.faq-item summary::-webkit-details-marker{

    display:none;

}

.faq-item summary i{

    width:20px;

    height:20px;

    flex-shrink:0;

    color:var(--primary-light);

    transition:transform .35s;

}

.faq-item[open] summary i{

    transform:rotate(180deg);

}

.faq-item p{

    padding:0 30px 28px;

    color:var(--text-secondary);

    line-height:1.85;

}


/*=========================================================
=
= 16 - CONTATO
=
=========================================================*/

.contact{

    position:relative;

    padding:140px 0;
}


/*=========================================================
=
= PAINEL
=
=========================================================*/

.contact-panel{

    max-width:760px;

    margin:0 auto;

    padding:80px 60px;

    border-radius:40px;

    text-align:center;

    background:linear-gradient(
        135deg,
        rgba(112,164,189,.10),
        rgba(255,255,255,.03)
    );

    border:1px solid rgba(112,164,189,.18);
}

.contact-panel .section-tag,
.contact-panel .section-number{

    display:inline-flex;
}

.contact-panel .section-header,
.contact-panel .section-title,
.contact-panel .section-description{

    margin-bottom:0;
}

.contact-panel .section-title{

    margin:20px 0;
}

.contact-panel .section-description{

    max-width:520px;

    margin:0 auto;
}


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

.contact-buttons{

    display:flex;

    justify-content:center;

    gap:18px;

    margin-top:44px;

    flex-wrap:wrap;
}

.contact-buttons .btn i{

    width:19px;

    height:19px;
}


/*=========================================================
=
= INFO DIRETA
=
=========================================================*/

.contact-info{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:16px;

    margin-top:34px;

    color:var(--text-secondary);

    font-size:.95rem;
}

.contact-divider{

    width:4px;

    height:4px;

    border-radius:50%;

    background:var(--text-secondary);
}


/*=========================================================
=
= 17 - FOOTER
=
=========================================================*/

footer{

    position:relative;

    padding:90px 0 34px;

    border-top:1px solid rgba(255,255,255,.06);
}


/*=========================================================
=
= TOPO DO FOOTER
=
=========================================================*/

.footer-top{

    display:grid;

    grid-template-columns:1.3fr 1fr 1fr;

    gap:60px;

    padding-bottom:60px;
}


/*=========================================================
=
= MARCA
=
=========================================================*/

.footer-brand p{

    margin-top:18px;

    max-width:340px;

    color:var(--text-secondary);

    line-height:1.8;

    font-size:.95rem;
}


/*=========================================================
=
= LINKS E CONTATO
=
=========================================================*/

.footer-links h4,
.footer-contact h4{

    color:var(--white);

    font-size:1rem;

    margin-bottom:22px;
}

.footer-links ul{

    display:flex;

    flex-direction:column;

    gap:14px;
}

.footer-links a{

    color:var(--text-secondary);

    font-size:.95rem;

    transition:var(--transition);
}

.footer-links a:hover{

    color:var(--primary-light);
}

.footer-contact{

    display:flex;

    flex-direction:column;

    gap:16px;
}

.footer-contact a{

    display:flex;

    align-items:center;

    gap:10px;

    color:var(--text-secondary);

    font-size:.95rem;

    transition:var(--transition);
}

.footer-contact a i{

    width:18px;

    height:18px;

    color:var(--primary-light);
}

.footer-contact a:hover{

    color:var(--primary-light);
}


/*=========================================================
=
= BASE DO FOOTER
=
=========================================================*/

.footer-bottom{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding-top:30px;

    border-top:1px solid rgba(255,255,255,.06);

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

    font-size:.85rem;
}


/*==================================================
SEÇÃO — NÍVEIS DE PROJETO
==================================================*/

.plans {
    position: relative;
    padding: 140px 0;
    overflow: hidden;
}


/*==================================================
GRID DOS PLANOS
==================================================*/

.plans-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 70px;
    align-items: stretch;
}


/*==================================================
CARD
==================================================*/

.plan-card {
    position: relative;

    display: flex;
    flex-direction: column;

    padding: 34px;

    min-height: 650px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.055),
            rgba(255, 255, 255, 0.018)
        );

    border: 1px solid rgba(255, 255, 255, 0.09);

    border-radius: 24px;

    overflow: hidden;

    transition:
        transform 0.45s ease,
        border-color 0.45s ease,
        box-shadow 0.45s ease;
}


/*==================================================
EFEITO HOVER
==================================================*/

.plan-card:hover {

    transform: translateY(-10px);

    border-color: rgba(112, 164, 189, 0.45);

    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.25);
}


/*==================================================
BRILHO DO CARD
==================================================*/

.plan-card::before {

    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    top: -120px;
    right: -100px;

    background: rgba(112, 164, 189, 0.12);

    filter: blur(70px);

    border-radius: 50%;

    pointer-events: none;
}


/*==================================================
TOPO DO CARD
==================================================*/

.plan-top {

    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-bottom: 45px;
}


/*==================================================
NÚMERO
==================================================*/

.plan-number {

    font-size: 13px;

    color: rgba(255, 255, 255, 0.4);

    letter-spacing: 0.08em;
}


/*==================================================
BADGE
==================================================*/

.plan-badge {

    display: inline-flex;

    align-items: center;

    padding: 8px 14px;

    border-radius: 50px;

    font-size: 12px;

    color: rgba(255, 255, 255, 0.7);

    background: rgba(255, 255, 255, 0.045);

    border: 1px solid rgba(255, 255, 255, 0.08);
}


/*==================================================
CONTEÚDO
==================================================*/

.plan-content {
    flex: 1;
}


/*==================================================
TÍTULO
==================================================*/

.plan-content h3 {

    margin: 0 0 18px;

    font-size: 27px;

    line-height: 1.2;

    color: #ffffff;
}


/*==================================================
DESCRIÇÃO
==================================================*/

.plan-description {

    max-width: 390px;

    margin-bottom: 35px;

    color: rgba(255, 255, 255, 0.58);

    font-size: 15px;

    line-height: 1.75;
}


/*==================================================
PREÇO
==================================================*/

.plan-price {

    display: flex;

    flex-direction: column;

    gap: 5px;

    padding-bottom: 28px;

    margin-bottom: 28px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}


.plan-price span {

    font-size: 12px;

    color: rgba(255, 255, 255, 0.4);
}


.plan-price strong {

    font-size: 32px;

    line-height: 1;

    color: #ffffff;
}


/*==================================================
LISTA DE RECURSOS
==================================================*/

.plan-features {

    display: flex;

    flex-direction: column;

    gap: 14px;

    padding: 0;

    margin: 0;

    list-style: none;
}


.plan-features li {

    display: flex;

    align-items: center;

    gap: 10px;

    color: rgba(255, 255, 255, 0.68);

    font-size: 14px;
}


.plan-features i {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;

    border-radius: 50%;

    font-size: 12px;

    color: #ffffff;

    background: rgba(112, 164, 189, 0.18);
}


/*==================================================
BOTÃO
==================================================*/

.plan-button {

    display: flex;

    align-items: center;
    justify-content: space-between;

    width: 100%;

    padding: 16px 18px;

    margin-top: 35px;

    border-radius: 12px;

    color: #ffffff;

    background: rgba(255, 255, 255, 0.045);

    border: 1px solid rgba(255, 255, 255, 0.09);

    font-size: 14px;

    text-decoration: none;

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}


.plan-button i {

    font-size: 17px;

    transition: transform 0.3s ease;
}


.plan-button:hover {

    background: rgba(112, 164, 189, 0.15);

    border-color: rgba(112, 164, 189, 0.4);
}


.plan-button:hover i {

    transform: translate(3px, -3px);
}


/*==================================================
PLANO PROFISSIONAL — DESTAQUE
==================================================*/

.plan-professional {

    border-color: rgba(112, 164, 189, 0.35);

    background:
        linear-gradient(
            145deg,
            rgba(112, 164, 189, 0.10),
            rgba(255, 255, 255, 0.025)
        );
}


.plan-professional:hover {

    border-color: rgba(112, 164, 189, 0.65);

    box-shadow:
        0 30px 70px rgba(50, 100, 120, 0.18);
}


/*==================================================
ETIQUETA — MAIS ESCOLHIDO
==================================================*/

.plan-popular {

    position: absolute;

    top: 18px;
    right: 20px;

    padding: 6px 11px;

    border-radius: 50px;

    font-size: 10px;

    letter-spacing: 0.04em;

    color: #ffffff;

    background: rgba(112, 164, 189, 0.18);

    border: 1px solid rgba(112, 164, 189, 0.3);
}


/*==================================================
CORES DOS NÍVEIS
==================================================*/

.plan-basic .plan-badge {

    border-color: rgba(255, 255, 255, 0.1);
}


.plan-professional .plan-badge {

    color: rgba(190, 220, 230, 0.9);

    background: rgba(112, 164, 189, 0.12);

    border-color: rgba(112, 164, 189, 0.3);
}


.plan-complete .plan-badge {

    color: rgba(220, 220, 230, 0.85);
}


/*==================================================
RESPONSIVIDADE — TABLET
==================================================*/

@media (max-width: 1050px) {

    .plans-grid {

        grid-template-columns: 1fr;

        max-width: 650px;

        margin-left: auto;
        margin-right: auto;

    }

    .plan-card {

        min-height: auto;

    }

}


/*==================================================
RESPONSIVIDADE — MOBILE
==================================================*/

@media (max-width: 600px) {

    .plans {

        padding: 100px 0;

    }

    .plans-grid {

        gap: 18px;

        margin-top: 50px;

    }

    .plan-card {

        padding: 26px;

        border-radius: 20px;

    }

    .plan-top {

        margin-bottom: 35px;

    }

    .plan-content h3 {

        font-size: 24px;

    }

    .plan-description {

        font-size: 14px;

    }

    .plan-price strong {

        font-size: 28px;

    }

}