:root{
  --bg: #0b0c0f;
  --bg2:#0f1117;
  --card:#121520;
  --text:#ffffff;
  --muted: rgba(255,255,255,.72);
  --muted2: rgba(255,255,255,.55);
  --accent:#FE9D06; /* podés cambiar por dorado si querés */
  --shadow: 0 14px 40px rgba(0,0,0,.35);
  --radius: 22px;
}

*{box-sizing:border-box}
html,body{font-family:"Figtree",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
body{background:#0b0c0f;color:var(--text);}

/* NAV */
.navbar{
  background: rgba(10,10,12,.55);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.navbar .brand-text{font-weight:800; letter-spacing:.08em; font-size:.85rem; opacity:.9}
.nav-link{color:rgba(255,255,255,.84)!important}
.nav-link:hover{color:#fff!important}
.btn-accent{
  background: var(--accent);
  border: 1px solid rgba(255,255,255,.14);
  color:#0b0c0f;
  font-weight:800;
}
.btn-accent:hover{filter:brightness(.96)}

/* HERO */
.hero{
  position:relative;
  min-height: 92vh;
  padding-top: 92px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(800px 600px at 10% 20%, rgba(254,157,6,.18), transparent 55%),
    radial-gradient(700px 500px at 80% 60%, rgba(255,255,255,.08), transparent 55%),
    linear-gradient(180deg, #0b0c0f 0%, #0f1117 100%);
  z-index:0;
}
.hero-content{position:relative; z-index:1;}
.pill{
  display:inline-flex;
  gap:.5rem;
  padding:.45rem .7rem;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.86);
  font-size:.85rem;
}
.hero h1{
  font-size: clamp(2.1rem, 4.2vw, 3.8rem);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.02em;
}
.hero .lead{color:var(--muted); max-width: 56ch}

/* HERO CARD */
.hero-card{
  background: rgba(18,21,32,.75);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.carousel-control-prev-icon, .carousel-control-next-icon{
  filter: drop-shadow(0 8px 16px rgba(0,0,0,.35));
}

.mini-metrics{
  display:grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .75rem;
}
.metric{
  padding:.9rem 1rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
}
.metric .k{font-size:.78rem; color: var(--muted2)}
.metric .v{font-weight:800}

/* SECTIONS */
.section{padding: 80px 0; background: #0f1117;}
.section h2{font-weight:900; letter-spacing:-.01em}
.section-soft{background: #0c0e13;}
.section-dark{background: #0b0c0f;}
.text-muted{color: rgba(255,255,255,.70)!important}
.text-muted-light{color: rgba(255,255,255,.72)!important}

/* Feature cards */
.feature{
  padding: 18px 18px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  height:100%;
}
.feature i{font-size: 1.25rem; color: var(--accent)}
.feature h5{margin-top:.75rem; font-weight:800}
.feature p{margin: .4rem 0 0; color: rgba(255,255,255,.68)}

/* Program cards */
.badge-line{display:flex; flex-wrap:wrap; gap:.5rem}
.badge-chip{
  display:inline-flex; align-items:center;
  gap:.35rem;
  padding:.55rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.85);
  font-size:.9rem;
}
.program-card{
  background: rgba(18,21,32,.72);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  padding: 18px 18px 14px;
  height:100%;
}
.program-card h5{font-weight:900}
.program-card p{color: rgba(255,255,255,.70)}
.program-card ul{margin: .5rem 0 0; padding-left: 1.1rem; color: rgba(255,255,255,.78)}
.program-card li{margin: .25rem 0}
.shadow-soft{box-shadow: var(--shadow)}

/* Contact */
.contact-card{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  padding: 22px;
}
.contact-list .item{
  display:flex; gap:.8rem; align-items:flex-start;
  padding: .7rem .1rem;
}
.contact-list i{font-size:1.1rem; color: var(--accent); margin-top:.1rem}
.contact-list .k{font-size:.8rem; color: rgba(255,255,255,.60)}
.contact-list .v a{color:#fff; text-decoration:none}
.contact-list .v a:hover{text-decoration:underline}

.map-wrap{
  border-radius: var(--radius);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  min-height: 360px;
}
.map-wrap iframe{width:100%; height:100%; min-height: 360px}

/* Footer */
.footer{background:#0b0c0f; border-top:1px solid rgba(255,255,255,.06)}
.footer-brand{display:inline-flex; opacity:.95}
.footer .small{color:rgba(255,255,255,.55)!important}

/* WhatsApp floating */
.whatsapp-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: #25D366;
  color: #0b0c0f;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
  z-index: 9999;
  text-decoration:none;
  font-size: 26px;
}
.whatsapp-float:hover{filter:brightness(.95)}

@media (max-width: 991px){
  .hero{min-height:auto; padding-bottom: 42px;}
}
