:root{
  --navy-950:#0D2033;
  --navy-900:#122A40;
  --navy-800:#16334F;
  --forest-900:#0F2E1F;
  --forest-700:#1F5C3E;
  --forest-500:#3E7A4C;
  --lima:#8BC34A;
  --lima-600:#6FA033;
  --lima-soft:#E1EFCD;
  --tierra:#6B4226;
  --cream:#F7F1E4;
  --paper:#FDFBF6;
  --gris-claro:#F1F2F4;
  --azul-academia:#3B6FE0;
  --rojo-idiomas:#E2542D;
  --morado-integral:#8E5CF7;
  --verde-confianza:#1FA37E;
  --amarillo-aviso:#F4B740;
  --white:#FFFFFF;
  --transicion:.45s cubic-bezier(.16,1,.3,1);
  --barra-alto:44px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Figtree',sans-serif;
  color:var(--navy-900);
  background:var(--paper);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.modal-abierto{overflow:hidden}
h1,h2,h3,.serif{font-family:'Gloock',serif;font-weight:400;line-height:1.05;letter-spacing:-.01em}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.contenedor{width:min(1220px,92%);margin-inline:auto}
section{position:relative}

/* ---------- Navegación ---------- */
.nav{position:fixed;top:var(--barra-alto);left:0;right:0;z-index:100;padding:22px 0;transition:padding var(--transicion), top .3s cubic-bezier(.16,1,.3,1)}
.nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(253,251,246,.95);backdrop-filter:blur(14px);box-shadow:0 2px 30px rgba(13,32,51,.1);opacity:0;transition:opacity var(--transicion)}
.nav.compacta{padding:13px 0}
.nav.compacta::before{opacity:1}
.nav-fila{display:flex;align-items:center;justify-content:space-between;gap:24px}
.marca{display:flex;align-items:center;gap:13px;color:var(--navy-900)}
.marca-icono{width:42px;height:42px;border-radius:50%;background:var(--white);display:grid;place-items:center;padding:5px;box-shadow:0 4px 16px rgba(18,42,64,.15);flex:none}
.marca-icono img{width:100%;height:100%;object-fit:contain}
.marca-texto{font-family:'Gloock',serif;font-size:.98rem;letter-spacing:.02em;line-height:1.25}
.pie-marca .marca-texto{color:#fff}
.marca-sub{display:block;font-family:'Figtree',sans-serif;font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;opacity:.7;font-weight:700;margin-top:2px}
.nav-enlaces{display:flex;gap:32px;align-items:center;list-style:none}
.nav-enlaces a{font-size:.88rem;font-weight:600;color:rgba(18,42,64,.8)}
.nav-enlaces a:not(.btn){position:relative;padding-bottom:3px}
.nav-enlaces a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--lima-600);transition:width .25s ease}
.nav-enlaces a:not(.btn):hover::after{width:100%}
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 32px;border-radius:100px;font-weight:700;font-size:.88rem;letter-spacing:.01em;transition:transform var(--transicion), box-shadow var(--transicion), background var(--transicion);border:none;cursor:pointer}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--lima);outline-offset:3px}
.btn-lima{background:var(--lima);color:var(--forest-900)}
.btn-nav{padding:12px 26px}
.btn-lima:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 16px 34px rgba(139,195,74,.45)}
.btn-borde{border:2px solid rgba(255,255,255,.5);color:var(--white);background:transparent}
.btn-borde:hover{background:rgba(255,255,255,.12);border-color:#fff}
.hamburguesa{display:none;background:none;border:none;cursor:pointer;padding:8px;z-index:110}
.hamburguesa span{display:block;width:26px;height:2px;background:var(--navy-900);margin:6px 0;transition:var(--transicion)}

/* ---------- Héroe: texto + foto real, fondo claro ---------- */
.heroe{overflow:hidden;background:var(--gris-claro);color:var(--navy-900);padding:calc(150px + var(--barra-alto)) 0 0;transition:padding-top .3s cubic-bezier(.16,1,.3,1)}
.heroe-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding-bottom:70px}
.heroe-texto{max-width:600px}
.heroe .sello-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--lima-600);margin-bottom:24px;font-weight:800}
.heroe .sello-eyebrow::before{content:"";width:30px;height:2px;background:var(--lima-600);border-radius:2px}
.heroe h1{font-size:clamp(2.1rem,4.2vw,3.2rem);margin-bottom:26px;max-width:14ch;color:var(--navy-900)}
.heroe h1 em{font-style:normal;color:var(--azul-academia)}
.heroe p{max-width:50ch;font-size:1.08rem;font-weight:300;color:rgba(18,42,64,.72);margin-bottom:40px}
.heroe-acciones{display:flex;gap:18px;flex-wrap:wrap}
.heroe .btn-borde{border:2px solid rgba(18,42,64,.28);color:var(--navy-900)}
.heroe .btn-borde:hover{background:rgba(18,42,64,.06);border-color:rgba(18,42,64,.5)}

