/*
Theme Name: Ingenieria Pro
Author: Daniel Salomon Choque Castro
Version: 1.0
*/

/* RESET */
*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family: Arial, Helvetica, sans-serif;
color:#333;
}

/* CONTENEDOR */
.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* HEADER TRANSPARENTE */
header{
position:fixed;
width:100%;
top:0;
z-index:1000;
background:transparent;
transition:0.3s;
}

header.scrolled{
background:#0f2b46;
}

/* NAV */
.nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 0;
}

/* LOGO */
.logo img{
height:50px;
}

/* MENU */
.menu{
display:flex;
gap:20px;
}

.menu a{
color:#fff;
text-decoration:none;
font-weight:500;
transition:0.3s;
}

.menu a:hover{
color:#00bcd4;
}

.menu ul{
display:flex;
gap:20px;
list-style:none;
}

.menu li{
list-style:none;
}

.menu ul{
display:flex;
gap:20px;
list-style:none;
}

.menu li{
list-style:none;
}

/* CONTENEDOR UL */
.menu-list{
display:flex;
gap:25px;
list-style:none;
margin:0;
padding:0;
align-items:center;
}

/* ITEMS */
.menu-list li{
list-style:none;
}

/* LINKS */
.menu-list li a{
color:#fff;
text-decoration:none;
font-weight:500;
position:relative;
transition:0.3s;
}

/* EFECTO HOVER PRO */
.menu-list li a::after{
content:"";
position:absolute;
left:0;
bottom:-5px;
width:0%;
height:2px;
background:#00bcd4;
transition:0.3s;
}

.menu-list li a:hover::after{
width:100%;
}

.menu-list li a:hover{
color:#00bcd4;
}

/* BOTON MOBILE */
.menu-toggle{
display:none;
font-size:24px;
cursor:pointer;
color:#fff;
}

/* HERO VIDEO */
.hero{
position:relative;
height:100vh;
overflow:hidden;
}

.hero video{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
}

.overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.5);
}

.hero-content{
position:relative;
z-index:2;
height:100%;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
color:#fff;
}

.hero h1{
font-size:42px;
margin-bottom:20px;
}

.hero p{
font-size:18px;
margin-bottom:20px;
}

.btn{
background:#00bcd4;
color:#fff;
padding:10px 20px;
text-decoration:none;
border-radius:5px;
}

/* SECCIONES */
section{
padding:80px 0;
}

.section-title{
text-align:center;
margin-bottom:40px;
font-size:28px;
}

/* SERVICIOS */
.services{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
gap:20px;
}

.card{
background:#fff;
padding:20px;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,0.1);
transition:0.3s;
}

.card:hover{
transform:translateY(-5px);
}

/* NOSOTROS */
.about{
display:flex;
flex-wrap:wrap;
gap:20px;
align-items:center;
}

.about img{
width:100%;
max-width:500px;
border-radius:10px;
}

/* PROYECTOS */
.projects{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
gap:20px;
}

.project{
background:#ddd;
height:200px;
border-radius:10px;
}

/* CONTACTO */
.contact form{
display:flex;
flex-direction:column;
gap:10px;
}

.contact input, .contact textarea{
padding:10px;
border:1px solid #ccc;
border-radius:5px;
}

/* FOOTER */
footer{
background:#0f2b46;
color:#fff;
text-align:center;
padding:20px;
}

/* RESPONSIVE */
@media(max-width:768px){

.menu{
display:none;
flex-direction:column;
background:#0f2b46;
position:absolute;
top:70px;
right:0;
width:200px;
padding:20px;
}

.menu.active{
display:flex;
}

.menu-toggle{
display:block;
}

.hero h1{
font-size:28px;
}

}

/* ========================= */
/* SERVICIOS PRO */
/* ========================= */

.services-pro{
background:#f4f7fb;
padding:100px 0;
}

.section-subtitle{
text-align:center;
max-width:600px;
margin:10px auto 50px;
color:#555;
}

/* GRID */
.services-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(300px,1fr));
gap:30px;
}

