:root{

    --primary:#0B2344;

    --secondary:#7AC943;

    --white:#FFFFFF;

    --light:#F8FAFC;

    --gray:#666666;

    --radius:18px;

    --shadow:0 15px 40px rgba(0,0,0,.06);

    --transition:.35s;

}

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    color:#222;

    overflow-x:hidden;

    background:#fff;

}

section{

    position:relative;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

}

/*========================================
NAVBAR
========================================*/

.navbar{

    background:#FFFFFF;

    padding:10px 0;

    transition:.35s;

    box-shadow:0 10px 35px rgba(0,0,0,.05);

}

.navbar-brand img{

    height:70px;

    transition:.3s;
    margin-right:90px;

}

.nav-link{

    color:#0B2344;

    font-weight:600;

    margin-left:18px;

    transition:.3s;

}

.nav-link:hover{

    color:#7AC943;

}

.btn-main{

    background:#7AC943;

    color:#fff;

    padding:13px 28px;

    border-radius:12px;

    font-weight:600;

}

.btn-main:hover{

    background:#69b536;

    color:#fff;

}

/*==================================================
HERO
==================================================*/

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(11,35,68,.98) 0%,
            rgba(11,35,68,.96) 28%,
            rgba(11,35,68,.88) 42%,
            rgba(11,35,68,.55) 58%,
            rgba(11,35,68,.15) 72%,
            rgba(11,35,68,0) 100%
        ),
        url("../img/hero.webp");

    background-size:cover;

    background-position:center right;

    background-repeat:no-repeat;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.10),
        rgba(0,0,0,.18)
    );

    pointer-events:none;

}

.hero .container{

    position:relative;

    z-index:2;

    max-width:1400px;

}

.hero .row{

    min-height:100vh;

    align-items:center;

}

.hero-content{

    max-width:620px;

    padding-top:40px;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    padding:14px 30px;

    border-radius:60px;

    background:rgba(122,201,67,.15);

    color:#7AC943;

    font-size:18px;

    font-weight:700;

    margin-bottom:35px;

}

.hero h1{

    color:#fff;

    font-size:78px;

    line-height:.95;

    font-weight:900;

    letter-spacing:-3px;

    margin-bottom:35px;

}

.hero p{

    color:#d9dce3;

    font-size:22px;

    line-height:1.75;

    margin-bottom:45px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    margin-bottom:55px;

}

.btn-main{

    background:#7AC943;

    color:#fff;

    padding:18px 42px;

    border-radius:16px;

    font-weight:700;

    transition:.3s;

}

.btn-main:hover{

    background:#6cbc38;

    color:#fff;

}

.btn-outline-light{

    border:2px solid rgba(255,255,255,.9);

    color:#fff;

    padding:18px 42px;

    border-radius:16px;

    font-weight:700;

}

.btn-outline-light:hover{

    background:#fff;

    color:#0B2344;

}

.hero-icons{

    display:flex;

    gap:40px;

    flex-wrap:wrap;

}

.hero-icons div{

    display:flex;

    align-items:center;

    gap:10px;

    color:#fff;

    font-size:19px;

    font-weight:600;

}

.hero-icons i{

    color:#7AC943;

    font-size:24px;

}

/*========================================
RESPONSIVE
========================================*/

@media(max-width:992px){

.hero{

    background-position:70% center;

}

.hero .row{

    min-height:auto;

    padding:150px 0 90px;

}

.hero-content{

    max-width:100%;

}

.hero h1{

    font-size:56px;

}

.hero p{

    font-size:18px;

}

.hero-icons{

    gap:20px;

}

}

@media(max-width:768px){

.hero{

    background-position:75% center;

}

.hero h1{

    font-size:46px;

}

.hero-badge{

    font-size:15px;

}

.hero-buttons{

    flex-direction:column;

}

.hero-buttons .btn{

    width:100%;

}

.hero-icons{

    flex-direction:column;

    gap:15px;

}

}
/*========================================
SERVICIOS
========================================*/

.services{

    padding:110px 0;

    background:#F8FAFC;

}

.section-title{

    max-width:750px;

    margin:auto auto 70px;

}

.section-title span{

    color:#7AC943;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:2px;

}

.section-title h2{

    color:#0B2344;

    font-size:46px;

    font-weight:800;

    margin:20px 0;

}

.section-title p{

    color:#666;

    font-size:18px;

    line-height:1.8;

}

.service-card{

    background:#fff;

    border-radius:18px;

    padding:40px;

    height:100%;

    transition:.35s;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

}

.service-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 55px rgba(0,0,0,.10);

}

.service-icon{

    width:75px;

    height:75px;

    border-radius:15px;

    background:#0B2344;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:25px;

}

.service-icon i{

    color:#7AC943;

    font-size:32px;

}

.service-card h4{

    color:#0B2344;

    font-size:24px;

    font-weight:700;

    margin-bottom:18px;

}

.service-card p{

    color:#666;

    line-height:1.8;

}

