/* ==========================================================
   RESET
========================================================== */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    font-size:100%;
}

body{
    font-family:Arial,Helvetica,sans-serif;
    background:#f5f7fa;
    color:#1f2937;
    overflow-x:hidden;
    line-height:1.6;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

.container{
    width:100%;
    max-width:75rem;
    margin:0 auto;
    padding:0 1.25rem;
}

.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(.75rem);

    box-shadow:0 .125rem 1.25rem rgba(0,0,0,.15);

}

.landing-navbar{

    max-width:75rem;

    margin:0 auto;

    padding:1.125rem 1.25rem;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.landing-logo{

    color:#fff;

    font-size:1.75rem;

    font-weight:700;

}

.landing-menu{

    display:flex;

    gap:1.875rem;

}

.landing-menu a{

    color:#fff;

    font-weight:600;

    transition:.3s;

}

.landing-menu a:hover{

    color:#ffd54f;

}

.navbar-login{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    background:#fff;

    color:#0b6b57;

    padding:.75rem 1.4rem;

    border-radius:.625rem;

    font-weight:700;

    transition:.3s;

}

.navbar-login:hover{

    background:#f2f2f2;

}

/* ==========================================================
   HERO
========================================================== */

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    color:#fff;

    overflow:hidden;

    padding:8.75rem 1.25rem 6.25rem;

    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;

}

.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:59rem;

}

.hero-badge{

    display:inline-block;

    padding:.625rem 1.25rem;

    border-radius:999px;

    background:rgba(255,255,255,.15);

    font-size:.875rem;

    font-weight:700;

    margin-bottom:1.5rem;

}

.hero h1{

    font-size:3.75rem;

    line-height:1.15;

    margin-bottom:1.5rem;

}

.hero p{

    max-width:53rem;

    margin:0 auto 2.5rem;

    font-size:1.375rem;

    line-height:1.8;

}

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:1rem;

    flex-wrap:wrap;

}

.btn-login,
.btn-contract{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:1rem 1.9rem;

    border-radius:.625rem;

    font-weight:700;

    transition:.3s;

}

.btn-login{

    background:#fff;

    color:#0b6b57;

}

.btn-contract{

    background:#ffc107;

    color:#222;

}

.btn-login:hover,
.btn-contract:hover{

    transform:translateY(-.1875rem);

}

/* ==========================================================
   TÍTULOS GERAIS
========================================================== */

.section-title{

    text-align:center;

    font-size:2.625rem;

    color:#0f766e;

    margin-bottom:.9375rem;

    font-weight:700;

}

.section-subtitle{

    max-width:50rem;

    margin:0 auto 3.75rem;

    text-align:center;

    color:#64748b;

    font-size:1.125rem;

    line-height:1.8;

}

.section-tag{

    display:inline-block;

    padding:.5rem 1rem;

    border-radius:999px;

    background:#dcfce7;

    color:#0b6b57;

    font-size:.8125rem;

    font-weight:700;

    margin-bottom:1.25rem;

}

.section-header{

    text-align:center;

    margin-bottom:3.75rem;

}


/* ==========================================================
   ESTATÍSTICAS
========================================================== */

.landing-stats{

    padding:5rem 1.25rem;

    background:#ffffff;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(13.75rem,1fr));

    gap:1.5625rem;

}

.stat-card{

    background:#fff;

    border-radius:1rem;

    padding:2.2rem;

    text-align:center;

    box-shadow:0 .625rem 1.875rem rgba(0,0,0,.08);

    transition:.3s;

}

.stat-card:hover{

    transform:translateY(-.5rem);

}

.stat-number{

    display:block;

    font-size:2.75rem;

    font-weight:700;

    color:#0f766e;

    margin-bottom:.75rem;

}

.stat-label{

    color:#64748b;

    font-size:1rem;

}


/* ==========================================================
   BENEFÍCIOS
========================================================== */

.benefits-section{

    padding:6.25rem 1.25rem;

    background:#f8fafc;

}

.benefits-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));

    gap:1.875rem;

}

.benefit-card{

    background:#fff;

    border-radius:1.125rem;

    padding:2.2rem;

    text-align:center;

    box-shadow:0 .625rem 1.5625rem rgba(0,0,0,.06);

    transition:.3s;

}

.benefit-card:hover{

    transform:translateY(-.5rem);

}

.benefit-icon{

    font-size:3rem;

    margin-bottom:1.25rem;

}

.benefit-card h3{

    color:#0b6b57;

    font-size:1.5rem;

    margin-bottom:1rem;

}

.benefit-card p{

    color:#64748b;

    font-size:1rem;

    line-height:1.8;

}


