:root{--bg:#11171d;--panel:#141b22;--green:#00ff1e;--cyan:#11e9ef;--purple:#5931ff;--text:#f4f5f5;--muted:#a8adb1;--shadow:0 16px 22px #0008;--radius:0}. *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}.container{width:min(1450px,calc(100% - 64px));margin:auto}.site-header{height:102px;background:#11171d;position:sticky;top:0;z-index:20}.nav-wrap{height:100%;display:flex;align-items:center;gap:45px}.brand{display:flex;align-items:flex-end;min-width:160px}.brand-mark{width:55px;height:46px;border-radius:0 0 22px 22px;background:#fff;display:block;position:relative}.brand-mark:after{content:"";position:absolute;right:-17px;bottom:0;width:31px;height:24px;border:7px solid #fff;border-left:0;border-radius:0 17px 17px 0}.brand-copy{display:flex;flex-direction:column;margin-left:8px;line-height:.9}.brand-copy b{font-size:22px}.brand-copy small{font-size:9px;font-weight:700;margin-left:-65px;margin-top:11px;white-space:nowrap}.nav-wrap nav{display:flex;justify-content:space-between;flex:1;color:#aeb2b5}.nav-wrap nav a:hover{color:var(--green)}.btn{border-radius:40px;padding:15px 34px;display:inline-flex;justify-content:center;align-items:center;min-width:220px;font-weight:600}.btn-small{padding:8px 25px;min-width:185px}.btn-primary{background:var(--green);color:#111}.btn-outline{border:1px solid #fff}.btn-cyan{background:var(--cyan);color:#111}.section{min-height:850px;padding:70px 0 90px;position:relative;overflow:hidden}.section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 45% 55%,#063c29 0,#073224b3 18%,transparent 48%);pointer-events:none}.section>.container{position:relative;z-index:1}.eyebrow{color:var(--green);font-size:18px;margin:0 0 45px}.pill{display:inline-block;background:var(--green);color:#111;border-radius:40px;padding:7px 30px;margin:0 0 45px}.hero{padding-top:35px;min-height:980px}.hero-grid{display:grid;grid-template-columns:1.05fr 1.45fr;gap:30px}.hero h1,.section h2{font-size:65px;line-height:.92;letter-spacing:-3px;font-weight:300;margin:0 0 28px}.section h2 span{color:var(--green)}.lead{color:var(--muted);font-size:17px}.actions{display:flex;gap:24px;margin:48px 0 38px}.searchbar{border:1px solid #30383d;border-radius:30px;color:#5f6569;padding:15px 30px;max-width:610px}.hero-visual{min-height:520px;position:relative}.people-placeholder,.photo-placeholder,.laptop-placeholder,.team-placeholder{display:flex;align-items:center;justify-content:center;color:#8f9699;text-align:center;border:1px dashed #566066;background:linear-gradient(145deg,#1e2a30,#0f151a);letter-spacing:3px}.people-placeholder{width:54%;height:520px;position:absolute;left:0;bottom:0;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%)}.dashboard-card{position:absolute;right:0;top:70px;width:40%;background:#151b22;padding:35px;border-radius:24px;box-shadow:var(--shadow)}.dash-head{display:flex;flex-direction:column}.dash-head small,.dash-foot small{color:#9fa4a8}.ring{width:112px;height:112px;border:20px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:15px auto 45px;box-shadow:0 0 18px var(--green)}.bar{height:28px;background:#090f13;border-radius:7px;margin:14px 0;padding:7px 16px;font-size:12px;box-shadow:inset 0 7px 7px -7px currentColor}.bar.green{color:var(--green)}.bar.cyan{color:var(--cyan)}.bar.purple{color:var(--purple)}.bar span{color:#aeb2b5}.dash-foot{display:flex;justify-content:space-between;margin-top:35px;font-size:12px}.dash-foot span{display:flex;flex-direction:column}.dash-foot em{color:var(--green);font-style:normal;font-weight:bold}.hero-bottom{text-align:center;margin-top:70px}.hero-bottom>p{color:#b9bdc0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:50px auto 0;gap:14px}.metrics div{background:#151b22;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column}.metrics b{font-size:29px;font-weight:300}.metrics div:first-child b{color:var(--green)}.metrics span{color:#a7acaf;font-size:12px;margin-top:5px}.card-grid{display:grid;gap:32px;margin:70px auto 0;max-width:1200px}.four{grid-template-columns:repeat(4,1fr)}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}.info-card,.course{background:var(--panel);min-height:190px;padding:42px 28px;box-shadow:var(--shadow);text-align:center;position:relative}.info-card:before,.course.green:before{content:"";position:absolute;height:8px;left:0;right:0;top:0;background:var(--accent)}.green{--accent:var(--green)}.cyan{--accent:var(--cyan)}.purple{--accent:var(--purple)}.info-card h3{font-size:25px;font-weight:300;margin:10px 0 35px}.info-card p,.course p{color:#aeb2b5;font-size:14px}.filters{display:flex;gap:22px;margin:55px 25px 0}.filters>*{border:1px solid #fff;border-radius:30px;padding:6px 30px;flex:1;text-align:center}.filters b{background:var(--green);color:#111;border-color:var(--green)}.course-grid{margin-top:60px}.course{min-height:190px;padding:20px}.course small{border:1px solid #fff;border-radius:30px;padding:3px 35px}.course h3{font-weight:300}.course footer{font-size:10px;color:#aeb2b5;display:flex;justify-content:space-between;margin-top:20px}.course footer b{color:#fff}.business-panel{margin-top:70px;margin-left:210px;width:760px;min-height:480px;background:var(--panel);box-shadow:var(--shadow);display:flex;align-items:center;padding:60px;position:relative}.photo-placeholder{width:360px;height:430px;margin-left:-230px;background:linear-gradient(135deg,var(--green) 0 45%,#151b22 45%)}.progress{flex:1;padding-left:45px}.progress h4{font-size:14px}.progress label{display:flex;justify-content:space-between;margin-top:20px;color:#aeb2b5}.progress label b{color:#fff;font-size:18px}.progress i{display:block;height:14px;border-radius:8px;background:#090f13;position:relative;margin-top:3px}.progress i:after{content:"";display:block;width:var(--w);height:100%;border-radius:8px;background:linear-gradient(90deg,var(--green),transparent)}.progress i.purplebar:after{background:linear-gradient(90deg,var(--purple),transparent)}.progress .btn{margin-top:42px}.benefits{max-width:980px}.featured .feature-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center}.laptop-placeholder{height:420px;transform:skew(-8deg)}.mini{margin-top:20px;max-width:980px}.specialists{min-height:900px}.team-placeholder{height:620px;margin-top:10px;background:linear-gradient(#06382699,#11171d 90%)}.specialist-copy{position:absolute;left:0;bottom:45px;max-width:900px}.specialist-copy h2{font-size:62px}.specialist-copy p{max-width:950px;font-size:20px;color:#c3c6c8}.specialist-copy .btn{position:absolute;right:-380px;bottom:15px}.cta-top{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:45px;align-items:center}.photo-placeholder.wide{width:100%;height:330px;background:linear-gradient(135deg,var(--green) 0 45%,#151b22 45%)}.cta-section h2{font-size:52px}.cta-actions{display:flex;flex-direction:column;gap:12px;text-align:center}.cta-actions .btn{width:100%}.experts{max-width:980px}.experts .info-card{text-align:left}.experts .info-card h3{color:var(--accent);margin-bottom:8px}.experts h4{font-weight:300;color:#b8bdc0}.experts small{color:var(--accent)}.footer{min-height:630px;padding-top:400px;background:radial-gradient(circle at 45% 70%,#063c29,transparent 35%),#11171d}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:90px;align-items:start;max-width:950px}.footer-brand{transform:scale(2);transform-origin:left top;margin-top:35px}.footer h4{color:var(--green);margin:0}.footer p{color:#c3c7c9;line-height:1.4}.social{margin-top:90px;letter-spacing:7px}
@media(max-width:1000px){.site-header nav{display:none}.nav-wrap{justify-content:space-between}.container{width:min(100% - 30px,900px)}.section{min-height:auto}.hero-grid,.featured .feature-grid,.cta-top{grid-template-columns:1fr}.hero-visual{min-height:600px}.four,.three,.two{grid-template-columns:1fr 1fr}.business-panel{margin-left:0;width:100%}.photo-placeholder{margin-left:0}.specialist-copy{position:relative;bottom:auto;margin-top:-300px;padding:30px}.specialist-copy .btn{position:static}.footer-grid{grid-template-columns:1fr}.footer{padding-top:150px}.footer-brand{transform:none}}@media(max-width:650px){.section h2,.hero h1,.specialist-copy h2{font-size:42px;letter-spacing:-2px}.hero-grid{display:block}.hero-visual{min-height:680px}.people-placeholder{width:65%;height:430px}.dashboard-card{width:70%;top:300px}.metrics,.four,.three,.two{grid-template-columns:1fr}.filters{overflow:auto}.filters>*{min-width:145px}.business-panel{flex-direction:column;padding:20px}.photo-placeholder{width:100%}.progress{padding:20px;width:100%}.team-placeholder{height:500px}.specialist-copy{margin-top:-350px}.actions{flex-direction:column}.btn{width:100%}.site-header .btn-small{display:none}}

.people-placeholder{overflow:hidden}
.people-placeholder img{width:100%;height:100%;object-fit:cover;object-position:center bottom}

.people-placeholder,.laptop-placeholder{border:0;background:none;letter-spacing:normal}
.people-placeholder{clip-path:none;overflow:visible}
.people-placeholder img{object-fit:contain}
.laptop-placeholder{transform:none}
.laptop-placeholder img{display:block;width:100%;height:100%;object-fit:contain}

.photo-placeholder,.photo-placeholder.wide{border:0;background:none;letter-spacing:normal;overflow:hidden}
.photo-placeholder img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.cta-top{width:100%;min-width:0}
.cta-top>*{min-width:0}
.cta-top .photo-placeholder.wide{max-width:100%;margin:0}

@media(min-width:1001px){
  body{zoom:.8}
}

/* Sección "Capacítate hoy" basada en la referencia visual */
.cta-section{
  min-height:820px;
  padding:0 0 95px;
  background:
    radial-gradient(circle at 23% 58%,rgba(0,255,30,.10),transparent 32%),
    var(--bg);
}
.cta-section:before{
  background:radial-gradient(circle at 25% 55%,rgba(0,100,60,.22),transparent 38%);
}
.cta-section .cta-top{
  max-width:1380px;
  grid-template-columns:420px minmax(430px,1.25fr) 390px;
  gap:55px;
  align-items:center;
}
.cta-section .photo-placeholder.wide{
  width:420px;
  height:320px;
  align-self:end;
}
.cta-section .photo-placeholder.wide img{
  object-fit:cover;
  object-position:center 38%;
}
.cta-section .cta-top>div:nth-child(2){
  align-self:center;
}
.cta-section h2{
  margin:0 0 28px;
  font-size:58px;
  line-height:.88;
  letter-spacing:-3px;
}
.cta-section h2 span{
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-weight:400;
}
.cta-section .cta-top>div:nth-child(2)>p{
  max-width:600px;
  margin:0;
  color:#d2d5d7;
  font-size:14px;
  line-height:1.25;
}
.cta-section .cta-actions{
  gap:14px;
  justify-self:stretch;
}
.cta-section .cta-actions>b{
  margin-bottom:22px;
  font-size:14px;
}
.cta-section .cta-actions .btn{
  min-height:48px;
  padding:12px 28px;
}
.cta-section .cta-actions>p{
  margin-top:22px;
  white-space:nowrap;
  font-size:13px;
}
.cta-section .experts{
  max-width:850px;
  gap:55px;
  margin-top:90px;
}
.cta-section .experts .info-card{
  min-height:245px;
  padding:36px 58px 40px;
  border-radius:0 0 20px 20px;
  box-shadow:0 20px 24px #0008;
}
.cta-section .experts .info-card:before{
  height:12px;
}
.cta-section .experts .info-card h3{
  margin:8px 0 14px;
  text-align:center;
  font-size:24px;
}
.cta-section .experts .info-card h4{
  margin:0 0 25px;
  text-align:center;
  font-size:16px;
}
.cta-section .experts .info-card p{
  margin:0;
  color:#f1f2f2;
  font-size:15px;
  line-height:1.25;
}
.cta-section .experts .info-card:after{
  content:"";
  position:absolute;
  right:26px;
  bottom:22px;
  width:38px;
  height:38px;
  border:3px solid var(--green);
  border-radius:50%;
  box-shadow:-7px 16px 0 -9px var(--green);
}

@media(max-width:1000px){
  .cta-section{padding:55px 0 80px}
  .cta-section .cta-top{grid-template-columns:1fr;max-width:900px}
  .cta-section .photo-placeholder.wide{width:100%;height:auto;aspect-ratio:1.55}
  .cta-section .cta-actions{max-width:520px;width:100%;justify-self:center}
  .cta-section .experts{margin-top:60px}
}

@media(max-width:650px){
  .cta-section h2{font-size:43px}
  .cta-section .experts{grid-template-columns:1fr;gap:30px}
  .cta-section .experts .info-card{padding:34px 30px}
  .cta-section .cta-actions>p{white-space:normal}
}

/* Sección de especialistas basada en la referencia visual */
.specialists{
  min-height:840px;
  padding:52px 0 0;
  background:var(--bg);
}
.specialists:before{
  background:radial-gradient(circle at 50% 35%,rgba(0,100,55,.28),transparent 48%);
}
.specialists>.container{
  height:735px;
  max-width:1380px;
}
.specialists .pill{
  position:relative;
  z-index:4;
  margin:0;
  min-width:160px;
  padding:7px 28px;
  text-align:center;
}
.specialists .team-placeholder{
  position:absolute;
  inset:0;
  height:735px;
  margin:0;
  overflow:hidden;
  border:0;
  background:none;
  letter-spacing:normal;
}
.specialists .team-placeholder:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 34%,rgba(17,23,29,.22) 55%,rgba(17,23,29,.92) 100%);
  pointer-events:none;
}
.specialists .team-placeholder img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
}
.specialists .specialist-copy{
  z-index:3;
  left:0;
  right:0;
  bottom:64px;
  max-width:none;
  padding:0;
}
.specialists .specialist-copy h2{
  width:850px;
  margin:0 0 30px;
  font-size:61px;
  line-height:.9;
  letter-spacing:-2px;
}
.specialists .specialist-copy p{
  max-width:820px;
  margin:0;
  color:#f1f2f2;
  font-size:20px;
  line-height:1.25;
}
.specialists .specialist-copy .btn{
  right:0;
  bottom:12px;
  min-width:250px;
}
.specialists .specialist-arrow{
  position:absolute;
  right:280px;
  bottom:10px;
  width:50px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid var(--green);
  border-radius:50%;
  color:var(--green);
  font-size:34px;
  line-height:1;
}