/* CARD */
.service-card-pro{
background:#fff;
border-radius:15px;
padding:25px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:0.3s;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.service-card-pro:hover{
transform:translateY(-10px);
box-shadow:0 15px 40px rgba(0,0,0,0.15);
}

/* TOP */
.service-top{
display:flex;
align-items:center;
gap:15px;
margin-bottom:15px;
}

.service-top img{
width:40px;
}

.service-top h3{
color:#0f2b46;
}

/* TEXTO */
.service-card-pro p{
font-size:14px;
color:#555;
margin-bottom:15px;
}

/* TAGS */
.service-tags{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-bottom:15px;
}

.service-tags span{
background:#e3f2fd;
color:#0f2b46;
padding:5px 10px;
border-radius:20px;
font-size:12px;
}

/* IMAGEN */
.service-img-pro img{
width:100%;
border-radius:10px;
margin-top:10px;
}

/* RESPONSIVE */
@media(max-width:768px){
.services-pro{
padding:60px 0;
}
}

/* ========================= */
/* PRODUCTOS PRO */
/* ========================= */

.products-pro{
margin-top:80px;
}

/* GRID */
.products-grid-pro{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
gap:30px;
}

/* CARD */
.product-card-pro{
background:#fff;
border-radius:15px;
padding:20px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
position:relative;
transition:0.3s;
display:flex;
flex-direction:column;
}

.product-card-pro:hover{
transform:translateY(-10px);
box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

/* BADGE */
.product-badge{
position:absolute;
top:15px;
left:15px;
background:#0f2b46;
color:#fff;
padding:5px 10px;
font-size:12px;
border-radius:20px;
}

/* IMG */
.product-card-pro img{
width:100%;
border-radius:10px;
margin-bottom:15px;
}

/* TITLE */
.product-card-pro h3{
color:#0f2b46;
margin-bottom:10px;
}

/* TEXT */
.product-card-pro p{
font-size:14px;
color:#555;
margin-bottom:10px;
}

/* LISTA */
.product-card-pro ul{
margin-bottom:15px;
padding-left:15px;
}

.product-card-pro li{
font-size:13px;
margin-bottom:5px;
}

/* BOTON */
.btn-product{
margin-top:auto;
text-align:center;
background:#00bcd4;
color:#fff;
padding:10px;
border-radius:8px;
text-decoration:none;
transition:0.3s;
}

.btn-product:hover{
background:#0097a7;
}

/* ========================= */
/* ABOUT PRO */
/* ========================= */

.about-pro{
background:#fff;
padding:100px 0;
}

/* GRID */
.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:center;
margin-bottom:60px;
}

/* IMÁGENES */
.about-images{
position:relative;
height:350px;
}

.about-images img{
position:absolute;
border-radius:10px;
box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

.img1{
width:220px;
top:0;
left:0;
}

.img2{
width:220px;
top:80px;
left:120px;
}

.img3{
width:220px;
top:180px;
left:40px;
}

/* TEXTO */
.about-text h3{
color:#0f2b46;
margin-bottom:15px;
}

.about-text p{
margin-bottom:15px;
color:#555;
line-height:1.6;
}

/* STATS */
.about-stats{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(150px,1fr));
gap:20px;
margin-bottom:50px;
text-align:center;
}

.stat h3{
color:#00bcd4;
font-size:28px;
}

.stat p{
font-size:14px;
color:#555;
}

/* VALORES */
.about-values{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
gap:20px;
}

.value-card{
background:#f4f7fb;
padding:20px;
border-radius:10px;
text-align:center;
transition:0.3s;
}

.value-card:hover{
transform:translateY(-5px);
background:#e3f2fd;
}

.value-card h4{
color:#0f2b46;
margin-bottom:10px;
}

/* RESPONSIVE */
@media(max-width:768px){

.about-grid{
grid-template-columns:1fr;
}

.about-images{
height:250px;
}

.img1,.img2,.img3{
position:relative;
width:100%;
top:auto;
left:auto;
margin-bottom:10px;
}

}

/* ========================= */
/* CAROUSEL PROYECTOS */
/* ========================= */

.carousel-container{
overflow:hidden;
position:relative;
}

.carousel-track{
display:flex;
gap:20px;
animation:scroll 35s linear infinite;
}

.project-card-pro{
min-width:300px;
flex:0 0 auto;
position:relative;
overflow:hidden;
border-radius:15px;
}

.project-card-pro img{
width:100%;
display:block;
}

/* ANIMACIÓN AUTOMÁTICA */
@keyframes scroll{
0%{
transform:translateX(0);
}
100%{
transform:translateX(-50%);
}
}

/* HOVER PAUSA */
.carousel-container:hover .carousel-track{
animation-play-state:paused;
}

/* RESPONSIVE */
@media(max-width:768px){
.project-card-pro{
min-width:250px;
}
}

/* ========================= */
/* PROYECTOS PREMIUM */
/* ========================= */

.carousel-track{
display:flex;
gap:20px;
animation:scroll 35s linear infinite;
}

.project-card-pro{
min-width:300px;
flex:0 0 auto;
position:relative;
overflow:hidden;
border-radius:15px;
cursor:pointer;
}

.project-card-pro img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:0.6s;
}

