/* CursosIA 2.3.2 | Sistema tipográfico unificado para TODA la home.
 * Cargado en último lugar: sustituye tamaños dispares heredados.
 * No cambia paleta ni piezas gráficas de los diseños aprobados.
 */
body.home{
  --ci-text:16px; --ci-small:14px; --ci-h2:clamp(31px,2.8vw,40px);
  --ci-h3:clamp(18px,1.48vw,22px); --ci-button:15px;
  --ci-section-space:clamp(55px,5.4vw,82px);
  font-size:var(--ci-text);line-height:1.55;
}
/* Cabecera y hero */
body.home header{min-height:66px}
body.home nav a{font-size:14px}
body.home header .head-sign,body.home header .head-join{min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;padding:10px 17px}
body.home .hero h1{font-size:clamp(44px,4.35vw,66px);line-height:1.07;letter-spacing:-1.6px}
body.home .hero-copy>p{font-size:clamp(16px,1.25vw,18px);line-height:1.56}
body.home .hero .eyebrow{font-size:13px}
body.home .hero-ctas .btn{min-height:49px;font-size:var(--ci-button);padding:12px 20px}
body.home .stat strong{font-size:clamp(19px,1.55vw,25px)}
body.home .stat small{font-size:13px;line-height:1.36}
body.home .value strong{font-size:14px;line-height:1.35}
body.home .value small{font-size:12px;line-height:1.35}
/* Títulos de sección: una sola escala. */
body.home .section-head h2,
body.home .section-inline h2,
body.home .benefits-redesign .benefits-head h2,
body.home .steps-redesign .cihow-heading h2,
body.home .courses-fidelity .courses-fidelity-head h2,
body.home .tutor-fidelity h2,
body.home .enterprise-fidelity h2,
body.home .pricing-redesign .pricing-intro h2,
body.home .faq-grid h2,
body.home .pricing-head h2 {
  font-size:var(--ci-h2);font-weight:850;line-height:1.16;letter-spacing:-.9px;
}
body.home .section-head p,
body.home .section-inline p,
body.home .benefits-redesign .benefits-head>p,
body.home .steps-redesign .cihow-heading>p,
body.home .courses-fidelity .courses-fidelity-head p,
body.home .tutor-fidelity .tf-lead,
body.home .enterprise-fidelity .ef-lead,
body.home .pricing-redesign .pricing-intro-copy>p,
body.home .faq-grid>div>p {
  font-size:16px;line-height:1.55;
}
/* Tarjetas de beneficios, proceso y rutas */
body.home .benefits-redesign .benefit-copy h3,
body.home .steps-redesign .cihow-card h3,
body.home .routes .route-content h3,
body.home .courses-fidelity .cf-body h3,
body.home .benefit-card h3,
body.home .price-card .plan-heading h3 {
  font-size:var(--ci-h3);font-weight:850;line-height:1.3;letter-spacing:-.35px;
}
body.home .benefits-redesign .benefit-copy p,
body.home .steps-redesign .cihow-card>p,
body.home .routes .route-content p,
body.home .courses-fidelity .cf-body>p,
body.home .benefit-card p,
body.home .pricing-redesign .plan-heading p,
body.home .testimonial p {
  font-size:15px;line-height:1.55;
}
body.home .benefits-redesign .benefit-copy h3{margin-bottom:12px}
body.home .courses-fidelity .cf-body h3{margin:9px 0 12px}
body.home .routes .route-more,body.home .courses-fidelity .cf-link,body.home .text-link{font-size:14px}
body.home .testimonial-top strong{font-size:14px}
body.home .testimonial-top small{font-size:12px}
body.home .testimonial p{margin-top:14px}
body.home .tutor-fidelity .tf-checks li,body.home .enterprise-fidelity .ef-checks li{font-size:15px;line-height:1.45}
body.home .pricing-redesign .plan-features li{font-size:15px;line-height:1.43}
body.home .pricing-redesign .plan-list-heading{font-size:14px}
body.home .pricing-redesign .plan-heading .plan-subtitle{font-size:13px}
body.home .pricing-redesign .plan-price .price-number{font-size:clamp(37px,3.3vw,48px)}
body.home .pricing-redesign .plan-price>span{font-size:14px}
body.home .faq-grid summary,body.home .faq-grid details p{font-size:14px;line-height:1.45}
body.home .faq-grid details summary{padding:13px 15px}
body.home .faq-cols{gap:9px}
body.home .foot-nav{font-size:12px}
body.home .foot-tag,body.home .copyright{font-size:11px}
/* Igualar botones principales de toda la home, sin alterar controles diminutos dentro del panel demo */
body.home .hero-ctas .btn,
body.home .tutor-fidelity .tf-cta,
body.home .enterprise-fidelity .ef-cta,
body.home .pricing-redesign .price-card .btn,
body.home .bottom-cta .btn{
  min-height:48px;font-size:var(--ci-button);font-weight:800;padding:12px 20px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
}
body.home .bottom-cta strong{font-size:clamp(21px,1.8vw,28px);line-height:1.21}
body.home .bottom-cta p{font-size:15px;line-height:1.45}
/* Espacio coherente entre TODOS los bloques de la portada */
body.home .hero{padding-bottom:45px}
body.home .value-strip{padding-bottom:var(--ci-section-space)}
body.home .benefits.benefits-redesign{padding-top:var(--ci-section-space);padding-bottom:var(--ci-section-space)}
body.home .steps.steps-redesign{padding-top:var(--ci-section-space);padding-bottom:var(--ci-section-space)}
body.home .routes{padding-top:var(--ci-section-space);padding-bottom:var(--ci-section-space)}
body.home .courses.courses-fidelity{padding-top:var(--ci-section-space);padding-bottom:var(--ci-section-space)}
body.home .tutor.tutor-fidelity{padding-top:var(--ci-section-space);padding-bottom:var(--ci-section-space)}
body.home .enterprise.enterprise-fidelity{padding-top:var(--ci-section-space);padding-bottom:var(--ci-section-space)}
body.home .testimonials{padding-top:var(--ci-section-space);padding-bottom:var(--ci-section-space)}
body.home .pricing.pricing-redesign{padding-top:var(--ci-section-space);padding-bottom:var(--ci-section-space)}
body.home .faqs{padding-top:var(--ci-section-space);padding-bottom:var(--ci-section-space)}
body.home .section-head{margin-bottom:25px}
body.home .benefits-redesign .benefits-head,body.home .steps-redesign .cihow-heading{margin-bottom:35px}
body.home .bottom-cta-inner{min-height:116px}