@media(max-width:1000px){
  .specialists{min-height:auto;padding:45px 0}
  .specialists>.container{height:auto}
  .specialists .team-placeholder{position:relative;height:auto;aspect-ratio:1.35;margin-top:25px}
  .specialists .specialist-copy{position:relative;left:auto;right:auto;bottom:auto;margin:-230px 0 0;padding:30px}
  .specialists .specialist-copy h2{width:auto;font-size:48px}
  .specialists .specialist-copy .btn,.specialists .specialist-arrow{position:static;margin-top:20px}
  .specialists .specialist-arrow{display:inline-flex;margin-right:15px;vertical-align:middle}
}

@media(max-width:650px){
  .specialists .team-placeholder{aspect-ratio:.9}
  .specialists .team-placeholder img{object-position:center}
  .specialists .specialist-copy{margin-top:-260px;padding:20px}
  .specialists .specialist-copy h2{font-size:38px}
  .specialists .specialist-copy p{font-size:16px}
}

/* Mayor presencia del notebook en módulos destacados */
@media(min-width:1001px){
  .featured .laptop-placeholder{
    overflow:visible;
  }
  .featured .laptop-placeholder img{
    width:148%;
    height:148%;
    max-width:none;
    transform:translateX(-4%);
  }
}

/* Sección para empresas basada en la referencia visual */
#empresas{
  min-height:900px;
  padding-top:55px;
}
#empresas:before{
  background:radial-gradient(circle at 28% 58%,rgba(0,105,62,.25),transparent 42%);
}
#empresas>.container{
  max-width:1380px;
}
#empresas .pill{
  margin-bottom:42px;
  min-width:160px;
  text-align:center;
}
#empresas h2{
  margin-bottom:22px;
  font-size:66px;
  line-height:.88;
}
#empresas .lead{
  max-width:1180px;
  color:#c2c6c8;
  font-size:15px;
}
#empresas .business-panel{
  width:720px;
  min-height:430px;
  margin:72px 0 0 180px;
  padding:70px 62px 55px 275px;
  border-radius:0 22px 22px 0;
  overflow:visible;
}
#empresas .business-panel:after{
  content:"UP";
  position:absolute;
  top:18px;
  right:30px;
  color:transparent;
  font-size:43px;
  font-weight:800;
  letter-spacing:-8px;
  -webkit-text-stroke:1px var(--green);
}
#empresas .photo-placeholder{
  position:absolute;
  left:-180px;
  bottom:0;
  width:430px;
  height:500px;
  margin:0;
  overflow:visible;
  z-index:3;
}
#empresas .photo-placeholder img{
  object-fit:contain;
  object-position:center bottom;
}
#empresas .progress{
  position:relative;
  z-index:2;
  width:100%;
  padding:0;
}
#empresas .progress h4{
  margin:0 0 28px;
}
#empresas .progress label{
  margin-top:16px;
  font-size:13px;
}
#empresas .progress i{
  height:13px;
  overflow:hidden;
}
#empresas .progress i:nth-of-type(2):after,
#empresas .progress i:nth-of-type(3):after{
  background:linear-gradient(90deg,var(--cyan),transparent);
}
#empresas .progress .btn{
  width:100%;
  margin-top:38px;
}