.service-contact{

    background:#0B2344;

    color:#fff;

}

.service-contact h4{

    color:#fff;

}

.service-contact p{

    color:#ddd;

}

.service-contact .btn{

    margin-top:20px;

}

/*========================================
NOSOTROS
========================================*/

.about{

    padding:120px 0;

    background:#ffffff;

}

.section-badge{

    display:inline-block;

    padding:10px 22px;

    background:#EAF7DF;

    color:#7AC943;

    border-radius:50px;

    font-weight:700;

    margin-bottom:20px;

}

.about h2{

    font-size:46px;

    font-weight:800;

    color:#0B2344;

    margin-bottom:25px;

}

.about p{

    color:#666;

    line-height:1.9;

    margin-bottom:20px;

}

.about-image{

    overflow:hidden;

    border-radius:25px;

    box-shadow:0 25px 60px rgba(0,0,0,.10);

}

.about-image img{

    width:100%;

    transition:.4s;

}

.about-image:hover img{

    transform:scale(1.05);

}

.about-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin-top:35px;

}

.about-features div{

    display:flex;

    align-items:center;

    gap:12px;

    font-weight:600;

    color:#0B2344;

}

.about-features i{

    color:#7AC943;

    font-size:22px;

}

/*========================================
SECTORES
========================================*/

.sectors{

    background:#F8FAFC;

    padding:110px 0;

}

.sector-item{

    background:#fff;

    border-radius:20px;

    padding:40px 20px;

    transition:.35s;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.sector-item:hover{

    transform:translateY(-8px);

}

.sector-item i{

    font-size:50px;

    color:#7AC943;

    margin-bottom:20px;

}

.sector-item h5{

    color:#0B2344;

    font-weight:700;

}

/*========================================
PROCESO
========================================*/

.process{

    padding:120px 0;

    background:#ffffff;

}

.process-card{

    position:relative;

    background:#fff;

    border-radius:20px;

    padding:40px 30px;

    text-align:center;

    height:100%;

    box-shadow:0 15px 40px rgba(0,0,0,.06);

    transition:.35s;

}

.process-card:hover{

    transform:translateY(-10px);

}

.process-number{

    position:absolute;

    top:20px;

    right:20px;

    color:#7AC943;

    font-size:40px;

    font-weight:800;

    opacity:.15;

}

.process-card i{

    font-size:50px;

    color:#0B2344;

    margin-bottom:25px;

}

.process-card h4{

    color:#0B2344;

    font-weight:700;

    margin-bottom:15px;

}

.process-card p{

    color:#666;

    line-height:1.8;

}

/*========================================
WHY
========================================*/

.why{

    padding:120px 0;

    background:#F8FAFC;

}

.why h2{

    color:#0B2344;

    font-size:46px;

    font-weight:800;

    margin:20px 0;

}

.why p{

    color:#666;

    line-height:1.9;

    margin-bottom:35px;

}

.why-list{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

}

.why-list div{

    font-weight:600;

    color:#0B2344;

}

.why-list i{

    color:#7AC943;

    margin-right:10px;

}

/*========================================
CTA
========================================*/

.cta{

    padding:100px 0;

    background:#0B2344;

    color:#fff;

}

.cta h2{

    font-size:50px;

    font-weight:800;

    margin-bottom:25px;

}

.cta p{

    max-width:700px;

    margin:auto auto 35px;

    color:#ddd;

    line-height:1.8;

}

.cta .btn{

    padding:16px 40px;

    border-radius:12px;

    font-weight:700;

}

/*========================================
CONTACTO
========================================*/

.contact{

    padding:120px 0;

    background:#ffffff;

}

.contact-info{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

}

.contact-item i{

    width:65px;

    height:65px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:15px;

    background:#0B2344;

    color:#7AC943;

    font-size:28px;

}

.contact-item h5{

    color:#0B2344;

    font-weight:700;

}

.contact-item p{

    color:#666;

    margin:0;

}

.contact-form{

    background:#F8FAFC;

    padding:45px;

    border-radius:20px;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

}

.contact-form .form-control{

    height:55px;

    border-radius:12px;

    border:1px solid #ddd;

}

.contact-form textarea.form-control{

    height:auto;

}

/*========================================
FOOTER
========================================*/

.footer{

    background:#071A33;

    color:#fff;

    padding:80px 0 30px;

}

.footer-logo{

    height:70px;

    margin-bottom:25px;

}

.footer p{

    color:#ccc;

    line-height:1.8;

}

.footer h5{

    margin-bottom:20px;

    font-weight:700;

}

.footer ul{

    list-style:none;

    padding:0;

}

.footer li{

    margin-bottom:12px;

    color:#ccc;

}

.footer a{

    color:#ccc;

    text-decoration:none;

}

.footer a:hover{

    color:#7AC943;

}

.footer hr{

    border-color:rgba(255,255,255,.1);

    margin:50px 0 30px;

}

.footer-copy{

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:#bbb;

}

.footer-copy strong{

    color:#7AC943;

}