:root{
  --bg:#0f0f10;
  
  --bg-soft:#151518;
  --card:#1b1b20;
  --text:#e8e8ec;
  --muted:#a8a8b3;
  --brand:#ffe100;
  --brand-ink:#121212;
  --ok:#19c37d;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 8px 28px rgba(0,0,0,.35);
  --max:1100px;
}

/* Reset */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Inter,sans-serif;
  color:var(--text); background:var(--bg); line-height:1.55;
}

/* Helpers */
.container{width:min(100%,var(--max)); margin-inline:auto; padding:0 16px}
.section{padding:64px 0}
.section--alt{background:var(--bg-soft)}
.section__head{margin-bottom:28px}
.muted{color:var(--muted)}
.lead{font-size:1.1rem; color:#dcdce2}
.eyebrow{letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:#ffc400}
.grid{display:grid; gap:16px}
.grid--3{grid-template-columns:1fr}
@media (min-width:760px){.grid--3{grid-template-columns:repeat(3,1fr)}}

/* Topbar */
.topbar{background:#0a0a0b; border-bottom:1px solid #222}
.topbar__row{display:flex; gap:16px; justify-content:center; padding:6px 0}
.topbar__link{font-size:.82rem; color:var(--muted)}
.topbar__link:hover{color:var(--text)}

/* Header */
.header{position:sticky; top:0; z-index:50; background:rgba(15,15,16,.9); backdrop-filter:saturate(120%) blur(6px); border-bottom:1px solid #222}
.header__row{display:flex; align-items:center; justify-content:space-between; height:64px}
.brand{display:inline-flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.06em}
.brand__dot{width:16px; height:16px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 3px #000 inset}
.brand--footer .brand__dot{box-shadow:none}

.nav__toggle{display:inline-flex; flex-direction:column; gap:4px; background:transparent; border:0; padding:8px; cursor:pointer}
.nav__toggle span{width:24px;height:2px;background:#fff;border-radius:2px}
.nav__list{position:fixed; inset-inline:0; top:64px; background:#0f0f10; border-top:1px solid #222; display:none; flex-direction:column; padding:16px}
.nav__list a{padding:10px 8px; border-radius:8px}
.nav__list a:hover{background:#1a1a1f}
.nav__list.show{display:flex}
@media (min-width:920px){
  .nav__toggle{display:none}
  .nav__list{display:flex !important; position:static; flex-direction:row; gap:14px; background:none; border:0; padding:0}
}

/* Buttons */
.btn{
  display:inline-block; padding:12px 18px; border-radius:999px;
  background:var(--brand); color:var(--brand-ink); font-weight:800;
  box-shadow:var(--shadow); border:2px solid transparent
}
.btn:hover{filter:brightness(.98); transform:translateY(-1px)}
.btn--ghost{background:transparent; color:#fff; border-color:#2a2a2f}
.btn--sm{padding:9px 14px; font-size:.92rem}

/* Hero */
.hero{padding:32px 0 64px; background:linear-gradient(180deg,#0f0f10 0,#121217 70%,#121217 100%)}
.hero__grid{display:grid; gap:28px}
.hero__copy h1{font-size:clamp(2rem,5vw,3rem); margin:.2em 0}
.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin:16px 0 10px}
.bullets{display:flex; gap:16px; flex-wrap:wrap; padding-left:18px}
.bullets li{list-style:disc; color:var(--muted)}
.hero__media{align-self:center; border-radius:var(--radius); overflow:hidden; background:#0b0b0c; box-shadow:var(--shadow)}
.hero__media figcaption{font-size:.8rem; color:var(--muted); padding:8px 12px; border-top:1px solid #222}
@media (min-width:980px){
  .hero__grid{grid-template-columns:1.1fr .9fr; align-items:center}
}

/* Cards & promo */
.card{
  background:var(--card); border:1px solid #23232a; border-radius:var(--radius);
  padding:18px; box-shadow:var(--shadow)
}
.benefit .icon{font-size:1.8rem; display:inline-block; margin-bottom:4px}
.promo{padding:40px 0; background:#101015; border-block:1px solid #202028}
.promo__row{display:grid; gap:16px; align-items:center; grid-template-columns:1fr}
.promo__copy h3{margin:0 0 6px}
.promo img{border-radius:var(--radius)}
@media (min-width:900px){.promo__row{grid-template-columns:1.2fr .8fr}}

/* Programas */
.chips{display:flex; gap:8px; flex-wrap:wrap; padding:0; margin:12px 0 0}
.chip{background:#1a1a20; border:1px solid #2a2a34; color:#dcdce4; padding:8px 12px; border-radius:999px; cursor:pointer}
.chip:is(:hover,.is-active){outline:2px solid #2e2e39}
.cards{margin-top:14px}
.program__img{border-radius:12px}
.program__body{display:grid; gap:10px; margin-top:10px}
.program__meta{display:flex; gap:12px; flex-wrap:wrap; color:var(--muted); font-size:.9rem}

/* Slider testimonios */
.slider{position:relative}
.slider__track{display:flex; gap:16px; overflow:auto hidden; scroll-snap-type:x mandatory; padding:6px}
.slider__track > *{scroll-snap-align:start; flex:0 0 85%; max-width:480px}
@media (min-width:820px){.slider__track > *{flex:0 0 45%}}
@media (min-width:1100px){.slider__track > *{flex:0 0 32%}}
.slider__ctrl{
  position:absolute; top:50%; translate:0 -50%;
  background:#0a0a0c; border:1px solid #2a2a34; color:#fff; width:36px; height:36px; border-radius:50%;
  display:grid; place-items:center; cursor:pointer
}
.slider__ctrl:hover{background:#15151a}
.slider__ctrl[data-prev]{left:-8px}
.slider__ctrl[data-next]{right:-8px}
.tcard{display:flex; gap:14px; align-items:center; background:var(--card); border:1px solid #23232a; border-radius:var(--radius); padding:16px}
.tcard img{border-radius:50%}

/* CTA Empresas */
.cta{background:#0c0c0f; padding:56px 0}
.cta__box{
  display:grid; gap:20px; align-items:center;
  grid-template-columns:1fr; background:linear-gradient(180deg,#17171d,#121218); border:1px solid #24242c;
  border-radius:var(--radius); padding:24px
}
.cta__box img{border-radius:var(--radius)}
@media (min-width:980px){.cta__box{grid-template-columns:1.2fr .8fr}}

/* Acordeón */
.accordion__item{
  background:var(--card); border:1px solid #23232a; border-radius:var(--radius); padding:14px 18px; margin-bottom:10px
}
.accordion__item > summary{cursor:pointer; font-weight:700}
.accordion__item[open] > summary{color:#fff}
.accordion__item p{color:#d8d8e2}

/* Newsletter */
.newsletter{background:#0c0c10; padding:36px 0}
.newsletter__row{display:grid; gap:16px; align-items:center; grid-template-columns:1fr}
.newsletter__form{display:flex; gap:10px; flex-wrap:wrap}
.newsletter__form input{
  flex:1 1 240px; min-width:200px; padding:12px 14px; border-radius:999px; border:1px solid #2a2a34; background:#0f0f12; color:#fff
}
.newsletter__msg{width:100%; font-size:.9rem; color:var(--ok); min-height:1.2em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Footer */
.footer{background:#08080a; border-top:1px solid #1c1c22; margin-top:36px}
.footer__grid{display:grid; gap:22px; grid-template-columns:1fr; padding:28px 0}
.footer__nav{display:grid; gap:8px}
.footer__bottom{padding:14px 0; border-top:1px solid #16161b; color:var(--muted)}
@media (min-width:900px){.footer__grid{grid-template-columns:1.2fr repeat(3,1fr)}}