@media(max-width:1000px){
  #empresas{padding-top:45px}
  #empresas h2{font-size:52px}
  #empresas .business-panel{width:calc(100% - 100px);margin:70px 0 0 100px;padding-left:245px}
  #empresas .photo-placeholder{left:-100px;width:340px;height:430px}
}

@media(max-width:650px){
  #empresas h2{font-size:40px}
  #empresas .business-panel{width:100%;margin:35px 0 0;padding:20px;overflow:hidden}
  #empresas .photo-placeholder{position:relative;left:auto;bottom:auto;width:100%;height:auto;aspect-ratio:1;margin:0}
  #empresas .business-panel:after{display:none}
  #empresas .progress{padding:25px 10px 10px}
}

/* Categorías de cursos en una sola línea */
#cursos .filters{
  flex-wrap:nowrap;
  width:100%;
  margin-left:0;
  margin-right:0;
  gap:18px;
}
#cursos .filters>*{
  min-width:0;
  padding:7px 22px;
  white-space:nowrap;
  line-height:1;
}

@media(max-width:1000px){
  #cursos .filters{
    overflow-x:auto;
    padding-bottom:8px;
    scrollbar-width:thin;
  }
  #cursos .filters>*{
    flex:0 0 auto;
    min-width:150px;
  }
}

