:root{
  --bg: #ffffff;
  --purple: #6B46FF; /* morado principal */
  --purple-600: #5a38d6;
  --blue: #1E90FF;   /* azul de acento */
  --muted: #e9eefb;
  --text: #111827;
  --card: #f8f9ff;
  --radius: 14px;
  --shadow: 0 6px 18px rgba(13, 32, 80, 0.08);
}

/* Reset básico */
*{box-sizing: border-box;margin:0;padding:0}
html,body{height:100%;font-family: 'Poppins', sans-serif;background:var(--bg);color:var(--text);}

/* NAV */
nav{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 20px;margin:18px;border-radius:18px;background:linear-gradient(90deg,var(--muted), #f2f6ff);
  box-shadow:var(--shadow);
}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:100px;height:100px;object-fit:contain;border-radius:10px}
.brand-text strong{color:var(--purple);display:block}
.brand-text .small{font-size:0.78rem;color:#475569}

/* Nav links */
.nav-links{display:flex;gap:10px;align-items:center}
.nav-links a{
  display:inline-block;padding:10px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:0.94rem;color:var(--purple-600);
  background:transparent;transition:transform .18s ease, background .18s ease, color .18s ease;
}
.nav-links a:hover{transform:translateY(-3px);background:rgba(107,70,255,0.08)}
.nav-links a.active{background:linear-gradient(90deg,var(--purple),var(--blue));color:white}
.cta{background:linear-gradient(90deg,var(--purple),var(--blue));color:white;padding:10px 16px;border-radius:999px;box-shadow:0 6px 18px rgba(27, 113, 255, 0.12)}

/* Hamburger for mobile */
.hamburger{display:none;background:transparent;border:0;padding:8px;border-radius:8px}

/* Main layout */
.container{max-width:1200px;margin:18px auto;padding:0 18px;display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
.card{background:var(--card);padding:18px;border-radius:12px;box-shadow:var(--shadow);border:1px solid rgba(16,24,40,0.03)}

/* Who / content */
.page-title{color:var(--purple);font-size:1.6rem;margin-bottom:8px}
.lead{font-size:1.05rem;line-height:1.6;color:#334155;margin-bottom:14px}
.mission-vision{display:flex;gap:14px;flex-wrap:wrap}
.mv{flex:1;min-width:220px}
.mv h2{color:var(--blue);margin-bottom:6px}
.features h3{margin-top:16px;margin-bottom:8px}
.features ul{list-style:disc;margin-left:20px;color:#334155}
.small{font-size:0.9rem;color:#475569}

/* Aside */
.side img.side-img{width:100%;border-radius:8px;margin-top:12px}
.side-list{list-style:none;padding-left:0;margin-top:8px}
.side-list li{background:linear-gradient(90deg, rgba(107,70,255,0.04), rgba(30,144,255,0.03));padding:8px;border-radius:8px;margin-bottom:8px}

/* Footer */
.site-footer{text-align:center;margin:28px 0;color:#64748b}

/* Responsive adjustments */
@media (max-width: 900px){
  .container{grid-template-columns:1fr 300px}
}
@media (max-width: 720px){
  .nav-links{display:none}
  .hamburger{display:inline-flex}
  .container{grid-template-columns:1fr;}
  .side{order:2}
  .who{order:1}
}

/* Mobile menu panel */
.mobile-panel{display:none;position:fixed;inset:72px 16px auto 16px;background:white;padding:12px;border-radius:12px;box-shadow:var(--shadow);z-index:70}
.mobile-panel.show{display:block}
.mobile-panel a{display:block;padding:12px 10px;border-radius:10px;color:var(--purple-600);text-decoration:none}
.mobile-panel a:hover{background:rgba(30,144,255,0.04)}

/* Small helpers */
.small{font-size:0.88rem;color:#475569}
.alt-color{color:var(--blue)}

/* =======================
   Compatibilidad HTML antiguo
   ======================= */
.titulos {
  font-size: 1.875rem; /* ~30px */
  color: var(--purple);
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  margin-bottom: 8px;
}

section {
  font-size: 1rem; /* texto base */
  line-height: 1.6;
  padding: 16px;
  background: transparent;
}

section p,
.lead {
  font-size: 1.05rem; /* ~17px */
  color: #334155;
}

/* último recurso */
.titulos.force {
  font-size: 1.875rem !important;
}