.heroe-foto-marco{position:relative;background:var(--white);border-radius:32px;padding:18px;box-shadow:0 26px 54px rgba(18,42,64,.16)}
.heroe-foto-marco img{width:100%;border-radius:22px;display:block}
.heroe-foto-chispa{position:absolute;width:26px;height:26px;animation:girar-chispa 5s linear infinite}
.chispa-1{top:-14px;left:-14px;color:var(--rojo-idiomas)}
.chispa-2{bottom:20px;right:-16px;color:var(--lima-600);width:20px;height:20px;animation-duration:6.5s}
@keyframes girar-chispa{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(20deg) scale(1.15)}}

.cinta-credenciales{position:relative;z-index:3;background:var(--forest-900);overflow:hidden;margin-top:20px}
.cinta-track{display:flex;gap:70px;white-space:nowrap;padding:20px 0;animation:desfilar 26s linear infinite}
.cinta-track span{font-family:'Gloock',serif;font-size:1rem;color:var(--lima-soft);display:inline-flex;align-items:center;gap:16px}
.cinta-track span::after{content:"✦";color:var(--lima);font-size:.8rem}
@keyframes desfilar{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Aparición al hacer scroll */
.revelar{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1)}
.revelar.visible{opacity:1;transform:none}
.revelar.d1.visible{transition-delay:.08s} .revelar.d2.visible{transition-delay:.16s} .revelar.d3.visible{transition-delay:.24s} .revelar.d4.visible{transition-delay:.32s}

/* ---------- Secciones genéricas ---------- */
.seccion{padding:130px 0 110px}
.encabezado-seccion{max-width:660px;margin-bottom:64px}
.miga{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;font-weight:800;display:inline-flex;align-items:center;gap:12px;margin-bottom:20px}
.miga::before{content:"";width:38px;height:2px;background:currentColor;border-radius:2px}
h2{font-size:clamp(2rem,3.8vw,3.1rem);margin-bottom:20px}
.encabezado-seccion p{font-size:1.08rem}

/* ---------- Propuesta de valor ---------- */
.valor{background:var(--gris-claro)}
.valor .miga{color:var(--navy-900)}
.valor .encabezado-seccion p{color:rgba(18,42,64,.72)}
.malla-valor{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.valor-tarjeta{background:var(--white);padding:42px 34px;border-radius:28px;transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease;box-shadow:0 4px 20px rgba(18,42,64,.06);position:relative;overflow:hidden}
.valor-tarjeta:hover{transform:translateY(-10px);box-shadow:0 26px 50px rgba(18,42,64,.14)}
.valor-eyebrow{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800;margin-bottom:16px}
.valor-icono{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin-bottom:22px;color:#fff}
.valor-tarjeta:nth-child(1) .valor-icono{background:var(--azul-academia)}
.valor-tarjeta:nth-child(1) .valor-eyebrow{color:var(--azul-academia)}
.valor-tarjeta:nth-child(2) .valor-icono{background:var(--rojo-idiomas)}
.valor-tarjeta:nth-child(2) .valor-eyebrow{color:var(--rojo-idiomas)}
.valor-tarjeta:nth-child(3) .valor-icono{background:var(--morado-integral)}
.valor-tarjeta:nth-child(3) .valor-eyebrow{color:var(--morado-integral)}
.valor-tarjeta:nth-child(4) .valor-icono{background:var(--verde-confianza)}
.valor-tarjeta:nth-child(4) .valor-eyebrow{color:var(--verde-confianza)}
.valor-tarjeta h3{font-size:1.3rem;margin-bottom:12px}
.valor-tarjeta p{font-size:.94rem;color:rgba(18,42,64,.68);margin-bottom:18px}
.valor-tarjeta ul{list-style:none;display:grid;gap:9px}
.valor-tarjeta li{display:flex;gap:10px;font-size:.9rem;color:rgba(18,42,64,.78)}
.valor-tarjeta li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lima-600);margin-top:8px;flex:none}