/* Posición del panel de aprendizaje en la portada */
@media(min-width:1001px){
  #inicio .dashboard-card{
    top:10px;
  }
  #inicio .hero-bottom{
    margin-top:105px;
  }
}

/* Ajustes finos de alineación y proporciones */
@media(min-width:1001px){
  #empresas>.container{
    max-width:1450px;
  }
  #empresas .business-panel{
    padding-right:55px;
  }
  #empresas .progress{
    flex:0 0 450px;
    width:450px;
    max-width:450px;
  }
  #empresas .progress .btn{
    width:340px;
    min-width:0;
    margin-left:auto;
    margin-right:auto;
    display:flex;
  }
  .specialists .specialist-copy .btn{
    right:-55px;
  }
  .specialists .specialist-arrow{
    right:330px;
  }
}

.footer .social{
  display:flex;
  align-items:center;
  gap:16px;
  letter-spacing:normal;
}
.footer .social img{
  display:block;
  width:28px;
  height:28px;
  object-fit:contain;
}

#inicio .dashboard-card .bar{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

/* Tarjetas de cursos con imagen superior */
#cursos .course-grid{
  align-items:stretch;
}
#cursos .course{
  min-height:390px;
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border-radius:0 0 12px 12px;
}
#cursos .course-image{
  width:100%;
  height:175px;
  overflow:hidden;
  background:linear-gradient(135deg,#073d2b,#10171d);
}
#cursos .course-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
#cursos .course-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:22px 24px 18px;
}
#cursos .course-body h3{
  margin:18px 0 12px;
}
#cursos .course-body p{
  flex:1;
  margin:0 0 18px;
}
#cursos .course-body footer{
  margin-top:auto;
}

