/* ==========================================================
   RESET
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f7fa;
    color:#1f2937;
    overflow-x:hidden;
}

.container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

.landing-page{
    width:100%;
}


/* ==========================================================
   NAVBAR
========================================================== */

.landing-header{

    position:fixed;

    top:0;
    left:0;
    right:0;

    z-index:9999;

    background:rgba(11,107,87,.95);

    backdrop-filter:blur(12px);

    box-shadow:0 2px 20px rgba(0,0,0,.15);

}

.landing-navbar{

    max-width:1200px;

    margin:0 auto;

    padding:18px 20px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.landing-logo{

    color:#fff;

    font-size:28px;

    font-weight:700;

}

.landing-menu{

    display:flex;

    gap:30px;

}

.landing-menu a{

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.landing-menu a:hover{

    color:#ffd54f;

}

.navbar-login{

    text-decoration:none;

    background:#fff;

    color:#0b6b57;

    padding:12px 22px;

    border-radius:10px;

    font-weight:bold;

    transition:.3s;

}

.navbar-login:hover{

    background:#f1f1f1;

}


/* ==========================================================
   HERO
========================================================== */

.hero{

    background:

        linear-gradient(

            rgba(11,107,87,.45),

            rgba(14,138,113,.45)

        ),

        url('../images/topo.png');

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    color:#fff;

    padding:140px 20px 100px;

    position:relative;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:

        radial-gradient(

            circle at top right,

            rgba(255,255,255,.12),

            transparent 40%

        );

    pointer-events:none;

}

.hero-content{

    position:relative;

    z-index:2;

    max-width:950px;

}

.hero-badge{

    display:inline-block;

    padding:10px 20px;

    border-radius:999px;

    background:rgba(255,255,255,.15);

    margin-bottom:25px;

    font-size:14px;

    font-weight:bold;

}

.hero h1{

    font-size:60px;

    line-height:1.15;

    margin-bottom:25px;

}

.hero p{

    font-size:22px;

    line-height:1.8;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

}

.btn-login,
.btn-contract{

    text-decoration:none;

    padding:16px 30px;

    border-radius:10px;

    font-weight:bold;

    transition:.3s;

}

.btn-login{

    background:#fff;

    color:#0b6b57;

}

.btn-contract{

    background:#ffc107;

    color:#222;

}

.btn-login:hover,
.btn-contract:hover{

    transform:translateY(-3px);

}


/* ==========================================================
   TITULOS GERAIS
========================================================== */

.section-title{

    text-align:center;

    font-size:42px;

    color:#0f766e;

    margin-bottom:15px;

}

.section-subtitle{

    text-align:center;

    color:#64748b;

    max-width:800px;

    margin:0 auto 60px;

    line-height:1.8;

}

.section-tag{

    display:inline-block;

    padding:8px 16px;

    border-radius:999px;

    background:#dcfce7;

    color:#0b6b57;

    font-weight:700;

    font-size:13px;

    margin-bottom:20px;

}

.section-header{

    text-align:center;

    margin-bottom:60px;

}


/* ==========================================================
   ESTATÍSTICAS
========================================================== */

.landing-stats{

    padding:80px 20px;

    background:#fff;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:25px;

}

.stat-card{

    background:#fff;

    border-radius:18px;

    padding:35px;

    text-align:center;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.3s;

}

.stat-card:hover{

    transform:translateY(-8px);

}

.stat-number{

    display:block;

    font-size:44px;

    font-weight:bold;

    color:#0f766e;

    margin-bottom:12px;

}

.stat-label{

    color:#64748b;

}


/* ==========================================================
   BENEFÍCIOS
========================================================== */

.benefits-section{

    padding:100px 20px;

    background:#f8fafc;

}

.benefits-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

}

.benefit-card{

    background:#fff;

    border-radius:18px;

    padding:35px;

    text-align:center;

    box-shadow:0 10px 25px rgba(0,0,0,.06);

    transition:.3s;

}

.benefit-card:hover{

    transform:translateY(-8px);

}

.benefit-icon{

    font-size:48px;

    margin-bottom:20px;

}

.benefit-card h3{

    color:#0f766e;

    margin-bottom:15px;

}

.benefit-card p{

    color:#64748b;

    line-height:1.8;

}

/* ==========================================================
   FUNCIONALIDADES
========================================================== */

.features{

    position:relative;

    padding:100px 20px;

    overflow:hidden;

    background-image:

        linear-gradient(
            rgba(255,255,255,.75),
            rgba(255,255,255,.75)
        ),

        url('../images/screens/relatorio_mensal.png');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;

}

.features .container{

    position:relative;
    z-index:2;

}

.features-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:30px;

    margin-top:60px;

}

