:root{
  --bg:#0b0b0c;
  --metal-blue: #0f4c81;
  --blue-2: #2b6fa6;
  --silver: #cfd6da;
  --gray: #8b9296;
  --accent:#1b7ac6;
  --card:#0f1720;
  --glass: rgba(255,255,255,0.04);
  --glass-2: rgba(255,255,255,0.02);
  --radius: 14px;
}
*{box-sizing:border-box}
html, body{
  width: 100%;
  overflow-x:hidden; /* Asegura no tener scroll horizontal */
}
body{
  margin:0;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  background: linear-gradient(180deg, #020204 0%, #07101a 100%);
  color:var(--silver);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
  padding-bottom:60px;
  padding-top: 80px; /* Padding para compensar el header fijo */
}

/* Header */
header{
  width:100%;
  position:fixed;
  top:0;
  left:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 24px; 
  backdrop-filter: blur(8px);
  background: rgba(11, 11, 12, 0.7); 
  border-bottom: 1px solid var(--glass-2);
  box-shadow: 0 4px 18px rgba(2,6,12,0.5);
}
.brand{ display:flex; align-items:center; gap:12px; }
.logo-placeholder{ width:56px; height:56px; flex-shrink:0; }
.logo-placeholder img { width: 100% !important; height: 100% !important; object-fit: contain; }
.brand > div > div:first-child{ font-size:18px; font-weight:700; color:white; }
.brand > div > div:last-child{ font-size:12px; color:var(--gray); margin-top:2px; }

/* Navegación Desktop - visible por defecto */
nav{
    display: flex; /* Asegura que el nav es flex por defecto */
    align-items: center;
}
nav ul{
    display:flex; /* Muestra los items en fila en desktop */
    gap:18px;
    list-style:none;
    margin:0;
    padding:0;
}
nav a{color:var(--silver);text-decoration:none;font-weight:600;font-size:14px;opacity:0.95}
nav a:hover{color:var(--accent)}

/* Main Content y Secciones */
main{max-width:1200px;margin: 0 auto 40px;padding:0 20px}
.hero{display:grid;grid-template-columns:1fr 420px;gap:36px;align-items:center;margin-bottom:36px;}
.hero-card{background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:36px;border-radius:var(--radius);box-shadow: 0 10px 40px rgba(2,6,12,0.6);border: 1px solid var(--glass);}
h1{font-family:'Poppins', 'Inter', sans-serif;font-size:40px;margin:0 0 12px;color:white;letter-spacing:-0.4px}
p.lead{color:var(--silver);opacity:0.95;font-size:16px;margin:0 0 18px}
.cta-row{display:flex;gap:12px;align-items:center}
.btn-primary{background:linear-gradient(90deg,var(--metal-blue),var(--accent));color:white;padding:12px 18px;border-radius:12px;border:0;font-weight:700;cursor:pointer;box-shadow: 0 8px 24px rgba(15,76,129,0.24);}
.btn-secondary{background:transparent;border:1px solid rgba(255,255,255,0.06);padding:10px 14px;border-radius:10px;color:var(--silver);}
.stats{display:flex;gap:10px;margin-top:18px}
.stat{background:linear-gradient(180deg,var(--glass),transparent);padding:12px 16px;border-radius:10px;font-weight:600;color:var(--silver);}
.hero-image{height:360px;border-radius:12px;background:linear-gradient(135deg,var(--metal-blue),#071f32);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.04);transition: opacity 0.5s ease-out, transform 0.5s ease-out;}
.tag-metal{position:absolute;top:14px;right:14px;background:linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));padding:8px 12px;border-radius:10px;font-weight:700;color:var(--silver)}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.feature{background:linear-gradient(180deg,var(--card),rgba(255,255,255,0.01));padding:18px;border-radius:12px;border:1px solid var(--glass-2)}
.feature h3{margin:0 0 8px;font-size:18px;color:white}
.feature p{margin:0;color:var(--gray)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.shot{height:120px;border-radius:10px;background:linear-gradient(135deg,#0c2030,#09111a);border:1px dashed rgba(255,255,255,0.03)}
.shot img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.fade-up{transform:translateY(14px);opacity:0;transition:all 650ms cubic-bezier(.2,.9,.2,1)}
.in-view{transform:none;opacity:1}
.card{padding:18px;border-radius:12px;background:linear-gradient(180deg,var(--card),rgba(255,255,255,0.01));border:1px solid var(--glass-2)}
.contact{margin-top:36px;display:grid;grid-template-columns:1fr 360px;gap:20px}
form{display:flex;flex-direction:column;gap:12px}
input,textarea{background:transparent;border:1px solid rgba(255,255,255,0.06);padding:12px;border-radius:10px;color:var(--silver);min-width:0}
textarea{min-height:120px}
.footer{margin-top:44px;text-align:center;color:var(--gray);font-size:13px}
.whatsapp-flotante {position: fixed;width: 60px;height: 60px;bottom: 25px;right: 25px;background-color: #25D366;color: #FFF;border-radius: 50px;text-align: center;box-shadow: 2px 2px 6px rgba(0,0,0,0.25);z-index: 1000;display: flex;align-items: center;justify-content: center;transition: transform 0.3s ease;}
.whatsapp-flotante:hover {transform: scale(1.1);}

/* ESTILOS DEL MENÚ HAMBURGUESA */
.hamburger-menu {display: none;background: transparent;border: none;cursor: pointer;padding: 10px;z-index: 1001;}
.hamburger-menu span {display: block;width: 25px;height: 3px;background-color: var(--silver);margin: 5px 0;transition: all 0.3s ease;}
/* Estilos para el link activo del menú */
nav a.active-link {
    color: var(--accent) !important; /* Color de acento para el link activo */
    font-weight: 700; /* Más negrita */
    /* Puedes añadir más estilos, por ejemplo, un borde inferior sutil: */
    /* border-bottom: 2px solid var(--accent); */
    /* padding-bottom: 2px; */
}

/* Para los links en el menú desplegable */
nav.menu-active a.active-link {
    background: rgba(255, 255, 255, 0.1); /* Fondo sutil para el link activo en el menú desplegable */
    border-radius: 8px;
    padding: 10px 20px;
}


/* Cuando el menú hamburguesa está activo */
nav.menu-active {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: fixed;
    /* Lo posicionamos justo debajo del header (que mide 75px en móvil) */
    top: 75px; 
    left: 0;
    width: 100%;
    /* Hacemos que ocupe el resto de la altura de la pantalla */
    height: calc(100vh - 75px);
    /* Le damos un fondo sólido para que no se vea lo de atrás */
    background: #0b0b0c;
    z-index: 999;
    /* Opcional: El backdrop-filter no es necesario si el fondo es sólido */
    /* backdrop-filter: blur(10px); */
}
nav.menu-active ul {
    flex-direction: column;
    gap: 30px;
    text-align: center;
}
nav.menu-active a {
    font-size: 24px;
    font-family: 'Poppins', sans-serif;
    opacity: 1;
    color: white; /* Asegurar que los links del menú desplegado sean blancos */
}
.hamburger-menu.active span:nth-child(1) {transform: translateY(8px) rotate(45deg);}
.hamburger-menu.active span:nth-child(2) {opacity: 0;}
.hamburger-menu.active span:nth-child(3) {transform: translateY(-8px) rotate(-45deg);}

/* RESPONSIVE */
@media(max-width: 980px){
  main {padding: 0 16px;}
  .hero{grid-template-columns: 1fr;}
  .hero-image{order: -1;height: 280px;}
  .features{grid-template-columns: repeat(2, 1fr);}
  .gallery{grid-template-columns: repeat(2, 1fr);}
  .contact{grid-template-columns: 1fr;}
  header {padding: 10px 16px;}
}

@media(max-width: 520px){
  body {padding-top: 75px;}
  header {padding: 8px 12px;}
  .logo-placeholder{width: 48px;height: 48px;}
  .brand > div > div:first-child {font-size: 16px;}
  .brand > div > div:last-child {font-size: 11px;}
  
  nav {
      display: none; /* Oculta el nav por defecto en mobile, se mostrará con .menu-active */
  }
  .hamburger-menu {display: block;} /* Muestra el botón de hamburguesa en mobile */ 

  h1{font-size: 28px;line-height: 1.2;}
  p.lead {font-size: 15px;}
  .hero-card, .card {padding: 24px;}
  .cta-row {flex-direction: column;align-items: stretch;}
  .stats {flex-direction: column;align-items: flex-start;}
  .features, .gallery {grid-template-columns: 1fr;}
  .shot {height: 180px;}
  .whatsapp-flotante {width: 50px;height: 50px;bottom: 20px;right: 20px;}
  .whatsapp-flotante svg {width: 28px;height: 28px;}
}