/* Base */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Poppins', sans-serif; font-weight:400; background:#F4F6F8; color:#1c1c1c; line-height:1.6;}
h1,h2,h3{font-family:'Poppins', sans-serif; font-weight:700; margin-bottom:20px;}
p{font-weight:400;}
.section{padding:100px 8%;}
.container{max-width:1200px; margin:auto;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
.centered{text-align:center;}
.dark{background:#0E2A47; color:white;}
.justificado{text-align:justify; line-height:1.55; word-spacing:0.02em; hyphens:auto; margin-bottom:16px;}

/* Header */
.header{
  position:sticky; 
  top:0; 
  background:#0E2A47; 
  padding:18px 8%; 
  z-index:1000; 
  transition:.3s ease;
}
.header.scrolled{
  padding:12px 8%; 
  box-shadow:0 6px 25px rgba(0,0,0,.15);
}
.nav-overlay{
  position:absolute; 
  inset:0; 
  background:rgba(14,42,71,0.85); 
  z-index:0; 
  display:none;
}
.nav-container{
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  max-width:1200px; 
  margin:auto; 
  position:relative; 
  z-index:2;
}
.logo img{height:48px;}
.nav{display:flex; gap:25px;}
.nav a{
  color:white; 
  text-decoration:none; 
  font-weight:500; 
  position:relative; 
  padding-bottom:4px; 
  transition:.3s;
}
.nav a::after{
  content:''; 
  position:absolute; 
  left:0; 
  bottom:0; 
  width:0; 
  height:2px; 
  background:#C6A75E; 
  transition:.3s;
}
.nav a:hover::after{width:100%;}
.menu-toggle{display:none; color:white; font-size:22px; cursor:pointer;}

/* Hero */
.hero{
  position:relative; 
  height:90vh; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  text-align:center; 
  color:white; 
  padding:0 8%;
}
.hero-image{position:absolute; inset:0; background-size:cover; background-position:center; z-index:1;}
.hero-overlay{position:absolute; inset:0; background:rgba(0,0,0,.75); transition:.4s; z-index:2;}
.hero:hover .hero-overlay{background:rgba(0,0,0,.85);}
.hero-content{position:relative; z-index:3; max-width:900px;}
.hero-title{font-size:72px; line-height:1.1; margin-bottom:25px; font-weight:700;}
.hero p{font-size:22px; max-width:750px; margin:0 auto 35px;}
.btn{
  display:inline-block; 
  padding:12px 28px; 
  border-radius:50px; 
  font-weight:700; 
  text-align:center; 
  text-decoration:none; 
  transition:all .3s ease; 
  box-shadow:0 6px 12px rgba(0,0,0,.18); 
  background:#C6A75E; 
  color:#0E2A47;
}
.btn:hover{background:#b28a4a; color:white; transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.28);}
.btn.cta-hero{padding:16px 40px; font-size:16px;}
.btn.cta-main{padding:14px 32px; margin-top:20px;}

/* Quiénes Somos */
.mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:30px;}
.mv-box{background:rgba(255,255,255,.95); padding:25px; border-radius:6px; box-shadow:0 8px 25px rgba(0,0,0,.06); transition:.3s;}
.mv-box:hover{transform:translateY(-5px); box-shadow:0 12px 35px rgba(0,0,0,.12);}
.mv-box i{color:#C6A75E; font-size:22px; margin-bottom:10px;}
.image-side img{width:100%; border-radius:8px; box-shadow:0 15px 35px rgba(0,0,0,.1);}

/* Cards */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:50px;}
.card{
  background:rgba(255,255,255,.95); 
  padding:35px; 
  border-radius:6px; 
  border-left:4px solid #0E2A47; 
  box-shadow:0 10px 30px rgba(0,0,0,.05); 
  transition:.3s;
}
.card:hover{transform:translateY(-6px) scale(1.03); box-shadow:0 15px 40px rgba(0,0,0,.15);}
.card i{font-size:26px; color:#0E2A47; margin-bottom:15px;}
.card p{margin-top:10px; line-height:1.5;}

/* Formulario Contacto */
#contacto{
  position:relative; 
  background:#0E2A47; 
  color:white;
  overflow:hidden;
}
#contacto::before{
  content:""; 
  position:absolute; 
  inset:0; 
  background: url('../img/Overlay.png') center/cover no-repeat;
  opacity:0.6; 
  z-index:1;
}
#contacto .container{position:relative; z-index:2;}
.logo-contacto{height:78px; display:block; margin-bottom:15px;}
.form-small{background:rgba(255,255,255,.05); padding:30px; border-radius:6px; max-width:480px;}
input,textarea{width:100%; padding:12px; margin-bottom:12px; border:1px solid #ddd; border-radius:4px;}
.telefono i{color:#C6A75E; margin-right:8px;}
.redes{margin-top:20px;}
.redes a{color:white; margin-right:15px; font-size:20px;}

/* Footer */
.footer{background:#07203C; color:white; text-align:center; padding:20px 0; font-size:14px;}

/* Animación scroll */
.fade-up{opacity:0; transform:translateY(20px); transition:opacity 0.8s ease, transform 0.8s ease;}

/* Responsive */
@media(max-width:900px){
  .nav{display:none; position:absolute; right:8%; top:70px; flex-direction:column; padding:20px; z-index:2;}
  .nav.active{display:flex;}
  .nav-overlay{display:block;}
  .menu-toggle{display:block;}
  .grid-2,.cards,.mv-grid{grid-template-columns:1fr;}
  .hero{height:80vh;}
  .hero-title{font-size:42px;}
  .hero p{font-size:18px;}
}