
:root{
  --azul:#1F4E79;
  --azul-acero:#2E86C1;
  --gris:#A6A6A6;
  --gris-osc:#333333;
  --naranja:#E67E22;
  --bg:#f4f4f4;
}

*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--gris-osc);background:var(--bg);line-height:1.6}

header{background:var(--azul);color:#fff;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:10}
header nav a{color:#fff;margin:0 10px;text-decoration:none;font-weight:bold}
header .cta{background:var(--naranja);padding:8px 15px;border-radius:6px;color:#fff;text-decoration:none}
header nav a:hover{color:var(--naranja)}

section{padding:40px 20px margin:auto}
.center{text-align:center}
.mt-2{margin-top:16px}

.btn{background:var(--naranja);color:#fff;padding:10px 18px;border-radius:6px;text-decoration:none;display:inline-block}
.btn-outline{border:2px solid var(--azul);color:var(--azul);padding:8px 14px;border-radius:6px;text-decoration:none}

footer{background:var(--gris-osc);color:#fff;text-align:center;padding:20px;font-size:.95rem}
footer a{color:#fff}

/* Hero slider */
.hero{position:relative;height:600px;padding:0}
.hero .swiper{height:600px}
.hero-slide{background-size:cover;background-position:center;position:relative}
.hero-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 55%,rgba(255,255,255,.12) 100%);mix-blend-mode:screen;pointer-events:none}
.hero-text{position:absolute;bottom:15%;left:8%;max-width:520px;background:rgba(0,0,0,.45);color:#fff;padding:20px;border-radius:10px}

/* Services slider */
.services-swiper .service{background:#fff;border-radius:10px;text-align:center;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.08);position:relative;overflow:hidden}
.services-swiper .service::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 55%,rgba(255,255,255,.12) 100%);mix-blend-mode:screen;pointer-events:none}
.services-swiper img{max-width:100%;border-radius:8px;margin-bottom:10px}
h2{color:var(--azul);text-align:center;margin-bottom:20px}

/* Banner Quienes Somos */
.banner{height:360px;border-radius:10px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.45))}
.banner-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:0 16px}
.banner-text h1{margin:0 0 10px}

/* Grids & cards */
.grid-2{display:grid;grid-template-columns:1fr;gap:20px}
.grid-3{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:820px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}

.card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.card.small{padding:16px}

.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:center;justify-items:center}
@media(min-width:820px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:#fff;border-radius:12px;padding:20px 10px;box-shadow:0 2px 8px rgba(0,0,0,.06);text-align:center;width:100%}
.stat .num{display:block;font-size:2rem;color:var(--azul)}
.stat .label{color:#555}

/* Contact map */
.map-wrap{width:100%;height:100%}
.map-embed{position:relative;width:100%;padding-bottom:56.25%;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.map-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
