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

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

body{
font-family:'Poppins',sans-serif;
background:#07141b;
color:white;
overflow-x:hidden;
}

.custom-navbar{
background:rgba(4,16,24,.75);
backdrop-filter:blur(15px);
padding:16px 0;
border-bottom:1px solid rgba(255,255,255,.05);
}

.logo{
width:52px;
height:52px;
object-fit:contain;
}

.footer-logo{
width:90px;
}

.navbar-brand{
font-weight:700;
font-size:1.1rem;
color:white !important;
}

.nav-link{
color:white !important;
margin-left:15px;
font-weight:500;
transition:.3s;
}

.nav-link:hover{
color:#3dbf57 !important;
}

.btn-contacto{
background:#0a4aa3;
padding:10px 22px !important;
border-radius:40px;
}

.hero h1{
font-size:5rem;
font-weight:800;
line-height:1.1;
}

.hero p{
font-size:1.3rem;
max-width:850px;
margin:auto;
}

.btn-main{
background:#1d9d42;
border:none;
padding:15px 35px;
border-radius:50px;
font-weight:600;
}

.btn-main:hover{
background:#157733;
}

.section{
padding:120px 0;
}

.section-title{
text-align:center;
margin-bottom:70px;
}

.section-title h2{
font-size:3rem;
font-weight:800;
}

.cards{
background:#0d1d26;
padding:45px 35px;
border-radius:30px;
height:100%;
transition:.4s;
border:1px solid rgba(255,255,255,.05);
}

.cards:hover{
transform:translateY(-10px);
box-shadow:0 0 35px rgba(61,191,87,.18);
}

.cards i{
font-size:60px;
margin-bottom:25px;
color:#3dbf57;
}

.page-banner{
height:380px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
background:
linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.82)),
url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?q=80&w=1600');
background-size:cover;
background-position:center;
}

.page-banner h1{
font-size:4.2rem;
font-weight:800;
}

.info-box{
background:#0d1d26;
padding:40px;
border-radius:25px;
height:100%;
border-left:5px solid #3dbf57;
}

.contact-card{
background:#0d1d26;
padding:50px;
border-radius:30px;
}

.form-label{
font-weight:600;
margin-bottom:8px;
}

.form-control,
.form-select{
background:#132733;
border:none;
padding:15px;
color:white;
border-radius:14px;
}

.form-control:focus,
.form-select:focus{
background:#132733;
color:white;
box-shadow:0 0 0 0.2rem rgba(61,191,87,.25);
}

.footer{
background:#041018;
padding:90px 0 25px;
}

.footer-links{
list-style:none;
padding:0;
}

.footer-links li{
margin-bottom:12px;
}

.footer-bottom{
margin-top:45px;
padding-top:20px;
border-top:1px solid rgba(255,255,255,.08);
}

.whatsapp-float{
position:fixed;
bottom:25px;
right:25px;
width:72px;
height:72px;
border-radius:50%;
background:#25d366;
color:white;
display:flex;
align-items:center;
justify-content:center;
font-size:38px;
z-index:999;
text-decoration:none;
animation:pulse 2s infinite;
}

@keyframes pulse{
0%{transform:scale(1);}
50%{transform:scale(1.08);}
100%{transform:scale(1);}
}

@media(max-width:992px){

.hero h1{
font-size:3.2rem;
}

.page-banner h1{
font-size:2.8rem;
}

}

@media(max-width:768px){

.hero{
height:auto;
padding:150px 0 100px;
text-align:center;
}

.hero h1{
font-size:2.3rem;
}

.hero .btn{
width:100%;
margin-bottom:15px;
}

.section{
padding:80px 0;
}

.section-title h2{
font-size:2rem;
}

.page-banner{
height:260px;
padding-top:120px;
}

.page-banner h1{
font-size:2.2rem;
}

.contact-card{
padding:30px;
}
}

/* VIDEO */
/* HERO */

.hero{
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;

    display: flex;
    justify-content: center;
    align-items: center;
}


/* VIDEO */

.video-fondo{
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: 1;
}


/* OSCURECER VIDEO */

.hero-overlay{
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: rgba(0,0,0,0.60);

    z-index: 2;
}


/* CONTENIDO */

.hero-content{
    position: relative;

    z-index: 3;

    color: white;

    max-width: 1000px;

    padding: 20px;
}


/* TITULO */

.hero-content h1{
    font-size: 5rem;
    font-weight: 900;
    line-height: 1;

    text-shadow: 0 5px 15px rgba(0,0,0,.5);
}


/* TEXTO */

.hero-content p{
    font-size: 1.3rem;

    max-width: 850px;

    margin: auto;

    text-shadow: 0 2px 10px rgba(0,0,0,.5);
}


/* RESPONSIVE */

@media(max-width:768px){

    .hero-content h1{
        font-size: 2.7rem;
    }

    .hero-content p{
        font-size: 1rem;
    }

}

/* =========================================
SERVICIOS
========================================= */

.servicios-section{
    background:#07141b;
}

.servicio-card{
    height:100%;
    transition:.4s;
}

.servicio-card:hover{
    transform:translateY(-10px);
    box-shadow:0 0 35px rgba(61,191,87,.18);
}

.service-icon{
    width:90px;
    height:90px;

    border-radius:50%;

    background:rgba(61,191,87,.12);

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

    margin-bottom:25px;
}

.service-icon i{
    font-size:40px;
    color:#3dbf57;
}

.servicio-card h3{
    font-size:1.5rem;
    font-weight:700;
    margin-bottom:25px;
}

.servicio-card ul{
    list-style:none;
    padding:0;
    margin:0;
}

.servicio-card ul li{
    padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
    color:#d7d7d7;
    font-size:.98rem;
}

.servicio-card ul li:last-child{
    border-bottom:none;
}

/* =========================================
PROYECTOS
========================================= */

.proyectos-section{
    background:#07141b;
}

.proyecto-card{
    background:#0d1d26;

    border-radius:25px;

    overflow:hidden;

    transition:.4s;

    height:100%;

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

.proyecto-card:hover{
    transform:translateY(-10px);

    box-shadow:0 0 35px rgba(61,191,87,.18);
}

.proyecto-img{
    width:100%;
    height:260px;

    overflow:hidden;
}

.proyecto-img img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:.5s;
}

.proyecto-card:hover img{
    transform:scale(1.08);
}

.proyecto-info{
    padding:30px;
}

.proyecto-info h4{
    font-size:1.4rem;
    font-weight:700;

    margin-bottom:15px;

    color:white;
}

.proyecto-info p{
    color:#cfcfcf;

    margin:0;

    line-height:1.7;
}

/* REDES SOCIALES */
.social-icons {
    display: flex;
    gap: 15px;
}

.social-icons a {
    width: 45px;
    height: 45px;
    background: #0d6efd;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 20px;
    transition: 0.3s ease;
}

.social-icons a:hover {
    background: #ffffff;
    color: #0d6efd;
    transform: translateY(-5px);
}