/* Efecto Academia: confeti de formas de colores */
.efecto-confeti{position:absolute;top:26px;right:28px;width:90px;height:70px;pointer-events:none}
.efecto-confeti span{position:absolute;width:12px;height:12px;opacity:0;transform:scale(.3) translateY(6px) rotate(0deg);transition:opacity .4s ease, transform .5s cubic-bezier(.34,1.56,.64,1)}
.efecto-confeti .f1{top:6px;left:4px;background:var(--azul-academia);border-radius:50%}
.efecto-confeti .f2{top:2px;left:34px;background:var(--rojo-idiomas);border-radius:3px}
.efecto-confeti .f3{top:22px;left:64px;background:var(--morado-integral);border-radius:50%}
.efecto-confeti .f4{top:38px;left:20px;background:var(--verde-confianza);clip-path:polygon(50% 0,100% 100%,0 100%)}
.efecto-confeti .f5{top:42px;left:50px;background:var(--lima-600);border-radius:50%}
.valor-tarjeta:hover .efecto-confeti span{opacity:1;transform:scale(1) translateY(0) rotate(18deg)}
.efecto-confeti span:nth-child(1){transition-delay:0s} .efecto-confeti span:nth-child(2){transition-delay:.06s}
.efecto-confeti span:nth-child(3){transition-delay:.12s} .efecto-confeti span:nth-child(4){transition-delay:.18s}
.efecto-confeti span:nth-child(5){transition-delay:.24s}

/* Efecto Idiomas: ondas de audio */
.efecto-audio{position:absolute;top:30px;right:32px;display:flex;align-items:flex-end;gap:5px;height:34px;pointer-events:none}
.efecto-audio span{width:5px;height:8px;border-radius:3px;background:var(--rojo-idiomas);opacity:0;transition:opacity .3s ease}
.valor-tarjeta:hover .efecto-audio span{opacity:.85;animation:onda-audio 1s ease-in-out infinite}
.efecto-audio span:nth-child(1){animation-delay:0s} .efecto-audio span:nth-child(2){animation-delay:.12s}
.efecto-audio span:nth-child(3){animation-delay:.24s} .efecto-audio span:nth-child(4){animation-delay:.36s}
.efecto-audio span:nth-child(5){animation-delay:.18s}
@keyframes onda-audio{0%,100%{height:8px}50%{height:32px}}

