:root{
  --verde:#00B77F;
  --verde-claro:#00E39F;
  --verde-osc:#00936A;
  --dark:#101513;
  --dark2:#1a231f;
  --ink:#1d1d1f;
  --gris:#55595e;
  --gris-suave:#8a8f94;
  --crema:#F7F4EE;
  --blanco:#ffffff;
  --amarillo:#ffd166;
  --rojo:#e0442c;
  --radius:18px;
  --shadow:0 20px 60px rgba(16,21,19,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--blanco);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.logo{font-family:"Sora","Inter",sans-serif}
img{max-width:100%;display:block}
a{color:var(--verde);text-decoration:none}
.container{max-width:1140px;margin:0 auto;padding:0 24px}
.narrow{max-width:780px}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);border-bottom:1px solid #eef0ef}
header.site .inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-weight:800;font-size:23px;color:var(--dark);letter-spacing:-.5px;text-decoration:none;display:inline-flex;align-items:center}
.logo:hover{opacity:.85}
.logo span{color:var(--verde)}
.logo-img{height:30px;width:auto;display:block}
footer .logo-img{height:26px}
.logo small{display:block;font-size:10px;letter-spacing:3px;color:var(--gris-suave);font-weight:600;margin-top:-4px}
.nav{display:flex;align-items:center}
.nav a{margin-left:26px;font-size:15px;color:var(--ink);font-weight:500}
.nav a:hover{color:var(--verde)}
.nav a.cta{background:var(--verde);color:#fff;padding:10px 20px;border-radius:99px;font-weight:700;box-shadow:0 6px 18px rgba(0,183,127,.3)}
.nav a.cta:hover{background:var(--verde-osc)}

/* Barra urgencia */
.urgency-bar{background:linear-gradient(90deg,#101513,#1e2a25);color:#eef2f0;text-align:center;padding:11px 16px;font-size:14px;font-weight:600}
.urgency-bar b{color:var(--amarillo)}

/* Hero split */
.hero{position:relative;background:
  radial-gradient(900px 600px at 90% -20%, rgba(0,183,127,.25), transparent 60%),
  linear-gradient(165deg,#101513 0%,#141b18 60%,#1c2a24 100%);
  color:#fff;padding:84px 0;overflow:hidden}
.hero .split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(30px,4.4vw,52px);line-height:1.08;letter-spacing:-1.5px;font-weight:800;margin-bottom:20px}
.hero h1 em{color:var(--verde-claro);font-style:normal}
.hero p.sub{font-size:clamp(16px,1.9vw,19px);color:#c4cdc8;margin-bottom:28px;max-width:560px}
.hero p.sub b{color:#fff}
.hero .foto{position:relative}
.hero .foto img{border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.5);aspect-ratio:4/3;object-fit:cover}
.hero .foto .float{position:absolute;left:-18px;bottom:22px;background:#fff;color:var(--ink);border-radius:14px;padding:12px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 14px 40px rgba(0,0,0,.35);font-size:13.5px;font-weight:600;line-height:1.3}
.hero .foto .float b{display:block;font-size:14.5px}
.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:99px;padding:8px 16px;font-size:13.5px;font-weight:600;color:#fff}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--verde-claro)}
.hero-note{font-size:13px;color:#93a09a;margin-top:14px}
.hero-list{list-style:none;margin:8px 0 6px;padding:0}
.hero-list li{font-size:16px;color:#dfe6e2;padding:5px 0}
.hero-list li b{color:#fff}
.logos-titulo{text-align:center;color:var(--gris-suave);font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:22px}

/* Botones */
.btn{display:inline-block;background:linear-gradient(135deg,var(--verde) 0%,#00cf90 100%);color:#fff;font-weight:700;font-size:17px;padding:16px 36px;border-radius:99px;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s;text-align:center;box-shadow:0 10px 30px rgba(0,183,127,.35);font-family:"Inter",sans-serif}
.btn:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 14px 38px rgba(0,183,127,.45)}
.btn.big{font-size:19px;padding:19px 46px}
.btn.ghost{background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff;box-shadow:none}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.sec{background:#fff;color:var(--verde-osc);border:2px solid var(--verde);box-shadow:none}

/* Secciones */
section{padding:78px 0}
section.alt{background:var(--crema)}
section.dark{background:linear-gradient(165deg,#101513,#18221d);color:#fff}
.kicker{display:block;text-align:center;color:var(--verde);font-weight:700;letter-spacing:2.5px;text-transform:uppercase;font-size:13px;margin-bottom:12px}
section.dark .kicker{color:var(--verde-claro)}
h2.sec{font-size:clamp(25px,3.4vw,40px);font-weight:800;letter-spacing:-.8px;text-align:center;margin-bottom:14px;line-height:1.14;color:var(--ink)}
section.dark h2.sec{color:#fff}
p.sec-sub{text-align:center;color:var(--gris);max-width:660px;margin:0 auto 46px;font-size:17px}
section.dark p.sec-sub{color:#b9c2bd}

/* Cards */
.grid{display:grid;gap:22px}
.grid.c2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid.c3{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.grid.c4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:#fff;border:1px solid #ecefee;border-radius:var(--radius);padding:28px;color:var(--ink);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card h3{font-size:18px;margin-bottom:8px;font-weight:700;color:var(--ink)}
.card p{font-size:15px;color:var(--gris)}
.card .ico{font-size:30px;margin-bottom:14px;display:block}
.card.hl{border:2px solid var(--verde);box-shadow:0 12px 40px rgba(0,183,127,.14)}
.card.foto-card{padding:0;overflow:hidden}
.card.foto-card img{aspect-ratio:16/9;object-fit:cover;width:100%}
.card.foto-card .body{padding:24px 26px}

/* Split media section */
.media-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.media-split img{border-radius:22px;box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;width:100%}
.media-split h2{font-size:clamp(24px,3vw,36px);font-weight:800;letter-spacing:-.7px;line-height:1.15;margin-bottom:16px;color:var(--ink)}
section.dark .media-split h2{color:#fff}
.media-split .lead{color:var(--gris);font-size:16.5px;margin-bottom:20px}
section.dark .media-split .lead{color:#b9c2bd}
.check-list{list-style:none}
.check-list li{padding:9px 0 9px 34px;position:relative;font-size:15.5px;color:var(--ink)}
section.dark .check-list li{color:#e7ece9}
.check-list li::before{content:"✓";position:absolute;left:0;top:8px;width:23px;height:23px;border-radius:50%;background:rgba(0,183,127,.14);color:var(--verde);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.check-list li b{color:inherit}

/* Datos clave (curso) */
.datos-clave{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:960px;margin:0 auto}
.dato{background:#fff;border:1px solid #ecefee;border-radius:16px;padding:22px;text-align:center;color:var(--ink)}
.dato .e{font-size:26px}
.dato b{display:block;font-size:17px;margin-top:8px;color:var(--ink)}
.dato span{font-size:13.5px;color:var(--gris)}

/* Logos empresas */
.logos-wall{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center}
.logos-wall img{height:60px;width:auto;max-width:158px;object-fit:contain;background:#fff;border:1px solid #e6e9e8;border-radius:14px;padding:12px 20px;box-shadow:0 4px 14px rgba(16,21,19,.05)}
.logos-note{text-align:center;color:var(--gris-suave);font-size:13px;margin-top:20px}
@media(max-width:640px){.logos-wall img{height:46px;max-width:118px;padding:9px 13px}}

/* Banda certificación Microsoft (landing bolsa) */
.cert-band{background:#fff;border:1px solid #e7ebe9;border-radius:22px;max-width:920px;margin:0 auto;padding:30px 36px;display:flex;align-items:center;gap:26px;box-shadow:0 14px 44px rgba(16,21,19,.07)}
.cert-band .ms-logo{flex:none}
.cert-band .txt h3{font-size:22px;font-weight:800;letter-spacing:-.4px;color:var(--ink);margin-bottom:6px;font-family:"Sora",sans-serif}
.cert-band .txt p{font-size:15.5px;color:var(--gris);line-height:1.55}
.cert-band .txt p b{color:var(--ink)}
@media(max-width:640px){.cert-band{flex-direction:column;text-align:center;gap:16px;padding:26px 22px}}

/* Franja urgencia inferior (últimas plazas) */
.plazas-band{max-width:760px;margin:0 auto;background:linear-gradient(135deg,#fff7e9,#fff);border:1px solid #ffe1a8;border-radius:20px;padding:26px 30px;text-align:center}
.plazas-band .chip{display:inline-block;background:#fff3d6;border:1px solid #ffd98a;color:#9a6200;font-weight:800;font-size:14px;border-radius:99px;padding:8px 18px;margin-bottom:14px}
.plazas-band h3{font-size:23px;font-weight:800;letter-spacing:-.4px;color:var(--ink);margin-bottom:8px;font-family:"Sora",sans-serif}
.plazas-band p{font-size:15.5px;color:var(--gris);margin-bottom:20px}

/* PayPal / separador de pago */
.pay-sep{display:flex;align-items:center;gap:14px;margin:18px 0 14px;color:var(--gris-suave)}
.pay-sep::before,.pay-sep::after{content:"";flex:1;height:1px;background:#e6eae8}
.pay-sep span{font-size:12.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
#paypal-wrap{min-height:0;transition:opacity .2s}
#paypal-btns{max-width:100%}

/* Sello Microsoft */
.ms-badge{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid #e5e8e7;border-radius:14px;padding:14px 22px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.ms-badge svg{flex:none}
.ms-badge .t{font-size:14px;color:var(--ink);text-align:left;line-height:1.35}
.ms-badge .t b{display:block;font-size:15px;color:var(--ink)}

/* ===== Wizard multi-paso ===== */
.wizard-wrap{max-width:620px;margin:0 auto}
.wizard{background:#fff;border-radius:24px;box-shadow:0 26px 80px rgba(0,0,0,.22);padding:38px;color:var(--ink);min-height:430px;display:flex;flex-direction:column}
.wizard *{color:var(--ink)}
.progress{height:7px;background:#eef1f0;border-radius:99px;overflow:hidden;margin-bottom:10px}
.progress .fill{height:100%;background:linear-gradient(90deg,var(--verde),var(--verde-claro));border-radius:99px;transition:width .3s ease;width:0%}
.step-count{font-size:12.5px;color:var(--gris-suave) !important;font-weight:600;letter-spacing:.5px;margin-bottom:22px}
.step{display:none;animation:fadeIn .25s ease;flex:1;display:none;flex-direction:column}
.step.active{display:flex}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step h3{font-size:clamp(20px,2.6vw,26px);font-weight:800;letter-spacing:-.4px;line-height:1.2;margin-bottom:6px;color:var(--ink)}
.step p.hint{font-size:14.5px;color:var(--gris) !important;margin-bottom:22px}
.step input[type=text],.step input[type=email],.step input[type=tel]{width:100%;padding:16px 18px;border:2px solid #e3e7e5;border-radius:14px;font-size:17px;background:#fff;color:var(--ink);font-family:inherit}
.step input:focus{outline:none;border-color:var(--verde)}
.tel-row{display:flex;gap:10px}
.tel-row select{width:132px;flex:none;padding:15px 10px;border:2px solid #e3e7e5;border-radius:14px;font-size:15.5px;background:#fff;color:var(--ink)}
.opts{display:grid;gap:11px}
.opt{display:block;width:100%;text-align:left;padding:15px 18px;border:2px solid #e3e7e5;border-radius:14px;font-size:15.5px;font-weight:600;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .12s,background .12s;font-family:inherit}
.opt:hover{border-color:var(--verde);background:#f2fbf8}
.opt.sel{border-color:var(--verde);background:#e9f9f3}
.wiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:26px}
.wiz-back{background:none;border:none;color:var(--gris) !important;font-size:14px;cursor:pointer;font-weight:600;padding:8px 4px;font-family:inherit}
.wiz-back:hover{color:var(--ink) !important}
.wiz-next{background:linear-gradient(135deg,var(--verde),#00cf90);color:#fff !important;font-weight:700;font-size:16.5px;padding:14px 34px;border-radius:99px;border:none;cursor:pointer;box-shadow:0 8px 24px rgba(0,183,127,.35);font-family:inherit}
.wiz-next:hover{filter:brightness(1.06)}
.wiz-next:disabled{opacity:.45;cursor:not-allowed}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--gris) !important;margin:6px 0 4px;line-height:1.5}
.consent input{margin-top:3px;width:17px;height:17px;flex:none;accent-color:var(--verde)}
.consent span{color:var(--gris) !important}
.err{color:var(--rojo) !important;font-size:13.5px;display:none;margin-top:10px;font-weight:600}
.wizard-intro{text-align:center;padding:20px 0}
.wizard-intro .e{font-size:44px;margin-bottom:12px}

/* Precio */
.price-box{background:#fff;border:2px solid var(--verde);border-radius:26px;max-width:560px;margin:0 auto;padding:40px;text-align:center;box-shadow:0 24px 70px rgba(0,183,127,.18);color:var(--ink)}
.price-box *{color:var(--ink)}
.price-box .tag{font-size:13px;font-weight:800;color:var(--verde-osc) !important;text-transform:uppercase;letter-spacing:1.6px}
.price-box .fecha{display:inline-block;background:#fff6e4;border:1px solid #ffe1a8;color:#9a6200 !important;font-weight:700;font-size:14px;border-radius:99px;padding:8px 18px;margin:14px 0 4px}
.price-box .precio{font-size:60px;font-weight:800;letter-spacing:-2.5px;margin:10px 0 0;color:var(--dark) !important;font-family:"Sora",sans-serif}
.price-box .precio small{font-size:19px;font-weight:600;color:var(--gris) !important;letter-spacing:0}
.price-box ul{list-style:none;text-align:left;margin:24px 0;font-size:15.2px}
.price-box ul li{padding:8px 0 8px 32px;position:relative;color:var(--ink) !important}
.price-box ul li b{color:var(--ink) !important}
.price-box ul li::before{content:"✓";position:absolute;left:0;top:7px;width:22px;height:22px;border-radius:50%;background:rgba(0,183,127,.14);color:var(--verde) !important;font-weight:800;font-size:12.5px;display:flex;align-items:center;justify-content:center}
.planes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 18px}
.plan{position:relative;background:#fff;border:2px solid #e3e7e5;border-radius:16px;padding:16px 14px 14px;cursor:pointer;text-align:center;font-family:"Inter",sans-serif;transition:border-color .15s,background .15s;display:flex;flex-direction:column;gap:2px}
.plan:hover{border-color:var(--verde)}
.plan.sel{border-color:var(--verde);background:#eafaf4}
.plan .plan-tit{font-size:13.5px;font-weight:700;color:var(--gris) !important;text-transform:uppercase;letter-spacing:.5px}
.plan .plan-precio{font-size:30px;font-weight:800;color:var(--dark) !important;font-family:"Sora",sans-serif;letter-spacing:-1px}
.plan .plan-precio small{font-size:14px;font-weight:600;color:var(--gris) !important;letter-spacing:0}
.plan .plan-nota{font-size:12.5px;color:var(--gris) !important}
.plan .plan-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--verde);color:#fff !important;font-size:11px;font-weight:800;padding:3px 12px;border-radius:99px;letter-spacing:.5px;text-transform:uppercase}
.pago-seguro{margin-top:20px;padding-top:18px;border-top:1px solid #eef1f0}
.ps-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:14px}
.ps-badge{font-size:13px;font-weight:600;color:var(--gris) !important;background:#f2f7f5;border:1px solid #e3ece8;border-radius:99px;padding:7px 14px}
.ps-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}
.pl{height:34px;min-width:56px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e6e4;border-radius:8px;padding:0 12px;font-weight:800;font-size:15px;font-family:Arial,sans-serif}
.pl.visa{color:#1a1f71;font-style:italic;letter-spacing:.5px}
.pl.amex{color:#2e77bc;font-size:12px;letter-spacing:.5px}
.pl.stripe{color:#635bff;font-size:16px;letter-spacing:-.5px}
.pl.paypal{color:#003087;font-size:15px}
.pl.paypal b{color:#009cde;font-weight:800}
.pl.mc{gap:0;padding:0 14px}
.pl.mc i{width:20px;height:20px;border-radius:50%;display:inline-block}
.pl.mc .c1{background:#eb001b}
.pl.mc .c2{background:#f79e1b;margin-left:-9px;mix-blend-mode:multiply}
.ps-nota{font-size:11.5px;color:var(--gris-suave) !important;text-align:center;margin-top:12px}
.fin-note{font-size:13px;color:var(--gris) !important;margin-top:16px;line-height:1.6}
.plazas{display:inline-block;background:#fff3e6;border:1px solid #ffd8ad;color:#b45309;font-weight:700;font-size:14px;border-radius:99px;padding:8px 18px}

/* Areas 11 */
.area{background:#fff;border:1px solid #ecefee;border-radius:15px;padding:20px 22px;display:flex;gap:15px;align-items:flex-start;color:var(--ink)}
.area .n{flex:none;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--verde),#00cf90);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;font-family:"Sora",sans-serif}
.area h4{font-size:15.5px;margin-bottom:3px;color:var(--ink)}
.area p{font-size:13.5px;color:var(--gris);line-height:1.5}

/* Equipo */
.person{text-align:center}
.person .avatar{width:112px;height:112px;border-radius:50%;background:linear-gradient(135deg,#e8f7f1,#d2f1e6);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:800;color:var(--verde-osc);margin:0 auto 16px;font-family:"Sora",sans-serif}
.person h3{font-size:18px;color:var(--ink)}
.person p{font-size:14px;color:var(--gris)}

/* Banner CTA con foto */
.banner-cta{position:relative;border-radius:26px;overflow:hidden;color:#fff;min-height:340px;display:flex;align-items:center}
.banner-cta img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner-cta .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,12,.92) 0%,rgba(10,14,12,.72) 45%,rgba(10,14,12,.25) 100%)}
.banner-cta .content{position:relative;padding:52px 56px;max-width:560px}
.banner-cta h2{font-size:clamp(23px,3vw,34px);font-weight:800;letter-spacing:-.6px;line-height:1.15;margin-bottom:14px;color:#fff}
.banner-cta p{color:#d4dcd7;font-size:16px;margin-bottom:24px}

/* FAQ */
details{background:#fff;border:1px solid #ecefee;border-radius:14px;padding:20px 24px;margin-bottom:12px;color:var(--ink)}
details summary{font-weight:700;cursor:pointer;font-size:16px;color:var(--ink);font-family:"Sora",sans-serif}
details p{margin-top:10px;color:var(--gris);font-size:15px}

/* Footer */
footer{background:var(--dark);color:#9aa39e;padding:44px 0;font-size:14px}
footer .inner{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
footer a{color:#cfd6d2}
footer a:hover{color:#fff}

@media(max-width:860px){
  .hero .split,.media-split{grid-template-columns:1fr;gap:34px}
  .hero{padding:56px 0}
  .hero .foto .float{left:10px}
  .banner-cta .content{padding:38px 30px}
}
@media(max-width:640px){
  .nav a:not(.cta){display:none}
  section{padding:52px 0}
  .wizard{padding:26px 22px;min-height:400px}
}