/* ==========================================================
   FUNCIONALIDADES
========================================================== */

.features{

    position:relative;

    overflow:hidden;

    padding:6.25rem 1.25rem;

    background:

        linear-gradient(

            rgba(0,0,0,.85),

            rgba(0,0,0,.85)

        ),

        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(18rem,1fr));

    gap:1.875rem;

    margin-top:3.75rem;

}


/* ==========================================================
   CARD DE FUNCIONALIDADE
========================================================== */

.feature-card{

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(.625rem);

    border-radius:1.125rem;

    padding:2.2rem;

    box-shadow:0 .75rem 2rem rgba(0,0,0,.08);

    transition:.35s;

}

.feature-card:hover{

    transform:translateY(-.5rem);

    box-shadow:0 1.25rem 2.8rem rgba(0,0,0,.12);

}

.feature-card h3{

    color:#0b6b57;

    font-size:1.5rem;

    margin-bottom:1rem;

}

.feature-card p{

    color:#475569;

    font-size:1rem;

    line-height:1.8;

}

/* ==========================================================
   RELATÓRIO MENSAL / GERENCIAL
========================================================== */

.system-section{

    padding:6.25rem 1.25rem;

    background:#ffffff;

}

.section-alt{

    background-image:

        linear-gradient(
            rgba(250,250,250,.85),
            rgba(250,250,250,.85)
        ),

        url("../images/tela_gerencial.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    background-attachment:fixed;

}

.system-content{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:3.75rem;

}

.system-content.reverse{

    flex-direction:row-reverse;

}

.system-text{

    flex:1;

}

.system-text h2{

    font-size:2.5rem;

    color:#777070;

    margin-bottom:1.25rem;

}

.system-text p{

    color:#4c4848;

    font-size:1.0625rem;

    line-height:1.9;

    margin-bottom:1.875rem;

}

.feature-list{

    list-style:none;

}

.feature-list li{

    padding:.625rem 0;

    color:#474849;

    font-size:1rem;

    font-weight:500;

}

.system-card{

    flex:1;

    background:#ffffff;

    border-radius:1.25rem;

    padding:2.1875rem;

    box-shadow:0 .9375rem 2.5rem rgba(0,0,0,.08);

}

.system-card h3{

    color:#0b6b57;

    font-size:1.5rem;

    margin-bottom:1.5rem;

}

.resource-box{

    padding:1rem;

    margin-bottom:.875rem;

    border-left:.25rem solid #0b6b57;

    background:#f8fafc;

    border-radius:.625rem;

    font-weight:600;

}


/* ==========================================================
   SOLICITAÇÕES
========================================================== */

.requests-section{

    padding:6.25rem 1.25rem;

    background:#ffffff;

}

.request-flow{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:1.5rem;

    margin-top:3.75rem;

}

.request-step{

    background:#fff;

    border-radius:1.125rem;

    padding:2rem;

    text-align:center;

    box-shadow:0 .625rem 1.875rem rgba(0,0,0,.08);

    transition:.3s;

}

.request-step:hover{

    transform:translateY(-.375rem);

}

.request-icon{

    width:3.75rem;

    height:3.75rem;

    margin:0 auto 1rem;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#0b6b57;

    color:#fff;

    font-size:1.5rem;

    font-weight:700;

}

.request-step h3{

    font-size:1.5rem;

    margin-bottom:.875rem;

}

.request-step p{

    color:#64748b;

    line-height:1.8;

}

.request-arrow{

    display:none;

}


/* ==========================================================
   DIFERENCIAIS
========================================================== */

.diferenciais-section{

    padding:6.25rem 1.25rem;

    color:#fff;

    background-image:

        linear-gradient(
            rgba(15,23,42,.84),
            rgba(15,23,42,.84)
        ),

        url("../images/screens/relatorio_gerencial.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    background-attachment:fixed;

}

.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(15.625rem,1fr));

    gap:1.875rem;

}

.diferencial-card{

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(.75rem);

    border:1px solid rgba(255,255,255,.15);

    border-radius:1.125rem;

    padding:2.1875rem;

    text-align:center;

    transition:.35s;

}

.diferencial-card:hover{

    transform:translateY(-.5rem);

    background:rgba(255,255,255,.18);

}

.diferencial-card h3{

    color:#fff;

    font-size:1.5rem;

    margin-bottom:1rem;

}

.diferencial-card p{

    color:rgba(255,255,255,.9);

    line-height:1.8;

}


/* ==========================================================
   RECURSOS COMPLETOS
========================================================== */

.features-complete-section{

    padding:6.25rem 1.25rem;

    background:#ffffff;

}

