
:root{--azul:#1E3A8A;--azul-osc:#0F2A5C;--verde:#11823B;--rojo:#D7262C;--amar:#FFD100;--ink:#1c2434;--gris:#5b6474;--bg:#f6f8fc;--card:#ffffff;--r:18px;--sh:0 6px 22px rgba(15,42,92,.08)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',sans-serif;color:var(--ink);background:#fff;line-height:1.65;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1160px,92%);margin:0 auto}
h1,h2,h3,.disp{font-family:'Cinzel',serif;font-weight:700;line-height:1.15}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--amar)}
.eyebrow.dark{color:var(--verde)}
.eyebrow::before{content:"";width:26px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--verde),var(--amar),var(--rojo))}
.sec{padding:5rem 0}
.sec-title{font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--azul);margin:.5rem 0 1rem}
.sec-sub{color:var(--gris);max-width:620px}
.center{text-align:center}.center .sec-sub{margin:0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.7rem;border-radius:50px;font-weight:700;font-size:.9rem;transition:.25s;border:2px solid transparent;cursor:pointer}
.btn-y{background:var(--amar);color:var(--azul-osc)}.btn-y:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,209,0,.35)}
.btn-o{border-color:#fff;color:#fff}.btn-o:hover{background:#fff;color:var(--azul)}
.btn-b{background:var(--azul);color:#fff}.btn-b:hover{background:var(--azul-osc);transform:translateY(-2px)}
.btn-ob{border-color:var(--azul);color:var(--azul)}.btn-ob:hover{background:var(--azul);color:#fff}
/* NAV */
.topbar{background:var(--azul-osc);color:#fff;font-size:.75rem;padding:.4rem 0;text-align:center;letter-spacing:.05em}
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 2px 14px rgba(21,42,102,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand img{height:52px;width:auto}
.menu{display:flex;align-items:center;gap:1.6rem;list-style:none}
.menu>li{position:relative}
.menu a{font-size:.86rem;font-weight:600;color:var(--ink);padding:.4rem 0;border-bottom:2px solid transparent;transition:.2s}
.menu a:hover,.menu a.on{color:var(--azul);border-color:var(--amar)}
.drop{position:absolute;top:calc(100% + 10px);left:-14px;background:#fff;border-radius:14px;box-shadow:var(--sh);padding:.6rem;min-width:230px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;list-style:none}
.menu li:hover>.drop,.menu li:focus-within>.drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop a{display:block;padding:.6rem .9rem;border-radius:10px;border:none;font-weight:500}
.drop a:hover{background:var(--bg);color:var(--azul)}
.nav-cta{display:flex;gap:.7rem;align-items:center}
.nav-cta .btn{padding:.55rem 1.15rem;font-size:.8rem}
.burger{display:none;background:none;border:none;cursor:pointer;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.burger span{width:24px;height:2.5px;background:var(--azul);border-radius:2px;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
/* HERO home */
.hero{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;background:linear-gradient(160deg,#0A1E45 0%,#0F2A5C 60%,#122F66 100%)}
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(88,140,214,.30),rgba(120,168,228,.20) 50%,rgba(15,42,92,.55))}
.hero h1,.hero p,.hero .hero-badge{text-shadow:0 3px 18px rgba(6,18,46,.55)}
.hero::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Ccircle cx='1.5' cy='1.5' r='1.5' fill='%23ffffff08'/%3E%3C/svg%3E")}
.hero .wrap{position:relative;z-index:3;max-width:840px}
.hero h1{font-size:clamp(2rem,5.4vw,3.6rem);margin:1rem 0 1.2rem;text-wrap:balance}
.hero p{font-size:1.05rem;color:#dfe6ff;max-width:600px;margin:0 auto 2rem}
.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.cap{position:absolute;font-size:2.2rem;opacity:.85;animation:fly linear infinite;z-index:2;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
@keyframes fly{0%{transform:translateY(105vh) rotate(-20deg)}100%{transform:translateY(-15vh) rotate(25deg)}}
.hero-badge{display:inline-flex;gap:.5rem;align-items:center;background:#ffffff14;border:1px solid #ffffff2e;padding:.45rem 1.1rem;border-radius:50px;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--amar)}
.scrolldown{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;color:#ffffffb0;font-size:1.4rem;animation:bob 2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
/* CARDS */
.grid{display:grid;gap:1.4rem}
.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border-radius:var(--r);padding:1.8rem 1.5rem;box-shadow:var(--sh);transition:.25s;border-top:4px solid transparent}
.card:hover{transform:translateY(-6px);border-top-color:var(--amar)}
.card .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.4rem;margin-bottom:1rem;background:linear-gradient(135deg,#1E3A8A12,#11823B14);color:var(--azul)}
.card h3{font-size:1rem;color:var(--azul);margin-bottom:.5rem}
.card p{font-size:.86rem;color:var(--gris)}
/* PROGRAM cards */
.pcard{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:.28s;display:flex;flex-direction:column;position:relative}
.pcard:hover{transform:translateY(-8px);box-shadow:0 18px 44px rgba(21,42,102,.2)}
.pcard .ph{position:relative;aspect-ratio:16/9;overflow:hidden;background:#fff;border-bottom:1px solid #eef1f8}
.pcard .ph img{width:100%;height:100%;object-fit:cover;object-position:center;transition:.5s}.pcard .ph img.fit{object-fit:contain;padding:.4rem}
.pcard:hover .ph img{transform:scale(1.06)}
.pcard .ov{position:absolute;inset:0;background:linear-gradient(160deg,rgba(15,42,92,.94),rgba(30,58,138,.9));display:flex;align-items:center;padding:1.4rem;opacity:0;transition:.35s}
.pcard:hover .ov{opacity:1}
.pcard .ov p{color:#eaf0ff;font-size:.85rem;line-height:1.6;text-align:center}
.pcard .tag{position:absolute;top:12px;right:12px;background:var(--amar);color:var(--azul-osc);font-size:.7rem;font-weight:700;padding:.3rem .8rem;border-radius:50px}
.pcard .tag.v{background:var(--verde);color:#fff}
.pcard .body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.pcard h3{font-size:1.02rem;color:var(--azul)}
.pcard p{font-size:.86rem;color:var(--gris);flex:1}
.pcard .more{font-size:.85rem;font-weight:700;color:var(--verde)}
.pcard .more::after{content:" →";transition:.2s}
.pcard:hover .more::after{margin-left:4px}
/* CIFRAS */
.cifras{background:#fff}
.cifras .grid{text-align:center}
.num{font-family:'Cinzel',serif;font-size:clamp(2rem,4.4vw,3rem);font-weight:700;color:var(--azul)}
.num small{color:var(--amar)}
.numlbl{font-size:.85rem;color:var(--gris)}
/* DARK band */
.band{background:var(--azul-osc);color:#fff}
.band .sec-title{color:#fff}
.band .sec-sub{color:#cfd9f7}
/* MARQUEE convenios */
.marq{overflow:hidden;position:relative;padding:1.6rem 0;background:var(--bg);border-radius:var(--r)}
.marq-track{display:flex;gap:1.5rem;width:max-content;animation:marq 90s linear infinite;align-items:center}
@media(max-width:680px){.marq-track{gap:1rem;animation-duration:60s}.marq{padding:1.1rem 0}}
.alz{height:74px;width:150px;object-fit:contain;padding:.6rem .9rem;border-radius:14px;box-shadow:0 4px 14px rgba(21,42,102,.10);background:#fff;flex-shrink:0;border:1px solid rgba(18,40,94,.06)}
@media(max-width:1024px){.alz{height:66px;width:132px}}
@media(max-width:680px){.alz{height:56px;width:110px;padding:.5rem .7rem;border-radius:12px}}
.marq:hover .marq-track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.logo-chip{display:flex;align-items:center;gap:.7rem;background:#fff;border-radius:14px;padding:.8rem 1.4rem;box-shadow:0 4px 14px rgba(21,42,102,.08);font-weight:700;color:var(--azul);white-space:nowrap;font-size:.9rem}
.logo-chip .dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:1rem;background:linear-gradient(135deg,var(--verde),var(--amar));color:#fff}
/* REVIEWS */
.rev-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem;flex-wrap:wrap}
.stars{color:#f5a623;letter-spacing:2px}
.rev-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,300px);gap:1.1rem;overflow-x:auto;padding:0 0 1rem;scroll-snap-type:x mandatory}
.rev-scroll::-webkit-scrollbar{height:8px}.rev-scroll::-webkit-scrollbar-thumb{background:#c9d3ec;border-radius:8px}
.rev{background:#fff;border-radius:16px;padding:1.3rem;box-shadow:var(--sh);scroll-snap-align:start;font-size:.86rem}
.rev .who{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}
.rev .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700}
.rev p{color:var(--gris)}
/* PAGE HERO (interior) */
.phero{position:relative;color:#fff;padding:6.5rem 0 5rem;background:var(--azul-osc);overflow:hidden}
.phero.img::before{content:"";position:absolute;inset:0;background:var(--phimg) center/cover;opacity:.28}
.phero.pimg{min-height:520px;display:flex;align-items:center;padding:5rem 0;background:#eef2f9;color:var(--azul)}
.phero.pimg::before{content:"";position:absolute;inset:0;background:var(--phimg) right center/cover no-repeat}
.phero.pimg .grad{position:absolute;inset:0;background:linear-gradient(95deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.80) 34%,rgba(255,255,255,.34) 55%,rgba(255,255,255,0) 74%);z-index:1}
.phero.pimg::after{z-index:2}
.phero.pimg .phw{position:relative;z-index:3}
@media(max-width:680px){.phero.pimg .grad{background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.86) 55%,rgba(255,255,255,.68) 100%)}}
.phero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--verde),var(--amar),var(--rojo))}
.phero .wrap{position:relative;z-index:2}
.phero h1{font-size:clamp(1.7rem,4vw,2.7rem);max-width:760px;margin:.8rem 0 1rem}
.phero p{color:#dfe6ff;max-width:600px}
.chips{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.1rem 0 1.6rem}
.chip{background:#ffffff18;border:1px solid #ffffff2e;padding:.35rem .95rem;border-radius:50px;font-size:.78rem;font-weight:600}
/* Subnav sticky in program pages */
.subnav{background:var(--azul-osc);position:sticky;top:74px;z-index:60}
.subnav ul{display:flex;gap:1.6rem;list-style:none;overflow-x:auto;padding:.9rem 0}
.subnav a{color:#c9d4f5;font-size:.8rem;font-weight:600;white-space:nowrap}
.subnav a:hover{color:var(--amar)}
/* GREEN band prácticas */
.gband{background:linear-gradient(135deg,#0c6e30,var(--verde));color:#fff}
.gband .sec-title{color:#fff}.gband p{color:#e4f5ea}
.smlv{background:#ffffff14;border:1px solid #ffffff30;border-radius:var(--r);padding:1.6rem;text-align:center;min-width:190px}
.smlv b{font-family:'Cinzel',serif;font-size:2.4rem;color:var(--amar);display:block}
/* Lists */
.pill-list{display:grid;gap:.7rem}
.pill{background:var(--bg);border-left:4px solid var(--verde);border-radius:10px;padding:.85rem 1rem;font-size:.9rem;font-weight:500}
.temario{display:grid;gap:.9rem}
.tstep{background:#fff;border-radius:14px;box-shadow:var(--sh);padding:1.1rem 1.3rem;display:flex;gap:1rem;align-items:flex-start}
.tstep .n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--verde);color:#fff;font-weight:700;display:grid;place-items:center;font-size:.9rem}
.tstep h3{font-size:.95rem;color:var(--azul)}
.tstep p{font-size:.83rem;color:var(--gris)}
/* Split layouts */
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:start}
.aside-card{background:var(--bg);border-radius:var(--r);padding:1.6rem;border-top:4px solid var(--amar)}
.aside-card h3{color:var(--azul);font-size:.95rem;margin-bottom:.7rem}
.aside-card p{font-size:.86rem;color:var(--gris)}
/* FOOTER */
footer{background:var(--azul-osc);color:#c9d4f5;font-size:.85rem}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:3.5rem 0 2.4rem}
footer h4{font-family:'Cinzel',serif;color:#fff;font-size:.95rem;margin-bottom:1rem}
footer li{list-style:none;margin-bottom:.55rem}
footer a:hover{color:var(--amar)}
.soc{display:flex;gap:.7rem;margin-top:1rem}
.soc a{width:36px;height:36px;border-radius:50%;background:#ffffff14;display:grid;place-items:center;transition:.2s}
.soc a:hover{background:var(--amar);color:var(--azul-osc)}
.foot-norm{border-top:1px solid #ffffff1e;padding:1.4rem 0;text-align:center}
.foot-norm a{margin:0 .9rem;font-size:.8rem}
.foot-cr{border-top:1px solid #ffffff1e;padding:1.2rem 0;text-align:center;font-size:.78rem;color:#8fa0d4}
/* Floating buttons */
.float{position:fixed;right:18px;z-index:120;display:flex;align-items:center;gap:.55rem;border-radius:50px;padding:.7rem 1.1rem;font-weight:700;font-size:.82rem;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.25);transition:.25s}
.float:hover{transform:translateY(-3px)}
.float-wa{bottom:18px;background:#25D366}
.float-q10{bottom:76px;background:var(--azul)}
/* GALLERY */
.masonry{columns:3;column-gap:1rem}
.mitem{break-inside:avoid;margin-bottom:1rem;border-radius:14px;overflow:hidden;position:relative;cursor:pointer;background:linear-gradient(135deg,#1E3A8A,#11823B);color:#fff;display:grid;place-items:center;font-family:'Cinzel',serif}
.mitem img{width:100%;transition:.4s}
.mitem:hover img{transform:scale(1.05)}
.lightbox{position:fixed;inset:0;background:rgba(10,16,40,.92);display:none;place-items:center;z-index:300;padding:2rem}
.lightbox.on{display:grid}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:12px}
.lightbox button{position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}
/* QUIZ */
.quiz-box{background:#fff;border-radius:22px;box-shadow:0 20px 50px rgba(21,42,102,.16);max-width:680px;margin:0 auto;overflow:hidden;border-top:6px solid var(--amar)}
.quiz-in{padding:2.4rem 2.2rem}
.qbar{height:8px;background:#e8edf9}
.qbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--verde),var(--amar));transition:.4s}
.qq{font-family:'Cinzel',serif;font-size:1.25rem;color:var(--azul);margin-bottom:1.4rem}
.qopts{display:grid;gap:.8rem}
.qopt{border:2px solid #e3e9f8;border-radius:14px;padding:1rem 1.2rem;text-align:left;background:#fff;cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:500;transition:.2s}
.qopt:hover{border-color:var(--verde);background:#f2fbf5;transform:translateX(4px)}
.qres h3{color:var(--azul);font-size:1.35rem;margin:.6rem 0 1rem}
/* FORMS */
.form{display:grid;gap:1rem}
.form label{font-size:.8rem;font-weight:700;color:var(--azul)}
.form input,.form select,.form textarea{width:100%;padding:.85rem 1rem;border:2px solid #e3e9f8;border-radius:12px;font-family:inherit;font-size:.9rem;transition:.2s;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--azul)}
/* Contact cards */
.ccard{display:flex;gap:1rem;align-items:flex-start;background:#fff;border-radius:16px;padding:1.4rem;box-shadow:var(--sh)}
.ccard .ic{flex:none;width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#1E3A8A14,#11823B18);display:grid;place-items:center;font-size:1.2rem}
.ccard h3{font-size:.9rem;color:var(--azul);margin-bottom:.25rem}
.ccard p, .ccard a{font-size:.85rem;color:var(--gris)}
.ccard a:hover{color:var(--azul)}
/* Team cards */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.tm{background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--sh);display:flex;transition:.25s}
.tm:hover{transform:translateY(-6px)}
.tm .foto{flex:1;min-height:210px;background:#eef1f8 center/cover no-repeat;display:grid;place-items:center;font-size:2.4rem;color:#b9c3dd}
.tm .info{flex:1;background:var(--azul);color:#fff;padding:1.2rem 1rem;display:flex;flex-direction:column;justify-content:center;gap:.35rem}
.tm .cargo{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amar);font-weight:700}
.tm .nombre{font-weight:700;font-size:.92rem;line-height:1.3}
.tm .info a{margin-top:.7rem;background:#fff;color:var(--azul);border-radius:8px;font-size:.72rem;font-weight:700;padding:.45rem .8rem;text-align:center;transition:.2s}
.tm .info a:hover{background:var(--amar)}
@media(max-width:1000px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.team-grid{grid-template-columns:1fr}}
/* Mision/vision */
.mv{background:#fff;border-radius:18px;box-shadow:var(--sh);padding:2rem;border-top:5px solid var(--rojo)}
.mv h3{font-size:1.2rem;margin-bottom:.9rem}
.mv p{color:var(--gris);font-size:.92rem;margin-bottom:.9rem}
/* Norm docs */
.doc{display:flex;align-items:center;gap:1.1rem;background:#fff;border-radius:16px;padding:1.3rem 1.5rem;box-shadow:var(--sh);transition:.22s}
.doc:hover{transform:translateX(6px)}
.doc .ic{flex:none;width:48px;height:48px;border-radius:12px;background:#fde8e9;color:var(--rojo);display:grid;place-items:center;font-size:1.3rem}
.doc h3{font-size:.92rem;color:var(--azul)}
.doc p{font-size:.8rem;color:var(--gris)}
.doc .dl{margin-left:auto;font-weight:700;color:var(--verde);font-size:.82rem;white-space:nowrap}
/* Reveal */
.rv{opacity:0;transform:translateY(26px);transition:.7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.cap{display:none}.marq-track{animation:none}}
/* RESPONSIVE */
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.foot-grid{grid-template-columns:repeat(2,1fr)}.masonry{columns:2}}
@media(max-width:680px){
 .g4,.g3,.g2{grid-template-columns:1fr}
 .menu{position:fixed;inset:74px 0 auto 0;background:#fff;flex-direction:column;align-items:flex-start;padding:1.4rem 6%;gap:.3rem;box-shadow:0 20px 30px rgba(0,0,0,.12);transform:translateY(-130%);transition:.3s;max-height:calc(100vh - 74px);overflow-y:auto;width:100%}
 .menu.open{transform:none}
 .menu>li{width:100%}
 .menu a{display:block;padding:.7rem 0;font-size:.95rem}
 .drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 1rem;display:none}
 .menu li.exp .drop{display:block}
 .burger{display:flex}
 .nav-cta .btn-ob{display:none}
 .sec{padding:3.4rem 0}
 .masonry{columns:1}
 .foot-grid{grid-template-columns:1fr}
 .subnav{top:74px}
}

/* Cards horizontales: la imagen llena todo el ancho */
.pcard .ph.hz{aspect-ratio:3/2}
.pcard .ph.hz img.fit{object-fit:cover;object-position:center;padding:0}
.pcard .ph.hz .tag{z-index:2}
/* Botón Atrás */
.backpill{position:fixed;left:18px;bottom:18px;z-index:60;background:#fff;color:var(--azul);font-weight:700;font-size:.85rem;padding:.55rem 1.05rem;border-radius:50px;box-shadow:0 8px 24px rgba(18,40,94,.22);border:1px solid #e6eaf5;transition:.25s}
.backpill:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(18,40,94,.3)}
/* Suko Superior */
.suko{width:150px;height:auto;display:block;margin-top:1.2rem;filter:drop-shadow(0 10px 18px rgba(18,40,94,.2));animation:sukofloat 4.5s ease-in-out infinite}
@keyframes sukofloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:680px){.suko{width:110px;margin:1rem auto 0}.backpill{left:12px;bottom:76px}}

/* Aliados estratégicos en páginas de programa */
#aliados .marq.alz-box{background:#fff;border-radius:20px;padding:1.4rem 0;margin-top:1.8rem;box-shadow:0 14px 34px rgba(0,0,0,.22)}
#aliados .alz{filter:none}

/* Formulario de leads */
.lead-card{background:#fff;border-radius:22px;padding:2.2rem 1.9rem;box-shadow:0 22px 50px rgba(0,0,0,.28);text-align:center}
.lead-card h3{color:var(--azul);font-size:1.3rem;margin:0 0 .35rem;font-weight:800}
.lead-sub{color:#2f6b3d;font-size:.92rem;margin:0 0 1.3rem}
.lead-form{display:flex;flex-direction:column;gap:.7rem}
.lead-form input{width:100%;padding:.85rem 1.1rem;border:1px solid #e2e8f2;border-radius:50px;background:#f5f7fb;font-size:.95rem;font-family:inherit;color:var(--azul);text-align:center;transition:.2s}
.lead-form input:focus{outline:none;border-color:var(--verde);background:#fff;box-shadow:0 0 0 4px rgba(0,138,58,.12)}
.lead-btn{background:#0A7B33;color:#fff;border:none;width:100%;padding:.95rem;border-radius:50px;font-weight:800;font-size:1.02rem;cursor:pointer;margin-top:.3rem;font-family:inherit;transition:.25s}
.lead-btn:hover{background:#0d9440;transform:translateY(-2px);box-shadow:0 10px 24px rgba(10,123,51,.35)}
.lead-foot{color:#2f6b3d;font-size:.78rem;margin:1rem 0 0;font-weight:600}
@media(min-width:620px){.lead-form{flex-direction:row;flex-wrap:wrap}.lead-form input{flex:1;min-width:170px}.lead-btn{width:100%}}

/* Videos de egresados */
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem}
.vgrid.shorts{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.vwrap{position:relative;padding-top:56.25%;border-radius:18px;overflow:hidden;background:#0b1a38;box-shadow:0 14px 34px rgba(18,40,94,.18)}
.vwrap.short{padding-top:177.78%}
.vwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Mapa de ubicación */
.mapbox{background:#fff;border-radius:22px;padding:1rem;box-shadow:0 18px 44px rgba(18,40,94,.14);max-width:960px;margin:0 auto;text-align:left}
.mapbox iframe{width:100%;height:380px;border:0;border-radius:16px;display:block}
.mapfoot{display:flex;gap:1.2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1.2rem .6rem .5rem}
.mapfoot b{color:var(--azul);font-size:1rem}
@media(max-width:680px){.mapbox iframe{height:300px}.mapfoot{justify-content:center;text-align:center}}

/* ===== Franja de financiación ===== */
.finband{background:linear-gradient(120deg,#FFF9E3 0%,#FDF3D2 55%,#FFFDF6 100%);color:var(--azul);padding:2.6rem 0;position:relative;overflow:hidden;border-top:1px solid #F2E3B0;margin-bottom:0}
.finband+footer{border-top:6px solid #FFD100}
.sec-divider{height:56px;background:#fff;position:relative}
.sec-divider::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:120px;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--verde),var(--amar),var(--rojo))}
.sec-divider+footer{border-top:0}
@media(max-width:640px){.sec-divider{height:40px}}
.finband::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 20%,rgba(18,40,94,.05),transparent 58%);pointer-events:none}
.fin-in{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;justify-content:center;text-align:left;position:relative;z-index:1}
.fin-ic{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:#12285e;color:#FFD100;border:1px solid rgba(18,40,94,.12);flex-shrink:0;box-shadow:0 8px 20px rgba(18,40,94,.18)}
.fin-tx{flex:1;min-width:250px}
.fin-eyebrow{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#B8890B;font-weight:700;margin-bottom:.25rem}
.fin-tx h3{font-family:Cinzel,serif;font-size:1.5rem;margin:0 0 .3rem;color:var(--azul)}
.fin-tx p{margin:0;color:#5a6478;font-size:.94rem;max-width:520px}
@media(max-width:680px){.fin-in{text-align:center;justify-content:center}.fin-tx{text-align:center}.fin-tx p{margin:0 auto}}

/* ===== Acabado premium ===== */
.sec-title.center,.sec-sub.center{text-align:center}
.sec-sub.center{margin-left:auto;margin-right:auto}
.sec-title{position:relative}
.pcard,.card,.ccard{border:1px solid rgba(18,40,94,.07)}
.pcard:hover{box-shadow:0 26px 56px rgba(18,40,94,.20)}
.btn{letter-spacing:.02em}
.btn-y{box-shadow:0 8px 22px rgba(255,209,0,.32)}
.btn-y:hover{box-shadow:0 14px 30px rgba(255,209,0,.42)}
.phero.pimg h1{text-shadow:none;color:var(--azul)}
.phero.pimg .phw p{color:#41506b}
.phero.pimg .eyebrow{color:#B8890B}
.phero.pimg .chip{background:rgba(18,40,94,.07);border:1px solid rgba(18,40,94,.14);color:var(--azul)}
.phero.pimg .btn-o{border-color:var(--azul);color:var(--azul)}
.phero.pimg .btn-o:hover{background:var(--azul);color:#fff}
/* Franjas alternas azul/blanco */
.stripe-b{background:linear-gradient(135deg,#0A1E45 0%,#12285e 55%,#16357c 100%);color:#fff}
.stripe-b .sec-title,.stripe-b h3{color:#fff}
.stripe-b .sec-sub,.stripe-b p{color:#cfdcf5}
.stripe-b .card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px)}
.stripe-b .card h3{color:#FFD100}
.stripe-b .eyebrow.dark{color:#FFD100}

/* Bloque financiación + convenios en el home */
.why-extra{display:grid;grid-template-columns:1.35fr 1fr;gap:1.4rem;margin-top:1.6rem;text-align:left}
.why-fin,.why-conv{border-radius:22px;padding:1.9rem 1.7rem;position:relative;overflow:hidden}
.why-fin{background:#fff;border:1px solid rgba(18,40,94,.09);color:var(--azul);display:flex;gap:1.2rem;align-items:flex-start;box-shadow:0 14px 34px rgba(18,40,94,.10)}
.why-fin::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--verde),#FFD100,var(--rojo));pointer-events:none}
.why-fin>div{position:relative;z-index:1}
.why-fin h3{font-family:Cinzel,serif;font-size:1.4rem;margin:0 0 .35rem;color:var(--azul)}
.why-fin p{margin:0;color:var(--gris);font-size:.92rem}
.why-conv{background:#fff;border:1px solid rgba(18,40,94,.09);box-shadow:0 14px 34px rgba(18,40,94,.10);display:flex;flex-direction:column}
.why-conv::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--azul),var(--verde));pointer-events:none}
.why-conv h3{font-family:Cinzel,serif;font-size:1.3rem;color:var(--azul);margin:0 0 .35rem}
.why-conv p{color:var(--gris);font-size:.9rem;margin:0 0 1rem}
.why-conv .fin-eyebrow{color:var(--verde)}
.conv-logos{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:1.1rem;margin:auto 0 1rem;padding:.9rem 0;border-top:1px solid #eef1f7;border-bottom:1px solid #eef1f7}
.conv-logos img{max-height:40px;width:auto;max-width:30%;object-fit:contain}
.conv-banner{padding:2.4rem 0 0}
.banner-hero{padding:1.6rem 0 0}
.banner-hero img,.conv-banner img{display:block;width:100%;max-width:1040px;margin:0 auto;border-radius:22px;box-shadow:0 22px 50px rgba(18,40,94,.16);border:1px solid rgba(18,40,94,.06)}
@media(max-width:640px){.conv-banner{padding:1.6rem 0 0}.banner-hero{padding:1rem 0 0}.banner-hero img,.conv-banner img{border-radius:16px}}
.conv-links{display:flex;flex-direction:column;gap:.5rem}
@media(max-width:860px){.why-extra{grid-template-columns:1fr}}
@media(max-width:680px){
 .why-extra{gap:1rem}
 .why-fin{flex-direction:column;text-align:center;align-items:center;padding:1.7rem 1.3rem}
 .why-fin p{margin:0 auto}
 .why-conv{text-align:center;padding:1.7rem 1.3rem}
 .conv-logos{justify-content:center;flex-wrap:wrap}
 .conv-links{align-items:center}
 .grid.g4,.grid.g3,.grid.g2{grid-template-columns:1fr}
}

/* Icono de la tarjeta del home sobre fondo blanco */
.why-fin .fin-ic{background:#12285e;color:#FFD100}
.why-fin .fin-eyebrow{color:#B8890B}

/* Contacto de facturación en pagos */
.bill-help{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap;justify-content:center;text-align:left;background:#fff;border:1px solid rgba(18,40,94,.09);border-radius:22px;padding:1.6rem 1.7rem;margin-top:2.2rem;box-shadow:0 14px 34px rgba(18,40,94,.12);position:relative;overflow:hidden}
.bill-help::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#25D366,var(--verde))}
.bill-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:#e8f8ee;color:#0A7B33;flex-shrink:0}
.bill-tx{flex:1;min-width:230px}
.bill-eyebrow{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#0A7B33;font-weight:700;margin-bottom:.2rem}
.bill-tx h3{font-family:Cinzel,serif;font-size:1.3rem;color:var(--azul);margin:0 0 .3rem}
.bill-tx p{color:var(--gris);font-size:.9rem;margin:0}
.bill-btn{background:#25D366;color:#fff;font-size:1.05rem;padding:.9rem 1.9rem;box-shadow:0 10px 24px rgba(37,211,102,.32);white-space:nowrap}
.bill-btn:hover{background:#1eb857;transform:translateY(-2px);box-shadow:0 14px 30px rgba(37,211,102,.42)}
@media(max-width:680px){.bill-help{text-align:center;flex-direction:column}.bill-tx{text-align:center}.bill-btn{width:100%}}


/* Heroes de convenios: el banner ya trae texto propio, se encuadra a la derecha */
.phero.pimg.conv-hero::before{background-position:right center;background-size:cover}
.phero.pimg.conv-hero .grad{background:linear-gradient(95deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 30%,rgba(255,255,255,.30) 52%,rgba(255,255,255,0) 70%)}
@media(max-width:680px){.phero.pimg.conv-hero .grad{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.88) 55%,rgba(255,255,255,.70) 100%)}}

/* ===== Conversión / WhatsApp CTA (2026 refresh) ===== */
:root{--wa:#25D366;--wa-d:#1da851}
.btn-wa{background:var(--wa);color:#0b3d1e;box-shadow:0 8px 22px rgba(37,211,102,.32)}
.btn-wa:hover{background:var(--wa-d);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px rgba(37,211,102,.4)}
.btn-wa svg{width:19px;height:19px;flex:none}
/* on green backgrounds, invert to white button */
.cta-card .btn-wa{background:#fff;color:var(--verde);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.cta-card .btn-wa:hover{background:#f4fff8;color:var(--wa-d);box-shadow:0 14px 32px rgba(0,0,0,.25)}

/* Hero checks */
.hero-checks{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:center;margin:0 auto 1.8rem;padding:0;max-width:560px}
.hero-checks li{display:flex;align-items:center;gap:.45rem;font-size:.92rem;font-weight:600;color:#eaf1ff;text-shadow:0 2px 10px rgba(6,18,46,.5)}
.hero-checks li::before{content:"✓";width:20px;height:20px;flex:none;border-radius:50%;background:var(--wa);color:#fff;font-size:.72rem;font-weight:900;display:grid;place-items:center;line-height:1}

/* CTA card (Opción B) */
.cta-card-sec{padding:3.4rem 0}
.cta-card{background:linear-gradient(135deg,#0c6e30,var(--verde));color:#fff;border-radius:26px;padding:3rem 2rem;text-align:center;position:relative;overflow:hidden;box-shadow:0 24px 54px rgba(12,110,48,.28)}
.cta-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.12),transparent 60%);pointer-events:none}
.cta-card h2{font-family:Cinzel,Georgia,serif;font-size:clamp(1.5rem,3.4vw,2.15rem);margin:0 0 .55rem;position:relative}
.cta-card p{color:#e5f7ec;max-width:560px;margin:0 auto 1.7rem;position:relative;line-height:1.6;font-size:1rem}
.eyebrow-wa{display:inline-flex;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#d7f5e1;margin-bottom:.5rem;position:relative}

/* Quiz inline block inside programas */
.quiz-inline{margin-top:2.4rem;background:#fff;border:1px solid rgba(18,40,94,.1);border-radius:20px;padding:1.5rem 1.8rem;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;box-shadow:0 10px 30px rgba(18,40,94,.08);border-left:5px solid var(--amar)}
.quiz-inline .qx-tx{text-align:left;flex:1;min-width:240px}
.quiz-inline h3{font-size:1.1rem;color:var(--azul);margin:0 0 .25rem}
.quiz-inline p{color:var(--gris);font-size:.9rem;margin:0}
.quiz-inline .btn{flex:none}

@media(max-width:640px){
  .cta-card-sec{padding:2.4rem 0}
  .cta-card{padding:2.2rem 1.3rem;border-radius:20px}
  .quiz-inline{flex-direction:column;text-align:center;padding:1.4rem}
  .quiz-inline .qx-tx{text-align:center}
  .quiz-inline .btn{width:100%}
  .hero-checks{gap:.5rem 1rem}
  .hero-checks li{font-size:.85rem}
}
