
:root{
  --navy:#082640; --navy-2:#0c385e; --blue:#1d6d9d; --sky:#e7f2f8;
  --ink:#17232e; --muted:#667684; --soft:#f4f7f9; --line:#d9e3e8;
  --white:#fff; --accent:#d9852b; --max:1220px; --radius:22px;
  --shadow:0 20px 55px rgba(8,38,64,.14);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:#fff;color:var(--ink);overflow-x:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
.eyebrow{font-size:.73rem;letter-spacing:.18em;text-transform:uppercase;font-weight:850;color:var(--blue)}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(217,227,232,.9)}
.navbar{height:74px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:13px;min-width:250px}.mark{font-size:2.25rem;line-height:.8;font-weight:950;letter-spacing:-.16em;color:var(--navy)}.brand b{display:block;color:var(--navy);font-size:.96rem}.brand small{display:block;color:#627482;letter-spacing:.1em;font-size:.62rem;margin-top:2px}.links{display:flex;gap:23px;align-items:center;color:#415362;font-size:.86rem;font-weight:700}.links a:hover{color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 18px;font-weight:800;font-size:.88rem;border:1px solid transparent;transition:.2s}.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{transform:translateY(-1px);background:var(--navy-2)}.btn.ghost{border-color:#b9c8d1;background:#fff;color:var(--navy)}.btn.ghost:hover{border-color:var(--navy)}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fff 0%,#f5f9fb 53%,#eaf3f8 100%);border-bottom:1px solid var(--line)}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(29,109,157,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(29,109,157,.045) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to right,#000 40%,transparent 85%)}
.hero-grid{position:relative;min-height:650px;min-width:0;display:grid;grid-template-columns:1.06fr .94fr;align-items:end;gap:28px}.hero-grid>*{min-width:0}.hero-copy{align-self:center;padding:64px 0 72px}.hero h1{font-size:clamp(3rem,4.25vw,4.9rem);letter-spacing:-.055em;line-height:.94;margin:12px 0 19px;color:var(--navy);max-width:760px}.hero h1 .hero-role{display:block;font-size:.34em;line-height:1.22;letter-spacing:-.02em;color:#3a5368;font-weight:650;margin-top:17px}.lead{font-size:1.17rem;max-width:710px;color:#4f6270;margin:0 0 28px}.actions{display:flex;flex-wrap:wrap;gap:11px}.identity-strip{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;color:#647786;font-size:.78rem}.identity-strip span{display:flex;align-items:center;gap:7px}.identity-strip i{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hero-visual{position:relative;height:650px;display:flex;align-items:flex-end;justify-content:center}.hero-visual:before{content:"";position:absolute;right:-100px;bottom:0;width:680px;height:520px;background:radial-gradient(circle at 50% 48%,rgba(29,109,157,.18),rgba(29,109,157,0) 64%)}.hero-visual:after{content:"";position:absolute;inset:90px 12px 28px 80px;border:1px solid rgba(29,109,157,.15);border-radius:48% 52% 0 0 / 20% 20% 0 0;transform:rotate(-4deg)}.hero-person{position:relative;z-index:2;height:610px;width:auto;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 24px rgba(7,31,54,.14))}.quote{position:absolute;z-index:3;right:0;top:130px;width:260px;padding:18px 20px;border-radius:18px;background:rgba(8,38,64,.92);color:#e8f2f7;box-shadow:var(--shadow);font-size:.85rem}.quote b{display:block;color:#8ec5e5;margin-bottom:8px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.credentials{background:#082a48;color:#fff}.cred-grid{display:grid;grid-template-columns:repeat(4,1fr)}.cred{padding:20px 24px;border-right:1px solid rgba(255,255,255,.12)}.cred:last-child{border-right:0}.cred b{display:block;font-size:.9rem}.cred span{display:block;color:#b5cbd8;font-size:.76rem;margin-top:2px}
section{padding:90px 0}.section-head{display:grid;grid-template-columns:.66fr 1.34fr;gap:60px;margin-bottom:42px}.section-head h2{font-size:clamp(2.15rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.045em;color:var(--navy);margin:7px 0}.section-head p{font-size:1.03rem;color:#5a6d7b;margin:4px 0;max-width:760px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pillar{padding:27px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.pillar .n{font-size:.68rem;letter-spacing:.14em;color:var(--accent);font-weight:900}.pillar h3{margin:12px 0 7px;color:var(--navy);font-size:1.22rem}.pillar p{margin:0;color:#667886;font-size:.9rem}
.engineering{background:var(--navy);color:#fff;position:relative;overflow:hidden}.engineering .section-head h2{color:#fff}.engineering .section-head p{color:#b8cbd7}.engineering .eyebrow{color:#8cc8e9}.eng-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.eng-copy{padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.04)}.eng-copy h3{font-size:1.75rem;line-height:1.1;margin:8px 0 12px}.eng-copy p{color:#bdd0dc;margin:0 0 22px}.checklist{display:grid;gap:10px;font-size:.86rem;color:#e0eaf0}.checklist span:before{content:"✓";margin-right:9px;color:#8cc8e9;font-weight:900}.case-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:240px 240px;gap:12px}.case-photo{position:relative;overflow:hidden;border-radius:20px;background:#123e5d}.case-photo:first-child{grid-row:1/3}.case-photo img{width:100%;height:100%;object-fit:cover}.case-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,23,39,.82))}.cap{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}.cap b{display:block;font-size:.94rem}.cap span{display:block;font-size:.75rem;color:#c8d8e1;margin-top:3px}
.teaching-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}.teaching-feature{position:relative;min-height:520px;border-radius:26px;overflow:hidden;background:#dbe7ee}.teaching-feature img{width:100%;height:100%;object-fit:cover}.teaching-feature:after{content:"";position:absolute;inset:46% 0 0;background:linear-gradient(transparent,rgba(7,31,54,.9))}.feature-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff}.feature-copy h3{font-size:1.9rem;margin:4px 0 8px}.feature-copy p{max-width:700px;color:#d8e6ed;margin:0 0 16px}.teach-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.teach-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.teach-card img{height:190px;width:100%;object-fit:cover}.teach-card .inside{padding:18px}.teach-card h4{font-size:1rem;color:var(--navy);margin:0 0 6px}.teach-card p{font-size:.82rem;color:#687985;margin:0}.youtube-card{grid-column:1/3;background:#f5f8fa;padding:22px;border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.youtube-id{display:flex;gap:14px;align-items:center}.yt-icon{width:48px;height:34px;border-radius:9px;background:#e62117;display:grid;place-items:center;color:#fff;font-weight:950}.youtube-id b{color:var(--navy)}.youtube-id span{display:block;font-size:.78rem;color:#667987}
.research{background:#f4f7f9}.research-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:28px;align-items:stretch}.thesis-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 12px 32px rgba(8,38,64,.07)}.thesis-card img{width:100%;height:100%;min-height:540px;object-fit:cover;object-position:top center}.research-copy{padding:34px;border:1px solid var(--line);border-radius:26px;background:#fff}.badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e8f3f9;color:#16597e;font-size:.7rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.research-copy h3{font-size:2rem;line-height:1.14;letter-spacing:-.03em;color:var(--navy);margin:16px 0 12px}.research-copy .title{font-size:1rem;font-weight:750;color:#314a5c;line-height:1.45;margin-bottom:18px}.research-copy p{color:#667986}.line-list{display:grid;gap:12px;margin-top:22px}.line-item{padding:14px 16px;background:#f7fafb;border-left:3px solid #9ec7dc;border-radius:0 12px 12px 0}.line-item b{display:block;color:var(--navy);font-size:.86rem}.line-item span{display:block;color:#70818d;font-size:.78rem;margin-top:2px}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.media-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff}.media-card img{width:100%;height:340px;object-fit:cover}.media-card .inside{padding:22px}.media-card h3{color:var(--navy);margin:0 0 7px}.media-card p{color:#687a87;font-size:.88rem;margin:0}.media-card.darkcard{background:#0d2e4b;color:#fff;border-color:#0d2e4b}.media-card.darkcard h3{color:#fff}.media-card.darkcard p{color:#bfd0dc}.unefa-img{object-position:center 55%}
.tech{background:#0d2f4d;color:#fff;padding:64px 0}.tech-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:40px}.tech h2{font-size:2.3rem;line-height:1.05;margin:0}.tech p{color:#bdd0dc;margin:10px 0 0}.tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.tools span{padding:11px 14px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.05);border-radius:12px;font-size:.8rem}
.contact{padding:84px 0}.contact-box{padding:44px;border-radius:28px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;box-shadow:var(--shadow)}.contact-box h2{font-size:2.8rem;line-height:1;letter-spacing:-.04em;margin:8px 0 12px}.contact-box p{color:#bed1dd}.contact-links{display:grid;gap:9px}.contact-link{padding:14px 16px;border:1px solid rgba(255,255,255,.17);border-radius:14px;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.04)}.contact-link small{display:block;color:#91b7cb;font-size:.69rem}.contact-link:hover{background:rgba(255,255,255,.08)}
footer{border-top:1px solid var(--line);padding:25px 0;color:#6e7e89;font-size:.76rem}.footer{display:flex;justify-content:space-between;gap:20px}
@media (max-width:980px){.links{display:none}.navbar{height:68px}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:64px 0 18px}.hero-visual{height:520px}.hero-person{height:500px}.quote{right:8px;top:60px;width:230px}.cred-grid{grid-template-columns:1fr 1fr}.cred:nth-child(2){border-right:0}.section-head{grid-template-columns:1fr;gap:10px}.eng-layout,.teaching-grid,.research-layout,.tech-grid,.contact-box{grid-template-columns:1fr}.tools{justify-content:flex-start}.research-layout{align-items:start}.thesis-card img{max-height:620px;min-height:0;object-fit:contain;background:#eaf0f4}.contact-box{padding:34px}.media-grid{grid-template-columns:1fr}.pillars{grid-template-columns:1fr}.case-gallery{grid-template-columns:1fr 1fr}.case-photo:first-child{grid-row:auto;grid-column:1/3;height:350px}}
@media (max-width:640px){
.wrap{width:min(100% - 28px,var(--max))}
.navbar{height:72px;gap:10px}
.brand{min-width:0;gap:9px}
.mark{font-size:1.95rem}
.brand b{font-size:.80rem;line-height:1.18;max-width:170px}
.brand small{display:none}
.nav .btn{padding:9px 12px;font-size:.72rem;line-height:1.15;max-width:155px;text-align:center}
.hero-grid{display:block;min-height:0}
.hero-copy{padding:42px 0 8px}
.hero h1{font-size:2.62rem;line-height:.98;margin-top:9px}
.hero h1 .hero-role{font-size:.43em}
.lead{font-size:1rem;margin-bottom:20px}
.actions{display:grid;grid-template-columns:1fr;gap:10px}
.actions .btn{width:100%}
.identity-strip{gap:10px 14px;font-size:.72rem;margin-top:20px}
.hero-visual{
  height:auto;
  min-height:0;
  margin-top:4px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center
}
.hero-person{
  height:auto;
  width:min(165vw,650px);
  max-width:none;
  flex:0 0 auto;
  margin:0 auto;
  object-fit:contain;
  object-position:center bottom
}
.hero-visual:before{
  right:auto;
  left:50%;
  transform:translateX(-50%);
  bottom:-35px;
  width:125%;
  height:82%
}
.hero-visual:after{
  inset:18px 5% 0;
  border-radius:46% 54% 0 0 / 18% 18% 0 0;
  transform:none
}
.quote{display:none}
.credentials .cred-grid{grid-template-columns:1fr}
.cred{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
.cred:last-child{border-bottom:0}
section{padding:72px 0}
.case-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:auto}
.case-photo,.case-photo:first-child{grid-column:auto;height:260px}
.teach-cards{grid-template-columns:1fr}
.youtube-card{grid-column:auto;align-items:flex-start;flex-direction:column}
.teaching-feature{min-height:480px}
.media-card img{height:260px}
.contact-box h2{font-size:2.25rem}
.footer{flex-direction:column}
}


/* === V3 commercial additions === */
.course-home{background:linear-gradient(135deg,#f8fbfd 0%,#edf5f9 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.course-feature{display:grid;grid-template-columns:1.04fr .96fr;gap:28px;align-items:stretch}
.course-visual{position:relative;overflow:hidden;border-radius:28px;min-height:520px;background:#dce8ef;box-shadow:var(--shadow)}
.course-visual img{width:100%;height:100%;object-fit:cover}
.course-visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(6,28,47,.92))}
.course-visual-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:#fff}
.course-visual-copy h3{font-size:2rem;line-height:1.05;margin:7px 0 8px}
.course-visual-copy p{margin:0;color:#d8e6ed}
.course-panel{padding:34px;border-radius:28px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.course-panel h3{font-size:2rem;line-height:1.08;color:var(--navy);margin:12px 0}
.course-panel p{color:#617482}
.course-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 22px}
.course-meta div{padding:13px 14px;background:#f4f8fa;border:1px solid #e1eaf0;border-radius:14px}
.course-meta b{display:block;color:var(--navy);font-size:.83rem}
.course-meta span{display:block;color:#6a7b87;font-size:.75rem;margin-top:2px}
.price-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.price-chip{padding:12px 14px;border-radius:14px;background:#082a48;color:#fff}
.price-chip small{display:block;color:#9fc4da;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}
.price-chip strong{font-size:1.28rem}
.research-proof{display:grid;grid-template-columns:190px 1fr;gap:26px;align-items:start}
.research-thumb{border:1px solid var(--line);border-radius:18px;background:#fff;padding:10px;box-shadow:0 10px 28px rgba(8,38,64,.06)}
.research-thumb img{width:100%;height:245px;object-fit:cover;object-position:top;border-radius:10px}
.research-note{font-size:.74rem;color:#71828e;margin-top:8px}
.nav .links a.courses-link{color:#0f6b9c}
@media(max-width:980px){.course-feature{grid-template-columns:1fr}.course-visual{min-height:420px}.research-proof{grid-template-columns:150px 1fr}}
@media(max-width:640px){
  .course-visual{min-height:380px}
  .course-panel{padding:24px}
  .course-meta{grid-template-columns:1fr}
  .price-row{display:grid;grid-template-columns:1fr 1fr}
  .research-proof{grid-template-columns:1fr}
  .research-thumb{max-width:190px}
}


/* V4 - Correcciones de navegación / accesibilidad conservando V3.2 */
:focus-visible{outline:3px solid #d9852b;outline-offset:3px}
[id]{scroll-margin-top:125px}
.mobile-nav{display:none}
.course-catalog-link{margin:16px 0 0!important;font-size:.8rem!important}
.course-catalog-link a{color:#175e86;font-weight:750;text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){
  .mobile-nav{display:block;border-top:1px solid #e0e9ef;padding:0 max(20px,calc((100% - var(--max))/2))}
  .mobile-nav summary{list-style:none;cursor:pointer;padding:11px 5px;color:#173a51;font-weight:750;font-size:.82rem}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav summary:before{content:'☰';margin-right:9px}
  .mobile-links{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 15px}
  .mobile-links a{font-size:.82rem;font-weight:750;padding:9px 12px;background:#f2f7fa;border:1px solid #e2ebf0;border-radius:20px;color:#082640}
}
@media(max-width:640px){
  .navbar .btn.primary{font-size:.70rem;padding:10px 12px}
  .section-head h2{overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

#catalogo .section-head h1{font-size:clamp(2.15rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.045em;color:var(--navy);margin:7px 0}

/* V4.1: identidad y modalidades sin alterar la composición */
.footer-privacy{color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.82;font-size:.8rem;margin-left:auto}
.cohort-invite{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px;padding:24px 27px;background:#fff;border:1px solid #dde7ee;border-radius:22px}
.cohort-invite small{font-size:.70rem;letter-spacing:.11em;color:#49728b;text-transform:uppercase;font-weight:800}
.cohort-invite h3{margin:8px 0 5px;color:#082640;font-size:1.3rem}
.cohort-invite p{margin:0;max-width:760px;color:#657b88;line-height:1.55;font-size:.88rem}
.cohort-invite .btn{flex-shrink:0}
@media(max-width:700px){.cohort-invite{flex-direction:column;align-items:stretch}.cohort-invite .btn{text-align:center}.footer-privacy{margin-left:0}}

/* V4.2 · Solo portada móvil: nombre completo en una línea.
   No cambia la marca del encabezado ni la composición de escritorio. */
.hero h1 .hero-name{display:block;font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;line-height:inherit}
@media (max-width:640px){
  .hero h1 .hero-name{font-size:clamp(1.27rem,6.45vw,2.16rem);letter-spacing:-.050em;white-space:nowrap;line-height:1.10}
  .hero h1 .hero-role{font-size:clamp(.99rem,3.65vw,1.20rem);line-height:1.30;letter-spacing:-.02em;margin-top:14px;white-space:normal}
}

.included-cert{font-size:.77rem!important;color:#567080!important;margin:-8px 0 18px!important;font-weight:650}