.feature-card{

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(8px);

    border-radius:18px;

    padding:35px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.feature-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.feature-card h3{

    color:#0b6b57;

    margin-bottom:18px;

    font-size:24px;

}

.feature-card p{

    color:#475569;

    line-height:1.8;

}


/* ==========================================================
   SYSTEM SECTION
========================================================== */

.system-section{

    padding:100px 20px;

    background:#ffffff;

}

.section-alt{

    background-image:

        linear-gradient(

            rgba(255,255,255,.40),

            rgba(248,250,252,.40)

        ),

        url('../images/tela_gerencial.png');

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    background-attachment:fixed;

}

.system-content{

    max-width:1200px;

    margin:0 auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:60px;

}

.system-content.reverse{

    flex-direction:row-reverse;

}

.system-text{

    flex:1;

}

.system-text h2{

    font-size:40px;

    color:#0f172a;

    margin-bottom:20px;

}

.system-text p{

    color:#64748b;

    line-height:1.9;

    margin-bottom:30px;

}

.feature-list{

    list-style:none;

}

.feature-list li{

    padding:10px 0;

    color:#334155;

    font-weight:500;

}

.system-card{

    flex:1;

    background:#ffffff;

    border-radius:20px;

    padding:35px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.system-card h3{

    color:#0b6b57;

    margin-bottom:25px;

}

.resource-box{

    padding:16px;

    margin-bottom:14px;

    border-left:4px solid #0b6b57;

    background:#f8fafc;

    border-radius:10px;

    font-weight:600;

}


/* ==========================================================
   SOLICITAÇÕES
========================================================== */

.requests-section{

    padding:100px 20px;

    background:#ffffff;

}

.request-flow{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

    margin-top:60px;

    align-items:stretch;

}

.request-step{

    background:#fff;

    border-radius:18px;

    padding:30px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

    height:100%;

}

.request-step:hover{

    transform:translateY(-6px);

}

.request-icon{

    width:60px;

    height:60px;

    margin:0 auto 18px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#0b6b57;

    color:#fff;

    font-size:24px;

    font-weight:bold;

}

.request-step h3{

    margin-bottom:15px;

    color:#0f172a;

}

.request-step p{

    color:#475569;

    line-height:1.8;

}

.request-arrow{

    display:none;

}

/* ==========================================================
   DIFERENCIAIS
========================================================== */

.diferenciais-section{

    padding:100px 20px;

    position:relative;

    background-image:

        linear-gradient(
            rgba(15,23,42,.82),
            rgba(15,23,42,.82)
        ),

        url('../images/screens/relatorio_gerencial.png');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;

    color:#fff;

}

.diferenciais-section .section-title,
.diferenciais-section .section-subtitle{

    color:#fff;

}

.diferenciais-section .section-tag{

    background:rgba(255,255,255,.15);

    color:#fff;

    border:1px solid rgba(255,255,255,.20);

}

.diferenciais-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}

.diferencial-card{

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.15);

    border-radius:18px;

    padding:35px;

    text-align:center;

    transition:.35s;

}

.diferencial-card:hover{

    transform:translateY(-8px);

    background:rgba(255,255,255,.18);

}

.diferencial-card h3{

    color:#fff;

    margin-bottom:15px;

}

.diferencial-card p{

    color:rgba(255,255,255,.88);

    line-height:1.8;

}


/* ==========================================================
   RECURSOS COMPLETOS
========================================================== */

.features-complete-section{

    padding:100px 20px;

    background:#ffffff;

}

.features-complete-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:18px;

    margin-top:50px;

}

.features-complete-grid div{

    background:#f8fafc;

    border-left:5px solid #0b6b57;

    padding:18px 20px;

    border-radius:12px;

    font-weight:600;

    box-shadow:0 4px 12px rgba(0,0,0,.05);

}


/* ==========================================================
   SEGMENTOS
========================================================== */

.segments-section{

    padding:100px 20px;

    background:#f8fafc;

}

