:root{
  --primary:#0e1b4d;
  --primary-2:#0a215c;
  --accent:#ffd200;
  --light:#f5f7ff;
  --muted:#6b7280;
  --dark:#0b1020;
  --bg:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:#111}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1100px,92%);margin:auto}
.flex{display:flex;align-items:center}
.space-between{justify-content:space-between}
.sep{opacity:.5;margin:0 .4rem}
.site-header .topbar{background:var(--primary-2);color:#cbd5e1;font-size:.92rem}
.topbar a{color:#cbd5e1}
.topbar .social a{margin-left:.6rem;display:inline-block;padding:.5rem 0}
.navbar{background:var(--primary);position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.75rem;color:#fff;font-weight:700;letter-spacing:.2px;padding:.5rem 0}
.brand img{height:58px;width:auto;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.brand span small{font-size:.72rem;font-weight:600;opacity:.9}
.nav-menu{list-style:none;margin:0;padding:0;display:flex;gap:1rem}
.nav-menu a{display:inline-block;padding:1.1rem .7rem;color:#dbeafe;font-weight:600}
.nav-menu a:hover{background:rgba(255,255,255,.08);color:#fff;border-radius:8px}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.25rem}
@media (max-width:880px){
  .nav-toggle{display:inline-flex}
  .nav-menu{position:absolute;right:.8rem;top:74px;background:var(--primary);flex-direction:column;width:240px;padding:.5rem;border-radius:12px;display:none;box-shadow:0 14px 40px rgba(0,0,0,.25)}
  .nav-menu.show{display:flex}
}

.hero{position:relative;overflow:hidden}
.slide{min-height:68vh;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center}
.slide .overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(14,27,77,.85), rgba(14,27,77,.45))}
.hero-text{position:relative;color:#fff;text-align:center;padding:1rem 1.25rem;max-width:900px}
.hero-text h1{font-weight:800;font-size:clamp(2rem,3.3vw,3.5rem);line-height:1.05;margin:0}
.hero-text h1 span{color:var(--accent)}
.hero-text h1 small{display:block;margin-top:.25rem;font-size:1.25rem;letter-spacing:2px}
.hero-logo{height:90px;margin:0 auto 1rem auto}
.hero-social a{margin:0 .25rem;display:inline-flex;width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.2);align-items:center;justify-content:center}
.hero-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;gap:.4rem;justify-content:center}
.hero-dots .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}
.hero-dots .dot.active{background:#fff}

.section{padding:3.5rem 0}
.section.alt{background:var(--light)}
.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem}
.intro h2{color:var(--primary)}
.intro h3{margin:.2rem 0 1rem 0}
.intro-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.level-card{position:relative;border-radius:14px;overflow:hidden;color:#fff}
.level-card img{height:260px;width:100%;object-fit:cover;filter:contrast(1.05) saturate(1.05)}
.level-card .badge{position:absolute;left:12px;bottom:70px;background:rgba(14,27,77,.85);padding:.25rem .5rem;border-radius:6px;font-size:.8rem}
.level-card h4{position:absolute;left:12px;bottom:12px;margin:0;font-size:1.35rem;text-shadow:0 5px 20px rgba(0,0,0,.6)}
@media (max-width:960px){
  .intro-grid{grid-template-columns:1fr}
  .intro-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .intro-cards{grid-template-columns:1fr}
}

.history{background:linear-gradient(90deg,#091942,#0b255f)}
.history-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;color:#e5ecff}
.history-text h2{color:#fff}
.history-text p{opacity:.95}
.history-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border-radius:18px;padding:2rem 1rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.years .big{font-size:5.6rem;font-weight:800;color:#ffd200;line-height:.9}
.years .small{display:block;text-align:center;letter-spacing:6px}
.tagline{opacity:.9;margin-top:6px;font-weight:600}
.video-embed{display:flex;justify-content:center;margin-top:1rem}
.video-embed iframe{width:min(860px,100%);height:420px;border-radius:14px}

.page-hero{background:linear-gradient(180deg, #0e1b4d, #0a215c);color:#fff;padding:3rem 0}
.page-hero h1{margin:0 0 .4rem 0}

.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.rounded{border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.2rem;list-style: none;padding-left:0}
.values li::before{content:'• ';color:var(--accent);font-weight:800;margin-right:.25rem}
.check{list-style:none;padding:0;margin:0}
.check li{margin:.45rem 0;padding-left:1.5rem;position:relative}
.check li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--accent);font-weight:800}

.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.platform-card{background:var(--light);border-radius:14px;padding:1.4rem;text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.08);transition:transform .2s}
.platform-card:hover{transform:translateY(-4px)}
.platform-card i{font-size:2.2rem;color:var(--primary)}
.platform-card h3{margin:.6rem 0 .2rem 0}

.contact-form{display:grid;gap:.8rem}
.contact-form input,.contact-form textarea{width:100%;padding:.8rem;border-radius:10px;border:1px solid #cbd5e1;font:inherit}
.contact-form label{font-weight:600;color:#1f2937}
.contact-form .btn{justify-self:start}
.map iframe{width:100%;height:320px;border:0;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.contact-details{margin-top:1rem;color:#374151}

.site-footer{background:#0a183d;color:#d1dbff;margin-top:2rem}
.site-footer .footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;padding:2rem 0}
.site-footer h4{color:#fff;margin:.1rem 0 .6rem 0}
.footer-bottom{background:#07102a;padding:.9rem 0;text-align:center;color:#94a3b8}
.btn{display:inline-block;background:var(--accent);color:#111;padding:.7rem 1rem;border-radius:10px;font-weight:700;box-shadow:0 6px 14px rgba(0,0,0,.15)}
.btn-secondary{background:#1f3a8a;color:#fff}
.whatsapp{position:fixed;right:16px;bottom:16px;background:#25D366;width:54px;height:54px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.25);z-index:60}
.whatsapp i{font-size:1.6rem}

@media (max-width:960px){
  .cols-2{grid-template-columns:1fr}
  .site-footer .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .site-footer .footer-grid{grid-template-columns:1fr}
}


/* ===== Redes en cabecera (ajustado) ===== */
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-social{display:flex;align-items:center;gap:10px;margin-left:auto}
.nav-social a{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}
.nav-social img{
  width:30px;
  height:30px;
  filter:brightness(0) invert(1);
  opacity:.65;
  transition:opacity .15s, transform .15s;
  display:block;
}
.nav-social img:hover{opacity:1;transform:translateY(-1px)}
.brand img, header .logo img{height:90px;width:auto;max-height:60px;display:block}