@media(min-width:1001px){
  #ejes{
    margin-top:-120px;
    padding-top:40px;
  }
}

/* --- Moodle isolation (do not alter template rules above) --- */
html,
body.upcap-home {
  background: var(--bg) !important;
  color: var(--text) !important;
}
body.upcap-home.limitedwidth {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.upcap-home #page,
body.upcap-home #page-wrapper {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.upcap-home main,
body.upcap-home .section {
  background-color: transparent;
}
body.upcap-home .upcap-home-moodle-content,
body.upcap-home .skip-block,
body.upcap-home .skiplinks,
body.upcap-home #page-footer,
body.upcap-home .footer-popover,
body.upcap-home .toast-wrapper,
body.upcap-home .navbar,
body.upcap-home #nav-drawer,
body.upcap-home .usermenu {
  display: none !important;
}
body.upcap-home .visually-hidden-focusable,
body.upcap-home .visually-hidden,
body.upcap-home .sr-only,
body.upcap-home .accesshide,
body.upcap-home .skip,
body.upcap-home .aabtn {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
body.upcap-home .course.hidden { display: none !important; }
body.upcap-home .course-body footer a {
  color: inherit;
  text-decoration: none;
}
body.upcap-home .filters [data-filter] { cursor: pointer; }
body.upcap-home .filters [data-filter].is-active {
  background: var(--green);
  color: #111;
  border-color: var(--green);
}

/* Experts cards: label as left title, no decorative circle */
.cta-section .experts .info-card:after {
  content: none !important;
  display: none !important;
}
.cta-section .experts .info-card .courses-label,
.cta-section .experts .info-card h5.courses-label {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  text-align: left;
  color: var(--accent);
  font-size: 14px;
  font-weight: 700;
  font-family: inherit;
}
.cta-section .experts .info-card p {
  text-align: left;
}

/* UPCAP section labels left: green chips with dark text */
body.upcap-home #ejes > .container > .eyebrow,
body.upcap-home #cursos > .container > .eyebrow,
body.upcap-home #empresas > .container > .pill,
body.upcap-home #estadisticas > .container > .pill,
body.upcap-home #especialistas > .container > .pill,
body.upcap-home .featured > .container > .pill,
body.upcap-home .featured .feature-grid > div > .pill {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 45px 0;
  margin-right: auto;
  padding: 7px 30px;
  border-radius: 40px;
  background: var(--green);
  color: #111 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  float: none;
  position: relative;
  z-index: 4;
  min-width: 0;
}

body.upcap-home #empresas > .container > .pill,
body.upcap-home #especialistas > .container > .pill {
  margin-bottom: 42px;
}

body.upcap-home .specialists .pill {
  text-align: left !important;
}

/* Tarjetas de curso: sólo enlace en el pie */
body.upcap-home #cursos .course-body footer {
  justify-content: flex-end;
}