.segments-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:25px;

    margin-top:50px;

}

.segment-card{

    background:#fff;

    padding:30px;

    border-radius:18px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:.3s;

}

.segment-card:hover{

    transform:translateY(-6px);

}

.segment-card h3{

    color:#0b6b57;

    margin-bottom:12px;

}

.segment-card p{

    color:#64748b;

    line-height:1.8;

}


/* ==========================================================
   FAQ
========================================================== */

.faq-section{

    padding:100px 20px;

    background:#ffffff;

}

.faq-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:25px;

    margin-top:50px;

}

.faq-item{

    background:#f8fafc;

    border-radius:15px;

    padding:30px;

    box-shadow:0 6px 18px rgba(0,0,0,.05);

}

.faq-item h3{

    color:#0b6b57;

    margin-bottom:15px;

}

.faq-item p{

    color:#64748b;

    line-height:1.8;

}


/* ==========================================================
   CTA FINAL
========================================================== */

.cta-final{

    padding:100px 20px;

    background:

        linear-gradient(
            rgba(11,107,87,.45),
            rgba(14,138,113,.45)
        ),

        url('../images/cta.png');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

}

.cta-final-box{

    max-width:1000px;

    margin:auto;

    text-align:center;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(10px);

    border-radius:24px;

    padding:60px;

    color:#fff;

}

.cta-final-box h2{

    font-size:42px;

    margin-bottom:20px;

}

.cta-final-box p{

    font-size:20px;

    line-height:1.8;

    margin-bottom:35px;

}


/* ==========================================================
   FOOTER
========================================================== */

.footer{

    background:#0f172a;

    color:#fff;

}

.footer-container{

    max-width:1200px;

    margin:auto;

    padding:70px 20px;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:40px;

}

.footer-column h3,
.footer-column h4{

    margin-bottom:20px;

}

.footer-column p{

    color:#cbd5e1;

    line-height:1.8;

}

.footer-column ul{

    list-style:none;

}

.footer-column li{

    margin-bottom:12px;

    color:#cbd5e1;

}

.footer-column a{

    color:#cbd5e1;

    text-decoration:none;

    transition:.3s;

}

.footer-column a:hover{

    color:#fff;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.10);

    padding:20px;

    text-align:center;

    color:#94a3b8;

    font-size:14px;

}


/* ==========================================================
   RESPONSIVO
========================================================== */

@media (max-width:992px){

    .landing-menu{

        display:none;

    }

    .system-content,
    .system-content.reverse{

        flex-direction:column;

    }

    .hero h1{

        font-size:71px;

    }

    .hero p{

        font-size:45px;

    }

    .request-flow{

        grid-template-columns:repeat(2,1fr);

    }

    .cta-final-box{

        padding:40px 25px;

    }

}

@media (max-width:768px){

    body{

        font-size:43px;

    }

    .hero{

        padding:120px 20px 80px;

    }

    .hero h1{

        font-size:67px;

        line-height:1.2;

    }

    .hero p{

        font-size:45px;

        line-height:1.8;

    }

    .hero-buttons{

        flex-direction:column;

        align-items:center;

    }

    .btn-login,
    .btn-contract{

        width:100%;

        max-width:320px;

        text-align:center;

    }

    .section-title{

        font-size:61px;

    }

    .section-subtitle{

        font-size:43px;

        line-height:1.8;

    }

    .system-text h2{

        font-size:59px;

    }

    .system-text p{

        font-size:43px;

    }

    .feature-card h3,
    .benefit-card h3,
    .request-step h3,
    .segment-card h3,
    .faq-item h3,
    .diferencial-card h3{

        font-size:49px;

    }

    .feature-card p,
    .benefit-card p,
    .request-step p,
    .segment-card p,
    .faq-item p,
    .diferencial-card p{

        font-size:42px;

        line-height:2;

    }

    .request-flow{

        grid-template-columns:1fr;

    }

    .request-step{

        padding:29px;

    }

    .cta-final-box h2{

        font-size:57px;

    }

    .cta-final-box p{

        font-size:43px;

    }

}

@media (max-width:480px){

    .hero h1{

        font-size:61px;

    }

    .section-title{

        font-size:55px;

    }

    .system-text h2{

        font-size:53px;

    }

    .hero-badge{

        font-size:38px;

    }

}