/* Efecto Formación integral: corazones flotando */
.efecto-corazones{position:absolute;top:20px;right:24px;width:70px;height:80px;pointer-events:none}
.efecto-corazones span{position:absolute;bottom:0;font-size:1.1rem;opacity:0;transform:translateY(0) scale(.6)}
.efecto-corazones .c1{left:6px;color:var(--rojo-idiomas)}
.efecto-corazones .c2{left:30px;color:var(--morado-integral);font-size:.9rem}
.efecto-corazones .c3{left:50px;color:#EC6FA6;font-size:1rem}
.valor-tarjeta:hover .efecto-corazones .c1{animation:flotar-corazon 1.8s ease-in-out infinite}
.valor-tarjeta:hover .efecto-corazones .c2{animation:flotar-corazon 2.1s ease-in-out .3s infinite}
.valor-tarjeta:hover .efecto-corazones .c3{animation:flotar-corazon 1.6s ease-in-out .6s infinite}
@keyframes flotar-corazon{
  0%{opacity:0;transform:translateY(0) scale(.6)}
  20%{opacity:1;transform:translateY(-10px) scale(1)}
  80%{opacity:1}
  100%{opacity:0;transform:translateY(-58px) scale(.9)}
}

/* Efecto Formación integral (extra): salpicaduras de pintura detrás de los corazones */
.efecto-pintura-card{position:absolute;top:8px;right:6px;width:100px;height:100px;pointer-events:none;z-index:0}
.efecto-pintura-card span{position:absolute;border-radius:50% 42% 55% 48%/48% 55% 42% 50%;opacity:0;transform:scale(.4) rotate(0deg);transition:opacity .5s ease, transform .6s cubic-bezier(.34,1.56,.64,1)}
.efecto-pintura-card .pc1{top:4px;right:34px;width:42px;height:42px;background:var(--rojo-idiomas)}
.efecto-pintura-card .pc2{top:38px;right:-4px;width:32px;height:32px;background:var(--azul-academia)}
.efecto-pintura-card .pc3{top:56px;right:46px;width:28px;height:28px;background:var(--lima)}
.valor-tarjeta:hover .efecto-pintura-card span{opacity:.28;transform:scale(1) rotate(12deg)}
.efecto-pintura-card span:nth-child(1){transition-delay:0s} .efecto-pintura-card span:nth-child(2){transition-delay:.1s}
.efecto-pintura-card span:nth-child(3){transition-delay:.2s}

/* Efecto Confianza familiar: dos manos que chocan */
.efecto-manos{position:absolute;top:26px;right:14px;width:110px;height:50px;pointer-events:none;overflow:visible}
.efecto-manos .mano{position:absolute;top:0;font-size:1.7rem;opacity:0;transition:opacity .3s ease, transform .45s cubic-bezier(.34,1.56,.64,1)}
.efecto-manos .mano-izq{left:-16px;transform:translateX(-26px) rotate(-14deg)}
.efecto-manos .mano-der{right:-16px;transform:translateX(26px) scaleX(-1) rotate(-14deg)}
.valor-tarjeta:hover .efecto-manos .mano-izq{opacity:1;transform:translateX(22px) rotate(-6deg)}
.valor-tarjeta:hover .efecto-manos .mano-der{opacity:1;transform:translateX(-22px) scaleX(-1) rotate(-6deg)}
.efecto-manos .chispa-choque{position:absolute;top:2px;left:50%;font-size:1.15rem;opacity:0;transform:translateX(-50%) scale(0) rotate(0deg);
  transition:opacity .25s ease .4s, transform .4s cubic-bezier(.34,1.56,.64,1) .4s}
.valor-tarjeta:hover .efecto-manos .chispa-choque{opacity:1;transform:translateX(-50%) scale(1.3) rotate(18deg)}
.valor-insignia{margin-top:20px;padding-top:18px;border-top:1px solid rgba(18,42,64,.08);display:flex;align-items:center;gap:12px}
.valor-insignia img{height:26px;width:auto}
.valor-insignia span{font-size:.8rem;color:rgba(18,42,64,.55)}

.franja-confianza{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.confianza-item{background:var(--azul-academia);color:var(--white);padding:28px 30px;border-radius:24px;display:flex;gap:16px;align-items:flex-start;transition:transform .4s ease}
.confianza-item:hover{transform:translateY(-6px)}
.confianza-item:nth-child(2){background:var(--morado-integral)}
.confianza-item:nth-child(3){background:var(--rojo-idiomas)}
.confianza-item svg{flex:none;color:rgba(255,255,255,.9);margin-top:2px}
.confianza-item strong{display:block;font-size:1rem;margin-bottom:4px;font-family:'Gloock',serif;font-weight:400}
.confianza-item span{font-size:.85rem;color:rgba(255,255,255,.75)}

/* ---------- Frase / manifiesto ---------- */
.manifiesto{background:var(--forest-900);color:#fff;text-align:center;overflow:hidden;padding:130px 0}
.manifiesto-marca{position:absolute;top:50%;left:50%;width:1000px;max-width:150vw;transform:translate(-50%,-50%);opacity:.05;pointer-events:none}
.manifiesto blockquote{position:relative;z-index:2;font-size:clamp(1.9rem,4.4vw,3.4rem);max-width:16ch;margin:0 auto 28px;line-height:1.22}
.manifiesto blockquote span{color:var(--lima)}
.manifiesto cite{position:relative;z-index:2;font-style:normal;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* ---------- Niveles: tarjetas claras, a juego con el resto ---------- */
.niveles{background:var(--gris-claro)}
.niveles .miga{color:var(--navy-900)}
.niveles .encabezado-seccion p{color:rgba(18,42,64,.72)}
.niveles-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.nivel{position:relative;background:var(--white);border-radius:28px;padding:44px 40px;box-shadow:0 4px 20px rgba(18,42,64,.06);transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease}
.nivel:hover{transform:translateY(-8px);box-shadow:0 26px 50px rgba(18,42,64,.13)}
.nivel-icono{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;margin-bottom:22px;color:#fff}
.nivel-pre .nivel-icono{background:var(--verde-confianza)}
.nivel-pri .nivel-icono{background:var(--azul-academia)}
.nivel-etiqueta{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:8px 18px;border-radius:999px;margin-bottom:20px}
.nivel-pre .nivel-etiqueta{background:rgba(31,163,126,.12);color:var(--verde-confianza)}
.nivel-pri .nivel-etiqueta{background:rgba(59,111,224,.1);color:var(--azul-academia)}
.nivel h3{font-size:1.6rem;margin-bottom:12px;color:var(--navy-900)}
.nivel > p{font-size:.98rem;color:rgba(18,42,64,.68);margin-bottom:24px;max-width:40ch}
.nivel ul{list-style:none;display:grid;gap:11px;margin-bottom:30px}
.nivel li{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;color:rgba(18,42,64,.78)}
.nivel-pre li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--verde-confianza);margin-top:8px;flex:none}
.nivel-pri li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--azul-academia);margin-top:8px;flex:none}
.nivel-pre .btn{background:var(--verde-confianza);color:#fff}
.nivel-pri .btn{background:var(--azul-academia);color:#fff}
.nivel .btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(18,42,64,.25)}
@media (max-width:900px){
  .niveles-grid{grid-template-columns:1fr}
}

/* ---------- Un día ---------- */
.dia{background:var(--cream)}
.dia .miga{color:var(--forest-700)}
.dia .encabezado-seccion p{color:rgba(18,42,64,.72)}
.linea-dia{display:grid;gap:0;max-width:780px}
.momento{display:grid;grid-template-columns:96px 34px 1fr;gap:0 24px;align-items:flex-start;position:relative;padding-bottom:22px}
.momento:last-child{padding-bottom:0}
.momento-numero{font-family:'Gloock',serif;font-size:1.1rem;color:var(--forest-700);text-align:right;padding-top:6px;font-variant-numeric:tabular-nums;opacity:.75}
.momento .punto{width:34px;height:34px;border-radius:50%;background:var(--white);display:grid;place-items:center;box-shadow:0 6px 16px rgba(18,42,64,.15);position:relative;z-index:2}
.momento .punto svg{width:16px;height:16px;color:var(--forest-700)}
.momento::before{content:"";position:absolute;left:calc(96px + 24px + 17px);top:34px;bottom:-4px;width:2px;background:repeating-linear-gradient(var(--forest-500) 0 6px, transparent 6px 12px);transform:translateX(-1px)}
.momento:last-child::before{display:none}
.momento-boton{display:flex;align-items:center;gap:14px;width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:6px 0;font-family:inherit;color:inherit}
.momento-boton h3{flex:1;font-size:1.14rem;margin:0;transition:color .25s ease}
.momento-boton:hover h3{color:var(--forest-700)}
.momento-flecha{flex:none;color:var(--forest-700);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.momento.abierto .momento-flecha{transform:rotate(180deg)}
.momento-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.16,1,.3,1)}
.momento.abierto .momento-panel{grid-template-rows:1fr}
.momento-panel-interior{overflow:hidden}
.momento-panel-interior p{font-size:.93rem;color:rgba(18,42,64,.68);padding-top:6px}

/* ---------- Admisión ---------- */
.admision{background:var(--navy-900);color:var(--white)}
.admision .miga{color:var(--lima-soft)}
.admision h2{color:var(--white)}
.admision .encabezado-seccion p{color:rgba(255,255,255,.72)}
.pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.paso{position:relative;padding:36px 30px;background:rgba(255,255,255,.05);border-radius:28px;transition:transform .4s ease, background .4s ease}
.paso:hover{transform:translateY(-8px);background:rgba(255,255,255,.09)}
.paso .n{font-family:'Gloock',serif;font-size:2.6rem;color:var(--lima);display:block;margin-bottom:18px}
.paso h3{font-size:1.12rem;margin-bottom:10px;color:var(--white)}
.paso p{font-size:.92rem;color:rgba(255,255,255,.68)}
.admision-cta{margin-top:56px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.nota-fecha{font-size:.9rem;color:var(--lima-soft);font-weight:700}

/* ---------- Banda de aviso ---------- */
.banner-anuncio{position:fixed;top:0;left:0;right:0;z-index:110;background:var(--amarillo-aviso);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.banner-anuncio.oculto{transform:translateY(-100%)}
.banner-anuncio-fila{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 40px;position:relative;text-align:center}
.banner-anuncio-texto{background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:9px;font-family:'Figtree',sans-serif;font-size:.85rem;color:var(--navy-950);line-height:1.3}
.banner-anuncio-texto strong{font-weight:800}
.banner-anuncio-texto svg{flex:none;transition:transform .25s ease}
.banner-anuncio-texto:hover svg{transform:translateX(3px)}
.banner-anuncio-punto{width:7px;height:7px;border-radius:50%;background:var(--forest-900);flex:none;animation:pulso-aviso 1.8s ease-in-out infinite}
@keyframes pulso-aviso{0%,100%{opacity:1}50%{opacity:.35}}
.banner-anuncio-cerrar{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--navy-950);opacity:.55;padding:8px;display:grid;place-items:center;transition:opacity .2s ease}
.banner-anuncio-cerrar:hover{opacity:1}
@media (max-width:640px){
  .banner-anuncio-fila{padding:10px 36px}
  .banner-anuncio-texto{font-size:.78rem}
  .banner-anuncio-extra{display:none}
}

/* ---------- Modal: listas de útiles ---------- */
.modal-fondo{position:fixed;inset:0;background:rgba(13,32,51,.55);backdrop-filter:blur(2px);z-index:200;opacity:0;transition:opacity .25s ease}
.modal-fondo.visible{opacity:1}
.modal-fondo[hidden]{display:none}
.modal-lista{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%);width:min(600px,90vw);max-height:86vh;overflow-y:auto;background:var(--paper);border-radius:32px;z-index:201;padding:44px 40px 40px;box-shadow:0 40px 90px rgba(13,32,51,.35);opacity:0;transition:opacity .3s ease, transform .3s cubic-bezier(.16,1,.3,1)}
.modal-lista.visible{opacity:1;transform:translate(-50%,-50%)}
.modal-lista[hidden]{display:none}
.modal-cerrar{position:absolute;top:20px;right:20px;width:38px;height:38px;border-radius:50%;background:var(--gris-claro);border:none;cursor:pointer;display:grid;place-items:center;color:var(--navy-900);transition:background .2s ease, transform .3s ease}
.modal-cerrar:hover{background:var(--lima-soft);transform:rotate(90deg)}
.modal-lista-encabezado{margin-bottom:26px;padding-right:34px}
.modal-lista-encabezado .miga{color:var(--forest-700);margin-bottom:10px}
.modal-lista-encabezado h2{font-size:1.55rem;margin-bottom:8px}
.modal-lista-encabezado p{font-size:.9rem;color:rgba(18,42,64,.7)}
.modal-tabs{display:inline-flex;background:var(--gris-claro);border-radius:100px;padding:5px;gap:4px;margin-bottom:26px}
.modal-tab{border:none;background:none;cursor:pointer;padding:10px 22px;border-radius:100px;font-weight:700;font-size:.86rem;font-family:'Figtree',sans-serif;color:rgba(18,42,64,.55);transition:background .3s cubic-bezier(.16,1,.3,1), color .3s ease, box-shadow .3s ease}
.modal-tab.activo{background:var(--white);color:var(--navy-900);box-shadow:0 4px 14px rgba(18,42,64,.12)}
.modal-panel[hidden]{display:none}

.materiales-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px}
.material-tarjeta{background:var(--white);border-radius:22px;padding:26px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;box-shadow:0 4px 20px rgba(18,42,64,.06);transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease}
.material-tarjeta:hover{transform:translateY(-7px);box-shadow:0 22px 42px rgba(18,42,64,.13)}
.material-grado-circulo{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-family:'Gloock',serif;font-size:1.4rem;color:var(--navy-900);margin-bottom:6px}
.materiales-grupo.pre .material-grado-circulo{background:rgba(31,163,126,.12)}
.materiales-grupo.pri .material-grado-circulo{background:rgba(59,111,224,.12)}
.material-nivel{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:rgba(18,42,64,.55)}
.material-descarga{margin-top:10px;font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.materiales-grupo.pre .material-descarga{color:var(--verde-confianza)}
.materiales-grupo.pri .material-descarga{color:var(--azul-academia)}

/* ---------- Vida escolar ---------- */
.vida{background:var(--paper)}
.vida .miga{color:var(--tierra)}
.vida .encabezado-seccion p{color:rgba(18,42,64,.72)}
.vida-malla{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:210px;gap:22px}
.tarjeta-vida{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:28px;color:var(--white);border-radius:28px;transition:transform .5s cubic-bezier(.16,1,.3,1), border-radius .5s ease}
.tarjeta-vida.grande{grid-row:span 2}
.tarjeta-vida:hover{transform:translateY(-8px) rotate(-1deg);border-radius:40px}
.tarjeta-vida::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(to top, rgba(13,32,51,.88) 0%, rgba(13,32,51,.05) 60%)}
.tarjeta-vida h3{position:relative;z-index:2;font-size:1.15rem}
.tarjeta-vida span{position:relative;z-index:2;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lima-soft);font-weight:700}

