:root{
  --indigo:#0b1f3b;
  --indigo-2:#132b4f;
  --gold:#c7a869;
  --ink:#111827;
  --muted:#6b7280;
  --bg:#ffffff;
  --bg-alt:#f6f7f9;
  --radius:16px;
  --shadow:0 10px 30px rgba(11,31,59,.12);
}
*{box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;display:block; border:0}
.container{width:min(1200px,92%);margin:0 auto}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:linear-gradient(180deg,var(--indigo),var(--indigo-2));color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand-logo{height:116px;width:auto}
.brand-text{font-weight:800;letter-spacing:.4px}
.nav-toggle{display:none;background:transparent;border:0;color:#fff;font-size:22px;cursor:pointer; -webkit-appearance:none; -moz-appearance:none; appearance:none}
.menu{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.menu a{color:#fff;text-decoration:none;font-weight:600}
.menu a.btn{background:var(--gold);color:#1f2937;padding:8px 14px;border-radius:10px}
.menu a.btn.small{padding:6px 12px}
.menu a:hover{opacity:.9}

/* Hero / Slider */
.hero{position:relative}
.slider{position:relative;overflow:hidden}
.slide{position:relative;display:none;min-height:72vh}
.slide.is-active{display:block}
.slide-bg{position:absolute;top:0;left:0;right:0;bottom:0}
.slide-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.65); -webkit-filter:brightness(.65)}
.slide-content{position:relative;padding:22vh 0 18vh;color:#fff}
.slide-title{font-size:clamp(28px,4.4vw,52px);margin:0 0 6px}
.slide-sub{font-size:clamp(16px,2vw,20px);opacity:.95;margin:0 0 16px}
.slide-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:#1f2937;padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:800;box-shadow:0 10px 22px rgba(199,168,105,.25)}
.btn.ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:none}
.btn.large{padding:14px 22px;font-size:18px}
.slider-arrow{display: none !important; /* Ocultar flechas del slider */}
.slider-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:18px;display:flex;gap:8px}
.slider-dots button{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.6);background:transparent;cursor:pointer; -webkit-appearance:none; -moz-appearance:none; appearance:none}
.slider-dots button.is-active{background:#fff}

/* Sections */
.section{padding:70px 0}
.section.alt{background:var(--bg-alt)}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--muted);font-size:12px;margin-bottom:6px}
.section h2{margin:.2rem 0 1rem;font-size:clamp(22px,2.4vw,32px)}
.grid{display:grid;gap:22px}
.grid.two{grid-template-columns:1.2fr .8fr}
.grid.three{grid-template-columns:repeat(3,1fr)}
.grid.three.cards .card{height:100%}
@media (max-width:900px){.grid.two,.grid.three{grid-template-columns:1fr}}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.facts li{font-weight:600}
.service .icon{height:44px;width:44px;margin-bottom:8px}

/* Logos clientes */
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;align-items:center}
.logos img{filter:grayscale(100%);opacity:.8;transition:.2s; -webkit-transition:.2s; -moz-transition:.2s}
.logos img:hover{filter:none;opacity:1; -webkit-filter:none}

