:root{--blue:#003580;--blue-mid:#0057b7;--blue-light:#1a73e8;--red:#c8102e;--red-dark:#a00d24;--white:#fff;--off:#f4f7ff;--gold:#ffd700;--gold-d:#c8a800;--dark:#0a1628;--sh:0 8px 32px rgba(0,53,128,.18);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Outfit',sans-serif;background:var(--off);color:var(--dark);overflow-x:hidden;}

/* FLOATS */
.wa-float{position:fixed;bottom:24px;right:24px;width:58px;height:58px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.7rem;z-index:9998;box-shadow:0 6px 24px rgba(37,211,102,.5);text-decoration:none;animation:waPulse 2.5s infinite;transition:transform .2s;}
.wa-float:hover{transform:scale(1.12);}
@keyframes waPulse{0%,100%{box-sizing:0 6px 24px rgba(37,211,102,.5);}50%{box-shadow:0 6px 36px rgba(37,211,102,.85);}}

/* TRANSLATE BAR */
#tbar{background:var(--blue);color:#fff;padding:6px 16px;font-size:12px;position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}
.lb{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;padding:3px 9px;border-radius:20px;font-size:11px;cursor:pointer;transition:all .2s;font-family:'Outfit',sans-serif;}
.lb:hover,.lb.active{background:#fff;color:var(--blue);font-weight:700;}

/* NAV */
nav{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:68px;box-shadow:0 4px 20px rgba(0,53,128,.1);position:sticky;top:33px;z-index:999;border-bottom:3px solid var(--red);}
.nl{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-img{height:46px;width:auto;}
.nb strong{display:block;font-size:13px;font-weight:800;color:var(--blue);letter-spacing:1px;}
.nb small{font-size:9px;color:var(--red);font-weight:600;}
.nav-links{display:flex;gap:2px;align-items:center;}
.nav-links a{color:var(--blue);text-decoration:none;padding:6px 10px;border-radius:7px;font-size:12px;font-weight:600;transition:all .2s;}
.nav-links a:hover{background:var(--off);}
.ncta{background:var(--red)!important;color:#fff!important;border-radius:8px!important;}
.ncta:hover{background:var(--red-dark)!important;}
.nav-menu-btn{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--blue);}

/* HERO */
#hero{min-height:94vh;background:linear-gradient(140deg,#001240 0%,var(--blue) 45%,#0d2b7a 75%,#1a0a3d 100%);align-items:center;justify-content:center;text-align:center;padding:70px 20px;position:relative;overflow:hidden;}
.page-section.section-active#hero{display:flex;}
.hero-stripe{position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--red) 33%,#fff 33%,#fff 66%,var(--blue) 66%);}
.hero-logo{width:120px;height:auto;margin:0 auto 8px;filter:drop-shadow(0 6px 20px rgba(0,0,0,.4));animation:fadeDown .7s ease both;}
.hero-logo-sub{margin-bottom:20px;}
.hc{position:relative;z-index:1;max-width:820px;}
.hbadge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;font-size:11px;font-weight:700;letter-spacing:2px;padding:6px 20px;border-radius:30px;margin-bottom:18px;text-transform:uppercase;box-shadow:0 4px 20px rgba(200,16,46,.4);animation:fadeDown .8s ease both;}
#hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5.5vw,4.8rem);color:#fff;line-height:1.1;margin-bottom:18px;animation:fadeDown .9s .1s ease both;}
#hero h1 em{color:var(--gold);font-style:normal;}
.hsub{color:rgba(255,255,255,.82);font-size:clamp(.95rem,2vw,1.15rem);max-width:680px;margin:0 auto 36px;line-height:1.75;animation:fadeDown 1s .2s ease both;}
.hbtns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;animation:fadeDown 1.1s .3s ease both;}
.btnp{background:var(--red);color:#fff;padding:14px 32px;border-radius:10px;font-size:15px;font-weight:700;border:none;cursor:pointer;text-decoration:none;transition:all .25s;display:inline-block;box-shadow:0 6px 24px rgba(200,16,46,.45);}
.btnp:hover{background:var(--red-dark);transform:translateY(-3px);}
.btns{background:rgba(255,255,255,.1);color:#fff;padding:14px 32px;border-radius:10px;font-size:15px;font-weight:600;border:2px solid rgba(255,255,255,.45);cursor:pointer;text-decoration:none;transition:all .25s;display:inline-block;backdrop-filter:blur(4px);}
.btns:hover{background:rgba(255,255,255,.2);transform:translateY(-3px);}
.hstats{display:flex;gap:32px;justify-content:center;margin-top:50px;flex-wrap:wrap;animation:fadeUp 1.2s .4s ease both;}
.si{text-align:center;}
.sn{font-family:'Playfair Display',serif;font-size:2.4rem;color:var(--gold);font-weight:900;line-height:1;}
.sl{color:rgba(255,255,255,.65);font-size:11px;margin-top:4px;}
.fe{position:absolute;font-size:2rem;opacity:.1;animation:floatA 9s ease-in-out infinite;user-select:none;pointer-events:none;}

/* PROPÓSITOS 2026 */
.propositos-box{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:18px 28px;margin:0 auto 28px;max-width:420px;backdrop-filter:blur(6px);}
.prop-title{font-size:.95rem;font-weight:700;color:var(--gold);margin-bottom:12px;letter-spacing:.5px;}
.prop-list{display:flex;flex-direction:column;gap:8px;text-align:left;}
.prop-item{display:flex;align-items:center;gap:10px;color:#fff;font-size:.92rem;font-weight:500;}
.prop-check{font-size:1.1rem;min-width:22px;}
.prop-item.checked .prop-check{color:#4eff7c;}

/* SECTIONS */
section{padding:80px 20px;}
.con{max-width:1100px;margin:0 auto;}
.stag{display:inline-block;background:rgba(0,53,128,.08);color:var(--blue-mid);font-size:11px;font-weight:700;letter-spacing:3px;padding:5px 16px;border-radius:20px;text-transform:uppercase;margin-bottom:14px;}
h2.st{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3.8vw,2.8rem);color:var(--blue);margin-bottom:14px;line-height:1.2;}
h2.st em{color:var(--red);font-style:normal;}
.sd{color:#4a5568;font-size:1rem;line-height:1.8;max-width:660px;}

/* ABOUT */
#about{background:#fff;}
.agrid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-top:40px;}
.avis{background:linear-gradient(135deg,var(--blue),var(--blue-light));border-radius:20px;padding:40px 30px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.avis .ybadge{position:absolute;top:14px;right:14px;background:var(--gold);color:var(--dark);font-weight:900;font-size:10px;padding:5px 10px;border-radius:20px;}
.avis .alogo{width:80px;height:auto;margin:0 auto 8px;display:block;}
.avis h3{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:10px;}
.avis p{opacity:.88;line-height:1.65;font-size:.9rem;}
.afeats{display:flex;flex-direction:column;gap:16px;}
.fc{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--off);border-radius:12px;border-left:4px solid var(--blue);transition:transform .2s,box-shadow .2s;}
.fc:hover{transform:translateX(5px);box-shadow:var(--sh);}
.fc:nth-child(2){border-left-color:var(--red);}
.fc:nth-child(3){border-left-color:#2ecc71;}
.fc:nth-child(4){border-left-color:#f39c12;}
.fi{width:40px;height:40px;min-width:40px;background:var(--blue);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.fc:nth-child(2) .fi{background:var(--red);}
.fc:nth-child(3) .fi{background:#2ecc71;}
.fc:nth-child(4) .fi{background:#f39c12;}
.fc h4{font-size:.92rem;font-weight:700;color:var(--blue);margin-bottom:3px;}
.fc p{font-size:.83rem;color:#5a6b7e;line-height:1.6;}
.school-photos{margin-top:40px;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,53,128,.15);}
.school-photo{width:100%;height:300px;object-fit:cover;display:block;}

/* PLAN DE ESTUDIOS */
.plan-img-wrap{text-align:center;margin:30px 0;}
.plan-img{max-width:100%;border-radius:16px;box-shadow:0 8px 32px rgba(0,53,128,.15);}
.bloques-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;}
.bloque-card{background:#fff;border-radius:18px;padding:28px 22px;box-shadow:0 4px 20px rgba(0,53,128,.08);border-top:5px solid var(--blue);}
.bloque-card.desarrollo{border-top-color:var(--red);}
.bloque-card.certs{border-top-color:var(--gold-d);}
.bloque-icon{font-size:2.2rem;margin-bottom:12px;}
.bloque-card h3{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--blue);margin-bottom:14px;}
.bloque-card p{font-size:.84rem;color:#5a6b7e;line-height:1.65;}
.bloque-niveles{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.bnivel{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-radius:10px;color:#fff;}
.bnivel.red{background:var(--red);}
.bnivel.navy{background:var(--blue);}
.bnivel.green{background:#27ae60;}
.bnivel.purple{background:#8e44ad;}
.bnivel.teal{background:#0f7f6f;}
.bnivel.orange{background:#d35400;}
.bnombre{font-weight:700;font-size:.88rem;}
.btime{font-size:.78rem;opacity:.85;background:rgba(255,255,255,.2);padding:2px 8px;border-radius:10px;}
.modalidades{margin-top:50px;}
.mod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.mod-card{background:#fff;border-radius:16px;padding:28px 22px;box-shadow:0 4px 20px rgba(0,53,128,.07);text-align:center;border-bottom:4px solid var(--blue);transition:transform .25s,box-shadow .25s;}
.mod-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,53,128,.14);}
.mod-icon{font-size:2.8rem;margin-bottom:12px;}
.mod-card h4{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--blue);margin-bottom:8px;}
.mod-card p{font-size:.84rem;color:#5a6b7e;line-height:1.6;margin-bottom:12px;}
.mod-badge{display:inline-block;background:var(--blue);color:#fff;font-size:10px;font-weight:700;padding:3px 12px;border-radius:20px;}
.mod-badge.kids{background:var(--red);}
.mod-badge.sabatino{background:#27ae60;}

/* TOOLS */
#tools{background:var(--off);}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.tc{border-radius:18px;padding:28px 22px;text-align:center;transition:transform .3s,box-shadow .3s;}
.tc:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,53,128,.15);}
.tc.blue{background:linear-gradient(135deg,var(--blue),var(--blue-mid));color:#fff;}
.tc.red{background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;}
.tc.gold{background:linear-gradient(135deg,#8B6914,var(--gold-d));color:#fff;}
.tc.teal{background:linear-gradient(135deg,#0f7f6f,#1abc9c);color:#fff;}
.tc.navy{background:linear-gradient(135deg,#1a1a5e,#3a3a9e);color:#fff;}
.tc.green{background:linear-gradient(135deg,#1e7e34,#28a745);color:#fff;}
.tc .ti{font-size:2.8rem;margin-bottom:14px;}
.tc h4{font-size:1rem;font-weight:800;margin-bottom:8px;}
.tc p{font-size:.83rem;opacity:.88;line-height:1.6;}
.ttag{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);font-size:10px;font-weight:700;letter-spacing:2px;padding:3px 10px;border-radius:20px;margin-bottom:10px;text-transform:uppercase;}
.palert{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:10px 12px;margin-top:12px;font-size:.8rem;line-height:1.5;}
.palert strong{display:block;margin-bottom:3px;}


/* PLATFORM ACCESS */
#platform-access{background:linear-gradient(135deg,#001240,var(--blue));color:#fff;padding:80px 20px;}
.pac-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:40px;align-items:start;}
.pac-info{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:30px;}
.pac-step{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
.pac-num{width:34px;height:34px;min-width:34px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;}
.pac-step h4{font-weight:700;font-size:.92rem;margin-bottom:3px;color:var(--gold);}
.pac-step p{font-size:.84rem;opacity:.82;line-height:1.55;}
.pac-box{background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.2);border-radius:20px;padding:28px;}
.pac-link-btn{display:block;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;text-align:center;padding:16px 22px;border-radius:12px;font-size:1.05rem;font-weight:800;text-decoration:none;margin-bottom:18px;transition:all .25s;box-shadow:0 6px 24px rgba(200,16,46,.4);}
.pac-link-btn:hover{transform:translateY(-3px);}
.cred-box{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:18px;}
.cred-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.cred-label{font-size:.78rem;opacity:.7;min-width:85px;font-weight:600;}
.cred-val{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:7px 12px;font-family:monospace;font-size:.88rem;color:var(--gold);flex:1;}
.pac-warn{background:rgba(200,16,46,.2);border:1px solid rgba(200,16,46,.5);border-radius:10px;padding:12px 14px;margin-top:14px;font-size:.83rem;line-height:1.55;}



/* BENEFITS */
#benefits{background:linear-gradient(160deg,#001240 0%,var(--blue) 60%,#0a2070 100%);color:#fff;padding:80px 20px;}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.bc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:28px 22px;text-align:center;transition:all .3s;cursor:pointer;}
.bc:hover{background:rgba(255,255,255,.13);transform:translateY(-6px);border-color:var(--gold);}
.bc .bi{font-size:2.6rem;margin-bottom:14px;}
.bc h4{font-size:.95rem;font-weight:800;color:var(--gold);margin-bottom:8px;}
.bc p{font-size:.84rem;opacity:.82;line-height:1.6;}
.bc .bt{display:inline-block;background:var(--red);color:#fff;font-size:9px;font-weight:800;letter-spacing:2px;padding:3px 9px;border-radius:20px;margin-bottom:8px;text-transform:uppercase;}
.legacy{text-align:center;margin-top:46px;padding:32px;background:rgba(255,215,0,.1);border:2px solid var(--gold);border-radius:18px;}
.legacy .yrs{font-family:'Playfair Display',serif;font-size:4.5rem;color:var(--gold);font-weight:900;line-height:1;}
.legacy h3{font-size:1.4rem;color:#fff;margin:8px 0;font-family:'Playfair Display',serif;}
.legacy p{color:rgba(255,255,255,.75);font-size:.95rem;max-width:580px;margin:0 auto;line-height:1.7;}

/* FRANQUICIA */
#franquicia{background:#fff;padding:80px 20px;}
.fran-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-top:40px;}
.fran-img{border-radius:20px;overflow:hidden;box-shadow:0 8px 32px rgba(0,53,128,.15);}
.fran-img img{width:100%;height:380px;object-fit:cover;display:block;}
.fran-content h3{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--blue);margin-bottom:14px;}
.fran-content p{color:#5a6b7e;line-height:1.75;margin-bottom:20px;}
.fran-points{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.fran-points li{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:#4a5568;}
.fran-points li::before{content:'✅';min-width:20px;}

/* UNIVERSITY */
#uni{background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;padding:80px 20px;text-align:center;position:relative;overflow:hidden;}
#uni::before{content:'🎓';font-size:16rem;position:absolute;right:-50px;bottom:-30px;opacity:.05;pointer-events:none;}
.ucards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:860px;margin:0 auto 36px;position:relative;z-index:1;}
.uc{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:22px 16px;text-align:center;transition:all .25s;cursor:pointer;}
.uc:hover{background:rgba(255,255,255,.2);transform:translateY(-4px);}
.uc .ui{font-size:2rem;margin-bottom:10px;}
.uc h4{font-weight:800;font-size:.92rem;color:var(--gold);margin-bottom:7px;}
.uc p{font-size:.82rem;opacity:.85;line-height:1.55;}
.byu-box{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:28px;max-width:700px;margin:0 auto;position:relative;z-index:1;}
.byu-box img{height:80px;width:auto;margin:0 auto 14px;display:block;filter:brightness(10) saturate(0);}
.byu-box h4{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--gold);margin-bottom:10px;}
.byu-box p{font-size:.88rem;opacity:.88;line-height:1.65;margin-bottom:16px;}

/* TESTIMONIOS */
#testimonios{background:var(--off);padding:80px 20px;}
.testi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px;}
.testi-video{border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,53,128,.15);background:#000;aspect-ratio:9/16;display:flex;align-items:center;justify-content:center;position:relative;}
.testi-video video{width:100%;height:100%;object-fit:cover;}
.testi-placeholder{text-align:center;color:rgba(255,255,255,.6);padding:40px;}
.testi-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;}
.tcard{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px rgba(0,53,128,.07);border-top:4px solid var(--blue);}
.tcard:nth-child(2){border-top-color:var(--red);}
.tcard:nth-child(3){border-top-color:var(--gold-d);}
.tcard-stars{color:var(--gold);font-size:1rem;margin-bottom:8px;}
.tcard p{font-size:.87rem;color:#5a6b7e;line-height:1.65;margin-bottom:12px;font-style:italic;}
.tcard-author{font-weight:700;font-size:.85rem;color:var(--blue);}

/* ENROLL */
#enroll{background:linear-gradient(180deg,var(--off),#d8e6ff);text-align:center;padding:90px 20px;}
.eform{max-width:540px;margin:0 auto;background:#fff;padding:38px 36px;border-radius:22px;box-shadow:0 20px 60px rgba(0,53,128,.15);text-align:left;border-top:5px solid var(--blue);}
.eform h3{font-family:'Playfair Display',serif;color:var(--blue);font-size:1.4rem;margin-bottom:22px;text-align:center;}
.fr{margin-bottom:14px;}
.fr label{display:block;font-size:12px;font-weight:700;color:var(--blue);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px;}
.fr input,.fr select{width:100%;padding:12px 14px;border:2px solid #d0daea;border-radius:10px;font-size:14px;font-family:'Outfit',sans-serif;transition:border-color .2s;background:var(--off);color:var(--dark);}
.fr input:focus,.fr select:focus{outline:none;border-color:var(--blue);background:#fff;}
.fsub{width:100%;padding:15px;background:linear-gradient(135deg,var(--blue),var(--blue-mid));color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:800;font-family:'Outfit',sans-serif;cursor:pointer;transition:all .25s;margin-top:6px;}
.fsub:hover{background:linear-gradient(135deg,var(--red),var(--red-dark));transform:translateY(-2px);}
.wabtn{display:block;text-align:center;margin-top:12px;background:#25d366;color:#fff;padding:13px;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none;transition:all .2s;}
.wabtn:hover{background:#1aa34a;transform:translateY(-2px);}
.mailbtn{display:block;text-align:center;margin-top:10px;background:var(--blue);color:#fff;padding:13px;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none;transition:all .2s;}
.mailbtn:hover{background:var(--blue-mid);transform:translateY(-2px);}
.fnote{text-align:center;font-size:11px;color:#7a8b9e;margin-top:12px;line-height:1.7;}

/* FOOTER */
footer{background:var(--dark);color:rgba(255,255,255,.65);padding:46px 20px;text-align:center;}
.fstripe{height:5px;background:linear-gradient(90deg,var(--red) 33%,#fff 33%,#fff 66%,var(--blue) 66%);margin-bottom:32px;}
.flogo-wrap{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px;}
.flogo-img{height:52px;width:auto;}
.flogo-text .fl{font-family:'Playfair Display',serif;font-size:1.4rem;color:#fff;font-weight:900;}
.flogo-text .fcip{font-size:11px;color:var(--gold);font-weight:700;letter-spacing:2px;}
.finfo{font-size:12px;line-height:2.2;}
.finfo a{color:var(--gold);text-decoration:none;font-weight:600;}
.fdiv{width:50px;height:2px;background:linear-gradient(90deg,var(--blue),var(--red));margin:18px auto;border-radius:2px;}

/* MODALS */
.mo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:9999;align-items:center;justify-content:center;backdrop-filter:blur(5px);}
.mo.open{display:flex;}
.mb{background:#fff;border-radius:22px;padding:44px 36px;max-width:520px;width:92%;text-align:center;animation:popIn .3s ease;position:relative;border-top:5px solid var(--blue);max-height:88vh;overflow-y:auto;}
.mb.dark{background:linear-gradient(135deg,#001240,var(--blue));color:#fff;border-top-color:var(--gold);}
.mc{position:absolute;top:12px;right:16px;font-size:1.3rem;background:none;border:none;cursor:pointer;color:#7a8b9e;transition:color .2s;}
.mc:hover{color:var(--red);}
.micon{font-size:3.5rem;margin-bottom:14px;}
.mb h3{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--blue);margin-bottom:12px;}
.mb.dark h3{color:var(--gold);}
.mb p{color:#5a6b7e;line-height:1.7;font-size:.92rem;}
.mb.dark p{color:rgba(255,255,255,.82);}
.code-display{font-family:monospace;font-size:2.8rem;font-weight:900;color:var(--gold);background:rgba(255,215,0,.15);border:2px solid var(--gold);border-radius:14px;padding:14px 32px;margin:18px 0;letter-spacing:4px;display:block;}
.byu-modal-logo{height:70px;width:auto;margin:0 auto 16px;display:block;}

/* ANIMATIONS */
@keyframes fadeDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes floatA{0%,100%{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-18px) rotate(5deg)}66%{transform:translateY(10px) rotate(-5deg)}}
@keyframes popIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.fi-el{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease;}
.fi-el.vis{opacity:1;transform:translateY(0);}

/* SKILLS GRID */
.skgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:44px;}
.skc{background:#fff;border-radius:18px;padding:28px;text-align:center;box-shadow:0 4px 20px rgba(0,53,128,.07);transition:transform .3s,box-shadow .3s;border-top:5px solid var(--blue);cursor:pointer;}
.skc:nth-child(2){border-top-color:var(--red);}
.skc:nth-child(3){border-top-color:#2980b9;}
.skc:nth-child(4){border-top-color:#27ae60;}
.skc:hover{transform:translateY(-7px);box-shadow:0 18px 44px rgba(0,53,128,.14);}
.skc .em{font-size:3rem;margin-bottom:12px;display:block;}
.skc .etag{font-size:10px;font-weight:800;letter-spacing:3px;color:var(--red);margin-bottom:8px;display:block;}
.skc h3{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--blue);margin-bottom:8px;}
.skc p{color:#5a6b7e;font-size:.86rem;line-height:1.6;}
.pbw{background:#e8edf5;border-radius:30px;height:7px;margin-top:16px;overflow:hidden;}
.pb{height:100%;border-radius:30px;background:linear-gradient(90deg,var(--blue),var(--blue-light));width:0;transition:width 1.6s cubic-bezier(.4,0,.2,1);}
.skc:nth-child(2) .pb{background:linear-gradient(90deg,var(--red),#e74c3c);}
.skc:nth-child(3) .pb{background:linear-gradient(90deg,#2980b9,#74b9ff);}
.skc:nth-child(4) .pb{background:linear-gradient(90deg,#27ae60,#55efc4);}
.ppct{font-weight:700;color:var(--blue);font-size:.8rem;margin-top:7px;}

/* GUARANTEE */
#guarantee{background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;text-align:center;padding:70px 20px;position:relative;overflow:hidden;}
.gnum{font-family:'Playfair Display',serif;font-size:clamp(5rem,12vw,9rem);font-weight:900;color:var(--gold);line-height:1;position:relative;z-index:1;}
#guarantee h2{font-size:clamp(1.4rem,2.8vw,2.2rem);margin:10px 0 14px;font-family:'Playfair Display',serif;position:relative;z-index:1;}
#guarantee p{opacity:.9;max-width:660px;margin:0 auto 28px;font-size:1rem;line-height:1.75;position:relative;z-index:1;}

/* PROCESS */
#process{background:var(--off);}
.steps{display:flex;margin-top:44px;position:relative;flex-wrap:wrap;}
.steps::before{content:'';position:absolute;top:36px;left:8%;right:8%;height:3px;background:linear-gradient(90deg,var(--blue),var(--red));}
.step{flex:1;min-width:140px;text-align:center;padding:0 12px;position:relative;z-index:1;}
.stepn{width:72px;height:72px;background:var(--blue);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;margin:0 auto 16px;border:4px solid #fff;box-shadow:0 0 0 3px var(--blue);transition:transform .2s,background .2s;}
.step:hover .stepn{transform:scale(1.1);background:var(--red);box-shadow:0 0 0 3px var(--red);}
.step h4{font-weight:700;color:var(--blue);margin-bottom:6px;font-size:.92rem;}
.step p{font-size:.81rem;color:#5a6b7e;line-height:1.55;}

/* CERTIFICATIONS */
#certs{background:var(--off);}
.cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px;}
.cc{background:#fff;border-radius:18px;padding:28px;box-shadow:0 4px 20px rgba(0,53,128,.08);display:flex;gap:18px;align-items:flex-start;transition:transform .3s,box-shadow .3s;border-left:5px solid var(--blue);}
.cc:nth-child(2){border-left-color:var(--red);}
.cc:nth-child(3){border-left-color:var(--gold-d);}
.cc:nth-child(4){border-left-color:#8e44ad;}
.cc:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,53,128,.14);}
.ci{width:52px;height:52px;min-width:52px;background:var(--blue);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;}
.cc:nth-child(2) .ci{background:var(--red);}
.cc:nth-child(3) .ci{background:var(--gold-d);}
.cc:nth-child(4) .ci{background:#8e44ad;}
.cc h4{font-size:1rem;font-weight:800;color:var(--blue);margin-bottom:7px;}
.cc p{font-size:.85rem;color:#5a6b7e;line-height:1.6;}
.pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;}
.pill{background:var(--off);color:var(--blue);font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;border:1px solid #ccd8ee;}

@media(max-width:900px){.tgrid,.bgrid,.ucards,.bloques-grid,.mod-grid{grid-template-columns:1fr 1fr;}.cgrid,.agrid,.skgrid,.pac-grid,.fran-grid,.testi-grid{grid-template-columns:1fr;}.steps::before{display:none;}.steps{flex-direction:column;align-items:center;gap:20px;}.testi-cards{grid-template-columns:1fr;}}
@media(max-width:600px){nav{padding:0 14px;}.nav-links{display:none;}.nav-links.open{display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,53,128,.97);z-index:9995;align-items:center;justify-content:center;gap:20px;}.nav-links.open a{font-size:1.2rem;color:#fff!important;}.nav-menu-btn{display:block;}.tgrid,.bgrid,.ucards,.bloques-grid,.mod-grid{grid-template-columns:1fr;}.eform{padding:26px 18px;}.hstats{gap:20px;}}

/* ══ NAVEGACIÓN POR SECCIONES ══ */
.page-section {
  display: none;
}
.page-section.section-active {
  display: block;
  opacity: 1;
}


/* ══ POPUP CÓDIGO ESPECIAL ══ */
#popup-codigo { position:fixed; inset:0; background:rgba(0,0,0,.55); backdrop-filter:blur(4px); z-index:9999; display:flex; align-items:center; justify-content:center; animation:fadeIn .3s ease; }
#popup-codigo.hidden { display:none; }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
.popup-box { background:#fff; border-radius:20px; padding:36px 32px 28px; max-width:480px; width:92%; text-align:center; position:relative; box-shadow:0 20px 60px rgba(0,0,0,.25); animation:popUp .35s cubic-bezier(.34,1.56,.64,1); border-top:6px solid #e53935; border-left:none; border-right:none; border-bottom:6px solid transparent; background-image:linear-gradient(white,white),linear-gradient(to right,#1a237e,#e53935); background-origin:border-box; background-clip:padding-box,border-box; }
@keyframes popUp { from{transform:scale(.85);opacity:0} to{transform:scale(1);opacity:1} }
.popup-close { position:absolute; top:12px; right:16px; font-size:20px; cursor:pointer; color:#aaa; background:none; border:none; line-height:1; }
.popup-close:hover { color:#333; }
.popup-wizard { font-size:48px; margin-bottom:8px; }
.popup-title { font-size:1.4rem; font-weight:800; color:#1a237e; margin-bottom:8px; }
.popup-desc { font-size:.9rem; color:#555; margin-bottom:18px; line-height:1.5; }
.popup-code-box { background:#1a237e; border-radius:12px; padding:18px 24px; margin-bottom:20px; border:2px solid #f5c518; }
.popup-code-label { font-size:.7rem; letter-spacing:.15em; color:#a0b0e0; text-transform:uppercase; margin-bottom:4px; }
.popup-code { font-size:2.8rem; font-weight:900; color:#f5c518; letter-spacing:.1em; font-family:monospace; }
.popup-code-sub { font-size:.75rem; color:#a0b0e0; margin-top:6px; line-height:1.4; }
.popup-btn { display:inline-block; background:linear-gradient(135deg,#e53935,#c62828); color:#fff; font-weight:700; font-size:1rem; padding:14px 28px; border-radius:50px; cursor:pointer; border:none; width:100%; transition:transform .15s,box-shadow .15s; box-shadow:0 4px 15px rgba(229,57,53,.4); }
.popup-btn:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(229,57,53,.5); }

/* ══ BOTÓN FLOTANTE CÓDIGO ══ */
#fab-codigo { position:fixed; bottom:100px; right:24px; width:58px; height:58px; border-radius:50%; background:linear-gradient(135deg,#f5c518,#e6a800); border:none; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,.3); font-size:26px; z-index:9998; display:flex; align-items:center; justify-content:center; transition:transform .2s; }
#fab-codigo:hover { transform:scale(1.12); }
#fab-codigo::after { content:'F0626'; position:absolute; right:66px; background:#1a237e; color:#f5c518; font-size:.7rem; font-weight:800; padding:4px 8px; border-radius:20px; white-space:nowrap; opacity:0; transition:opacity .2s; pointer-events:none; }
#fab-codigo:hover::after { opacity:1; }

@media (max-width: 768px) {
  #tbar { flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; scrollbar-width:none; }
  #tbar::-webkit-scrollbar { display:none; }

  nav { display:flex; align-items:center; justify-content:space-between; padding:0 16px; height:64px; }

  .menu-toggle { display:flex !important; flex-direction:column; justify-content:center; gap:5px; background:none !important; border:none !important; padding:8px; cursor:pointer; position:relative; z-index:9999; }
  .menu-toggle span { display:block; width:26px; height:3px; background:var(--red) !important; border-radius:2px; transition:0.3s; }

  .nav-links { display:none; flex-direction:column; position:fixed !important; top:97px; left:0; right:0; width:100%; background:#002f6c !important; padding:8px 0; z-index:1999 !important; height:calc(100vh - 97px); overflow-y:auto; }
  .nav-links.active { display:flex !important; }
  .nav-links a { padding:16px 28px; text-align:left; width:100%; color:#ffffff !important; font-size:1.1rem !important; font-weight:600; display:block; border-bottom:1px solid rgba(255,255,255,.12); }
  .nav-links a:last-child { border-bottom:none; }
  .nav-links a:hover { background:rgba(255,255,255,.1); }

  .nb small { display:none; }
}


@media(max-width:600px){
  .cred-row{flex-direction:column;align-items:flex-start;gap:4px;}
  .cred-val{width:100%;box-sizing:border-box;}
  .cred-label{min-width:unset;}
}