/* Cierre con titular de especialistas */
body.upcap-home .cta-section {
  min-height: 0;
  padding-top: 70px;
}

/* El titular de cierre sigue la tipografía del resto de los h2 */
body.upcap-home .cta-section .closing-title,
body.upcap-home .cta-section .closing-title span {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 300;
}
body.upcap-home .cta-section .closing-title {
  font-size: 65px;
  line-height: .92;
  letter-spacing: -3px;
}
body.upcap-home .cta-section .closing-sub {
  display: block;
  color: var(--text);
}

@media (max-width: 650px) {
  body.upcap-home .cta-section .closing-title {
    font-size: 42px;
    letter-spacing: -2px;
  }
}

/* Catálogo de cursos: filtros, grilla de 4 y ficha emergente */
body.upcap-home #cursos .course-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 18px;
  margin-top: 48px;
}
body.upcap-home #cursos .course-filter {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 250px;
}
body.upcap-home #cursos .course-filter > span {
  color: var(--muted);
  font-size: 13px;
}
body.upcap-home #cursos .course-filter input,
body.upcap-home #cursos .course-filter select {
  height: 46px;
  padding: 0 20px;
  border: 1px solid #30383d;
  border-radius: 30px;
  background: #0e141a;
  color: var(--text);
  font: inherit;
  font-size: 14px;
  outline: 0;
  appearance: none;
  -webkit-appearance: none;
}
body.upcap-home #cursos .course-filter select {
  padding-right: 44px;
  background-image: linear-gradient(45deg, transparent 50%, var(--green) 50%),
                    linear-gradient(135deg, var(--green) 50%, transparent 50%);
  background-position: calc(100% - 24px) 21px, calc(100% - 18px) 21px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  cursor: pointer;
}
body.upcap-home #cursos .course-filter input:focus,
body.upcap-home #cursos .course-filter select:focus {
  border-color: var(--green);
}
body.upcap-home #cursos .course-filter input::placeholder {
  color: #5f6569;
}
body.upcap-home #cursos .course-filter-reset {
  height: 46px;
  padding: 0 30px;
  border: 1px solid #fff;
  border-radius: 30px;
  background: none;
  color: var(--text);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
body.upcap-home #cursos .course-filter-reset:hover {
  border-color: var(--green);
  color: var(--green);
}

body.upcap-home #cursos .course-grid {
  grid-template-columns: repeat(4, 1fr);
  max-width: none;
  margin: 55px 0 0;
  gap: 26px;
}
body.upcap-home #cursos .course {
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}
body.upcap-home #cursos .course:hover,
body.upcap-home #cursos .course:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 22px 26px #000a;
  outline: 0;
}
body.upcap-home #cursos .course[hidden] {
  display: none;
}
body.upcap-home #cursos .course-empty {
  margin: 40px 0 0;
  color: var(--muted);
}

body.upcap-home .course-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
}
body.upcap-home .course-modal[hidden] {
  display: none;
}
body.upcap-home .course-modal-backdrop {
  position: absolute;
  inset: 0;
  background: #05080ae6;
}
body.upcap-home .course-modal-dialog {
  position: relative;
  width: min(720px, 100%);
  max-height: 88vh;
  overflow: auto;
  border-radius: 20px;
  background: var(--panel);
  box-shadow: 0 30px 60px #000c;
}
body.upcap-home .course-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #0b1116cc;
  color: var(--text);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