/* Efecto Artes: salpicaduras de pintura de colores */
.efecto-pintura{position:absolute;inset:0;z-index:1;pointer-events:none}
.efecto-pintura span{position:absolute;border-radius:50% 42% 55% 48%/48% 55% 42% 50%;opacity:0;transform:scale(.3) rotate(0deg);transition:opacity .5s ease, transform .6s cubic-bezier(.34,1.56,.64,1)}
.efecto-pintura .g1{top:14%;left:12%;width:46px;height:46px;background:var(--rojo-idiomas)}
.efecto-pintura .g2{top:26%;right:14%;width:34px;height:34px;background:var(--lima)}
.efecto-pintura .g3{bottom:32%;left:26%;width:30px;height:30px;background:var(--azul-academia)}
.efecto-pintura .g4{bottom:18%;right:24%;width:40px;height:40px;background:var(--morado-integral)}
.efecto-arte:hover .efecto-pintura span{opacity:.55;transform:scale(1) rotate(14deg)}
.efecto-pintura span:nth-child(1){transition-delay:0s} .efecto-pintura span:nth-child(2){transition-delay:.08s}
.efecto-pintura span:nth-child(3){transition-delay:.16s} .efecto-pintura span:nth-child(4){transition-delay:.24s}
.capa-fondo{position:absolute;inset:0}
.f1{background:linear-gradient(150deg,#1F5C3E,#0F2E1F)}
.f2{background:linear-gradient(150deg,#8BC34A,#4C7A26)}
.f3{background:linear-gradient(150deg,#16334F,#0D2033)}
.f4{background:linear-gradient(150deg,#6B4226,#3A230F)}
.f5{background:linear-gradient(150deg,#2C5A7C,#0F2E1F)}

/* ---------- CTA final ---------- */
.cta-final{background:linear-gradient(160deg,#16334F,#0D2033);color:var(--white);text-align:center;overflow:hidden;padding:150px 0}
.cta-final-marca{position:absolute;right:-8%;bottom:-14%;width:46%;max-width:480px;opacity:.16}
.cta-final h2{color:var(--white);max-width:20ch;margin:0 auto 22px;font-size:clamp(2.1rem,4.6vw,3.4rem);position:relative;z-index:2}
.cta-final p{max-width:52ch;margin:0 auto 44px;color:rgba(255,255,255,.78);position:relative;z-index:2}
.cta-final .heroe-acciones{justify-content:center;position:relative;z-index:2}

/* ---------- Pie ---------- */
footer{background:#0A1A29;color:rgba(255,255,255,.68);padding:80px 0 36px}
.pie-marca-fila{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.pie-marca-icono{width:40px;height:40px;border-radius:50%;background:var(--white);display:grid;place-items:center;padding:6px}
.pie-marca-icono img{width:100%;height:100%;object-fit:contain}
.pie-malla{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:48px;margin-bottom:58px}
.pie-malla h4{color:var(--white);font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.pie-malla ul{list-style:none;display:grid;gap:11px;font-size:.92rem}
.pie-malla a:hover{color:var(--lima)}
.pie-marca p{font-size:.92rem;max-width:34ch;color:rgba(255,255,255,.6)}
.pie-base{border-top:1px solid rgba(255,255,255,.1);padding-top:28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:rgba(255,255,255,.4)}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .heroe-grid{grid-template-columns:1fr;text-align:center}
  .heroe-texto{max-width:100%;margin:0 auto}
  .heroe-texto p{margin-inline:auto}
  .heroe-acciones{justify-content:center}
  .sello-eyebrow{justify-content:center}
  .franja-confianza{grid-template-columns:1fr}
  .vida-malla{grid-template-columns:repeat(2,1fr)}
  .pie-malla{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nav-enlaces{
    position:absolute;top:100%;left:14px;right:14px;margin-top:8px;
    background:var(--gris-claro);border-radius:16px;
    box-shadow:0 18px 40px rgba(13,32,51,.2);
    display:flex;flex-direction:column;gap:1px;padding:8px;
    max-height:calc(100vh - 90px);overflow-y:auto;
    opacity:0;transform:translateY(-6px);pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .nav-enlaces.abierto{opacity:1;transform:none;pointer-events:auto}
  .nav-enlaces li{width:100%}
  .nav-enlaces a{color:var(--navy-900)!important;font-size:.98rem;padding:12px 14px;border-radius:10px;display:block}
  .nav-enlaces a:not(.btn)::after{display:none}
  .nav-enlaces a:not(.btn):active{background:rgba(18,42,64,.07)}
  .nav-enlaces li:last-child{margin-top:4px;padding-top:9px;border-top:1px solid rgba(18,42,64,.1)}
  .nav-enlaces li:last-child .btn-nav{display:flex;justify-content:center;padding:13px 20px}
  .hamburguesa{display:block}
  .hamburguesa.activo span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .hamburguesa.activo span:nth-child(2){opacity:0}
  .hamburguesa.activo span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .vida-malla{grid-template-columns:1fr;grid-auto-rows:190px}
  .tarjeta-vida.grande{grid-row:span 1}
  .seccion{padding:90px 0 80px}
  .momento{grid-template-columns:64px 30px 1fr;gap:0 12px}
  .momento .hora{font-size:.9rem}
  .momento::before{left:calc(64px + 12px + 15px)}
  .marca-texto br{display:none}
  .cta-final-marca{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .revelar{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- Botón flotante de WhatsApp ---------- */
.whatsapp-flotante{position:fixed;bottom:26px;right:26px;width:60px;height:60px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;z-index:96;box-shadow:0 10px 28px rgba(37,211,102,.5);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.whatsapp-flotante:hover{transform:scale(1.08) rotate(-4deg)}
.whatsapp-flotante svg{width:30px;height:30px}
.whatsapp-flotante::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;opacity:.55;
  animation:pulso-whatsapp 2.4s ease-out infinite;z-index:-1}
@keyframes pulso-whatsapp{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}
@media (max-width:720px){.whatsapp-flotante{bottom:18px;right:18px;width:54px;height:54px}}