/* REPARACIÓN: tutor derecha. El texto manuscrito y prestaciones son HTML,
 * el dibujo aprobado aparece en su zona, con el texto incrustado oculto por un recorte CSS. */
body.home .tutor-fidelity .tf-grid{grid-template-columns:minmax(0,31%) minmax(0,35%) minmax(0,32%);gap:1%;align-items:center}
body.home .tutor-fidelity .tf-robot{display:block;background:transparent;overflow:visible;min-width:0}
body.home .tutor-fidelity .tf-robot-stage{position:relative;isolation:isolate;min-height:350px;width:100%;border:0;border-radius:0;background:linear-gradient(135deg,#edf7ff,#e9f3ff);overflow:hidden}
body.home .tutor-fidelity .tf-robot-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 90% 30%,#dceaff 0,transparent 62%);z-index:-1}
body.home .tutor-fidelity .tf-robot-stage img{
  display:block;position:absolute;right:-7%;top:0;width:126%;max-width:none;height:auto;
  object-fit:contain;object-position:right top;
  clip-path:inset(0 0 41% 53%);
  mix-blend-mode:multiply;z-index:1;pointer-events:none;
}
body.home .tutor-fidelity .tf-robot-note{
  position:absolute;left:7%;top:10%;font-family:"Segoe Print","Comic Sans MS",cursive;
  color:#3465f4;font-size:clamp(17px,1.5vw,23px);line-height:1.16;
  font-weight:600;transform:rotate(-10deg);z-index:3;
}
body.home .tutor-fidelity .tf-robot-arrow{top:43%;left:10%;width:80px;height:50px;border-color:#3165ff;z-index:3}
body.home .tutor-fidelity .tf-feature-card{
  left:10%;right:4%;bottom:5%;width:auto;z-index:4;
  border:1px solid #e2eaf7;background:#fff;
  border-radius:13px;box-shadow:0 8px 23px rgba(36,77,132,.13);overflow:hidden;
}
body.home .tutor-fidelity .tf-feature-card ul{list-style:none;margin:0;padding:0}
body.home .tutor-fidelity .tf-feature-card li{position:relative;padding:10px 10px 10px 40px;font-size:13px;line-height:1.36;color:#495b78;background:#fff;border-bottom:1px solid #edf1f8;border-top:0}
body.home .tutor-fidelity .tf-feature-card li:last-child{border:0}
body.home .tutor-fidelity .tf-feature-card li::before{content:'✓';width:20px;height:20px;left:12px;background:#dff9e7;color:#0aaa5a;font-size:12px}
/* REPARACIÓN: testimonio, firma junto a su opinión, no al pie de una tarjeta vacía. */
body.home .enterprise-fidelity .ef-testimonial-content{display:flex;flex-direction:column;justify-content:flex-start;gap:13px;padding:20px 17px;height:100%;background:#fff}
body.home .enterprise-fidelity .ef-quote-wrap{flex:0 0 auto;display:block}
body.home .enterprise-fidelity .ef-testimonial-content>div>p{font-size:13px;line-height:1.55;margin:0;color:#596780}
body.home .enterprise-fidelity .ef-author-row{margin:0;padding:0;border:0}
body.home .enterprise-fidelity .ef-author{align-items:center;gap:10px}
body.home .enterprise-fidelity .ef-author img{width:39px;height:39px;object-fit:cover;border-radius:50%}
body.home .enterprise-fidelity .ef-author strong{font-size:12px;line-height:1.3}
body.home .enterprise-fidelity .ef-author small{font-size:11px;line-height:1.35}
/* Fotografía del equipo: fundido aprobado por el lado izquierdo. */
body.home .enterprise-fidelity .ef-team{overflow:hidden;border-radius:0;background:#fff}
body.home .enterprise-fidelity .ef-team::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,#fff 0,rgba(255,255,255,.9) 9%,rgba(255,255,255,.52) 22%,transparent 48%);
}
body.home .enterprise-fidelity .ef-team img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center center;border-radius:0}

@media(max-width:1199px) and (min-width:900px){
 body.home{--ci-h2:clamp(30px,2.8vw,35px);--ci-h3:19px;--ci-button:14px;--ci-section-space:57px}
 body.home .tutor-fidelity .tf-grid{grid-template-columns:31% 35% 32%;gap:1%}
 body.home .tutor-fidelity .tf-robot-stage{min-height:300px}
 body.home .tutor-fidelity .tf-robot-note{font-size:16px}
 body.home .tutor-fidelity .tf-feature-card{left:8%;right:2%}
 body.home .tutor-fidelity .tf-feature-card li{font-size:11px;padding:8px 8px 8px 32px}
 body.home .tutor-fidelity .tf-feature-card li::before{left:7px;width:17px;height:17px}
 body.home .enterprise-fidelity .ef-testimonial-content{padding:12px 10px;gap:10px}
 body.home .enterprise-fidelity .ef-testimonial-content>div>p{font-size:11px}
 body.home .enterprise-fidelity .ef-author img{width:32px;height:32px}
 body.home .enterprise-fidelity .ef-author strong{font-size:10px}
 body.home .enterprise-fidelity .ef-author small{font-size:9px}
}
@media(max-width:899px){
 body.home{--ci-h2:clamp(28px,4vw,35px);--ci-h3:20px;--ci-section-space:50px}
 body.home .tutor-fidelity .tf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
 body.home .tutor-fidelity .tf-robot-stage{min-height:330px;border-radius:16px}
 body.home .tutor-fidelity .tf-robot-note{left:6%;top:8%;font-size:clamp(17px,2vw,21px)}
 body.home .tutor-fidelity .tf-feature-card{left:6%;right:5%;bottom:5%}
 body.home .tutor-fidelity .tf-feature-card li{font-size:12px;padding:9px 10px 9px 34px}
 body.home .tutor-fidelity .tf-feature-card li::before{left:8px;width:18px;height:18px}
 body.home .enterprise-fidelity .ef-testimonial-content{min-height:0;gap:15px}
 body.home .enterprise-fidelity .ef-testimonial-content>div>p{font-size:14px}
 body.home .enterprise-fidelity .ef-author strong{font-size:13px}
 body.home .enterprise-fidelity .ef-author small{font-size:12px}
}
@media(max-width:700px){
 body.home{--ci-h2:clamp(27px,7.5vw,32px);--ci-h3:20px;--ci-button:14px;--ci-section-space:45px}
 body.home header{height:62px;min-height:62px}
 body.home .hero h1{font-size:clamp(34px,9vw,43px);letter-spacing:-1px}
 body.home .hero-copy>p{font-size:15px}
 body.home .hero .eyebrow{font-size:11px}
 body.home .hero-ctas .btn{min-height:46px;font-size:13px;padding:10px 12px}
 body.home .value strong{font-size:12px}
 body.home .value small{font-size:11px}
 body.home .section-head p,body.home .section-inline p,
 body.home .benefits-redesign .benefits-head>p,body.home .steps-redesign .cihow-heading>p,
 body.home .courses-fidelity .courses-fidelity-head p,body.home .tutor-fidelity .tf-lead,
 body.home .enterprise-fidelity .ef-lead,body.home .pricing-redesign .pricing-intro-copy>p{
   font-size:15px;line-height:1.55
 }
 body.home .benefits-redesign .benefit-copy p,body.home .steps-redesign .cihow-card>p,
 body.home .routes .route-content p,body.home .courses-fidelity .cf-body>p,
 body.home .testimonial p{font-size:14px}
 body.home .routes .route-content h3,body.home .courses-fidelity .cf-body h3,
 body.home .benefits-redesign .benefit-copy h3,body.home .steps-redesign .cihow-card h3{font-size:20px}
 body.home .pricing-redesign .plan-features li{font-size:14px}
 body.home .tutor-fidelity .tf-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 body.home .tutor-fidelity .tf-robot-stage{max-width:420px;min-height:335px;margin:auto}
 body.home .tutor-fidelity .tf-robot-note{font-size:clamp(17px,4.9vw,21px)}
 body.home .tutor-fidelity .tf-feature-card{left:8%;right:5%}
 body.home .enterprise-fidelity .ef-testimonial-content>div>p{font-size:15px;line-height:1.5}
 body.home .enterprise-fidelity .ef-author strong{font-size:14px}
 body.home .enterprise-fidelity .ef-author small{font-size:12px}
}
@media(max-width:390px){
 body.home .tutor-fidelity .tf-robot-stage{min-height:300px}
 body.home .tutor-fidelity .tf-robot-note{left:5%;top:7%;font-size:17px}
 body.home .tutor-fidelity .tf-robot-arrow{top:37%;width:60px;height:42px}
 body.home .tutor-fidelity .tf-feature-card li{font-size:11px;padding:8px 7px 8px 34px}
}
/* Noche: mismo diseño con tipografía contrastada. */
body.dark.home .tutor-fidelity .tf-robot-stage{background:#e8f3ff}
body.dark.home .tutor-fidelity .tf-robot-note{color:#3261e9}
/* Refuerzo visual final: ilustración sin textos incrustados visibles y flecha SVG. */
body.home .tutor-fidelity .tf-robot-stage img{clip-path:inset(0 0 41% 61%)}
body.home .tutor-fidelity .tf-robot-arrow,
body.home .tutor-fidelity .tf-robot-arrow::before{
  border:0;transform:none;display:block;content:none;
}
body.home .tutor-fidelity .tf-robot-arrow{position:absolute;left:7%;top:37%;width:87px;height:80px;z-index:3;color:#3465fc}
@media(max-width:1199px){body.home .tutor-fidelity .tf-robot-arrow{left:4%;top:35%;width:70px;height:72px}}
@media(max-width:700px){body.home .tutor-fidelity .tf-robot-arrow{top:33%;left:4%;width:77px;height:70px}}

/* Estadísticas del equipo: reconstrucción HTML que no se corta ni deja panel vacío. */
body.home .enterprise-fidelity .ef-progress{border:0;overflow:visible;background:transparent}
body.home .enterprise-fidelity .ef-progress-card{
 width:100%;height:100%;min-height:260px;padding:17px 16px;
 background:#fff;border:1px solid #e2eafa;border-radius:14px;
 box-shadow:0 4px 17px rgba(25,67,117,.045);display:flex;flex-direction:column;
}
body.home .enterprise-fidelity .ef-progress-card h3{font-size:16px;color:#10204b;margin:0 0 16px;font-weight:850;line-height:1.25}
body.home .enterprise-fidelity .ef-chart{
 display:flex;align-items:center;gap:11px;border:1px solid #e7eefb;
 border-radius:12px;background:linear-gradient(180deg,#fff,#fbfdff);
 min-height:130px;padding:14px 10px 12px;
}
body.home .enterprise-fidelity .ef-chart-bars{
 flex:1;min-width:0;height:100px;display:flex;align-items:flex-end;justify-content:space-evenly;
 gap:6px;padding:9px 0 0;border-bottom:1px solid #e9eef8;
 background:repeating-linear-gradient(0deg,transparent,transparent 23px,#edf2fa 24px);
}
body.home .enterprise-fidelity .ef-chart-bars i{width:14%;max-width:22px;display:block;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#65acff,#2682ff)}
body.home .enterprise-fidelity .ef-chart-bars i:nth-child(1){height:34%}
body.home .enterprise-fidelity .ef-chart-bars i:nth-child(2){height:48%}
body.home .enterprise-fidelity .ef-chart-bars i:nth-child(3){height:62%}
body.home .enterprise-fidelity .ef-chart-bars i:nth-child(4){height:71%}
body.home .enterprise-fidelity .ef-chart-bars i:nth-child(5){height:80%}
body.home .enterprise-fidelity .ef-chart-bars i:nth-child(6){height:93%;background:linear-gradient(180deg,#4cda86,#08b46a)}
body.home .enterprise-fidelity .ef-chart-growth{text-align:center;min-width:88px;display:flex;flex-direction:column;gap:7px}
body.home .enterprise-fidelity .ef-chart-growth strong{font-size:25px;font-weight:900;color:#059851;line-height:1.2}
body.home .enterprise-fidelity .ef-chart-growth span{font-size:11px;line-height:1.3;color:#72809d}
body.home .enterprise-fidelity .ef-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
body.home .enterprise-fidelity .ef-metrics div{border:1px solid #e7eefb;border-radius:10px;padding:12px 7px;min-height:84px;background:#fff}
body.home .enterprise-fidelity .ef-metrics strong{display:block;font-size:23px;line-height:1.1;color:#069c5a;font-weight:850;margin-bottom:5px}
body.home .enterprise-fidelity .ef-metrics div:nth-child(2) strong{color:#3a42e7}
body.home .enterprise-fidelity .ef-metrics div:nth-child(3) strong{color:#091944}
body.home .enterprise-fidelity .ef-metrics span{display:block;font-size:10px;line-height:1.3;color:#7786a3}
@media(min-width:900px) and (max-width:1199px){
 body.home .enterprise-fidelity .ef-progress-card{padding:11px 8px;min-height:238px}
 body.home .enterprise-fidelity .ef-progress-card h3{font-size:13px;margin-bottom:9px}
 body.home .enterprise-fidelity .ef-chart{min-height:103px;padding:10px 5px}
 body.home .enterprise-fidelity .ef-chart-bars{height:76px;gap:3px}
 body.home .enterprise-fidelity .ef-chart-growth{min-width:62px}
 body.home .enterprise-fidelity .ef-chart-growth strong{font-size:18px}
 body.home .enterprise-fidelity .ef-chart-growth span{font-size:9px}
 body.home .enterprise-fidelity .ef-metrics{gap:4px}
 body.home .enterprise-fidelity .ef-metrics div{padding:8px 4px;min-height:70px}
 body.home .enterprise-fidelity .ef-metrics strong{font-size:19px}
 body.home .enterprise-fidelity .ef-metrics span{font-size:9px}
}
@media(max-width:899px){
 body.home .enterprise-fidelity .ef-progress-card{min-height:290px}
 body.home .enterprise-fidelity .ef-metrics span{font-size:11px}
}
body.dark.home .enterprise-fidelity .ef-progress-card{background:#1a2b49;border-color:#334866}
body.dark.home .enterprise-fidelity .ef-progress-card h3{color:#f4f7ff}
/* Ajuste proporcional de la cabecera/hero en escritorio compacto. */
@media(min-width:701px) and (max-width:1199px){
 body.home header nav a{font-size:11px}
 body.home header .head-sign,body.home header .head-join{font-size:10px;min-height:36px;padding:7px 11px}
 body.home .hero h1{font-size:clamp(30px,3.3vw,42px);line-height:1.05;letter-spacing:-1.1px}
 body.home .hero-copy>p{font-size:clamp(12px,1.25vw,15px);line-height:1.5}
 body.home .value strong{font-size:12px}
 body.home .value small{font-size:11px}
 body.home .hero-ctas .btn{font-size:12px;min-height:43px;padding:8px 12px}
 body.home .hero .eyebrow{font-size:11px}
 body.home .stat strong{font-size:15px}
 body.home .stat small{font-size:10px}
}
/* Firma pegada a la opinión en desktop, sin prolongar la tarjeta innecesariamente. */
@media(min-width:900px){
 body.home .enterprise-fidelity .ef-grid{align-items:center}
 body.home .enterprise-fidelity .ef-team,body.home .enterprise-fidelity .ef-visual{height:324px;min-height:0;align-self:center}
 body.home .enterprise-fidelity .ef-progress-card{height:324px;min-height:0}
 body.home .enterprise-fidelity .ef-testimonial{height:auto;min-height:0;overflow:visible}
 body.home .enterprise-fidelity .ef-testimonial-content{height:auto;min-height:0;padding:20px 15px}
}
@media(min-width:900px) and (max-width:1199px){
 body.home .enterprise-fidelity .ef-team,body.home .enterprise-fidelity .ef-visual{height:270px}
 body.home .enterprise-fidelity .ef-progress-card{height:270px}
}
/* La respuesta de ejemplo del chat móvil debe verse completa, no quedar cortada bajo el formulario. */
@media(max-width:700px){
 body.home .tutor-fidelity .tf-chat{max-height:none;min-height:0}
 body.home .tutor-fidelity .tf-chat-body{max-height:none;min-height:0;overflow:visible;flex:0 0 auto}
 body.home .tutor-fidelity .tf-chat-input{flex-shrink:0}
}
body.home .tutor-fidelity .tf-robot-note{font-family:'Comic Sans MS','Comic Neue',cursive}