body.upcap-home .course-modal-close:hover {
  background: var(--green);
  color: #111;
}
body.upcap-home .course-modal-image {
  height: 250px;
  overflow: hidden;
  background: linear-gradient(135deg, #073d2b, #10171d);
}
body.upcap-home .course-modal-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.upcap-home .course-modal-body {
  padding: 30px 36px 36px;
}
body.upcap-home .course-modal-cat {
  margin: 0 0 10px;
  color: var(--green);
  font-size: 13px;
}
body.upcap-home .course-modal-title {
  margin: 0 0 20px;
  font-size: 28px;
  font-weight: 300;
}
body.upcap-home .course-modal-desc {
  color: #c9cdcf;
  font-size: 15px;
  line-height: 1.5;
}
body.upcap-home .course-modal-desc p {
  margin: 0 0 14px;
}
body.upcap-home .course-modal-desc img {
  max-width: 100%;
  height: auto;
}
body.upcap-home .course-modal .btn {
  margin-top: 26px;
}
body.upcap-home.upcap-modal-open {
  overflow: hidden;
}

/* El body usa zoom .8 en escritorio; lo compensamos para que el modal
   cubra el viewport completo. */
@media (min-width: 1001px) {
  body.upcap-home .course-modal {
    zoom: 1.25;
  }
}

/* "Para empresas" reúne el panel, los beneficios y los módulos Ley Karin */
body.upcap-home #empresas .business-block {
  margin-top: 95px;
}
body.upcap-home #empresas .business-block:first-of-type {
  margin-top: 55px;
}
body.upcap-home #empresas .business-subtitle {
  margin: 0 0 12px;
  font-size: 30px;
  font-weight: 300;
  letter-spacing: -1px;
}
body.upcap-home #empresas .business-subtitle span {
  color: var(--green);
}
body.upcap-home #empresas .benefits,
body.upcap-home #empresas .mini {
  max-width: none;
  margin: 34px 0 0;
}

/* Menú compacto a la izquierda; sólo "Ingresar" queda a la derecha */
body.upcap-home .nav-wrap nav {
  flex: 0 1 auto;
  justify-content: flex-start;
  gap: 34px;
  margin-right: auto;
}

/* Pie más bajo: el original reservaba espacio para un degradado muy alto */
body.upcap-home .footer {
  min-height: 0;
  padding: 140px 0 80px;
}
body.upcap-home .footer .social {
  margin-top: 45px;
}

/* Bajada del hero, bajo el título */
body.upcap-home .hero-copy .hero-lead {
  margin: 22px 0 0;
  max-width: 560px;
  color: #b9bdc0;
  font-size: 15px;
  line-height: 1.55;
}

/* Panel de aprendizaje más compacto para que no invada la foto */
@media(min-width:1001px){
  body.upcap-home .dashboard-card{
    width: 32%;
    max-width: 310px;
    padding: 24px 22px;
  }
  body.upcap-home .dashboard-card .ring{
    width: 66px;
    height: 66px;
    border-width: 12px;
    margin: 26px auto 26px;
    font-size: 13px;
  }
  body.upcap-home .dashboard-card .bar{
    height: 26px;
    margin: 9px 0;
    padding: 6px 14px;
  }
  body.upcap-home .dashboard-card .dash-foot{
    margin-top: 22px;
    font-size: 13px;
  }
  body.upcap-home .dashboard-card .dash-foot small{
    font-size: 12px;
  }
}

/* Brand logo image */
body.upcap-home .brand{
  align-items: center;
  min-width: 0;
}
body.upcap-home .brand .brand-logo{
  display: block;
  height: 72px;
  width: auto;
}
body.upcap-home .footer-brand{
  transform: none;
  margin-top: 0;
}
body.upcap-home .footer-brand .brand-logo{
  height: 140px;
}


