:root{
  --azul-oscuro:#16324a;
  --marino:#0b2545;
  --azul:#22437a;
  --naranja:#e8791c;
  --gris-texto:#4a4f57;
  --fondo-claro:#f6f7f9;
  --blanco:#ffffff;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Segoe UI', Arial, Helvetica, sans-serif;
  color:var(--gris-texto);
  background:var(--blanco);
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}

/* Top contact bar */
.topbar{background:var(--naranja);color:#1c1c1c;font-size:13px;}
.topbar-inner{
  max-width:1140px;margin:0 auto;padding:10px 20px;
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:flex-end;
  font-weight:600;
}
.topbar-inner span{white-space:nowrap;display:flex;align-items:center;gap:8px;}
.topbar-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;background:#fff;color:var(--naranja);
  font-size:12px;flex:none;
}

/* Header / nav */
header{background:var(--blanco);border-bottom:1px solid #e7e9ee;}
.header-inner{
  max-width:1140px;margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
.logo-img{max-height:56px;width:auto;}
.badgebar-img{width:100%;display:block;}
nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;flex-wrap:wrap;}
nav a{color:#333;font-size:15px;font-weight:600;padding:6px 2px;border-bottom:2px solid transparent;}
nav a:hover{border-bottom-color:var(--naranja);}
nav a.nav-active{color:var(--naranja);border-bottom-color:var(--naranja);}

/* Hero */
.hero{position:relative;}
.hero img.banner{width:100%;height:auto;object-fit:cover;}
.divider{width:100%;}

/* Features */
.features{
  max-width:1140px;margin:50px auto;padding:0 20px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:36px 30px;
}
.feature{text-align:center;}
.feature img{width:90px;height:90px;margin:0 auto 16px;border-radius:50%;}
.feature h4{margin:0 0 8px;color:var(--azul-oscuro);font-size:17px;}
.feature p{margin:0;font-size:14px;line-height:1.5;}

/* Stats */
.stats{background:var(--azul);color:var(--blanco);text-align:center;padding:50px 20px;}
.stats h2{margin:0;font-size:52px;font-weight:800;color:var(--naranja);}
.stats p{margin:6px 0 0;text-transform:uppercase;letter-spacing:1px;font-size:14px;opacity:.9;}
.stats-lead{max-width:620px;margin:0 auto 24px;font-size:15px;opacity:.85;}

/* Location / contact */
.info-wrap{background:var(--marino);padding:50px 20px;}
.info-section{
  max-width:1140px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:40px;text-align:center;
}
.info-block h3{color:var(--naranja);font-size:24px;margin-bottom:14px;font-weight:700;}
.info-block p{font-size:15px;line-height:1.7;margin:4px 0;color:#dfe6f0;}

footer{
  background:var(--naranja);color:#fff;text-align:center;padding:16px 20px;
  font-size:13px;font-weight:700;position:relative;
}
footer .sitelock{position:absolute;left:20px;top:50%;transform:translateY(-50%);opacity:.8;font-weight:600;}

/* Inner pages */
.page-hero img{width:100%;}
.page-body{max-width:900px;margin:40px auto;padding:0 20px;}
.page-body h2{color:var(--azul-oscuro);font-size:26px;margin-bottom:18px;}
.page-body h4{color:var(--azul-oscuro);font-size:17px;margin:22px 0 8px;}
.page-body p{font-size:15px;line-height:1.7;}
.steps{padding-left:20px;}
.steps li{margin-bottom:10px;font-size:15px;line-height:1.6;}
.staff-card{background:var(--fondo-claro);border-radius:8px;padding:20px 24px;margin:18px 0;}
.staff-card h5{margin:0 0 4px;color:var(--azul-oscuro);font-size:15px;}
.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:24px 0 40px;align-items:start;}
.program-grid img{border-radius:8px;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0;}
.gallery-grid img{border-radius:6px;height:120px;width:100%;object-fit:cover;}

@media (max-width:800px){
  .features{grid-template-columns:repeat(2,1fr);}
  .info-section{grid-template-columns:1fr;}
  .topbar-inner{justify-content:center;text-align:center;}
  nav ul{gap:16px;justify-content:center;width:100%;}
  .header-inner{justify-content:center;text-align:center;}
  .logo-img{max-height:44px;}
}
@media (max-width:700px){
  .program-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
}