.project-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:flex;
flex-direction:column;
justify-content:flex-end;
padding:20px;
background:linear-gradient(to top, rgba(0,0,0,0.85), rgba(0,0,0,0.2));
color:#fff;
opacity:0;
transition:0.4s;
}

.project-badge{
position:absolute;
top:15px;
left:15px;
background:#00bcd4;
padding:5px 10px;
border-radius:20px;
font-size:12px;
}

.project-content h3{
font-size:16px;
margin-bottom:5px;
}

.project-location{
font-size:13px;
opacity:0.8;
margin-bottom:5px;
}

.project-desc{
font-size:13px;
line-height:1.4;
}

.project-card-pro:hover img{
transform:scale(1.1);
}

.project-card-pro:hover .project-overlay{
opacity:1;
}

/* animación */
@keyframes scroll{
0%{transform:translateX(0);}
100%{transform:translateX(-50%);}
}

.carousel-container:hover .carousel-track{
animation-play-state:paused;
}

/* ========================= */
/* CONTACTO PRO */
/* ========================= */

.contact-pro{
background:#f4f7fb;
padding:100px 0;
}

/* GRID */
.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:flex-start;
}

/* INFO */
.contact-info{
background:#0f2b46;
color:#fff;
padding:30px;
border-radius:15px;
}

.contact-info h3{
margin-bottom:15px;
}

.contact-info p{
font-size:14px;
margin-bottom:15px;
opacity:0.9;
}

.info-item{
margin-bottom:15px;
}

/* FORM */
.contact-form{
background:#fff;
padding:30px;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

/* INPUTS MODERNOS */
.form-group{
position:relative;
margin-bottom:20px;
}

.form-group input,
.form-group textarea{
width:100%;
padding:12px;
border:1px solid #ccc;
border-radius:8px;
outline:none;
font-size:14px;
background:none;
}

.form-group label{
position:absolute;
top:12px;
left:12px;
color:#777;
font-size:14px;
pointer-events:none;
transition:0.3s;
background:#fff;
padding:0 5px;
}

/* EFECTO FLOAT */
.form-group input:focus + label,
.form-group input:valid + label,
.form-group textarea:focus + label,
.form-group textarea:valid + label{
top:-8px;
font-size:12px;
color:#00bcd4;
}

/* BOTON */
.contact-form .btn{
width:100%;
border:none;
cursor:pointer;
font-size:16px;
}

/* RESPONSIVE */
@media(max-width:768px){
.contact-grid{
grid-template-columns:1fr;
}
}

/* ========================= */
/* BOTÓN WHATSAPP */
/* ========================= */

.whatsapp-float{
position:fixed;
bottom:25px;
right:25px;
background:#25D366;
color:#fff;
font-size:24px;
width:55px;
height:55px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
text-decoration:none;
box-shadow:0 5px 15px rgba(0,0,0,0.3);
z-index:1000;
transition:0.3s;
}

.whatsapp-float:hover{
transform:scale(1.1);
background:#1ebe5d;
}

/* ========================= */
/* FOOTER PRO */
/* ========================= */

.footer-pro{
background:#0f2b46;
color:#fff;
padding:60px 0 20px;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
gap:30px;
margin-bottom:30px;
}

.footer-pro h3,
.footer-pro h4{
margin-bottom:15px;
}

.footer-pro p{
font-size:14px;
opacity:0.9;
margin-bottom:10px;
}

.footer-pro ul{
list-style:none;
}

.footer-pro ul li{
margin-bottom:8px;
}

.footer-pro ul li a{
color:#fff;
text-decoration:none;
font-size:14px;
transition:0.3s;
}

.footer-pro ul li a:hover{
color:#00bcd4;
}

/* BOTTOM */
.footer-bottom{
border-top:1px solid rgba(255,255,255,0.2);
text-align:center;
padding-top:15px;
font-size:13px;
opacity:0.8;
}


body {
    font-family: Arial;
}

@media(max-width:768px){

.menu{
display:none;
flex-direction:column;
background:#0f2b46;
position:absolute;
top:70px;
right:0;
width:220px;
padding:20px;
border-radius:10px;
}

.menu.active{
display:flex;
}

.menu-list{
flex-direction:column;
gap:15px;
}

}

html{
scroll-behavior:smooth;
}