/* ===== Ajustes vista móvil ===== */
@media (max-width: 1000px) {
  body.upcap-home,
  body.upcap-home *,
  body.upcap-home *:before,
  body.upcap-home *:after {
    box-sizing: border-box;
  }

  body.upcap-home .btn {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 12px 20px;
    font-size: 14px;
  }
  body.upcap-home .actions {
    flex-direction: column;
    gap: 14px;
    margin: 32px 0 26px;
  }

  body.upcap-home .hero {
    min-height: 0;
    padding-top: 24px;
  }
  body.upcap-home .hero-visual {
    display: flex;
    flex-direction: column;
    gap: 26px;
    min-height: 0;
    margin-top: 34px;
  }
  body.upcap-home .hero-visual .people-placeholder {
    position: static;
    width: 100%;
    height: 300px;
    margin: 0;
  }
  body.upcap-home .hero-visual .people-placeholder img {
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
  }
  body.upcap-home .hero-visual .dashboard-card {
    position: static;
    width: 100%;
    padding: 26px 22px;
  }
  body.upcap-home .searchbar {
    padding: 12px 20px;
    font-size: 13px;
  }
  body.upcap-home .hero-copy .hero-lead {
    font-size: 14px;
    margin-top: 16px;
  }
  body.upcap-home .hero-bottom {
    margin-top: 45px;
  }
  body.upcap-home .metrics div {
    padding: 16px;
  }
  body.upcap-home .metrics b {
    font-size: 24px;
  }

  body.upcap-home .card-grid {
    gap: 18px;
    margin-top: 38px;
  }
  body.upcap-home .info-card,
  body.upcap-home .cta-section .experts .info-card {
    min-height: 0;
    padding: 24px 20px;
  }
  body.upcap-home .info-card h3 {
    margin: 8px 0 12px;
    font-size: 19px;
  }
  body.upcap-home .info-card p {
    font-size: 13px;
  }

  body.upcap-home #empresas .photo-placeholder {
    display: none;
  }
  body.upcap-home #empresas .business-panel {
    width: 100%;
    min-height: 0;
    margin: 34px 0 0;
    padding: 28px 22px;
    border-radius: 0 0 18px 18px;
  }
  body.upcap-home #empresas .business-panel:after {
    display: none;
  }
  body.upcap-home #empresas .progress {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    padding: 0;
  }

  body.upcap-home .featured .laptop-placeholder {
    display: none;
  }

  body.upcap-home .specialists .specialist-copy .btn,
  body.upcap-home .cta-actions .btn,
  body.upcap-home #empresas .progress .btn {
    width: 100%;
    min-width: 0;
  }
  body.upcap-home .cta-actions {
    width: 100%;
  }
  body.upcap-home #cursos .course-filter {
    min-width: 0;
    width: 100%;
  }
  body.upcap-home #cursos .course-filter-reset {
    width: 100%;
  }
  body.upcap-home #cursos .course-grid {
    grid-template-columns: 1fr;
    margin-top: 34px;
  }
  body.upcap-home .course-modal {
    padding: 16px;
  }
  body.upcap-home .course-modal-image {
    height: 180px;
  }
  body.upcap-home .course-modal-body {
    padding: 24px 22px 28px;
  }
  body.upcap-home .course-modal-title {
    font-size: 22px;
  }
  body.upcap-home #empresas .business-block {
    margin-top: 55px;
  }
  body.upcap-home #empresas .business-subtitle {
    font-size: 24px;
  }
}

/* Hero: video de fondo a pantalla del grid, sin UI de YouTube */
body.upcap-home .hero-grid--video {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  min-height: 520px;
  isolation: isolate;
  overflow: hidden;
  border-radius: 18px;
}
body.upcap-home .hero-video-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #0a0e12;
}
body.upcap-home .hero-video-bg iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
  /* Escala para recortar título, botones y logo de YouTube */
  transform: translate(-50%, -50%) scale(1.55);
  transform-origin: center center;
}
body.upcap-home .hero-video-fade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 65% at 55% 45%, rgba(17, 23, 29, 0.08) 0%, rgba(17, 23, 29, 0.45) 55%, rgba(17, 23, 29, 0.88) 78%, #11171d 100%),
    linear-gradient(90deg, #11171d 0%, rgba(17, 23, 29, 0.55) 18%, transparent 42%, transparent 72%, rgba(17, 23, 29, 0.65) 88%, #11171d 100%),
    linear-gradient(180deg, #11171d 0%, transparent 22%, transparent 78%, #11171d 100%);
  box-shadow: inset 0 0 90px 50px rgba(17, 23, 29, 0.85);
  backdrop-filter: blur(0px);
}
body.upcap-home .hero-grid--video .hero-copy {
  position: relative;
  z-index: 2;
  max-width: 620px;
  padding: 28px 10px 28px 0;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
}
body.upcap-home .hero-grid--video .hero-copy .hero-lead {
  color: #d5d9dc;
}
body.upcap-home .hero-grid--video .btn-outline {
  background: rgba(17, 23, 29, 0.35);
  backdrop-filter: blur(4px);
}
@media (max-width: 1000px) {
  body.upcap-home .hero-grid--video {
    min-height: 460px;
  }
  body.upcap-home .hero-video-bg iframe {
    transform: translate(-50%, -50%) scale(1.75);
  }
}
@media (max-width: 650px) {
  body.upcap-home .hero-grid--video {
    min-height: 520px;
  }
  body.upcap-home .hero-grid--video .hero-copy {
    padding: 22px 6px;
  }
  body.upcap-home .hero-video-fade {
    background:
      radial-gradient(ellipse 85% 70% at 50% 40%, rgba(17, 23, 29, 0.2) 0%, rgba(17, 23, 29, 0.7) 60%, #11171d 100%),
      linear-gradient(180deg, #11171d 0%, transparent 18%, transparent 70%, #11171d 100%);
  }
}