/* ═══════════════════════════════════════
   CEDAPRI – Shared Stylesheet
═══════════════════════════════════════ */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#013282;--teal:#2DC98A;--violet:#7B2FBE;--blue:#1E86FF;
  --coral:#E85D75;--yellow:#F7C948;--orange:#F47C3B;--mint:#D6F5EC;
  --purple-light:#9B59B6;--cyan:#06B6D4;
}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:#222;overflow-x:hidden;}

.squiggle-left,.squiggle-blue,.squiggle-or-top,.squiggle-or-bot,
.squiggle-top,.squiggle-r,.squiggle-b,.blob-teal,.blob-orange,
.blob-purple,.blob-yellow,.circle-deco,.snake-svg,
[class*="squiggle"],[class*="blob"]{z-index:0 !important;pointer-events:none;}

section>*:not([class*="squiggle"]):not([class*="blob"]):not(.snake-svg):not(.circle-deco),
.section-inner,.hero-inner,.snake-section,.acerca-inner,.beneficios-grid,
.hijo-inner,.niveles-inner,.ub-content,.servicios-inner,.programas-inner,
.admision-inner,.req-list,.req-items,h2,h3,p,.card,.pill,.bcard,.req{
  position:relative;z-index:1;
}

/* NAV */
nav{
  position:sticky;top:0;z-index:100;
  background:var(--navy);
  display:flex;align-items:center;gap:24px;
  padding:0 48px;height:64px;
}
nav img.nav-logo{height:52px;object-fit:contain;flex-shrink:0;}
.nav-links{display:flex;align-items:center;gap:18px;flex:1;justify-content:flex-start;}
.nav-links a{
  color:rgba(255,255,255,.8);font-size:14px;font-weight:600;
  text-decoration:none;transition:color .2s;white-space:nowrap;
}
.nav-links a:hover{color:#fff;}
.nav-links a.active{
  color:#fff;border-bottom:2px solid var(--teal);padding-bottom:2px;
}
.nav-cta{
  margin-left:auto;flex-shrink:0;background:var(--teal);color:var(--navy);
  padding:9px 22px;border-radius:50px;font-weight:700;font-size:14px;
  text-decoration:none;white-space:nowrap;flex-shrink:0;
}
.nav-cta:hover{background:#25b87a;}

/* Hamburger */
.nav-hamburger{
  display:none;flex-direction:column;gap:5px;cursor:pointer;
  margin-left:auto;background:none;border:none;padding:4px;
}
.nav-hamburger span{
  display:block;width:24px;height:2px;background:#fff;
  border-radius:2px;transition:all .3s;
}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile nav drawer */
.mobile-nav{
  display:none;background:var(--navy);
  max-height:0;overflow:hidden;
  transition:max-height .35s ease,padding .35s;
  position:sticky;top:64px;z-index:99;
}
.mobile-nav.open{max-height:420px;padding:12px 0 18px;}
.mobile-nav a{
  display:block;padding:11px 28px;color:rgba(255,255,255,.85);
  font-size:15px;font-weight:600;text-decoration:none;
}
.mobile-nav a:hover,.mobile-nav a.active{color:#fff;background:rgba(255,255,255,.06);}
.mobile-nav .nav-cta-m{
  display:block;margin:12px 28px 0;background:var(--teal);color:var(--navy);
  padding:12px 22px;border-radius:50px;font-weight:700;font-size:14px;
  text-align:center;text-decoration:none;
}

/* APRENDO BANNER */
.aprendo-banner{
  position:relative;width:100%;height:90px;
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden;
}
.aprendo-banner svg{position:absolute;bottom:0;left:0;width:100%;height:100%;}
.aprendo-banner .banner-label{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
  font-family:'Rubik',sans-serif;font-weight:900;font-size:22px;
  color:#fff;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.2);
}
.aprendo-banner .banner-label.dark{color:var(--navy);}

/* HERO */
#inicio{position:relative;min-height:100vh;background:#cde;overflow:hidden;}
#inicio .bg{
  position:absolute;inset:0;
  background:url('img/hero-portada.jpg') center/cover no-repeat;
  filter:brightness(.75);
}
#inicio .overlay{position:relative;z-index:2;padding:100px 60px 80px;max-width:560px;}
#inicio h1{
  font-family:'Rubik',sans-serif;font-weight:900;
  font-size:clamp(72px,11vw,110px);line-height:.86;
  color:#fff;text-transform:uppercase;letter-spacing:-3px;
  text-shadow:0 2px 20px rgba(0,0,0,.3);
}
.ami{
  display:inline-block;background:#2DC98A;border-radius:50px;
  padding:2px 16px;font-style:italic;color:#fff;
  font-size:.65em;letter-spacing:-1px;vertical-align:middle;margin:0 4px;
}
#inicio .sub{
  margin-top:20px;font-family:'Rubik',sans-serif;font-weight:700;
  font-size:18px;color:rgba(255,255,255,.95);
}
#inicio .pills{margin-top:32px;display:flex;flex-direction:column;gap:10px;}
.pill{
  display:inline-flex;align-items:center;padding:10px 24px;
  border-radius:50px;font-family:'Rubik',sans-serif;font-weight:700;
  font-size:15px;color:#fff;width:fit-content;
}
.pill.navy{background:var(--navy);}
.pill.purple{background:#9B59B6;}
.pill.blue{background:#3498DB;}
.pill.coral{background:var(--coral);}
#inicio .foot{
  margin-top:40px;display:flex;gap:24px;flex-wrap:wrap;
  font-size:14px;color:rgba(255,255,255,.8);
}
#inicio .foot a{color:#fff;font-weight:700;text-decoration:none;}
#inicio .squiggle{position:absolute;left:36px;top:40%;transform:translateY(-50%);z-index:3;}

/* SOMOS */
#nosotros{background:#9B59B6;position:relative;overflow:hidden;}
.somos-inner{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:620px;max-width:1200px;margin:0 auto;
}
.somos-text{padding:80px 60px;display:flex;flex-direction:column;justify-content:center;}
.somos-text h2{
  font-family:'Rubik',sans-serif;font-weight:900;font-size:60px;
  color:#fff;line-height:1;margin-bottom:22px;text-align:center;
}
.somos-text p{font-size:20px;color:rgba(255,255,255,.92);line-height:1.65;text-align:center;}
.somos-photo{position:relative;overflow:hidden;}
.somos-photo img{width:100%;height:100%;object-fit:cover;object-position:top;}
.somos-wave{position:absolute;bottom:0;left:0;right:0;}

/* ACERCA */
#acerca{background:#fff;position:relative;overflow:hidden;padding:80px 60px;}
#acerca .blob-tl{
  position:absolute;top:-80px;left:-80px;width:280px;height:280px;
  background:var(--teal);border-radius:40% 60% 70% 30% / 40% 50% 60% 50%;opacity:.18;
}
.acerca-inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;
}
.acerca-text .intro{font-size:16px;color:#444;line-height:1.75;margin-bottom:28px;}
.acerca-text .quote{
  font-family:'Rubik',sans-serif;font-weight:700;font-size:20px;
  color:var(--navy);line-height:1.5;text-align:center;margin-bottom:36px;
}
.acerca-pills{display:flex;flex-direction:column;gap:10px;}
.apill{padding:12px 22px;border-radius:50px;font-size:14px;font-weight:600;color:#fff;}
.apill.a{background:#9B59B6;}
.apill.b{background:var(--navy);}
.apill strong{font-weight:700;}
.acerca-photo img{
  width:100%;height:480px;object-fit:cover;object-position:top;
  border-radius:20px;box-shadow:0 8px 32px rgba(0,0,0,.12);
}

/* BENEFICIOS */
#beneficios{background:#f8f8f8;position:relative;overflow:hidden;padding:80px 60px 120px;}
#beneficios h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:46px;color:var(--navy);margin-bottom:48px;}
#beneficios h2 em{color:var(--teal);font-style:normal;}
.b-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.bcard{background:#fff;border-radius:12px;padding:24px 22px;display:flex;gap:16px;align-items:flex-start;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.bcard-bar{width:4px;border-radius:4px;flex-shrink:0;align-self:stretch;}
.bcard:nth-child(1) .bcard-bar{background:#1E86FF;}
.bcard:nth-child(2) .bcard-bar{background:#9B59B6;}
.bcard:nth-child(3) .bcard-bar{background:#2DC98A;}
.bcard:nth-child(4) .bcard-bar{background:#F7C948;}
.bcard:nth-child(5) .bcard-bar{background:#E85D75;}
.bcard:nth-child(6) .bcard-bar{background:#06B6D4;}
.bcard-icon{font-size:28px;flex-shrink:0;}
.bcard h3{font-family:'Rubik',sans-serif;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.bcard:nth-child(1) h3{color:#1E86FF;}
.bcard:nth-child(2) h3{color:#9B59B6;}
.bcard:nth-child(3) h3{color:#2DC98A;}
.bcard:nth-child(4) h3{color:#F7C948;}
.bcard:nth-child(5) h3{color:#E85D75;}
.bcard:nth-child(6) h3{color:#06B6D4;}
.bcard p{font-size:13.5px;color:#555;line-height:1.6;}
#beneficios .blob-orange{
  position:absolute;bottom:-40px;left:-60px;width:260px;height:180px;
  background:var(--orange);border-radius:60% 40% 30% 70% / 50% 60% 40% 50%;opacity:.8;
}

/* SU HIJO */
#hijo{background:#fff;position:relative;overflow:hidden;padding:80px 0 0;}
.hijo-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:600px;}
.hijo-left{padding:0 60px 80px 60px;display:flex;flex-direction:column;justify-content:flex-start;}
.hijo-left h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:clamp(36px,5vw,56px);color:var(--navy);line-height:1;margin-bottom:8px;}
.hijo-left h2 .feliz{color:var(--teal);display:block;font-size:1.1em;}
.hijo-left .intro-text{font-size:15px;color:#555;line-height:1.7;margin-bottom:24px;}
.hijo-squiggle{position:absolute;top:120px;left:40%;z-index:2;}
.checklist-box{background:#3498DB;border-radius:16px;padding:24px 28px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.chk{display:flex;gap:12px;align-items:flex-start;}
.chk-bullet{color:#fff;font-size:18px;line-height:1;margin-top:1px;flex-shrink:0;}
.chk p{color:#fff;font-size:15px;line-height:1.5;}
.hijo-left .cta-green{font-family:'Rubik',sans-serif;font-weight:700;font-size:20px;color:var(--teal);margin-bottom:16px;}
#hijo .blob-purple{position:absolute;bottom:0;right:0;width:320px;height:200px;background:#9B59B6;border-radius:80% 0 0 0;opacity:.9;}
#hijo .blob-purple p{position:absolute;top:50%;left:50%;transform:translate(-40%,-55%);font-family:'Rubik',sans-serif;font-weight:900;font-size:16px;color:#fff;text-align:center;line-height:1.4;width:200px;}
.hijo-right{position:relative;overflow:hidden;}
.hijo-right img{width:100%;height:100%;min-height:500px;object-fit:cover;object-position:center 20%;}

/* CTA INDEX */
.cta-index{background:linear-gradient(135deg,var(--navy) 0%,#0a4aaa 100%);padding:80px 48px;text-align:center;position:relative;overflow:hidden;}
.cta-index h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:clamp(28px,5vw,52px);color:#fff;margin-bottom:16px;}
.cta-index p{font-size:18px;color:rgba(255,255,255,.75);margin-bottom:40px;}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-teal{background:var(--teal);color:var(--navy);font-family:'Rubik',sans-serif;font-weight:700;font-size:16px;padding:16px 36px;border-radius:50px;text-decoration:none;}
.btn-teal:hover{background:#25b87a;}
.btn-white{background:#fff;color:var(--navy);font-family:'Rubik',sans-serif;font-weight:700;font-size:16px;padding:16px 36px;border-radius:50px;text-decoration:none;}
.btn-white:hover{background:#e8f4ff;}

/* DIVERSIDAD */
#diversidad{background:#fff;position:relative;overflow:hidden;padding:80px 60px 40px;}
#diversidad .squiggle-left{position:absolute;left:-10px;top:200px;}
#diversidad h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:42px;color:var(--navy);margin-bottom:12px;}
#diversidad h2 em{color:var(--teal);font-style:normal;}
.div-intro{font-size:15px;color:#444;line-height:1.7;max-width:780px;margin-bottom:6px;}
.snake-section{max-width:700px;margin:36px auto 0;position:relative;}
.snake-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.snake-grid{display:flex;flex-direction:column;gap:0;}
.snake-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px 0;}
.snode{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:2;}
.snode .circle{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-family:'Rubik',sans-serif;font-weight:900;color:#fff;text-align:center;line-height:1.2;border:3px solid #fff;padding:6px;box-shadow:0 4px 16px rgba(0,0,0,.2);}
.snode .desc{font-size:11.5px;color:#666;text-align:center;line-height:1.35;max-width:110px;margin-top:8px;background:#fff;padding:2px 0;position:relative;z-index:3;}
.div-note{margin-top:24px;font-size:13px;color:#666;line-height:1.65;border-left:3px solid var(--violet);padding-left:14px;font-style:italic;max-width:600px;}
/* Snake mobile list */
.snake-list{display:none;flex-direction:column;gap:12px;margin-top:28px;}
.snake-list-item{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:12px;background:#f8f8ff;}
.snake-list-dot{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Rubik',sans-serif;font-weight:900;font-size:9px;color:#fff;text-align:center;line-height:1.1;padding:4px;border:2px solid rgba(255,255,255,.5);box-shadow:0 2px 8px rgba(0,0,0,.15);}
.snake-list-item p{font-size:13px;color:#444;line-height:1.5;}
.snake-list-item strong{font-family:'Rubik',sans-serif;font-weight:700;color:var(--navy);}

/* NIVELES */
#niveles{background:#D6F5EC;position:relative;overflow:hidden;padding:80px 60px 60px;}
#niveles .squiggle-blue{position:absolute;left:0;top:100px;}
.niveles-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
#niveles h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:48px;color:var(--navy);line-height:1;margin-bottom:12px;}
.jornada-tag{display:inline-block;background:var(--navy);color:#fff;font-family:'Rubik',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:8px 22px;border-radius:50px;margin-bottom:32px;}
.lv-list{display:flex;flex-direction:column;gap:0;}
.lv-item{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid rgba(1,50,130,.1);}
.lv-item:last-child{border-bottom:none;}
.lv-bullet{width:10px;height:10px;border-radius:50%;background:var(--teal);flex-shrink:0;}
.lv-item p{font-family:'Rubik',sans-serif;font-weight:700;font-size:22px;color:var(--teal);}
.niveles-photo img{width:100%;border-radius:20px;object-fit:cover;height:480px;box-shadow:0 8px 32px rgba(0,0,0,.1);object-position:30% center;}

/* UBICACION */
#ubicacion{background:#fff;position:relative;padding:0 0 80px;}
.road-top{width:100%;display:block;}
.ubicacion-content{max-width:1100px;margin:0 auto;padding:0 60px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.ub-title{grid-column:1/-1;padding-top:40px;}
.ub-title .tag{display:inline-block;background:var(--teal);color:var(--navy);font-family:'Rubik',sans-serif;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:6px 18px;border-radius:50px;margin-bottom:12px;}
.ub-title h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:48px;color:var(--navy);}
.ub-title h2 em{display:block;background:#9B59B6;color:#fff;padding:4px 20px;border-radius:12px;font-style:normal;width:fit-content;}
.map-box{width:100%;height:360px;border-radius:20px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.15);}
.map-box iframe{width:100%;height:100%;border:none;display:block;}
.ub-info{display:flex;flex-direction:column;gap:0;}
.ub-step-title{font-family:'Rubik',sans-serif;font-weight:700;font-size:18px;color:var(--navy);margin-bottom:16px;}
.ub-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:24px;}
.ub-step{display:flex;gap:12px;align-items:flex-start;}
.ub-step-dot{width:8px;height:8px;border-radius:50%;background:var(--navy);flex-shrink:0;margin-top:7px;}
.ub-step p{font-size:15px;color:#444;line-height:1.5;}
.ub-addr{background:var(--navy);color:#fff;border-radius:12px;padding:16px 20px;display:flex;gap:12px;align-items:center;font-weight:600;font-size:15px;}

/* SERVICIOS */
#servicios{background:#FFF8F0;position:relative;overflow:hidden;padding:80px 0 0;}
#servicios .squiggle-or-top{position:absolute;top:-20px;right:0;}
#servicios .squiggle-or-bot{position:absolute;bottom:100px;left:-20px;}
.servicios-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.servicios-text{padding:60px;}
#servicios h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:42px;color:var(--navy);text-transform:uppercase;letter-spacing:-1px;margin-bottom:36px;}
#servicios h2 em{color:var(--teal);font-style:normal;}
.srv-items{display:flex;flex-direction:column;gap:28px;}
.srv-item{display:flex;gap:0;}
.srv-bar{width:4px;background:#1E86FF;border-radius:4px;flex-shrink:0;margin-right:18px;}
.srv-item h3{font-family:'Rubik',sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.8px;color:#1E86FF;margin-bottom:6px;}
.srv-item p{font-size:14px;color:#555;line-height:1.65;}
.servicios-photo{position:relative;overflow:hidden;}
.servicios-photo img{width:100%;height:100%;object-fit:cover;}

/* PROGRAMAS */
#programas{background:#fff;position:relative;overflow:hidden;padding:80px 60px 120px;}
#programas .blob-yellow{position:absolute;top:-60px;right:-60px;width:280px;height:200px;background:var(--yellow);border-radius:50% 30% 60% 40% / 40% 60% 40% 60%;opacity:.85;}
#programas .squiggle-bot{position:absolute;bottom:60px;left:0;}
.programas-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
#programas h2{grid-column:1/-1;font-family:'Rubik',sans-serif;font-weight:900;font-size:46px;color:var(--navy);margin-bottom:8px;}
#programas h2 em{color:var(--teal);font-style:normal;}
.prog{display:flex;gap:14px;align-items:flex-start;}
.prog-name{font-family:'Rubik',sans-serif;font-weight:700;font-size:14px;color:var(--teal);margin-bottom:4px;}
.prog p{font-size:14px;color:#444;line-height:1.6;}
.prog-dot{width:12px;height:12px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:5px;}

/* ADMISION */
#admision{background:#fff;position:relative;overflow:hidden;padding:80px 60px;}
#admision .squiggle-top{position:absolute;top:30px;right:60px;}
#admision .circle-deco{position:absolute;left:-60px;top:200px;width:200px;height:200px;border-radius:50%;border:6px solid var(--orange);opacity:.5;}
.admision-inner{max-width:680px;margin:0 auto;}
#admision h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:46px;color:var(--navy);margin-bottom:6px;text-align:center;}
#admision .sub{font-size:16px;color:#888;text-align:center;margin-bottom:48px;}
.stepper{display:flex;flex-direction:column;gap:0;}
.step-item{position:relative;}
.step-header{display:flex;align-items:center;gap:18px;cursor:pointer;padding:18px 20px;border-radius:16px;transition:background .2s;user-select:none;}
.step-header:hover{background:rgba(1,50,130,.05);}
.step-num{width:56px;height:56px;border-radius:50%;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Rubik',sans-serif;font-weight:900;font-size:20px;color:#fff;position:relative;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:transform .2s;}
.step-num .sn-l{position:absolute;left:0;top:0;width:50%;height:100%;background:var(--blue);display:flex;align-items:center;justify-content:center;}
.step-num .sn-r{position:absolute;right:0;top:0;width:50%;height:100%;background:var(--orange);display:flex;align-items:center;justify-content:center;}
.step-num .sn-label{font-size:6px;text-transform:uppercase;letter-spacing:.5px;line-height:1;}
.step-num .sn-n{font-size:22px;font-weight:900;line-height:1;}
.step-num.done{box-shadow:0 4px 14px rgba(45,201,138,.4);}
.step-num.done .sn-l,.step-num.done .sn-r{background:var(--teal);}
.step-num.active{transform:scale(1.12);}
.step-title{flex:1;}
.step-title b{font-family:'Rubik',sans-serif;font-weight:700;font-size:16px;color:var(--navy);display:block;}
.step-title small{font-size:12px;color:#aaa;font-style:italic;}
.step-chevron{font-size:20px;color:var(--navy);transition:transform .3s;opacity:.5;}
.step-item.open .step-chevron{transform:rotate(90deg);opacity:1;}
.step-connector{width:3px;height:28px;background:linear-gradient(to bottom,var(--blue),rgba(30,134,255,.15));margin-left:46px;}
.step-body{display:none;padding:0 20px 24px 94px;font-size:14px;color:#444;line-height:1.75;}
.step-body.open{display:block;animation:fadeDown .3s ease;}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
.step-body .step-btn{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:var(--navy);color:#fff;padding:10px 22px;border-radius:50px;font-family:'Rubik',sans-serif;font-weight:700;font-size:13px;text-decoration:none;cursor:pointer;border:none;transition:background .2s;}
.step-body .step-btn:hover{background:var(--violet);}
.step-body .step-btn.next-btn{background:var(--teal);color:var(--navy);}
.step-done-badge{display:none;font-size:12px;font-weight:700;color:var(--teal);margin-left:8px;}
.step-item.done .step-done-badge{display:inline;}

/* INSTALACIONES */
#instalaciones{background:#f8faff;padding:80px 60px;position:relative;overflow:hidden;}
#instalaciones h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:42px;color:var(--navy);text-align:center;margin-bottom:10px;}
#instalaciones .sub{font-size:16px;color:#888;text-align:center;margin-bottom:40px;}
.inst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px;margin:0 auto;}
.inst-card{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:#dde4f0;position:relative;}
.inst-card img{width:100%;height:100%;object-fit:cover;display:block;}
.inst-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#aab;font-size:13px;font-family:'Inter',sans-serif;}
.inst-placeholder svg{opacity:.4;}

/* REQUISITOS */
#requisitos{background:#fff;position:relative;overflow:hidden;padding:80px 60px;}
#requisitos .squiggle-r{position:absolute;top:40px;right:0;}
#requisitos .squiggle-b{position:absolute;left:0;top:200px;}
.requisitos-inner{max-width:860px;margin:0 auto;}
#requisitos h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:42px;color:var(--navy);text-align:center;margin-bottom:40px;}
.req-list{display:flex;flex-direction:column;gap:14px;}
.req{display:flex;gap:0;align-items:stretch;}
.req-num{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;font-family:'Rubik',sans-serif;font-weight:900;font-size:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;}
.req-card{flex:1;background:#7DF0E8;border-radius:0 16px 16px 0;padding:16px 20px 16px 24px;margin-left:-8px;position:relative;}
.req-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--navy);border-radius:0 0 0 8px;}
.req-card h3{font-family:'Rubik',sans-serif;font-weight:700;font-size:15px;color:var(--navy);margin-bottom:4px;}
.req-card p{font-size:13px;color:#1a5c58;line-height:1.55;}
.req-note{margin-top:24px;font-size:14px;color:#333;line-height:1.65;padding:16px 20px;background:#f8f8f8;border-radius:10px;}

/* CONTACTO */
#contacto{background:linear-gradient(160deg,#e8f4ff 0%,#dceeff 100%);padding:80px 24px 100px;position:relative;overflow:hidden;}
.contact-form{max-width:480px;margin:0 auto;background:#fff;border-radius:24px;padding:36px 32px;box-shadow:0 8px 40px rgba(1,50,130,.12);}
.contact-form input,.contact-form textarea{width:100%;padding:16px 18px;border:1.5px solid #dde4f0;border-radius:12px;font-size:15px;font-family:'Inter',sans-serif;margin-bottom:14px;outline:none;color:#333;}
.contact-form textarea{resize:vertical;margin-bottom:20px;}
.captcha-wrap{margin-bottom:22px;}
.captcha-wrap p{font-family:'Rubik',sans-serif;font-weight:700;font-size:14px;color:var(--navy);margin-bottom:10px;}
.captcha-box{display:flex;align-items:center;gap:12px;background:#fffbe8;border:2px dashed var(--yellow);border-radius:12px;padding:14px 18px;}
.captcha-q{font-family:'Rubik',sans-serif;font-weight:900;font-size:20px;color:var(--navy);flex:1;}
.captcha-eq{font-size:20px;color:#999;}
.captcha-input{width:70px;padding:10px;border:1.5px solid #dde4f0;border-radius:10px;font-size:18px;font-family:'Rubik',sans-serif;font-weight:700;text-align:center;outline:none;}
.captcha-error{color:#e53;font-size:13px;margin-top:6px;display:none;}
.btn-submit{width:100%;background:var(--orange);color:#fff;font-family:'Rubik',sans-serif;font-weight:900;font-size:18px;padding:18px;border:none;border-radius:50px;cursor:pointer;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s;}
.btn-submit:hover{background:#d96d30;}

/* CTA FINAL */
.cta-final{background:linear-gradient(135deg,var(--navy) 0%,#0a4aaa 100%);padding:100px 48px;text-align:center;position:relative;overflow:hidden;}
.cta-final h2{font-family:'Rubik',sans-serif;font-weight:900;font-size:52px;color:#fff;margin-bottom:16px;}
.cta-final p{font-size:18px;color:rgba(255,255,255,.75);margin-bottom:40px;}

/* FOOTER */
footer{background:#001a55;padding:28px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
footer p{font-size:13px;color:rgba(255,255,255,.6);}
footer a{color:var(--teal);text-decoration:none;font-weight:600;}
footer a:hover{color:#fff;}
footer img.footer-logo{height:36px;opacity:.8;}

/* ═══ TABLET (≤900px) ═══ */
@media(max-width:900px){
  nav{padding:0 20px;gap:14px;}
  .nav-links{display:none;}
  .nav-hamburger{display:flex;}
  .mobile-nav{display:block;}
  .somos-inner,.acerca-inner,.hijo-inner,.niveles-inner,
  .ubicacion-content,.servicios-inner,.programas-inner{grid-template-columns:1fr;}
  #inicio .overlay{padding:80px 24px 60px;}
  #inicio h1{font-size:64px;}
  .b-grid{grid-template-columns:1fr;}
  #beneficios,#admision,#requisitos,#programas,#diversidad,
  #niveles,#instalaciones,#ubicacion,#acerca,#hijo{padding-left:24px;padding-right:24px;}
  .servicios-text{padding:40px 24px;}
  .somos-photo{min-height:360px;}
  .acerca-photo img{height:300px;}
  .hijo-left{padding:0 24px 60px;}
  .hijo-right img{min-height:300px;}
  .ubicacion-content{padding:0 24px;}
  .inst-grid{grid-template-columns:repeat(2,1fr);}
  footer{padding:24px 20px;flex-direction:column;text-align:center;}
}

/* ═══ MOBILE (≤480px) ═══ */
@media(max-width:480px){
  nav{padding:0 16px;height:56px;}
  nav img.nav-logo{height:30px;}
  .mobile-nav{top:56px;}
  .mobile-nav a{padding:10px 20px;font-size:14px;}
  .mobile-nav .nav-cta-m{margin:12px 20px 0;}

  #inicio .overlay{padding:60px 16px 50px;}
  #inicio h1{font-size:clamp(44px,14vw,64px);letter-spacing:-2px;}
  #inicio .sub{font-size:15px;}
  #inicio .pills{margin-top:20px;gap:8px;}
  .pill{font-size:13px;padding:8px 18px;}
  #inicio .foot{flex-direction:column;gap:6px;font-size:13px;margin-top:24px;}

  .somos-text{padding:40px 20px;}
  .somos-text h2{font-size:40px;}
  .somos-text p{font-size:16px;}
  .somos-photo{min-height:240px;}

  #acerca{padding:50px 16px;}
  .acerca-text .intro{font-size:14px;}
  .acerca-text .quote{font-size:16px;}
  .apill{font-size:13px;padding:10px 16px;}
  .acerca-photo img{height:320px;object-fit:cover;object-position:center center;}

  #beneficios{padding:50px 16px 80px;}
  #beneficios h2{font-size:28px;margin-bottom:24px;}
  .bcard{padding:16px 12px;}

  #hijo{padding:50px 0 0;}
  .hijo-inner{grid-template-columns:1fr;}
  .hijo-left{padding:0 16px 40px;}
  .hijo-left h2{font-size:28px;}
  .hijo-right{display:none;}
  #hijo .blob-purple{width:200px;height:130px;}
  #hijo .blob-purple p{font-size:12px;width:140px;}

  .cta-index{padding:50px 20px;}
  .cta-index p{font-size:15px;}
  .cta-btns{flex-direction:column;align-items:center;}
  .btn-teal,.btn-white{padding:14px 28px;font-size:15px;width:100%;text-align:center;}

  #diversidad{padding:50px 16px 30px;}
  #diversidad h2{font-size:24px;}
  .div-intro{font-size:14px;}
  .snake-section .snake-svg{display:none;}
  .snake-grid{display:none;}
  .snake-list{display:flex;}

  #niveles{padding:50px 16px 40px;}
  #niveles h2{font-size:30px;}
  .lv-item p{font-size:18px;}
  .niveles-photo img{height:220px;}

  #servicios{padding-bottom:0;}
  .servicios-inner{grid-template-columns:1fr;}
  .servicios-text{padding:40px 16px;}
  #servicios h2{font-size:26px;}
  .servicios-photo{display:none;}

  #programas{padding:50px 16px 60px;}
  .programas-inner{grid-template-columns:1fr;gap:20px;}
  #programas h2{font-size:26px;}

  #admision{padding:50px 16px;}
  #admision h2{font-size:28px;}
  .step-header{padding:14px 10px;gap:12px;}
  .step-num{width:46px;height:46px;}
  .step-num .sn-n{font-size:18px;}
  .step-connector{margin-left:38px;}
  .step-body{padding:0 10px 20px 68px;font-size:13px;}
  .step-body .step-btn{font-size:12px;padding:9px 16px;}

  #instalaciones{padding:50px 16px;}
  #instalaciones h2{font-size:26px;}
  .inst-grid{grid-template-columns:1fr;gap:12px;}

  #requisitos{padding:50px 16px;}
  #requisitos h2{font-size:26px;}
  .req-num{width:40px;height:40px;font-size:18px;}
  .req-card{padding:12px 14px 12px 18px;}

  #ubicacion{padding-bottom:50px;}
  .ubicacion-content{padding:0 16px;grid-template-columns:1fr;}
  .ub-title h2{font-size:30px;}
  .map-box{height:260px;}

  #contacto{padding:50px 16px 70px;}
  .contact-form{padding:24px 16px;border-radius:16px;}

  .cta-final{padding:60px 20px;}
  .cta-final h2{font-size:28px;}
  .cta-final p{font-size:15px;}

  .aprendo-banner .banner-label{font-size:16px;}

  footer{padding:20px 16px;gap:8px;}
  footer p{font-size:12px;}
}