.features-complete-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(17.5rem,1fr));

    gap:1.125rem;

    margin-top:3.125rem;

}

.features-complete-grid div{

    background:#f8fafc;

    border-left:.3125rem solid #0b6b57;

    padding:1.125rem;

    border-radius:.75rem;

    font-weight:600;

}


/* ==========================================================
   SEGMENTOS
========================================================== */

.segments-section{

    padding:6.25rem 1.25rem;

    background:#f8fafc;

}

.segments-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(17.5rem,1fr));

    gap:1.5625rem;

    margin-top:3.125rem;

}

.segment-card{

    background:#fff;

    padding:2rem;

    border-radius:1rem;

    box-shadow:0 .5rem 1.25rem rgba(0,0,0,.08);

    transition:.3s;

}

.segment-card:hover{

    transform:translateY(-.375rem);

}

.segment-card h3{

    color:#0b6b57;

    font-size:1.5rem;

    margin-bottom:.75rem;

}

.segment-card p{

    color:#64748b;

    line-height:1.8;

}


/* ==========================================================
   FAQ
========================================================== */

.faq-section{

    padding:6.25rem 1.25rem;

    background:#ffffff;

}

.faq-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));

    gap:1.5625rem;

    margin-top:3.125rem;

}

.faq-item{

    background:#f8fafc;

    border-radius:1rem;

    padding:2rem;

    box-shadow:0 .375rem 1.125rem rgba(0,0,0,.05);

}

.faq-item h3{

    color:#0b6b57;

    font-size:1.375rem;

    margin-bottom:.75rem;

}

.faq-item p{

    color:#64748b;

    line-height:1.8;

}


/* ==========================================================
   CTA
========================================================== */

.cta-final{

    padding:6.25rem 1.25rem;

    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:62.5rem;

    margin:auto;

    text-align:center;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(.625rem);

    padding:3.75rem;

    border-radius:1.5rem;

    color:#fff;

}

.cta-final-box h2{

    font-size:2.625rem;

    margin-bottom:1.25rem;

}

.cta-final-box p{

    font-size:1.25rem;

    line-height:1.8;

    margin-bottom:2.1875rem;

}


/* ==========================================================
   FOOTER
========================================================== */

.footer{

    background:#0f172a;

    color:#fff;

}

.footer-container{

    max-width:75rem;

    margin:auto;

    padding:4.375rem 1.25rem;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(15.625rem,1fr));

    gap:2.5rem;

}

.footer-column h3,
.footer-column h4{

    margin-bottom:1.25rem;

}

.footer-column p,
.footer-column li{

    color:#cbd5e1;

    line-height:1.8;

}

.footer-column ul{

    list-style:none;

}

.footer-column li{

    margin-bottom:.75rem;

}

.footer-column a{

    color:#cbd5e1;

    transition:.3s;

}

.footer-column a:hover{

    color:#fff;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.1);

    text-align:center;

    padding:1.25rem;

    color:#94a3b8;

}


/* ==========================================================
   RESPONSIVO
========================================================== */

@media (max-width:62rem){

    .landing-menu{

        display:none;

    }

    .system-content,
    .system-content.reverse{

        flex-direction:column;

    }

    .request-flow{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:48rem){

    /*
       AQUI ESTÁ A MÁGICA

       Todo o site aumenta aproximadamente 20%
       porque todo o CSS foi convertido para rem.
    */

    html{

        font-size:120%;

    }

    .hero-buttons{

        flex-direction:column;

        align-items:center;

    }

    .btn-login,
    .btn-contract{

        width:100%;

        max-width:20rem;

    }

    .request-flow{

        grid-template-columns:1fr;

    }

}

@media (max-width:30rem){

    html{

        font-size:112%;

    }
}

@media (max-width:768px){

    html{
        font-size:103.5%;
    }
    
    .hero{
        min-height:auto;
        padding:7rem 1.25rem 3rem;
    }
    
    .hero-content{
        padding-top:0;
    }

    .hero h1{
        font-size:1.5rem;
    }
    
    .cta-final-box{
        max-width:100%;
        width:100%;
        padding:2rem 1.5rem;
    }
    
    .cta-final-box h2{
        font-size:2.2rem;
        line-height:1.25;
        word-break:normal;
        overflow-wrap:normal;
    }
}

/* ==========================================================
   ESPAÇAMENTO GLOBAL DAS SEÇÕES
========================================================== */

.landing-stats,
.benefits-section,
.features,
.system-section,
.requests-section,
.diferenciais-section,
.features-complete-section,
.segments-section,
.faq-section,
.cta-final,
.footer-container{

    padding-top: 60px;
    padding-bottom: 60px;

}