/* CTA */
.cta{background:linear-gradient(120deg,var(--indigo),var(--indigo-2));color:#fff}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.cta .btn{background:#fff}
@media (max-width:900px){.cta-inner{flex-direction:column;align-items:flex-start}}

/* Formulario / Contacto */
.form label{display:block;font-weight:700;margin-bottom:8px}
.form input,.form textarea{width:100%;border:1px solid #e5e7eb;border-radius:10px;padding:10px}
.form .gap{gap:12px}
.social{display:flex;gap:10px;margin-top:10px}
.social a{display:inline-flex;padding:8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}

/* Footer */
.site-footer{background:#0b1f3b;color:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.footer-inner a{color:#fff}

/* Ajustes para footer en móvil */
@media (max-width:860px){
  .footer-inner {
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }
  
  .brand-logo {
    height: 80px !important;
  }
  
  .footer-inner > div {
    font-size: 14px;
  }
}

/* Navegación móvil */
@media (max-width:860px){
  .nav-toggle{display:inline-block}
  .menu{position:absolute;right:16px;top:58px;background:#0b1f3b;border:1px solid rgba(255,255,255,.2);border-radius:12px;flex-direction:column;padding:10px;display:none; z-index:1001}
  .menu.show{display:flex}
}

/* Suavidad */
:where(a,button){transition:all .18s ease; -webkit-transition:all .18s ease; -moz-transition:all .18s ease}

  /* Estilos específicos para el bloque 40/60 */
  .split {
    display: flex;
    gap: 28px;
    align-items: center;
    justify-content: space-between;
    margin: 24px 0;
  }

  .split .left {
    flex: 0 0 40%;
    max-width: 40%;
  }

  .split .right {
    flex: 0 0 60%;
    max-width: 60%;
  }

  .split h3 {
    margin: 0 0 12px 0;
    font-size: 1.6rem;
  }

  .split p {
    margin: 0 0 12px 0;
    line-height: 1.6;
    color: var(--muted);
  }

  .split .img-wrap {
    width: 100%;
    height: 350px; /* ajusta altura si lo requieres */
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow);
  }

  .split .img-wrap img{
    width:100%;
    height:100%;
    object-fit: cover;
    display:block;
  }

  /* Responsive: en pantallas pequeñas se apila */
  @media (max-width:900px){
    .split {
      flex-direction: column;
      gap: 16px;
    }
    .split .left,
    .split .right {
      max-width: 100%;
      flex: 0 0 100%;
    }
    .split .img-wrap { height: 220px; }
  }
  
    /* nosotros*/
          * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }
        
        body {
            background-color: #f8f9fa;
            color: #333;
            line-height: 1.6;
        }
        
        .mvv-container {
            max-width: 1200px;
            margin: 50px auto;
            padding: 0 20px;
        }
        
        .mvv-header {
            text-align: center;
            margin-bottom: 50px;
        }
        
        .mvv-header h1 {
            font-size: 2.5rem;
            color: #1a4f72;
            margin-bottom: 15px;
            position: relative;
            display: inline-block;
        }
        
        .mvv-header h1::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform:translateX(-50%);
            -webkit-transform:translateX(-50%);
            width: 80px;
            height: 4px;
            background-color: #4caf50;
        }
        
        .mvv-header p {
            font-size: 1.1rem;
            color: #666;
            max-width: 700px;
            margin: 0 auto;
        }
        
        .mvv-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
        }
        
        .mvv-item {
            background: white;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            -webkit-transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        
        .mvv-item:hover {
            transform: translateY(-5px);
            -webkit-transform: translateY(-5px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
        }
        
        .mvv-item-header {
            background-color: #1a4f72;
            color: white;
            padding: 20px;
            text-align: center;
        }
		
		.mvv-item-header2 {
            background-color: #c7a869;
            color: white;
            padding: 20px;
            text-align: center;
        }
        
        .mvv-item-header h2 {
            font-size: 1.5rem;
            margin: 0;
        }
        
        .mvv-item-content {
            padding: 25px;
        }
        
        .mvv-item-content p {
            margin-bottom: 15px;
            color: #444;
        }
        
        .valores-list {
            list-style-type: none;
        }
        
        .valores-list li {
            padding: 10px 0;
            border-bottom: 1px solid #eee;
            display: flex;
            align-items: center;
        }
        
        .valores-list li:last-child {
            border-bottom: none;
        }
        
        .valores-list li::before {
            content: "✓";
            color: #4caf50;
            font-weight: bold;
            margin-right: 10px;
            font-size: 1.2rem;
        }
        
        @media (max-width: 768px) {
            .mvv-grid {
                grid-template-columns: 1fr;
            }
            
            .mvv-header h1 {
                font-size: 2rem;
            }
        }

/* WhatsApp flotante */
.whatsapp-float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 25px;
  right: 25px;
  background-color: #25d366;
  color: #FFF;
  border-radius: 50px;
  text-align: center;
  font-size: 30px;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}

.whatsapp-float:hover, .whatsapp-float:active {
  background-color: #128C7E;
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
}

/* Overlay para cerrar menú en móviles */
.menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  z-index: 999;
}

.menu-overlay.active {
  display: block;
}