/* Santa María School — ajustes propios sobre el sitio actual.
   Aislado del tema/Elementor: cada bloque nuevo vive aquí para poder trasladarlo a WordPress
   (Apariencia → Personalizar → CSS adicional) junto con su HTML (widget "HTML" de Elementor).
   Tokens tomados del sitio: azul #0F67BA, lima #C0D642, fondo #F8F8FF, Plus Jakarta Sans. */
:root{
  --sm-azul:#0F67BA; --sm-azul-osc:#0B0B38; --sm-lima:#C0D642; --sm-fondo:#F8F8FF; --sm-texto:#2b3144;
  --sm-ease:cubic-bezier(.16,1,.3,1);
}

/* ───────── Bly saluda (Home, tras el hero) ───────── */
.sm-bly{background:var(--sm-fondo);padding:clamp(64px,8vw,112px) 24px;overflow:clip;font-family:"Plus Jakarta Sans",sans-serif}
.sm-bly__inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(32px,5vw,72px)}
.sm-bly__figure{position:relative;margin:0;width:100%;max-width:440px;justify-self:center;aspect-ratio:1;border-radius:32px;overflow:hidden;background:linear-gradient(160deg,#EAF2FC 0%,#CFE1F7 100%);box-shadow:0 30px 60px -30px rgba(0,0,0,.18)}
.sm-bly__figure::before{content:"";position:absolute;left:50%;bottom:3%;width:62%;height:13%;transform:translateX(-50%);border-radius:50%;background:rgba(192,214,66,.9);filter:blur(6px)}
.sm-bly__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sm-bly img.sm-bly__img{position:absolute;left:50%;bottom:3%;height:88%;width:auto;aspect-ratio:760/1182;object-fit:contain;transform:translateX(-50%);transform-origin:50% 100%;filter:drop-shadow(0 8px 10px rgba(0,0,0,.2))}
.sm-bly__bubble{position:relative;background:#fff;border-radius:28px;padding:clamp(28px,4vw,48px);box-shadow:0 24px 60px -24px rgba(0,0,0,.11)}
.sm-bly__bubble::before{content:"";position:absolute;left:-14px;top:50%;width:28px;height:28px;background:#fff;transform:translateY(-50%) rotate(45deg);border-radius:4px 0 0 4px;box-shadow:-10px 10px 24px -18px rgba(0,0,0,.10)}
.sm-bly p.sm-bly__eyebrow{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-azul)}
.sm-bly h2.sm-bly__title{margin:0 0 14px;font-size:clamp(28px,3.4vw,44px);line-height:1.15;font-weight:700;letter-spacing:-.02em;color:var(--sm-azul-osc)}
.sm-bly h2.sm-bly__title b{color:var(--sm-azul)}
.sm-bly p.sm-bly__lead{margin:0 0 28px;font-size:clamp(17px,1.6vw,20px);line-height:1.65;color:var(--sm-texto);max-width:46ch}
.sm-bly a.sm-btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:14px 28px;border-radius:999px;background:var(--sm-azul);color:#fff;font:700 16px/1.2 "Plus Jakarta Sans",sans-serif;text-decoration:none;transition:background .3s var(--sm-ease),transform .3s var(--sm-ease),box-shadow .3s var(--sm-ease)}
.sm-bly a.sm-btn::after{content:"→";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sm-lima);color:var(--sm-azul-osc);font-size:15px;transition:transform .3s var(--sm-ease)}
.sm-bly a.sm-btn:hover,.sm-bly a.sm-btn:focus-visible{background:var(--sm-azul-osc);transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(0,0,0,.10)}
.sm-bly a.sm-btn:focus-visible{outline:3px solid var(--sm-lima);outline-offset:3px}

@media (max-width:767px){
  .sm-bly__inner{grid-template-columns:1fr;gap:28px}
  .sm-bly__figure{max-width:340px}
  .sm-bly__bubble{padding:28px 22px;text-align:left}
  .sm-bly__bubble::before{left:50%;top:-14px;transform:translateX(-50%) rotate(45deg);border-radius:4px 0 0 0;box-shadow:-10px -10px 24px -18px rgba(0,0,0,.10)}
  .sm-bly a.sm-btn{width:100%;justify-content:center}
}

/* Movimiento: solo transform/opacity; el contenido es visible sin animación */
@media (prefers-reduced-motion:no-preference){
  .sm-bly img.sm-bly__img{animation:sm-float 7s ease-in-out infinite}
  @keyframes sm-float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}
  @supports (animation-timeline:view()){
    .sm-bly__figure,.sm-bly__bubble{animation:sm-in both linear;animation-timeline:view();animation-range:entry 5% entry 55%}
    .sm-bly__figure{--sm-x:-16px}.sm-bly__bubble{--sm-x:16px}
    @keyframes sm-in{from{opacity:0;transform:translateX(var(--sm-x,0))}to{opacity:1;transform:none}}
  }
}

/* ───────── Educación Personalizada: eje de la Home ───────── */
.elementor-element-4280771 h2 .sm-eyebrow{display:block;margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-azul);line-height:1.2}
.elementor-element-21f44ed img.sm-edu-foto{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:28px}
.sm-points{list-style:none;margin:28px 0 8px;padding:0;display:grid;gap:14px}
.sm-points li{display:flex;align-items:flex-start;gap:16px;margin:0;padding:16px 18px;background:#fff;border:1px solid #e6edf8;border-radius:18px;transition:transform .35s var(--sm-ease),box-shadow .35s var(--sm-ease),border-color .35s var(--sm-ease)}
.sm-points li:hover{transform:translateY(-3px);border-color:rgba(15,103,186,.35);box-shadow:0 18px 32px -22px rgba(0,0,0,.22)}
.sm-points .sm-points__ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#EAF2FC;color:var(--sm-azul)}
.sm-points .sm-points__ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sm-points li span:last-child{font-size:15px;line-height:1.55;color:var(--sm-texto)}
.sm-points li strong{display:block;margin-bottom:2px;font-size:16px;line-height:1.3;color:var(--sm-azul-osc)}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .sm-points li{animation:sm-up both linear;animation-timeline:view();animation-range:entry 0% entry 40%}
    @keyframes sm-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  }
}

/* ───────── Diferenciadores: 8 tarjetas (reemplaza "¿Por qué elegirnos?") ───────── */
.sm-dif{background:var(--sm-azul);padding:clamp(64px,8vw,112px) 24px;overflow:clip;font-family:"Plus Jakarta Sans",sans-serif;color:#fff}
.sm-dif__inner{max-width:1200px;margin:0 auto}
.sm-dif__head{max-width:720px;margin:0 auto clamp(36px,5vw,56px);text-align:center}
.sm-dif p.sm-dif__eyebrow{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-lima)}
.sm-dif h2.sm-dif__title{margin:0;font-size:clamp(28px,3.6vw,46px);line-height:1.15;font-weight:700;letter-spacing:-.02em;color:#fff}
.sm-dif h2.sm-dif__title b{color:var(--sm-lima);font-weight:700}
.sm-dif p.sm-dif__lead{margin:16px auto 0;max-width:52ch;font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:rgba(255,255,255,.86)}
.sm-dif ul.sm-dif__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sm-dif li.sm-dif__card{margin:0;padding:0;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 22px 44px -26px rgba(0,0,0,.10);transition:transform .45s var(--sm-ease),box-shadow .45s var(--sm-ease)}
.sm-dif a.sm-dif__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.sm-dif__tile{position:relative;display:block;height:176px;background:linear-gradient(160deg,#EAF2FC 0%,#CFE1F7 100%);overflow:hidden}
.sm-dif__tile::before{content:"";position:absolute;left:50%;bottom:6px;width:46%;height:12px;transform:translateX(-50%);border-radius:50%;background:rgba(192,214,66,.85);filter:blur(5px)}
.sm-dif img.sm-dif__bly{position:absolute;left:50%;bottom:8px;height:150px;width:auto;max-width:none;transform:translateX(-50%);transform-origin:50% 100%;filter:drop-shadow(0 6px 8px rgba(0,0,0,.2));transition:transform .5s var(--sm-ease)}
.sm-dif__ico{position:absolute;left:16px;top:16px;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff;color:var(--sm-azul);box-shadow:0 8px 18px -10px rgba(0,0,0,.10);transition:background .35s var(--sm-ease),color .35s var(--sm-ease)}
.sm-dif__ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sm-dif__body{position:relative;display:block;flex:1;padding:20px 22px 24px}
.sm-dif__num{position:absolute;right:20px;top:18px;font-size:13px;font-weight:700;letter-spacing:.08em;color:#5f6d88}
.sm-dif h3.sm-dif__name{margin:0 0 8px;padding-right:32px;font-size:18px;line-height:1.3;font-weight:700;color:var(--sm-azul-osc)}
.sm-dif p.sm-dif__txt{margin:0;font-size:15px;line-height:1.6;color:var(--sm-texto)}
.sm-dif__cta{margin-top:clamp(36px,5vw,56px);text-align:center}
.sm-dif a.sm-dif__btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:14px 28px;border-radius:999px;background:var(--sm-lima);color:var(--sm-azul-osc);font:700 16px/1.2 "Plus Jakarta Sans",sans-serif;text-decoration:none;transition:background .3s var(--sm-ease),transform .3s var(--sm-ease),box-shadow .3s var(--sm-ease)}
.sm-dif a.sm-dif__btn::after{content:"→";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sm-azul-osc);color:#fff;font-size:15px;transition:transform .3s var(--sm-ease)}
.sm-dif a.sm-dif__btn:hover,.sm-dif a.sm-dif__btn:focus-visible{background:#fff;transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(0,0,0,.10)}
.sm-dif a:focus-visible{outline:3px solid var(--sm-lima);outline-offset:3px}
.sm-dif li.sm-dif__card:focus-within{outline:3px solid var(--sm-lima);outline-offset:3px}
@media (hover:hover){
  .sm-dif li.sm-dif__card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -24px rgba(0,0,0,.10)}
  .sm-dif li.sm-dif__card:hover img.sm-dif__bly{transform:translateX(-50%) scale(1.06) rotate(-2deg)}
  .sm-dif li.sm-dif__card:hover .sm-dif__ico{background:var(--sm-azul);color:#fff}
}
@media (max-width:1023px){.sm-dif ul.sm-dif__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){
  .sm-dif{padding-left:16px;padding-right:16px}
  .sm-dif ul.sm-dif__grid{grid-template-columns:1fr;gap:14px}
  .sm-dif a.sm-dif__link{flex-direction:row}
  .sm-dif__tile{flex:none;width:118px;height:auto;min-height:150px}
  .sm-dif img.sm-dif__bly{height:112px;bottom:6px}
  .sm-dif__ico{display:none}
  .sm-dif__body{padding:16px 16px 18px}
  .sm-dif__num{display:none}
  .sm-dif h3.sm-dif__name{padding-right:0;font-size:17px}
  .sm-dif p.sm-dif__txt{font-size:14px}
  .sm-dif a.sm-dif__btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .sm-dif li.sm-dif__card{animation:sm-up both linear;animation-timeline:view();animation-range:entry 0% entry 45%}
  }
}
@media (prefers-reduced-motion:reduce){.sm-dif *{transition:none!important}}

/* ───────── Idiomas: inglés + portugués 2026 (Home, tras los diferenciadores) ───────── */
.sm-idi{background:var(--sm-fondo);padding:clamp(64px,8vw,112px) 24px;overflow:clip;font-family:"Plus Jakarta Sans",sans-serif}
.sm-idi__inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(32px,5vw,72px)}
.sm-idi p.sm-idi__eyebrow{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-azul)}
.sm-idi h2.sm-idi__title{margin:0 0 16px;font-size:clamp(28px,3.6vw,46px);line-height:1.15;font-weight:700;letter-spacing:-.02em;color:var(--sm-azul-osc)}
.sm-idi h2.sm-idi__title b{color:var(--sm-azul);font-weight:700}
.sm-idi p.sm-idi__lead{margin:0 0 28px;font-size:clamp(16px,1.5vw,19px);line-height:1.65;color:var(--sm-texto);max-width:50ch}
.sm-idi ul.sm-idi__langs{list-style:none;margin:0 0 32px;padding:0;display:grid;gap:14px}
.sm-idi li.sm-idi__lang{display:flex;align-items:flex-start;gap:16px;margin:0;padding:18px 20px;background:#fff;border:1px solid #e6edf8;border-radius:20px;font-size:15px;line-height:1.55;color:var(--sm-texto);transition:transform .35s var(--sm-ease),box-shadow .35s var(--sm-ease),border-color .35s var(--sm-ease)}
.sm-idi li.sm-idi__lang:hover{transform:translateY(-3px);border-color:rgba(15,103,186,.35);box-shadow:0 18px 32px -22px rgba(0,0,0,.22)}
.sm-idi__code{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--sm-azul);color:#fff;font-weight:800;font-size:15px;letter-spacing:.04em}
.sm-idi__lang--pt .sm-idi__code{background:var(--sm-lima);color:var(--sm-azul-osc)}
.sm-idi li.sm-idi__lang strong{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:2px;font-size:17px;line-height:1.3;color:var(--sm-azul-osc)}
.sm-idi li.sm-idi__lang strong em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#EEF5C9;color:#4f5c0c}
.sm-idi a.sm-idi__btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:14px 28px;border-radius:999px;background:var(--sm-azul);color:#fff;font:700 16px/1.2 "Plus Jakarta Sans",sans-serif;text-decoration:none;transition:background .3s var(--sm-ease),transform .3s var(--sm-ease),box-shadow .3s var(--sm-ease)}
.sm-idi a.sm-idi__btn::after{content:"→";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sm-lima);color:var(--sm-azul-osc);font-size:15px;transition:transform .3s var(--sm-ease)}
.sm-idi a.sm-idi__btn:hover,.sm-idi a.sm-idi__btn:focus-visible{background:var(--sm-azul-osc);transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(0,0,0,.10)}
.sm-idi a.sm-idi__btn:focus-visible{outline:3px solid var(--sm-lima);outline-offset:3px}
.sm-idi__figure{position:relative;margin:0;width:100%;max-width:460px;justify-self:center;aspect-ratio:4/3;border-radius:28px;background:#CFE1F7;box-shadow:0 30px 60px -30px rgba(0,0,0,.18)}
.sm-idi img.sm-idi__foto{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:28px}
.sm-idi__pop{position:absolute;z-index:1;padding:8px 14px;border-radius:16px;background:#fff;color:var(--sm-azul-osc);font-weight:800;font-size:15px;line-height:1;box-shadow:0 12px 24px -12px rgba(0,0,0,.22);white-space:nowrap}
.sm-idi__pop::after{content:"";position:absolute;bottom:-5px;width:12px;height:12px;background:inherit;transform:rotate(45deg);border-radius:2px}
.sm-idi__pop--1{left:-14px;top:24%;background:var(--sm-azul);color:#fff}.sm-idi__pop--1::after{right:18px}
.sm-idi__pop--2{right:-14px;top:-12px;background:var(--sm-lima)}.sm-idi__pop--2::after{left:18px}
.sm-idi__pop--3{left:30%;bottom:-14px}.sm-idi__pop--3::after{right:18px}
@media (max-width:767px){
  .sm-idi{padding-left:16px;padding-right:16px}
  .sm-idi__inner{grid-template-columns:1fr;gap:36px}
  .sm-idi__figure{order:-1;max-width:none}
  .sm-idi__pop{font-size:14px;padding:7px 12px}
  .sm-idi__pop--1{left:-8px}.sm-idi__pop--2{right:-8px}
  .sm-idi a.sm-idi__btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .sm-idi__pop{animation:sm-pop both linear;animation-timeline:view()}
    .sm-idi__pop--1{animation-range:entry 20% cover 30%}
    .sm-idi__pop--2{animation-range:entry 35% cover 38%}
    .sm-idi__pop--3{animation-range:entry 50% cover 46%}
    @keyframes sm-pop{from{opacity:0;transform:translateY(10px) scale(.6)}to{opacity:1;transform:none}}
    .sm-idi__text,.sm-idi li.sm-idi__lang{animation:sm-up both linear;animation-timeline:view();animation-range:entry 0% entry 45%}
  }
}

/* ───────── Panthers: "¿Qué significa ser un Panther?" (Home, tras Idiomas) ───────── */
.sm-pan{background:var(--sm-azul-osc);color:#fff;overflow:clip;font-family:"Plus Jakarta Sans",sans-serif;padding-bottom:clamp(64px,8vw,112px)}
.sm-pan__marquee{background:var(--sm-lima);color:var(--sm-azul-osc);padding:14px 0;overflow:hidden;transform:rotate(-1.2deg);margin:28px -2% clamp(56px,7vw,96px);width:104%}
.sm-pan__track{display:flex;width:max-content}
.sm-pan__run{display:flex;align-items:center;gap:28px;padding-right:28px;font-weight:800;font-size:clamp(18px,2vw,26px);letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap}
.sm-pan__paw{font-size:.8em}
.sm-pan__inner{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,72px);align-items:center}
.sm-pan p.sm-pan__eyebrow{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-lima)}
.sm-pan h2.sm-pan__title{margin:0 0 16px;font-size:clamp(30px,3.8vw,50px);line-height:1.1;font-weight:800;letter-spacing:-.025em;color:#fff}
.sm-pan h2.sm-pan__title b{color:var(--sm-lima);font-weight:800}
.sm-pan p.sm-pan__lead{margin:0 0 28px;font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:rgba(255,255,255,.9);max-width:48ch}
.sm-pan ul.sm-pan__pilares{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sm-pan li.sm-pan__pilar{display:flex;gap:14px;align-items:flex-start;margin:0;padding:16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:14px;line-height:1.5;color:rgba(255,255,255,.8);transition:background .35s var(--sm-ease),border-color .35s var(--sm-ease),transform .35s var(--sm-ease)}
.sm-pan li.sm-pan__pilar:hover{background:rgba(255,255,255,.1);border-color:rgba(192,214,66,.5);transform:translateY(-3px)}
.sm-pan li.sm-pan__pilar strong{display:block;margin-bottom:2px;font-size:16px;color:#fff}
.sm-pan__ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--sm-lima);color:var(--sm-azul-osc)}
.sm-pan__ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sm-pan p.sm-pan__body{margin:0;font-size:15px;line-height:1.7;color:rgba(255,255,255,.72);max-width:56ch}
.sm-pan__mosaico{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sm-pan figure.sm-pan__foto{position:relative;margin:0;border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:#1a1a4a}
.sm-pan figure.sm-pan__foto--big{grid-column:1/-1;aspect-ratio:16/10}
.sm-pan figure.sm-pan__foto img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .7s var(--sm-ease)}
.sm-pan figure.sm-pan__foto:hover img{transform:scale(1.04)}
.sm-pan figure.sm-pan__foto figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:999px;background:rgba(11,11,56,.78);color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em;backdrop-filter:blur(4px)}
.sm-pan__cierre{max-width:1200px;margin:clamp(48px,6vw,80px) auto 0;padding:0 24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(20px,3vw,40px)}
.sm-pan__bly{position:relative;width:96px}
.sm-pan__bly img{display:block;width:96px;height:auto;filter:drop-shadow(0 8px 12px rgba(0,0,0,.35))}
.sm-pan__globo{position:absolute;left:36%;top:-38px;padding:6px 12px;border-radius:14px;background:#fff;color:var(--sm-azul-osc);font-size:13px;font-weight:800;white-space:nowrap;box-shadow:0 10px 20px -10px rgba(0,0,0,.5)}
.sm-pan__globo::after{content:"";position:absolute;left:14px;bottom:-5px;width:10px;height:10px;background:#fff;transform:rotate(45deg);border-radius:2px}
.sm-pan p.sm-pan__quote{margin:0;font-size:clamp(20px,2.4vw,30px);line-height:1.3;font-weight:700;letter-spacing:-.015em;color:rgba(255,255,255,.85)}
.sm-pan p.sm-pan__quote b{color:#fff;font-weight:800}
.sm-pan a.sm-pan__btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:14px 28px;border-radius:999px;background:var(--sm-lima);color:var(--sm-azul-osc);font:700 16px/1.2 "Plus Jakarta Sans",sans-serif;text-decoration:none;white-space:nowrap;transition:background .3s var(--sm-ease),transform .3s var(--sm-ease)}
.sm-pan a.sm-pan__btn::after{content:"→";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sm-azul-osc);color:#fff;font-size:15px;transition:transform .3s var(--sm-ease)}
.sm-pan a.sm-pan__btn:hover,.sm-pan a.sm-pan__btn:focus-visible{background:#fff;transform:translateY(-2px)}
.sm-pan a.sm-pan__btn:focus-visible{outline:3px solid var(--sm-lima);outline-offset:3px}
@media (max-width:1023px){
  .sm-pan__inner{grid-template-columns:1fr}
  .sm-pan__cierre{grid-template-columns:auto minmax(0,1fr)}
  .sm-pan a.sm-pan__btn{grid-column:1/-1;justify-self:start}
}
@media (max-width:599px){
  .sm-pan__inner,.sm-pan__cierre{padding:0 16px}
  .sm-pan ul.sm-pan__pilares{grid-template-columns:1fr}
  .sm-pan__mosaico{gap:10px}
  .sm-pan figure.sm-pan__foto{border-radius:16px}
  .sm-pan__cierre{grid-template-columns:72px minmax(0,1fr);gap:16px}
  .sm-pan__bly,.sm-pan__bly img{width:72px}
  .sm-pan__cierre{align-items:start;margin-top:64px}
  .sm-pan__globo{font-size:12px;top:-38px;left:-4px}
  .sm-pan a.sm-pan__btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:no-preference){
  .sm-pan__track{animation:sm-marquee 32s linear infinite}
  @keyframes sm-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @supports (animation-timeline:view()){
    .sm-pan li.sm-pan__pilar,.sm-pan figure.sm-pan__foto{animation:sm-up both linear;animation-timeline:view();animation-range:entry 0% entry 45%}
    .sm-pan__globo{animation:sm-pop both linear;animation-timeline:view();animation-range:entry 30% cover 45%}
  }
}

/* ───────── Hero en video 2026 (Home, contenedor fa51323) ─────────
   Clip de 12,9 s armado con tomas del Open House Primaria 2026 (sin audio, sin subtítulo).
   En WordPress equivale a: contenedor → Estilo → Fondo → Video (MP4 autoalojado) + superposición con el degradado de marca. */
.elementor-element-fa51323{position:relative;isolation:isolate}
.elementor-element-fa51323 > .sm-hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#0F67BA}
.sm-hero-video video.sm-hero-video__media{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 40%}
.sm-hero-video__tinte{position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,44,102,.82) 0%,rgba(15,103,186,.5) 50%,rgba(15,103,186,.18) 100%)}
.elementor-element-fa51323 > .e-con-inner{position:relative;z-index:1}
.elementor-element-fa51323::before{display:none} /* la cuadrícula decorativa del tema (hero-bg.svg) se ve como un patrón raro sobre el video */
@media (max-width:767px){
  .elementor-element-fa51323 > .sm-hero-video{background:linear-gradient(180deg,#2C2C66 0%,#0F67BA 100%)}
  .sm-hero-video video.sm-hero-video__media{inset:0 0 auto 0;height:min(100%,460px);object-position:50% 50%}
  .sm-hero-video__tinte{background:linear-gradient(180deg,rgba(44,44,102,.5) 0%,rgba(15,103,186,.35) 220px,rgba(15,103,186,.85) 380px,#0F67BA 460px)}
}

/* ───────── Sistema único de botones (pedido de Ian: "sinergia entre los botones") ─────────
   Todos los botones del sitio = píldora + círculo con flecha al final, como los bloques nuevos (sm-btn):
   · fondo claro  → azul #0F67BA, flecha en círculo lima
   · fondo azul/oscuro → lima, flecha en círculo azul noche
   · secundario   → contorno, mismo tamaño
   · WhatsApp     → mismo botón; en el círculo va el ícono de WhatsApp (verde)
   Se aplica a los botones de Elementor sin tocar su HTML: en WordPress va en CSS adicional. */
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 14px 13px 26px;border-radius:999px;border:0;background:var(--sm-azul);color:#fff;font:700 16px/1.2 "Plus Jakarta Sans",sans-serif;letter-spacing:0;text-transform:none;box-shadow:none;transition:background .3s var(--sm-ease),color .3s var(--sm-ease),border-color .3s var(--sm-ease),transform .3s var(--sm-ease),box-shadow .3s var(--sm-ease)}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-content-wrapper{flex-direction:row;align-items:center;gap:12px}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-text{color:inherit;font:inherit}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon{order:2;display:grid;place-items:center;flex:none;width:26px;height:26px;margin:0;border-radius:50%;background:var(--sm-lima);color:var(--sm-azul-osc);font-size:15px;line-height:1;transition:transform .3s var(--sm-ease)}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon > svg:not(.fa-whatsapp),
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon > i:not(.fa-whatsapp){display:none}

body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button:hover,
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button:focus-visible{background:var(--sm-azul-osc);color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(0,0,0,.10)}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button:focus-visible{outline:3px solid var(--sm-lima);outline-offset:3px}
/* WhatsApp: ícono verde en el círculo */
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon:has(.fa-whatsapp){background:#25D366;color:#fff}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon .fa-whatsapp{width:16px;height:16px;color:#fff}
/* Fondo azul u oscuro (hero, pie): lima */
body .elementor-element-fa51323 .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button,
body .elementor-element-4fe3414 .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button{background:var(--sm-lima);color:var(--sm-azul-osc)}
body .elementor-element-fa51323 .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon:not(:has(.fa-whatsapp)),
body .elementor-element-4fe3414 .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon:not(:has(.fa-whatsapp)){background:var(--sm-azul-osc);color:#fff}
body .elementor-element-fa51323 .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button:hover,
body .elementor-element-4fe3414 .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button:hover{background:#fff;color:var(--sm-azul-osc)}
/* Secundario sobre azul: "Conocé nuestra propuesta educativa" (hero) */
body .elementor-element-fa51323 .elementor-element.elementor-element-ec2e80e .elementor-widget-container a.elementor-button{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
body .elementor-element-fa51323 .elementor-element.elementor-element-ec2e80e .elementor-widget-container a.elementor-button .elementor-button-icon:not(:has(.fa-whatsapp)){background:#fff;color:var(--sm-azul-osc)}
body .elementor-element-fa51323 .elementor-element.elementor-element-ec2e80e .elementor-widget-container a.elementor-button:hover{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
/* Secundario sobre claro: WhatsApp de Educación Personalizada */
body .elementor-element.elementor-element-fc20745 .elementor-widget-container a.elementor-button{background:#fff;color:var(--sm-azul-osc);box-shadow:inset 0 0 0 1.5px #d3e0f2}
body .elementor-element.elementor-element-fc20745 .elementor-widget-container a.elementor-button:hover{background:#EAF2FC;color:var(--sm-azul-osc);box-shadow:inset 0 0 0 1.5px var(--sm-azul)}
/* Educación Personalizada: los dos botones en fila */
.elementor-7972 .elementor-element.elementor-element-448b829{--flex-direction:row;--flex-wrap:wrap;--align-items:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;margin-top:8px}
.elementor-7972 .elementor-element.elementor-element-448b829 > .elementor-element{width:auto;flex:0 0 auto}
@media (max-width:767px){
  .elementor-7972 .elementor-element.elementor-element-448b829 > .elementor-element{width:100%}
  body .elementor-element-fa51323 .elementor-element.elementor-widget-button,
  body .elementor-element-37a9d1b .elementor-element.elementor-widget-button{width:100%;max-width:100%}
  body .elementor-element-37a9d1b .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button,
  body .elementor-element-fa51323 .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button{width:100%}
}

/* ───────── Hover de botones: suave y "pro" (reemplaza la banda diagonal del tema) ─────────
   El tema Primecare pinta una banda girada 45° que cruza el botón (.elementor-button::after): se apaga.
   En su lugar: cambio de color suave, elevación de 1 px y la flecha sale por la derecha y vuelve a entrar por la izquierda. */
:root{
  --sm-flecha-osc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0B38' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --sm-flecha-blanca:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button::after,
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button::before{display:none!important}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button{transition:background-color .4s var(--sm-ease),color .4s var(--sm-ease),box-shadow .4s var(--sm-ease),transform .4s var(--sm-ease)}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button:hover,
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button:focus-visible{transform:translateY(-1px)}
/* flecha de Elementor: imagen en el círculo, en el color que corresponde al fondo del círculo */
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon{overflow:hidden;--sm-flecha:var(--sm-flecha-osc)}
body .elementor-element-fa51323 .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon,
body .elementor-element-4fe3414 .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon{--sm-flecha:var(--sm-flecha-blanca)}
body .elementor-element-fa51323 .elementor-element.elementor-element-ec2e80e .elementor-widget-container a.elementor-button .elementor-button-icon{--sm-flecha:var(--sm-flecha-osc)}
body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon:not(:has(.fa-whatsapp))::before{content:"";display:block;width:100%;height:100%;background:var(--sm-flecha) 50% 50%/13px no-repeat}
/* flecha de los bloques propios (sm-*) con la misma imagen */
.sm-bly a.sm-btn::after,.sm-idi a.sm-idi__btn::after{content:"";background:var(--sm-lima) var(--sm-flecha-osc) 50% 50%/13px no-repeat}
.sm-dif a.sm-dif__btn::after,.sm-pan a.sm-pan__btn::after{content:"";background:var(--sm-azul-osc) var(--sm-flecha-blanca) 50% 50%/13px no-repeat}
.sm-bly a.sm-btn,.sm-dif a.sm-dif__btn,.sm-idi a.sm-idi__btn,.sm-pan a.sm-pan__btn{transition:background-color .4s var(--sm-ease),color .4s var(--sm-ease),box-shadow .4s var(--sm-ease),transform .4s var(--sm-ease)}
.sm-bly a.sm-btn:hover,.sm-dif a.sm-dif__btn:hover,.sm-idi a.sm-idi__btn:hover,.sm-pan a.sm-pan__btn:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion:no-preference){
  body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button:hover .elementor-button-icon:not(:has(.fa-whatsapp))::before,
  .sm-bly a.sm-btn:hover::after,.sm-dif a.sm-dif__btn:hover::after,.sm-idi a.sm-idi__btn:hover::after,.sm-pan a.sm-pan__btn:hover::after{animation:sm-flecha .6s var(--sm-ease)}
  @keyframes sm-flecha{0%{background-position:50% 50%}40%{background-position:calc(50% + 24px) 50%}41%{background-position:calc(50% - 24px) 50%}100%{background-position:50% 50%}}
  body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button .elementor-button-icon .fa-whatsapp{transition:transform .4s var(--sm-ease)}
  body .elementor-element.elementor-widget-button .elementor-widget-container a.elementor-button:hover .elementor-button-icon .fa-whatsapp{transform:scale(1.12)}
}

/* ───────── Íconos: un solo comportamiento, suave ─────────
   1) Al entrar en pantalla, los íconos de línea (SVG con pathLength="1") se dibujan solos.
   2) Al pasar el cursor por la tarjeta, el cuadro del ícono se rellena con el color de marca y el ícono se redibuja.
   3) Franja de contacto: se apaga el cuadro azul del tema que crecía de golpe (.cta-item ::before);
      el cuadro pasa de lima a azul con transición y el ícono crece apenas. */
.sm-points .sm-points__ico,.sm-dif .sm-dif__ico,.sm-pan .sm-pan__ico{transition:background-color .45s var(--sm-ease),color .45s var(--sm-ease),transform .45s var(--sm-ease),box-shadow .45s var(--sm-ease)}
.sm-points li:hover .sm-points__ico{background:var(--sm-azul);color:#fff;transform:translateY(-2px)}
.sm-pan li.sm-pan__pilar:hover .sm-pan__ico{background:#fff;color:var(--sm-azul-osc);transform:translateY(-2px)}
body .elementor-element-ffcb9a6 .cta-item .elementor-icon-box-wrapper .elementor-icon-box-icon::before{display:none}
body .elementor-element-ffcb9a6 .cta-item.elementor-view-stacked .elementor-icon{transition:background-color .45s var(--sm-ease),color .45s var(--sm-ease),transform .45s var(--sm-ease)}
body .elementor-element-ffcb9a6 .cta-item.elementor-view-stacked .elementor-icon i{transition:transform .45s var(--sm-ease)}
body .elementor-element-ffcb9a6 .cta-item.elementor-view-stacked:hover .elementor-icon{background-color:var(--sm-azul);color:#fff;fill:#fff;transform:translateY(-2px)}
body .elementor-element-ffcb9a6 .cta-item.elementor-view-stacked:hover .elementor-icon i{transform:scale(1.1)}
@media (prefers-reduced-motion:no-preference){
  @keyframes sm-trazo{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  .sm-js .sm-points__ico svg [pathLength],.sm-js .sm-dif__ico svg [pathLength],.sm-js .sm-pan__ico svg [pathLength]{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--sm-ease) var(--sm-d,0s)}
  .sm-js .sm-visto svg [pathLength]{stroke-dashoffset:0}
  .sm-points li:hover .sm-points__ico svg [pathLength],
  .sm-dif li.sm-dif__card:hover .sm-dif__ico svg [pathLength],
  .sm-pan li.sm-pan__pilar:hover .sm-pan__ico svg [pathLength]{stroke-dasharray:1 1;animation:sm-trazo .9s var(--sm-ease) both}
}

/* ───────── Nuestros niveles (reemplaza las 3 tarjetas Admisión / Propuesta / We're Panthers, contenedor 3ce2946) ───────── */
.sm-niv{background:var(--sm-fondo);padding:clamp(64px,8vw,112px) 24px;font-family:"Plus Jakarta Sans",sans-serif}
.sm-niv__inner{max-width:1200px;margin:0 auto}
.sm-niv__head{max-width:720px;margin:0 auto clamp(36px,5vw,56px);text-align:center}
.sm-niv p.sm-niv__eyebrow{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-azul)}
.sm-niv h2.sm-niv__title{margin:0;font-size:clamp(28px,3.6vw,46px);line-height:1.15;font-weight:700;letter-spacing:-.02em;color:var(--sm-azul-osc)}
.sm-niv h2.sm-niv__title b{color:var(--sm-azul);font-weight:700}
.sm-niv p.sm-niv__lead{margin:16px auto 0;max-width:52ch;font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:var(--sm-texto)}
.sm-niv ul.sm-niv__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sm-niv li.sm-niv__card{margin:0;padding:0;border-radius:28px;overflow:hidden;background:#fff;border:0;box-shadow:0 18px 36px -24px rgba(0,0,0,.21);transition:transform .5s var(--sm-ease),box-shadow .5s var(--sm-ease)}
.sm-niv a.sm-niv__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.sm-niv__media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#CFE1F7}
.sm-niv img.sm-niv__foto{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 32%;transition:transform .9s var(--sm-ease)}
.sm-niv__body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:24px 24px 26px}
.sm-niv__sede{display:inline-block;margin-bottom:12px;padding:5px 12px;border-radius:999px;background:#EAF2FC;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--sm-azul)}
.sm-niv h3.sm-niv__name{margin:0 0 6px;font-size:clamp(24px,2.4vw,30px);line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--sm-azul-osc)}
.sm-niv__txt{display:block;flex:1;margin-bottom:20px;font-size:15px;line-height:1.6;color:var(--sm-texto)}
.sm-niv__cta{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px 10px 22px;border-radius:999px;background:var(--sm-azul);color:#fff;font-size:15px;font-weight:700;transition:background-color .4s var(--sm-ease)}
.sm-niv__cta::after{content:"";width:26px;height:26px;border-radius:50%;background:var(--sm-lima) var(--sm-flecha-osc) 50% 50%/13px no-repeat}
.sm-niv a.sm-niv__link:focus-visible{outline:3px solid var(--sm-lima);outline-offset:-3px;border-radius:28px}
@media (hover:hover){
  .sm-niv li.sm-niv__card:hover{transform:translateY(-6px);box-shadow:0 40px 70px -36px rgba(0,0,0,.33)}
  .sm-niv li.sm-niv__card:hover img.sm-niv__foto{transform:scale(1.05)}
  .sm-niv li.sm-niv__card:hover .sm-niv__cta{background:var(--sm-azul-osc)}
}
@media (max-width:1023px){.sm-niv ul.sm-niv__grid{grid-template-columns:repeat(3,minmax(260px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}.sm-niv li.sm-niv__card{scroll-snap-align:start}}
@media (max-width:767px){
  .sm-niv{padding-left:16px;padding-right:16px}
  .sm-niv ul.sm-niv__grid{grid-template-columns:1fr;overflow:visible;gap:16px}
  .sm-niv__media{aspect-ratio:4/3}
  .sm-niv__body{padding:20px}
  .sm-niv__cta{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:no-preference){
  .sm-niv li.sm-niv__card:hover .sm-niv__cta::after{animation:sm-flecha .6s var(--sm-ease)}
  @supports (animation-timeline:view()){.sm-niv li.sm-niv__card{animation:sm-up both linear;animation-timeline:view();animation-range:entry 0% entry 45%}}
}

/* ───────── Franja de contacto (ffcb9a6): etiqueta chica + dato grande, íconos parejos ───────── */
body .elementor-element-ffcb9a6 .cta-item .elementor-icon-box-title,
body .elementor-element-ffcb9a6 .cta-item .elementor-icon-box-title span{margin:0 0 4px;font:700 12px/1.2 "Plus Jakarta Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#5f6d88}
body .elementor-element-ffcb9a6 .cta-item .elementor-icon-box-description{margin:0;font:700 16px/1.35 "Plus Jakarta Sans",sans-serif;color:var(--sm-azul-osc)}
body .elementor-element-ffcb9a6 .cta-item a.sm-tel{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .4s var(--sm-ease)}
body .elementor-element-ffcb9a6 .cta-item a.sm-tel:hover{background-size:100% 1.5px}
body .elementor-element-ffcb9a6 .cta-item.elementor-view-stacked .elementor-icon{width:56px;height:56px;border-radius:18px;font-size:24px;display:grid;place-items:center}
body .elementor-element-ffcb9a6 .cta-item .elementor-icon-box-wrapper{align-items:center;gap:16px}

/* ───────── Preguntas frecuentes (4a15409): fotos 2026 + acordeón en tarjetas ───────── */
.elementor-element-4a15409 img.sm-faq-foto{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:22px}
.elementor-element-4a15409 .elementor-element-959151c img{border-radius:50%}
.elementor-element-4a15409 .elementor-element-959151c .elementor-widget-container{border-radius:28px;box-shadow:0 24px 50px -24px rgba(0,0,0,.21)}
.elementor-element-4a15409 .elementor-element-a119a86 .elementor-heading-title{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(30px,3.6vw,46px);line-height:1.12;font-weight:700;letter-spacing:-.02em;color:var(--sm-azul-osc)}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card{margin:0 0 12px;border:1px solid #e6edf8;border-radius:20px;background:#fff;overflow:hidden;box-shadow:none;transition:border-color .4s var(--sm-ease),box-shadow .4s var(--sm-ease)}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card:hover{border-color:rgba(15,103,186,.35)}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card.active{border-color:rgba(15,103,186,.45);box-shadow:0 22px 44px -30px rgba(0,0,0,.22)}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card-header{border:0;background:none;padding:0}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card-header > a.ekit-accordion--toggler{display:flex;align-items:center;gap:14px;padding:18px 20px;border:0;background:none;color:var(--sm-azul-osc);text-decoration:none}
body .elementor-element-216ede9 .elementskit-accordion .ekit-accordion--toggler .number{flex:none;display:grid;place-items:center;width:34px;height:34px;margin:0;border-radius:50%;background:#EAF2FC;color:var(--sm-azul);font:700 14px/1 "Plus Jakarta Sans",sans-serif;transition:background-color .4s var(--sm-ease),color .4s var(--sm-ease)}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card.active .ekit-accordion--toggler .number{background:var(--sm-azul);color:#fff}
body .elementor-element-216ede9 .elementskit-accordion .ekit-accordion-title{flex:1;font:700 17px/1.4 "Plus Jakarta Sans",sans-serif;color:var(--sm-azul-osc)}
body .elementor-element-216ede9 .elementskit-accordion .ekit_accordion_icon_group{position:relative;flex:none;width:34px;height:34px;border-radius:50%;background:var(--sm-lima);color:var(--sm-azul-osc);transition:transform .45s var(--sm-ease),background-color .4s var(--sm-ease)}
body .elementor-element-216ede9 .elementskit-accordion .ekit_accordion_icon_group i,body .elementor-element-216ede9 .elementskit-accordion .ekit_accordion_icon_group svg{display:none}
body .elementor-element-216ede9 .elementskit-accordion .ekit_accordion_icon_group::before,
body .elementor-element-216ede9 .elementskit-accordion .ekit_accordion_icon_group::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:currentColor}
body .elementor-element-216ede9 .elementskit-accordion .ekit_accordion_icon_group::after{transform:rotate(90deg)}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card.active .ekit_accordion_icon_group{transform:rotate(135deg);background:var(--sm-azul-osc);color:#fff}
body .elementor-element-216ede9 .elementskit-accordion .ekit_accordion_normal_icon,
body .elementor-element-216ede9 .elementskit-accordion .ekit_accordion_active_icon{display:none}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card-body{padding:0 20px 20px 68px;font:400 15px/1.65 "Plus Jakarta Sans",sans-serif;color:var(--sm-texto)}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card-body p{margin:0}
@media (max-width:767px){
  body .elementor-element-216ede9 .elementskit-accordion .elementskit-card-header > a.ekit-accordion--toggler{padding:16px}
  body .elementor-element-216ede9 .elementskit-accordion .ekit-accordion-title{font-size:16px}
  body .elementor-element-216ede9 .elementskit-accordion .elementskit-card-body{padding:0 16px 18px 64px}
}

/* ───────── Cierre: formulario como invitación (4b8387f, paso 12) ───────── */
.elementor-element-dd8f2e9 h2 .sm-eyebrow{display:block;margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-azul);line-height:1.2}
.elementor-element-dd8f2e9 .elementor-heading-title{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(30px,3.6vw,46px);line-height:1.12;font-weight:700;letter-spacing:-.02em;color:var(--sm-azul-osc)}
.elementor-element-dd8f2e9 p.sm-form-lead{margin:14px 0 4px;max-width:46ch;font:400 16px/1.65 "Plus Jakarta Sans",sans-serif;color:var(--sm-texto)}
/* campos */
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form .wpforms-field{padding:6px 0}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form input[type=text],
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form input[type=email],
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form input[type=tel],
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form select,
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form textarea{width:100%;max-width:100%;min-height:52px;padding:14px 18px;border:1.5px solid #dfe7f3;border-radius:14px;background:#F6F9FE;color:var(--sm-azul-osc);font:500 15px/1.4 "Plus Jakarta Sans",sans-serif;box-shadow:none;transition:border-color .3s var(--sm-ease),background-color .3s var(--sm-ease),box-shadow .3s var(--sm-ease)}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form select{appearance:none;background:#F6F9FE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F67BA' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/18px;color:#5f6d88}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form select:valid{color:var(--sm-azul-osc)}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form textarea{min-height:120px;resize:vertical}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form ::placeholder{color:#5f6d88;opacity:1}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form input:focus,
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form select:focus,
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form textarea:focus{outline:0;border-color:var(--sm-azul);background-color:#fff;box-shadow:none;outline:2px solid var(--sm-azul);outline-offset:1px}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form .wpforms-field-medium{max-width:100%}
/* botón enviar = sistema de botones */
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form .wpforms-submit-container{padding-top:10px}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form button.wpforms-submit{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:13px 14px 13px 28px;border:0;border-radius:999px;background:var(--sm-azul);color:#fff;font:700 16px/1.2 "Plus Jakarta Sans",sans-serif;cursor:pointer;transition:background-color .4s var(--sm-ease),transform .4s var(--sm-ease),box-shadow .4s var(--sm-ease)}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form button.wpforms-submit::after{content:"";width:26px;height:26px;border-radius:50%;background:var(--sm-lima) var(--sm-flecha-osc) 50% 50%/13px no-repeat}
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form button.wpforms-submit:hover,
body .elementor-element-1462295 div.wpforms-container-full .wpforms-form button.wpforms-submit:focus-visible{background:var(--sm-azul-osc);transform:translateY(-1px);box-shadow:0 14px 28px -14px rgba(0,0,0,.10)}
/* columna derecha: foto cálida + tarjetas */
.elementor-element-f025515 figure.sm-form-foto{position:relative;margin:0 0 4px;border-radius:24px;aspect-ratio:4/3;box-shadow:0 30px 60px -36px rgba(0,0,0,.33)}
.elementor-element-f025515 figure.sm-form-foto img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:24px}
.elementor-element-f025515 figure.sm-form-foto figcaption{position:absolute;left:14px;bottom:14px;padding:8px 14px;border-radius:999px;background:var(--sm-lima);color:var(--sm-azul-osc);font:800 14px/1 "Plus Jakarta Sans",sans-serif}
.elementor-7972 .elementor-element.elementor-element-2da209b,
.elementor-7972 .elementor-element.elementor-element-541b483,
.elementor-7972 .elementor-element.elementor-element-df4a9fb{border-radius:24px}
.elementor-element-e460264 .elementor-heading-title{font:700 13px/1.2 "Plus Jakarta Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.elementor-element-8eb25a8 .elementor-icon-list-text{font:600 15px/1.4 "Plus Jakarta Sans",sans-serif}
@media (prefers-reduced-motion:no-preference){
  body .elementor-element-1462295 div.wpforms-container-full .wpforms-form button.wpforms-submit:hover::after{animation:sm-flecha .6s var(--sm-ease)}
}

/* ───────── Pie de página (plantilla 6310, contenedor 4fe3414, todas las páginas) ───────── */
body .elementor-6310 .elementor-element.elementor-element-4fe3414:not(.elementor-motion-effects-element-type-background){background:linear-gradient(165deg,#0B0B38 0%,#10225e 100%)}
body .elementor-element.elementor-element-4fe3414::before{display:none}
body .elementor-element-4fe3414{font-family:"Plus Jakarta Sans",sans-serif}
/* títulos de columna */
body .elementor-element-4fe3414 .elementor-heading-title,
body .elementor-element-4fe3414 .elementor-element-264b35c h3,
body .elementor-element-4fe3414 .elementor-element-264b35c h3 span{font:700 13px/1.2 "Plus Jakarta Sans",sans-serif!important;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-lima)!important;margin:0 0 18px}
/* testimonios como citas */
body .elementor-element-4fe3414 .elementor-element-264b35c p{margin:0;font:400 15px/1.65 "Plus Jakarta Sans",sans-serif;color:rgba(255,255,255,.82)}
body .elementor-element-4fe3414 .elementor-element-264b35c p + p{margin-top:6px}
body .elementor-element-4fe3414 .elementor-element-264b35c p:nth-of-type(2n){margin-bottom:18px;font-weight:700;font-size:13px;letter-spacing:.02em;color:#fff}
body .elementor-element-4fe3414 .elementor-element-264b35c p:nth-of-type(2n+1){position:relative;padding-left:18px;border-left:2px solid rgba(192,214,66,.6)}
/* enlaces del menú */
body .elementor-element-4fe3414 .footer-links li{list-style:none}
body .elementor-element-4fe3414 .footer-links li::before,body .elementor-element-4fe3414 .footer-links li::marker{content:none}
body .elementor-element-4fe3414 .footer-links a,
body .elementor-element-4fe3414 .footer-links .elementskit-submenu-panel a{color:rgba(255,255,255,.82)!important;font:500 15px/1.5 "Plus Jakarta Sans",sans-serif;transition:color .3s var(--sm-ease)}
body .elementor-element-4fe3414 .footer-links .elementskit-submenu-panel a{color:rgba(255,255,255,.62)!important;font-size:14px}
body .elementor-element-4fe3414 .footer-links a:hover{color:var(--sm-lima)!important}
/* contacto */
body .elementor-element-4fe3414 .elementor-element-71bb9a4 .elementor-icon-list-text{color:rgba(255,255,255,.82);font:500 15px/1.6 "Plus Jakarta Sans",sans-serif}
body .elementor-element-4fe3414 .elementor-element-71bb9a4 .elementor-icon-list-icon svg,
body .elementor-element-4fe3414 .elementor-element-71bb9a4 .elementor-icon-list-icon i{color:var(--sm-lima);fill:var(--sm-lima)}
body .elementor-element-4fe3414 .elementor-element-71bb9a4 a:hover .elementor-icon-list-text{color:#fff}
/* fila final */
body .elementor-element-4fe3414 .elementor-element-4afaf57{border-top:1px solid rgba(255,255,255,.12)}
body .elementor-element-4fe3414 .elementor-element-78e0305,body .elementor-element-4fe3414 .elementor-element-78e0305 p{color:rgba(255,255,255,.6);font:400 13px/1.5 "Plus Jakarta Sans",sans-serif}
body .elementor-element-4fe3414 .footer-social-icon a{border-radius:12px;transition:transform .35s var(--sm-ease),background-color .35s var(--sm-ease)}
body .elementor-element-4fe3414 .footer-social-icon a:hover{transform:translateY(-2px)}
/* Pie: el menú vertical de ElementsKit "cierra" los submenús con max-height:0 sin recortar (en móvil se enciman).
   En el pie el menú va siempre abierto, como mapa del sitio, sin flechas. */
body .elementor-element-4fe3414 .footer-links .elementskit-submenu-panel{position:static!important;display:block!important;height:auto!important;max-height:none!important;overflow:visible;margin:2px 0 6px;padding:0 0 0 14px;border-left:1px solid rgba(255,255,255,.14);background:none;box-shadow:none;opacity:1;visibility:visible;transform:none}
body .elementor-element-4fe3414 .footer-links .elementskit-submenu-panel > li > a{padding:4px 0}
body .elementor-element-4fe3414 .footer-links .elementskit-submenu-indicator{display:none}
body .elementor-element-4fe3414 .footer-links .ekit-vertical-navbar-nav > li{padding:3px 0}
body .elementor-element-4fe3414 .footer-links .ekit-vertical-navbar-nav > li > a{padding:4px 0}
body .elementor-element-4fe3414 .footer-links ul.ekit-vertical-navbar-nav{margin:0;padding:0}
body .elementor-element-4fe3414 .elementor-element-bf14b22 .elementor-heading-title{margin-bottom:10px}

/* ───────── Detalles al día: barra superior, redes, columna del formulario, sello del FAQ ───────── */
/* Barra superior (plantilla 6695, 9ddbcba): azul noche como el pie; lima con texto blanco no se leía */
body .elementor-6695 .elementor-element.elementor-element-9ddbcba:not(.elementor-motion-effects-element-type-background){background:var(--sm-azul-osc)}
body .elementor-element-9ddbcba .elementskit-info-box-title,
body .elementor-element-9ddbcba .elementskit-infobox p,
body .elementor-element-9ddbcba a{font:500 13px/1.4 "Plus Jakarta Sans",sans-serif;color:rgba(255,255,255,.8);transition:color .3s var(--sm-ease)}
body .elementor-element-9ddbcba a:hover,body .elementor-element-9ddbcba .elementskit-infobox:hover .elementskit-info-box-title{color:var(--sm-lima)}
body .elementor-element-9ddbcba .elementskit-info-box-icon i,body .elementor-element-9ddbcba .elementskit-info-box-icon svg{color:var(--sm-lima);fill:var(--sm-lima)}
body .elementor-element-9ddbcba .elementor-element-14f22bc{border-color:rgba(255,255,255,.18)!important}
/* Redes (barra superior y pie): círculos de contorno, se rellenan en lima */
body .footer-social-icon .ekit_social_media{display:flex;gap:10px;margin:0;padding:0}
body .footer-social-icon .ekit_social_media > li{margin:0}
body .footer-social-icon .ekit_social_media > li > a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%!important;background:transparent!important;border:1.5px solid rgba(255,255,255,.3)!important;color:#fff!important;font-size:14px;line-height:1;transition:background-color .35s var(--sm-ease),border-color .35s var(--sm-ease),color .35s var(--sm-ease),transform .35s var(--sm-ease)}
body .footer-social-icon .ekit_social_media > li > a i{color:inherit!important}
body .footer-social-icon .ekit_social_media > li > a:hover{background:var(--sm-lima)!important;border-color:var(--sm-lima)!important;color:var(--sm-azul-osc)!important;transform:translateY(-2px)}
body .elementor-element-9ddbcba .footer-social-icon .ekit_social_media > li > a{width:28px;height:28px;font-size:12px}
/* Franja final del pie */
body .elementor-element-4fe3414 .elementor-element-4afaf57{padding-top:22px;padding-bottom:26px;align-items:center}
/* Columna derecha del formulario: un bloque ordenado */
.elementor-7972 .elementor-element.elementor-element-f025515{--gap:14px 14px;--row-gap:14px}
.elementor-7972 .elementor-element.elementor-element-2da209b{border-radius:24px;padding:24px 26px}
.elementor-element-2da209b .elementor-heading-title{color:var(--sm-lima)!important;margin:0}
.elementor-element-2da209b .elementor-icon-list-item{display:flex;justify-content:space-between;gap:10px;border-color:rgba(255,255,255,.18)!important}
.elementor-element-2da209b .elementor-icon-list-text{font:600 15px/1.4 "Plus Jakarta Sans",sans-serif;color:#fff}
.elementor-7972 .elementor-element.elementor-element-541b483,
.elementor-7972 .elementor-element.elementor-element-df4a9fb{border-radius:24px;border:1px solid #e6edf8;padding:20px 22px;background:#fff}
.elementor-element-541b483 .elementor-element-e1db117 .elementor-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--sm-lima);color:var(--sm-azul-osc);font-size:22px}
.elementor-element-541b483 .elementor-element-e1db117 .elementor-icon svg{width:24px;height:24px;fill:var(--sm-azul-osc)}
.elementor-element-541b483 .elementor-element-e1db117 .elementor-icon svg path{fill:var(--sm-azul-osc)}
.elementor-element-541b483 .elementor-icon-box-title,.elementor-element-541b483 .elementor-icon-box-title a{margin:0 0 2px;font:700 12px/1.2 "Plus Jakarta Sans",sans-serif!important;letter-spacing:.08em;text-transform:uppercase;color:#5f6d88!important}
.elementor-element-541b483 .elementor-icon-box-description{margin:0;font:700 18px/1.3 "Plus Jakarta Sans",sans-serif;color:var(--sm-azul-osc)}
.elementor-element-df4a9fb .elementor-widget-button{width:100%}
.elementor-element-df4a9fb .elementor-widget-button a.elementor-button{width:100%}
/* Sello del FAQ: círculo con texto que gira alrededor del logo */
.elementor-element-4a15409 .elementor-element-959151c .elementor-widget-container{position:relative;display:grid;place-items:center;width:200px;height:200px;padding:0!important;border-radius:50%!important;background:#fff;box-shadow:0 24px 50px -22px rgba(0,0,0,.10)}
.elementor-element-4a15409 .elementor-element-959151c .elementor-widget-container img{width:104px!important;height:104px!important;max-width:none;border-radius:50%;position:relative;z-index:1}
.elementor-element-4a15409 .elementor-element-959151c svg.sm-sello__aro{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);overflow:visible}
.elementor-element-4a15409 svg.sm-sello__aro text{font:800 17px "Plus Jakarta Sans",sans-serif;letter-spacing:.05em;fill:var(--sm-azul)}
@media (max-width:767px){.elementor-element-4a15409 .elementor-element-959151c .elementor-widget-container{width:150px;height:150px}.elementor-element-4a15409 .elementor-element-959151c .elementor-widget-container img{width:78px!important;height:78px!important}}
@media (prefers-reduced-motion:no-preference){
  .elementor-element-4a15409 svg.sm-sello__aro{animation:sm-giro 28s linear infinite}
  @keyframes sm-giro{to{transform:rotate(360deg)}}
}
/* FAQ: el tema deja el número en position:absolute (con un padding que ya no existe): al flujo, sin punto */
body .elementor-element-216ede9 .elementskit-accordion .ekit-accordion--toggler .number{position:static!important;left:auto;top:auto;transform:none}
body .elementor-element-216ede9 .elementskit-accordion .ekit-accordion--toggler .number::before{content:counter(myNumber)!important;position:static}
/* Diferenciadores: el número pasa a rótulo sobre el título (en absoluto chocaba con títulos largos) */
.sm-dif .sm-dif__num{position:static;display:block;margin:0 0 6px;font-size:12px;letter-spacing:.1em;color:#5f6d88}
.sm-dif h3.sm-dif__name{padding-right:0}
/* Niveles en tablet: una columna, foto a la izquierda y texto a la derecha (sin carrusel lateral) */
@media (min-width:768px) and (max-width:1023px){
  .sm-niv ul.sm-niv__grid{grid-template-columns:1fr;overflow:visible;gap:18px;padding-bottom:0}
  .sm-niv a.sm-niv__link{flex-direction:row}
  .sm-niv__media{flex:0 0 42%;aspect-ratio:auto;min-height:280px}
  .sm-niv__body{justify-content:center;padding:28px 30px}
}
/* Pie: enlaces como bloques para que sus cajas no se pisen */
body .elementor-element-4fe3414 .footer-links .ekit-vertical-navbar-nav > li > a,
body .elementor-element-4fe3414 .footer-links .elementskit-submenu-panel > li > a{display:inline-block}
/* FAQ: Elementor limita las fotos a 160 px en móvil (quedaba un hueco desparejo entre las dos de arriba) */
body .elementor-7972 .elementor-element.elementor-element-4a15409 .elementor-widget-image img.sm-faq-foto{width:100%!important;max-width:100%!important;height:100%!important}
/* Ícono del teléfono (columna del formulario): trazo de línea como el resto, centrado en el cuadro lima */
.elementor-element-e1db117 .elementor-icon svg.sm-ico-tel{width:24px!important;height:24px!important;fill:none!important;stroke:var(--sm-azul-osc);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.elementor-element-e1db117 .elementor-icon svg.sm-ico-tel path{fill:none!important}
body .elementor-7972 .elementor-element.elementor-element-b2b440c .elementor-icon-box-description{font:700 18px/1.3 "Plus Jakarta Sans",sans-serif;color:var(--sm-azul-osc)}

/* ───────── Pre-flight Atelier (2026-10-03): contraste, toques, reveals que no esconden contenido ───────── */
/* Sello "30+ años de experiencia": blanco sobre lima (1,6:1) → azul noche (11,6:1) */
body .elementor-element-1a3ab7e .elementor-counter-number-wrapper,
body .elementor-element-1a3ab7e .elementor-counter-number,
body .elementor-element-1a3ab7e .elementor-counter-number-suffix,
body .elementor-element-1a3ab7e .elementor-counter-title{color:var(--sm-azul-osc)!important}
/* "Horario de atención": lima sobre azul (3,5:1) → blanco */
.elementor-element-2da209b .elementor-heading-title{color:#fff!important}
/* Botón cerrar del menú móvil: lima sobre blanco → azul */
body .elementskit-menu-close{color:var(--sm-azul)!important;border-color:var(--sm-azul)!important}
/* Redes en la barra superior: mínimo 32 px de toque */
body .elementor-element-9ddbcba .footer-social-icon .ekit_social_media > li > a{width:32px;height:32px}
/* Las animaciones de entrada ya no esconden el texto en reposo (antes partían de opacity 0) */
@keyframes sm-up{from{transform:translateY(18px)}to{transform:none}}
@keyframes sm-in{from{transform:translateX(var(--sm-x,0))}to{transform:none}}
/* Elementor oculta (visibility:hidden) lo que anima al entrar: visible siempre; su fadeInUp parte de .35 */
body .elementor-invisible{visibility:visible!important}
body .elementor-element.animated.fadeInUp{animation-name:sm-up!important}

/* Niveles 2+1: Preescolar y Primaria comparten sede (Aserrí); Secundaria (Poás) en tarjeta ancha horizontal */
@media (min-width:1024px){
  .sm-niv ul.sm-niv__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm-niv li.sm-niv__card:nth-child(3){grid-column:1/-1}
  .sm-niv li.sm-niv__card:nth-child(3) a.sm-niv__link{flex-direction:row}
  .sm-niv li.sm-niv__card:nth-child(3) .sm-niv__media{flex:0 0 50%;aspect-ratio:auto;min-height:340px}
  .sm-niv li.sm-niv__card:nth-child(3) img.sm-niv__foto{object-position:50% 60%}
  .sm-niv li.sm-niv__card:nth-child(3) .sm-niv__body{justify-content:center;padding:40px 44px}
  .sm-niv li.sm-niv__card:nth-child(-n+2) .sm-niv__media{aspect-ratio:16/11}
}
body .elementor-element-4fe3414 .footer-links .elementskit-submenu-panel{transition:none!important}

/* Texto global de Elementor: negro puro (#000) → casi negro de marca. En WP: Ajustes del sitio → Colores globales → Texto = #2B3144 */
body.elementor-kit-5582,body .elementor-kit-5582{--e-global-color-text:#2B3144;color:#2B3144}
body .elementor-element-216ede9 .elementskit-accordion .elementskit-card-body p,
body .elementor-element-10a0ccc p{color:var(--sm-texto)}
/* Menú móvil de ElementsKit: sombra naranja invisible (alpha 0) y submenús que animaban max-height 2 s → sin sombra, fundido corto */
body .elementskit-navbar-nav-default.elementskit-menu-offcanvas-elements{box-shadow:none!important}
body .elementskit-navbar-nav-default .elementskit-dropdown{transition:opacity .25s var(--sm-ease)!important}
/* Hero en móvil: que el botón se vea sin scroll (diseno-gusto: CTA en la primera pantalla).
   El logo grande repite el del encabezado: fuera en móvil; "2027" y textos más compactos. */
@media (max-width:767px){
  .elementor-7972 .elementor-element.elementor-element-fa51323{--padding-top:28px;--padding-bottom:120px}
  .elementor-7972 .elementor-element.elementor-element-e8fe35e{display:none}
  .elementor-7972 .elementor-element.elementor-element-a366432 .elementor-heading-title{font-size:56px;line-height:1}
  .elementor-7972 .elementor-element.elementor-element-24a90d4{margin:4px 0 0;--padding-top:0;--padding-bottom:0}
  .elementor-7972 .elementor-element.elementor-element-bca06ad{--padding-top:12px;--padding-bottom:12px;margin:8px 0}
  .elementor-7972 .elementor-element.elementor-element-d8810c5 p{font-size:17px;line-height:1.45;margin:0 0 6px}
  .elementor-7972 .elementor-element.elementor-element-d8810c5 p:first-child{font-size:14px;font-weight:600;letter-spacing:.02em}
}
@media (max-width:767px){
  body .elementor-element-fa51323 .elementor-element.elementor-element-ec2e80e .elementor-widget-container a.elementor-button{font-size:15px;padding-left:20px;padding-right:12px;white-space:nowrap}
  .sm-hero-video__tinte{background:linear-gradient(180deg,rgba(30,30,84,.80) 0%,rgba(13,82,160,.80) 260px,rgba(13,90,170,.92) 380px,#0F67BA 460px)!important}
}

/* ═════════ Páginas de nivel (Preescolar / Primaria / Secundaria): plantilla sm-lvl ═════════
   Cinco familias de layout distintas: portada partida, foto+texto, línea de tiempo, lista de chequeo, cierre oscuro. */
:root{--sm-wa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48-.89-.79-1.49-1.77-1.66-2.07-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.21 3.07.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.69.63.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35M12.05 21.5h-.01a9.4 9.4 0 0 1-4.8-1.31l-.34-.2-3.57.94.95-3.48-.22-.36a9.4 9.4 0 0 1-1.44-5.02c0-5.2 4.23-9.43 9.44-9.43a9.38 9.38 0 0 1 9.43 9.44c0 5.2-4.24 9.42-9.44 9.42m8.02-17.45A11.27 11.27 0 0 0 12.05.72C5.8.72.72 5.8.72 12.05c0 2 .52 3.95 1.52 5.66L.62 23.3l5.72-1.5a11.3 11.3 0 0 0 5.4 1.38h.01c6.25 0 11.33-5.08 11.33-11.33 0-3.03-1.18-5.87-3.32-8.01'/%3E%3C/svg%3E")}
.sm-lvl-hero,.sm-lvl-metodo,.sm-lvl-etapas,.sm-lvl-req,.sm-lvl-cierre{font-family:"Plus Jakarta Sans",sans-serif;padding:clamp(56px,7vw,104px) 24px}
.sm-lvl-hero__inner,.sm-lvl-metodo__inner,.sm-lvl-etapas__inner,.sm-lvl-req__inner,.sm-lvl-cierre__inner{max-width:1160px;margin:0 auto}
body .elementor-kit-5582 h2.sm-lvl-h2,body h2.sm-lvl-h2{margin:0 0 14px;font-size:clamp(28px,3.4vw,44px);line-height:1.12;font-weight:700;letter-spacing:-.02em;color:var(--sm-azul-osc)}
.sm-lvl-p{margin:0 0 20px;font-size:clamp(16px,1.4vw,18px);line-height:1.65;color:var(--sm-texto);max-width:50ch}
/* botones: mismo sistema del sitio */
.sm-lvl-ctas{display:flex;flex-wrap:wrap;gap:12px}
.sm-lvl-btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:13px 14px 13px 26px;border-radius:999px;background:var(--sm-azul);color:#fff;font:700 16px/1.2 "Plus Jakarta Sans",sans-serif;text-decoration:none;transition:background-color .4s var(--sm-ease),color .4s var(--sm-ease),transform .4s var(--sm-ease),box-shadow .4s var(--sm-ease)}
.sm-lvl-btn::after{content:"";flex:none;width:26px;height:26px;border-radius:50%;background:var(--sm-lima) var(--sm-flecha-osc) 50% 50%/13px no-repeat}
.sm-lvl-btn:hover,.sm-lvl-btn:focus-visible{background:var(--sm-azul-osc);color:#fff;transform:translateY(-1px);box-shadow:0 14px 28px -14px rgba(0,0,0,.35)}
.sm-lvl-btn:focus-visible{outline:3px solid var(--sm-lima);outline-offset:3px}
.sm-lvl-btn--wa{background:#fff;color:var(--sm-azul-osc);box-shadow:inset 0 0 0 1.5px #d3e0f2}
.sm-lvl-btn--wa::after{background:#25D366 var(--sm-wa) 50% 50%/15px no-repeat}
.sm-lvl-btn--wa:hover,.sm-lvl-btn--wa:focus-visible{background:#EAF2FC;color:var(--sm-azul-osc);box-shadow:inset 0 0 0 1.5px var(--sm-azul)}
.sm-lvl-btn--lima{background:var(--sm-lima);color:var(--sm-azul-osc)}
.sm-lvl-btn--lima::after{background:var(--sm-azul-osc) var(--sm-flecha-blanca) 50% 50%/13px no-repeat}
.sm-lvl-btn--lima:hover,.sm-lvl-btn--lima:focus-visible{background:#fff;color:var(--sm-azul-osc)}
.sm-lvl-btn--claro{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.sm-lvl-btn--claro:hover,.sm-lvl-btn--claro:focus-visible{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
@media (prefers-reduced-motion:no-preference){.sm-lvl-btn:hover::after{animation:sm-flecha .6s var(--sm-ease)}}
/* 1 · portada partida */
.sm-lvl-hero{background:var(--sm-fondo);padding-top:clamp(40px,5vw,72px)}
.sm-lvl-hero__inner{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center}
.sm-lvl-migas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;font-size:14px;color:var(--sm-gris,#5f6d88)}
.sm-lvl-migas a{color:#5f6d88;text-decoration:none}.sm-lvl-migas a:hover{color:var(--sm-azul)}
.sm-lvl-migas [aria-current]{color:var(--sm-azul-osc);font-weight:600}
body .elementor-kit-5582 h1.sm-lvl-hero__title,body h1.sm-lvl-hero__title{margin:0 0 12px;font-size:clamp(44px,6.4vw,84px);line-height:1;font-weight:800;letter-spacing:-.035em;color:var(--sm-azul-osc)}
.sm-lvl-hero__lead{margin:0 0 22px;font-size:clamp(19px,1.9vw,24px);line-height:1.4;color:var(--sm-texto);max-width:30ch}
.sm-lvl-datos{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0}
.sm-lvl-datos li{margin:0;padding:8px 14px;border-radius:999px;background:#EAF2FC;color:var(--sm-azul);font-size:14px;font-weight:700}
.sm-lvl-hero__foto{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 60px -36px rgba(0,0,0,.35)}
.sm-lvl-hero__foto img{display:block;width:100%;height:100%;object-fit:cover}
/* 2 · foto + texto */
.sm-lvl-metodo{background:#fff}
.sm-lvl-metodo__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.sm-lvl-metodo__foto{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/3}
.sm-lvl-metodo__foto img{display:block;width:100%;height:100%;object-fit:cover}
.sm-lvl-lista{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sm-lvl-lista li{position:relative;margin:0;padding:0 0 0 30px;font-size:16px;line-height:1.6;color:var(--sm-texto)}
.sm-lvl-lista li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:50%;background:var(--sm-lima);box-shadow:inset 0 0 0 4px #fff,0 0 0 1.5px var(--sm-azul)}
.sm-lvl-lista strong{color:var(--sm-azul-osc)}
/* 3 · línea de tiempo sobre azul */
.sm-lvl-etapas{background:var(--sm-azul)}
body .sm-lvl-etapas h2.sm-lvl-h2{color:#fff}
.sm-lvl-etapas .sm-lvl-p{color:rgba(255,255,255,.88)}
.sm-lvl-linea{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.sm-lvl-linea::before{content:"";position:absolute;left:10%;right:10%;top:15px;height:2px;background:rgba(255,255,255,.3)}
.sm-lvl-linea li{position:relative;margin:0;padding:44px 8px 0;text-align:center;color:#fff}
.sm-lvl-linea li::before{content:"";position:absolute;left:50%;top:6px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--sm-lima);box-shadow:0 0 0 6px var(--sm-azul)}
.sm-lvl-linea__edad{display:block;margin-bottom:4px;font-size:14px;font-weight:600;color:rgba(255,255,255,.8)}
.sm-lvl-linea strong{display:block;font-size:clamp(17px,1.6vw,20px);font-weight:800;letter-spacing:-.01em}
/* 4 · lista de chequeo */
.sm-lvl-req{background:var(--sm-fondo)}
.sm-lvl-req__inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);align-items:start}
.sm-lvl-check{list-style:none;margin:0;padding:clamp(22px,3vw,34px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;background:#fff;border-radius:24px}
.sm-lvl-check li{position:relative;margin:0;padding-left:32px;font-size:15px;line-height:1.55;color:var(--sm-texto)}
.sm-lvl-check li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:7px;background:#EAF2FC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F67BA' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") 50% 50%/13px no-repeat}
/* 5 · cierre oscuro con Bly sobre tarjeta clara */
.sm-lvl-cierre{background:var(--sm-azul-osc)}
.sm-lvl-cierre__inner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.sm-lvl-cierre__bly{position:relative;width:clamp(170px,20vw,240px);aspect-ratio:1;border-radius:32px;background:linear-gradient(160deg,#EAF2FC 0%,#CFE1F7 100%);overflow:hidden}
.sm-lvl-cierre__bly img{position:absolute;left:50%;bottom:4%;height:90%;width:auto;max-width:none;transform:translateX(-50%)}
body .sm-lvl-cierre h2.sm-lvl-h2{color:#fff}
.sm-lvl-cierre .sm-lvl-p{color:rgba(255,255,255,.82)}
@media (max-width:899px){
  .sm-lvl-hero__inner,.sm-lvl-metodo__inner,.sm-lvl-req__inner{grid-template-columns:1fr}
  .sm-lvl-hero__foto{max-width:420px;aspect-ratio:4/4.2}
  .sm-lvl-check{grid-template-columns:1fr}
}
@media (max-width:767px){
  .sm-lvl-hero,.sm-lvl-metodo,.sm-lvl-etapas,.sm-lvl-req,.sm-lvl-cierre{padding-left:16px;padding-right:16px}
  .sm-lvl-btn{width:100%;justify-content:center}
  .sm-lvl-hero__foto{max-width:none;aspect-ratio:4/3.4}
  .sm-lvl-hero__foto img{object-position:50% 28%}
  .sm-lvl-linea{grid-template-columns:1fr;gap:0;margin-top:24px}
  .sm-lvl-linea::before{left:15px;right:auto;top:10px;bottom:10px;width:2px;height:auto}
  .sm-lvl-linea li{display:flex;align-items:baseline;gap:12px;padding:10px 0 10px 44px;text-align:left}
  .sm-lvl-linea li::before{left:6px;top:13px;margin-left:0}
  .sm-lvl-linea__edad{order:2;margin:0}
  .sm-lvl-cierre__inner{grid-template-columns:1fr}
  .sm-lvl-cierre__bly{width:160px}
}

/* ───────── Franja de contacto (ffcb9a6) rehecha: grilla pareja, íconos de línea ───────── */
.elementor-element-ffcb9a6 .sm-franja{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:0;font-family:"Plus Jakarta Sans",sans-serif}
.sm-franja__item{display:flex;align-items:center;gap:14px;padding:6px clamp(14px,2vw,28px);color:inherit;text-decoration:none;border-right:1px solid #e6edf8;min-width:0}
.sm-franja__item:first-child{padding-left:0}
.sm-franja__ico{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#EAF2FC;color:var(--sm-azul);transition:background-color .35s var(--sm-ease),color .35s var(--sm-ease)}
.sm-franja__ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sm-franja__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.sm-franja__lbl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5f6d88}
.sm-franja__txt strong{font-size:16px;font-weight:700;line-height:1.3;color:var(--sm-azul-osc);white-space:nowrap}
a.sm-franja__item:hover .sm-franja__ico{background:var(--sm-azul);color:#fff}
a.sm-franja__item:hover strong{color:var(--sm-azul)}
.elementor-element-ffcb9a6 .sm-franja__btn{margin-left:clamp(14px,2vw,28px);white-space:nowrap}
@media (max-width:1100px){
  .elementor-element-ffcb9a6 .sm-franja{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}
  .elementor-element-ffcb9a6 .sm-franja__btn{grid-column:1/-1;justify-self:start;margin-left:0}
  .sm-franja__item:nth-child(3){border-right:0}
}
@media (max-width:767px){
  .elementor-element-ffcb9a6 .sm-franja{grid-template-columns:1fr;row-gap:14px}
  .sm-franja__item{padding:0 0 14px;border-right:0;border-bottom:1px solid #e6edf8}
  .sm-franja__item:nth-child(3){border-bottom:0;padding-bottom:4px}
  .elementor-element-ffcb9a6 .sm-franja__btn{width:100%;justify-content:center}
  .sm-franja__txt strong{white-space:normal}
}
.elementor-element-ffcb9a6 .sm-franja{background:#fff;border-radius:28px;padding:26px clamp(22px,3vw,40px);box-shadow:0 24px 48px -30px rgba(0,0,0,.28)}
@media (max-width:767px){.elementor-element-ffcb9a6 .sm-franja{padding:22px 20px;border-radius:24px}}

/* ═════════ Encabezado (plantilla 6695): logo horizontal oficial, fijo al hacer scroll, menú más limpio ═════════ */
body .ekit-template-content-header{position:sticky;top:0;z-index:999}
body .elementor-6695 .elementor-element.elementor-element-b3e0c63:not(.elementor-motion-effects-element-type-background){background:rgba(255,255,255,.94)}
body .elementor-6695 .elementor-element.elementor-element-b3e0c63{--padding-top:10px;--padding-bottom:10px;-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:box-shadow .35s var(--sm-ease),border-color .35s var(--sm-ease)}
body.sm-scrolled .elementor-6695 .elementor-element.elementor-element-b3e0c63{border-bottom-color:#e8eef7;box-shadow:0 10px 30px -22px rgba(0,0,0,.35)}
/* la barra superior se pliega al bajar (solo escritorio) */
body.sm-scrolled .elementor-6695 .elementor-element.elementor-element-9ddbcba{margin-top:-48px}
/* logo */
body .elementor-element-b6619d9 img.sm-logo{display:block;height:56px;width:auto;max-width:none}
body .elementor-element-b6619d9 .ata-site-logo-container,body .elementor-element-b6619d9 .ata-site-logo-set{line-height:0}
/* enlaces del menú (escritorio) */
@media (min-width:1025px){
  body .elementor-element-6110c35 .elementskit-navbar-nav > li > a{position:relative;font:600 15px/1.2 "Plus Jakarta Sans",sans-serif!important;color:var(--sm-azul-osc)!important;padding:12px 14px!important;transition:color .3s var(--sm-ease)}
  body .elementor-element-6110c35 .elementskit-navbar-nav > li > a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:3px;border-radius:3px;background:var(--sm-lima);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--sm-ease)}
  body .elementor-element-6110c35 .elementskit-navbar-nav > li > a:hover{color:var(--sm-azul)!important}
  body .elementor-element-6110c35 .elementskit-navbar-nav > li > a:hover::after,
  body .elementor-element-6110c35 .elementskit-navbar-nav > li.current-menu-item > a::after,
  body .elementor-element-6110c35 .elementskit-navbar-nav > li.current-menu-ancestor > a::after,
  body .elementor-element-6110c35 .elementskit-navbar-nav > li > a.active::after{transform:scaleX(1)}
  body .elementor-element-6110c35 .elementskit-navbar-nav > li.current-menu-item > a,
  body .elementor-element-6110c35 .elementskit-navbar-nav > li.current-menu-ancestor > a,
  body .elementor-element-6110c35 .elementskit-navbar-nav > li > a.active{color:var(--sm-azul-osc)!important}
  body .elementor-element-6110c35 .elementskit-submenu-indicator{font-size:10px;margin-left:6px;color:var(--sm-azul)}
  /* submenú en tarjeta */
  body .elementor-element-6110c35 .elementskit-navbar-nav .elementskit-submenu-panel{padding:8px!important;border:0!important;border-radius:16px!important;background:#fff!important;box-shadow:0 18px 40px -20px rgba(0,0,0,.28)!important;min-width:240px}
  body .elementor-element-6110c35 .elementskit-navbar-nav .elementskit-submenu-panel > li > a{font:600 14px/1.3 "Plus Jakarta Sans",sans-serif!important;color:var(--sm-azul-osc)!important;padding:10px 14px!important;border-radius:10px;transition:background-color .25s var(--sm-ease),color .25s var(--sm-ease)}
  body .elementor-element-6110c35 .elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover,
  body .elementor-element-6110c35 .elementskit-navbar-nav .elementskit-submenu-panel > li.current-menu-item > a{background:#EAF2FC!important;color:var(--sm-azul)!important}
}
/* móvil y tablet */
@media (max-width:1024px){
  body .elementor-6695 .elementor-element.elementor-element-b3e0c63{--padding-top:8px;--padding-bottom:8px}
  body .elementor-element-b6619d9 img.sm-logo{height:44px}
  body .elementor-element-6110c35 .elementskit-menu-hamburger{display:grid!important;place-items:center;width:44px;height:44px;padding:0!important;border:0!important;border-radius:12px!important;background:#EAF2FC!important;color:var(--sm-azul-osc)!important}
  body .elementor-element-6110c35 .elementskit-menu-hamburger svg.sm-ham{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
  /* panel del menú */
  body .elementor-element-6110c35 .elementskit-menu-container.elementskit-menu-offcanvas-elements{background:#fff!important;padding:18px 20px 28px!important;max-width:420px}
  body .elementor-element-6110c35 .elementskit-navbar-nav > li{border-bottom:1px solid #eef2f8}
  body .elementor-element-6110c35 .elementskit-navbar-nav > li > a{font:700 18px/1.3 "Plus Jakarta Sans",sans-serif!important;color:var(--sm-azul-osc)!important;padding:16px 4px!important}
  body .elementor-element-6110c35 .elementskit-navbar-nav > li.current-menu-item > a{color:var(--sm-azul)!important}
  body .elementor-element-6110c35 .elementskit-navbar-nav .elementskit-submenu-panel > li > a{font:600 16px/1.3 "Plus Jakarta Sans",sans-serif!important;color:#3a4560!important;padding:10px 4px 10px 14px!important}
  body .elementor-element-6110c35 .elementskit-nav-identity-panel{padding:0 0 12px!important;border-bottom:1px solid #eef2f8;margin-bottom:6px}
  body .elementor-element-6110c35 .elementskit-menu-close{width:44px;height:44px;border-radius:12px!important;border:0!important;background:#EAF2FC!important;color:var(--sm-azul-osc)!important}
}
@media (prefers-reduced-motion:reduce){body.sm-scrolled .elementor-6695 .elementor-element.elementor-element-9ddbcba{margin-top:0}}
body .elementor-element-9ddbcba .footer-social-icon .ekit_social_media{justify-content:flex-end}
/* backdrop-filter crea un bloque contenedor: el panel fijo del menú móvil quedaba encerrado en el encabezado */
@media (max-width:1024px){
  body .elementor-6695 .elementor-element.elementor-element-b3e0c63{-webkit-backdrop-filter:none;backdrop-filter:none}
  body .elementor-6695 .elementor-element.elementor-element-b3e0c63:not(.elementor-motion-effects-element-type-background){background:#fff}
}
/* Menú móvil: X dibujada y accesos directos abajo; en escritorio los accesos no se muestran */
body .elementskit-menu-close svg.sm-x{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
body .elementskit-menu-close{display:grid!important;place-items:center}
.sm-menu-ctas{display:none}
@media (max-width:1024px){
  .sm-menu-ctas{display:grid;gap:10px;margin-top:22px}
  .sm-menu-ctas .sm-lvl-btn{width:100%;justify-content:center}
}
/* Pantalla de carga del tema (lima con aro girando en cada página): fuera, retrasaba la entrada */
body .preloader{display:none!important}
@media (max-width:1024px){
  body .elementor-element-6110c35 .elementskit-menu-container .sm-menu-ctas{order:-1;margin-top:28px;padding-top:6px}
  body .elementor-element-6110c35 .elementskit-menu-container .sm-menu-ctas .sm-lvl-btn--wa{border:1.5px solid #d3e0f2;box-shadow:none}
}

/* ───────── Íconos del tema reemplazados por íconos de línea (sm-ico) en todas las páginas ───────── */
svg.sm-ico{width:1.2em;height:1.2em;fill:none!important;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none}
body .elementor-icon-list-icon svg.sm-ico{width:20px;height:20px;color:var(--sm-lima)}
body .elementor-element-4fe3414 .elementor-element-71bb9a4 .elementor-icon-list-item{align-items:flex-start}
body .elementor-element-4fe3414 .elementor-element-71bb9a4 .elementor-icon-list-icon{margin-top:3px}
body .elementor-icon-list-icon svg.sm-ico--check{color:var(--sm-azul)}
body .elementor-icon svg.sm-ico{width:1em;height:1em}
/* línea de tiempo con 6 pasos (Primaria) */
.sm-lvl-linea.sm-lvl-linea--6{grid-template-columns:repeat(6,minmax(0,1fr))}
.sm-lvl-linea.sm-lvl-linea--6::before{left:8.3%;right:8.3%}
/* Secundaria: bloque INA en el lugar de la línea de tiempo */
.sm-lvl-ina__inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:start}
.sm-lvl-ina__cert{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:12px}
.sm-lvl-ina__cert li{margin:0;padding:18px 20px 18px 56px;position:relative;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff}
.sm-lvl-ina__cert li::before{content:"";position:absolute;left:18px;top:20px;width:24px;height:24px;border-radius:8px;background:var(--sm-lima) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0B38' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") 50% 50%/14px no-repeat}
.sm-lvl-ina__cert strong{display:block;font-size:17px;font-weight:700;margin-bottom:2px}
.sm-lvl-ina__cert span{font-size:15px;color:rgba(255,255,255,.82)}
.sm-lvl-ina__materias{padding:clamp(22px,3vw,32px);border-radius:24px;background:#fff}
.sm-lvl-ina__lbl{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5f6d88}
.sm-lvl-ina__materias ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sm-lvl-ina__materias li{margin:0;padding:8px 14px;border-radius:999px;background:#EAF2FC;color:var(--sm-azul-osc);font-size:14px;font-weight:600}
@media (max-width:899px){.sm-lvl-ina__inner{grid-template-columns:1fr}}
@media (max-width:767px){
  .sm-lvl-linea.sm-lvl-linea--6{grid-template-columns:1fr}
  .sm-lvl-linea.sm-lvl-linea--6::before{left:15px;right:auto}
}

/* ═════════ Admisión (sm-adm): pasos, sedes, preguntas. Reusa la portada y el cierre sm-lvl y las tarjetas sm-niv ═════════ */
.sm-adm-pasos,.sm-adm-sedes,.sm-adm-faq{font-family:"Plus Jakarta Sans",sans-serif;padding:clamp(56px,7vw,104px) 24px}
.sm-adm__inner{max-width:1160px;margin:0 auto}
.sm-adm-head{max-width:640px;margin:0 0 clamp(28px,4vw,44px)}
.sm-adm-head .sm-lvl-p{margin-bottom:0}
html{scroll-padding-top:110px}
/* pasos: tarjetas unidas por una línea */
.sm-adm-pasos{background:#fff}
.sm-adm-pasos__lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative}
.sm-adm-pasos__lista::before{content:"";position:absolute;left:28px;right:28px;top:27px;height:2px;background:#CFE1F7}
.sm-adm-paso{position:relative;margin:0;padding:0}
.sm-adm-paso__n{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;margin-bottom:18px;border-radius:50%;background:var(--sm-azul);color:#fff;font-size:20px;font-weight:800;box-shadow:0 0 0 8px #fff}
.sm-adm__ico{position:absolute;top:8px;right:0;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#EAF2FC;color:var(--sm-azul)}
.sm-adm__ico svg{width:22px;height:22px}
body h3.sm-adm-paso__t{margin:0 0 8px;font-size:20px;line-height:1.25;font-weight:800;letter-spacing:-.01em;color:var(--sm-azul-osc)}
.sm-adm-paso__p{margin:0;font-size:15px;line-height:1.6;color:var(--sm-texto);max-width:30ch}
@media (prefers-reduced-motion:no-preference){
  .sm-js .sm-adm__ico svg [pathLength]{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--sm-ease) var(--sm-d,0s)}
  .sm-js .sm-adm__ico.sm-visto svg [pathLength]{stroke-dashoffset:0}
}
/* niveles: misma tarjeta de la Home, título a la izquierda */
.sm-niv--adm .sm-niv__inner{max-width:1160px}
.sm-niv--adm .sm-niv__head{margin-left:0;text-align:left}
.sm-niv--adm p.sm-niv__lead{margin-left:0}
/* sedes sobre azul */
.sm-adm-sedes{background:var(--sm-azul)}
body .sm-adm-sedes h2.sm-lvl-h2{color:#fff}
.sm-adm-sedes .sm-adm-head .sm-lvl-p{color:rgba(255,255,255,.88)}
.sm-adm-sedes__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.sm-adm-sede{display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -40px rgba(0,0,0,.5)}
.sm-adm-sede__foto{margin:0;aspect-ratio:16/10;overflow:hidden;background:#CFE1F7}
.sm-adm-sede__foto img{display:block;width:100%;height:100%;object-fit:cover}
.sm-adm-sede__body{display:flex;flex-direction:column;flex:1;padding:clamp(22px,3vw,34px)}
.sm-adm-sede__niv{align-self:flex-start;margin:0 0 10px;padding:5px 12px;border-radius:999px;background:#EAF2FC;font-size:13px;font-weight:700;color:var(--sm-azul)}
body h3.sm-adm-sede__t{margin:0 0 18px;font-size:clamp(24px,2.4vw,30px);line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--sm-azul-osc)}
.sm-adm-sede__datos{margin:0 0 24px;display:grid;gap:12px;flex:1}
.sm-adm-sede__datos div{display:grid;grid-template-columns:136px minmax(0,1fr);gap:12px;padding-top:12px;border-top:1px solid #e6edf8}
.sm-adm-sede__datos dt{font-size:13px;font-weight:700;letter-spacing:.02em;color:#5F6D88}
.sm-adm-sede__datos dd{margin:0;font-size:15px;line-height:1.55;color:var(--sm-texto)}
.sm-adm-btn--mapa::after{background:#EAF2FC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F67BA' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.400-6.500 11-6.500 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.300'/%3E%3C/svg%3E") 50% 50%/15px no-repeat}
.sm-adm-sede__waze{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:15px;font-weight:700;color:var(--sm-azul);text-decoration:underline;text-underline-offset:3px}
.sm-adm-sede__waze:hover{color:var(--sm-azul-osc)}
/* preguntas: título a la izquierda, acordeón a la derecha */
.sm-adm-faq{background:#fff}
.sm-adm-faq__inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start}
.sm-adm-faq__head .sm-lvl-p a{color:var(--sm-azul);font-weight:600}
.sm-adm-faq__lista{display:grid;gap:12px}
.sm-adm-faq__item{border-radius:20px;background:var(--sm-fondo);box-shadow:inset 0 0 0 1px #e6edf8;transition:background-color .35s var(--sm-ease)}
.sm-adm-faq__item[open]{background:#EAF2FC}
.sm-adm-faq__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:16px 20px 16px 24px;font-size:17px;font-weight:700;line-height:1.35;color:var(--sm-azul-osc)}
.sm-adm-faq__item summary::-webkit-details-marker{display:none}
.sm-adm-faq__item summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F67BA' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") 50% 50%/14px no-repeat;transition:transform .4s var(--sm-ease)}
.sm-adm-faq__item[open] summary::after{transform:rotate(45deg)}
.sm-adm-faq__item summary:focus-visible{outline:3px solid var(--sm-azul);outline-offset:2px;border-radius:20px}
.sm-adm-faq__item p{margin:0;padding:0 24px 20px;font-size:16px;line-height:1.65;color:var(--sm-texto);max-width:60ch}
@media (max-width:1023px){
  .sm-adm-pasos__lista{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}
  .sm-adm-pasos__lista::before{display:none}
}
@media (max-width:1023px){.sm-adm-sede__datos div{grid-template-columns:1fr;gap:2px}}
@media (max-width:899px){.sm-adm-faq__inner{grid-template-columns:1fr}}
@media (max-width:699px){.sm-adm-sedes__grid{grid-template-columns:1fr}}
@media (max-width:767px){
  .sm-adm-pasos,.sm-adm-sedes,.sm-adm-faq{padding-left:16px;padding-right:16px}
  .sm-adm-pasos__lista{grid-template-columns:1fr;gap:0}
  .sm-adm-paso{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;padding-bottom:26px}
  .sm-adm-paso::before{content:"";position:absolute;left:27px;top:56px;bottom:0;width:2px;background:#CFE1F7}
  .sm-adm-paso:last-child::before{display:none}
  .sm-adm-paso__n{grid-row:1/3;margin:0}
  .sm-adm__ico{display:none}
  body h3.sm-adm-paso__t{margin-top:14px}
  .sm-adm-sede__datos div{grid-template-columns:1fr;gap:2px}
  .sm-adm-faq__item summary{font-size:16px;padding-left:20px}
  .sm-adm-faq__item p{padding:0 20px 18px}
}
.sm-adm-faq__head a[href^="tel:"]{white-space:nowrap}

/* ═════════ Contacto (sm-con): canales en lista, formulario WPForms 8427 en tarjeta, sedes reusadas de Admisión ═════════ */
.sm-con-hero,.sm-con-form{font-family:"Plus Jakarta Sans",sans-serif;padding:clamp(56px,7vw,104px) 24px}
.sm-con__inner{max-width:1160px;margin:0 auto}
.sm-con-hero{background:var(--sm-fondo);padding-top:clamp(40px,5vw,72px)}
.sm-con-hero__inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center}
.sm-con-horario{margin:0;font-size:16px;line-height:1.6;color:var(--sm-texto)}
.sm-con-horario strong{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--sm-azul)}
.sm-con-canales{list-style:none;margin:0;padding:8px;border-radius:28px;background:#fff;box-shadow:0 30px 60px -40px rgba(0,0,0,.35)}
.sm-con-canales li{margin:0}
.sm-con-canales li+li{border-top:1px solid #e6edf8}
.sm-con-canal{display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:20px;color:inherit;text-decoration:none;transition:background-color .35s var(--sm-ease)}
.sm-con-canal:hover,.sm-con-canal:focus-visible{background:#F6F9FE}
.sm-con-canal:focus-visible{outline:3px solid var(--sm-azul);outline-offset:-3px}
.sm-con-canal__ico{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#EAF2FC;color:var(--sm-azul)}
.sm-con-canal__ico--wa{background:#25D366;color:#fff}
.sm-con-canal__svg{width:24px;height:24px}
.sm-con-canal__txt{display:flex;flex-direction:column;min-width:0}
.sm-con-canal__t{font-size:13px;font-weight:700;letter-spacing:.04em;color:#5F6D88}
.sm-con-canal__v{font-size:clamp(17px,1.6vw,20px);font-weight:800;letter-spacing:-.01em;color:var(--sm-azul-osc);overflow-wrap:anywhere}
.sm-con-canal__n{font-size:14px;line-height:1.5;color:var(--sm-texto)}
.sm-con-canal::after{content:"";flex:none;margin-left:auto;width:26px;height:26px;border-radius:50%;background:var(--sm-lima) var(--sm-flecha-osc) 50% 50%/13px no-repeat;transition:transform .4s var(--sm-ease)}
.sm-con-canal:hover::after{transform:translateX(3px)}
/* formulario */
.sm-con-form{background:#fff}
.sm-con-form__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,72px);align-items:start}
.sm-con-form__foto{margin:8px 0 0;border-radius:24px;overflow:hidden;aspect-ratio:4/3}
.sm-con-form__foto img{display:block;width:100%;height:100%;object-fit:cover}
.sm-con-form__card{padding:clamp(22px,3vw,40px);border-radius:28px;background:var(--sm-fondo);box-shadow:inset 0 0 0 1px #e6edf8}
.sm-con-form__card div.wpforms-container-full{margin:0}
.sm-con-form__card div.wpforms-container-full .wpforms-form .wpforms-field{padding:8px 0}
.sm-con-form__card div.wpforms-container-full .wpforms-form .wpforms-field-label,
.sm-con-form__card div.wpforms-container-full .wpforms-form legend.wpforms-field-label{margin:0 0 8px;padding:0;font:700 15px/1.3 "Plus Jakarta Sans",sans-serif;color:var(--sm-azul-osc)}
.sm-con-form__card div.wpforms-container-full .wpforms-form .wpforms-required-label{color:var(--sm-azul)}
.sm-con-form__card div.wpforms-container-full .wpforms-form .wpforms-field-sublabel{margin-top:6px;font:500 13px/1.3 "Plus Jakarta Sans",sans-serif;color:#5F6D88}
.sm-con-form__card div.wpforms-container-full .wpforms-form .wpforms-field-row{max-width:100%}
.sm-con-form__card div.wpforms-container-full .wpforms-form input[type=text],
.sm-con-form__card div.wpforms-container-full .wpforms-form input[type=email],
.sm-con-form__card div.wpforms-container-full .wpforms-form input[type=tel],
.sm-con-form__card div.wpforms-container-full .wpforms-form select{width:100%;max-width:100%;height:auto;min-height:52px;padding:14px 18px;border:1.5px solid #dfe7f3;border-radius:14px;background-color:#fff;color:var(--sm-azul-osc);font:500 15px/1.4 "Plus Jakarta Sans",sans-serif;box-shadow:none;transition:border-color .3s var(--sm-ease)}
.sm-con-form__card div.wpforms-container-full .wpforms-form select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F67BA' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center/18px no-repeat;padding-right:44px}
.sm-con-form__card div.wpforms-container-full .wpforms-form ::placeholder{color:#5f6d88;opacity:1}
.sm-con-form__card div.wpforms-container-full .wpforms-form input:focus,
.sm-con-form__card div.wpforms-container-full .wpforms-form select:invalid{color:#5f6d88}
.sm-con-form__card div.wpforms-container-full .wpforms-form select:focus{border-color:var(--sm-azul);box-shadow:none;outline:2px solid var(--sm-azul);outline-offset:1px}
.sm-con-form__card div.wpforms-container-full .wpforms-form .wpforms-field-medium{max-width:100%}
.sm-con-form__card div.wpforms-container-full .wpforms-form .wpforms-submit-container{padding-top:14px}
.sm-con-form__card div.wpforms-container-full .wpforms-form button.wpforms-submit{display:inline-flex;align-items:center;gap:12px;height:auto;min-height:52px;padding:13px 14px 13px 28px;border:0;border-radius:999px;background:var(--sm-azul);color:#fff;font:700 16px/1.2 "Plus Jakarta Sans",sans-serif;box-shadow:none;transition:background-color .4s var(--sm-ease),transform .4s var(--sm-ease),box-shadow .4s var(--sm-ease)}
.sm-con-form__card div.wpforms-container-full .wpforms-form button.wpforms-submit::after{content:"";width:26px;height:26px;border-radius:50%;background:var(--sm-lima) var(--sm-flecha-osc) 50% 50%/13px no-repeat}
.sm-con-form__card div.wpforms-container-full .wpforms-form button.wpforms-submit:hover,
.sm-con-form__card div.wpforms-container-full .wpforms-form button.wpforms-submit:focus-visible{background:var(--sm-azul-osc);transform:translateY(-1px);box-shadow:0 14px 28px -14px rgba(0,0,0,.35)}
.sm-con-form__card div.wpforms-container-full .wpforms-form button.wpforms-submit:focus-visible{outline:3px solid var(--sm-lima);outline-offset:3px}
@media (prefers-reduced-motion:no-preference){.sm-con-form__card button.wpforms-submit:hover::after{animation:sm-flecha .6s var(--sm-ease)}}
@media (max-width:899px){
  .sm-con-hero__inner,.sm-con-form__inner{grid-template-columns:1fr}
}
@media (max-width:767px){
  .sm-con-hero,.sm-con-form{padding-left:16px;padding-right:16px}
  .sm-con-canal{gap:14px;padding:16px 14px}
  .sm-con-canal__ico{width:46px;height:46px;border-radius:14px}
  .sm-con-form__card{padding:20px 16px}
  .sm-con-form__card div.wpforms-container-full .wpforms-form button.wpforms-submit{width:100%;justify-content:center}
  .sm-con-form__card div.wpforms-container-full .wpforms-form .wpforms-field-row-block.wpforms-one-half{width:100%;margin:0 0 10px;padding:0;float:none}
  .sm-con-canal__v{font-size:15px;overflow-wrap:normal}
}
.sm-con-form__card div.wpforms-container-full .wpforms-form fieldset{margin:0;padding:0;border:0;min-width:0}
.sm-con-form__card div.wpforms-container-full .wpforms-form .wpforms-field-container>.wpforms-field:first-child{padding-top:0}

/* ═════════ Nosotros (sm-nos): portada con foto ancha, compartida por las páginas de Nosotros ═════════ */
.sm-nos-hero,.sm-ini-linea,.sm-ini-hoy{font-family:"Plus Jakarta Sans",sans-serif;padding:clamp(56px,7vw,104px) 24px}
.sm-nos__inner{max-width:1160px;margin:0 auto}
.sm-nos-hero{background:var(--sm-fondo);padding-top:clamp(40px,5vw,72px)}
.sm-nos-hero__text{max-width:760px;margin:0 0 clamp(28px,4vw,44px)}
.sm-nos-hero__text .sm-lvl-hero__lead{max-width:40ch;margin:0}
.sm-nos-hero__foto{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:21/9;background:#CFE1F7;box-shadow:0 30px 60px -40px rgba(0,0,0,.35)}
.sm-nos-hero__foto img{display:block;width:100%;height:100%;object-fit:cover}
/* Nuestros Inicios: línea de tiempo con años grandes, título fijo a la izquierda */
.sm-ini-linea{background:#fff}
.sm-ini-linea__inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.sm-ini-linea__head{position:sticky;top:120px}
.sm-ini-hitos{list-style:none;margin:0;padding:0;position:relative}
.sm-ini-hitos::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:#CFE1F7}
.sm-ini-hito{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;margin:0;padding:0 0 clamp(28px,3.5vw,40px) 32px}
.sm-ini-hito:last-child{padding-bottom:0}
.sm-ini-hito::before{content:"";position:absolute;left:-7px;top:10px;width:16px;height:16px;border-radius:50%;background:var(--sm-lima);box-shadow:0 0 0 5px #fff,0 0 0 6.5px var(--sm-azul)}
.sm-ini-hito__a{font-size:clamp(30px,3.2vw,42px);line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--sm-azul)}
body h3.sm-ini-hito__t{margin:4px 0 6px;font-size:20px;line-height:1.25;font-weight:800;letter-spacing:-.01em;color:var(--sm-azul-osc)}
.sm-ini-hito__p{margin:0;font-size:16px;line-height:1.6;color:var(--sm-texto);max-width:46ch}
/* Hoy: dos fotos escalonadas (sin insignias encima, pedido de la clienta) + cifras */
.sm-ini-hoy{background:var(--sm-fondo)}
.sm-ini-hoy__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,80px);align-items:center}
.sm-ini-hoy__fotos{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.sm-ini-hoy__fotos figure{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 60px -40px rgba(0,0,0,.35)}
.sm-ini-hoy__f2{margin-top:56px!important}
.sm-ini-hoy__fotos img{display:block;width:100%;height:100%;object-fit:cover}
.sm-ini-cifras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 0}
.sm-ini-cifras div{padding:18px 20px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px #e6edf8}
.sm-ini-cifras dt{font-size:clamp(30px,3vw,40px);line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--sm-azul)}
.sm-ini-cifras dd{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--sm-texto)}
@media (max-width:899px){
  .sm-ini-linea__inner,.sm-ini-hoy__inner{grid-template-columns:1fr}
  .sm-ini-linea__head{position:static}
}
@media (max-width:767px){
  .sm-nos-hero,.sm-ini-linea,.sm-ini-hoy{padding-left:16px;padding-right:16px}
  .sm-nos-hero__foto{aspect-ratio:4/3;border-radius:22px}
  .sm-ini-hito{grid-template-columns:1fr;gap:4px;padding-left:28px}
  .sm-ini-hoy__f2{margin-top:36px!important}
}

/* Filosofía: Misión (clara) y Visión (azul) lado a lado; valores en mosaico 4+3 con íconos de línea */
.sm-filo-mv,.sm-filo-val{font-family:"Plus Jakarta Sans",sans-serif;padding:clamp(56px,7vw,104px) 24px}
.sm-filo-mv{background:#fff}
.sm-filo-mv__inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.sm-filo-mv__card{padding:clamp(28px,4vw,48px);border-radius:28px;background:var(--sm-fondo);box-shadow:inset 0 0 0 1px #e6edf8}
.sm-filo-mv__card--azul{background:var(--sm-azul);box-shadow:none}
body h2.sm-filo-mv__t{margin:0 0 16px;font-size:clamp(28px,3vw,40px);line-height:1.1;font-weight:800;letter-spacing:-.03em;color:var(--sm-azul)}
.sm-filo-mv__p{margin:0;font-size:clamp(17px,1.5vw,19px);line-height:1.65;color:var(--sm-texto)}
body .sm-filo-mv__card--azul h2.sm-filo-mv__t{color:#fff}
.sm-filo-mv__card--azul .sm-filo-mv__p{color:rgba(255,255,255,.9)}
.sm-filo-val{background:var(--sm-fondo)}
.sm-filo-val__head{max-width:640px;margin:0 0 clamp(28px,4vw,44px)}
.sm-filo-val__head .sm-lvl-p{margin:0}
.sm-filo-valores{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sm-filo-valor{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:170px;margin:0;padding:24px;border-radius:24px;background:#fff;box-shadow:0 18px 36px -28px rgba(0,0,0,.25);transition:transform .5s var(--sm-ease)}
.sm-filo-valor:last-child{grid-column:span 2;background:var(--sm-azul-osc)}
.sm-filo-valor__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#EAF2FC;color:var(--sm-azul)}
.sm-filo-valor:last-child .sm-filo-valor__ico{background:var(--sm-lima);color:var(--sm-azul-osc)}
.sm-filo-valor__ico svg{width:26px;height:26px}
.sm-filo-valor__t{font-size:clamp(20px,1.8vw,24px);line-height:1.2;font-weight:800;letter-spacing:-.02em;color:var(--sm-azul-osc)}
.sm-filo-valor:last-child .sm-filo-valor__t{color:#fff}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.sm-filo-valor:hover{transform:translateY(-4px)}}
@media (prefers-reduced-motion:no-preference){
  .sm-js .sm-filo-valor__ico svg [pathLength]{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--sm-ease) var(--sm-d,0s)}
  .sm-js .sm-filo-valor__ico.sm-visto svg [pathLength]{stroke-dashoffset:0}
}
@media (max-width:1023px){.sm-filo-valores{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
  .sm-filo-mv,.sm-filo-val{padding-left:16px;padding-right:16px}
  .sm-filo-mv__inner{grid-template-columns:1fr}
  .sm-filo-valores{gap:12px}
  .sm-filo-valor{min-height:140px;padding:20px;gap:20px}
}

/* Propuesta Educativa: foto+texto (y su espejo), INA sobre azul, Identidad Cristiana con labores sociales */
.sm-lvl-metodo--rev .sm-lvl-metodo__foto{order:2}
.sm-lvl-metodo--rev{background:#fff}
.sm-prop-nota{margin:22px 0 0;padding:14px 18px;border-radius:14px;background:var(--sm-fondo);box-shadow:inset 0 0 0 1px #e6edf8;font-size:15px;line-height:1.6;color:var(--sm-texto)}
.sm-prop-ina,.sm-prop-fe{font-family:"Plus Jakarta Sans",sans-serif;padding:clamp(56px,7vw,104px) 24px}
.sm-prop-ina{background:var(--sm-azul)}
.sm-prop-ina__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,80px);align-items:center}
.sm-prop-ina__logo{display:block;width:182px;height:auto;margin:0 0 24px}
body .sm-prop-ina h2.sm-lvl-h2{color:#fff}
.sm-prop-ina .sm-lvl-p{color:rgba(255,255,255,.9);margin:0}
.sm-prop-certs{list-style:none;margin:0;padding:8px;border-radius:28px;background:#fff;box-shadow:0 30px 60px -40px rgba(0,0,0,.5)}
.sm-prop-cert{display:flex;gap:18px;margin:0;padding:20px}
.sm-prop-cert+.sm-prop-cert{border-top:1px solid #e6edf8}
.sm-prop-cert__ico{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#EAF2FC;color:var(--sm-azul)}
.sm-prop-cert__ico svg{width:26px;height:26px}
body h3.sm-prop-cert__t{margin:2px 0 6px;font-size:19px;line-height:1.3;font-weight:800;letter-spacing:-.01em;color:var(--sm-azul-osc)}
.sm-prop-cert__p{margin:0;font-size:15px;line-height:1.6;color:var(--sm-texto)}
.sm-prop-fe{background:var(--sm-fondo)}
.sm-prop-fe__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.sm-prop-sacr{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0}
.sm-prop-sacr li{margin:0;padding:8px 14px;border-radius:999px;background:#EAF2FC;color:var(--sm-azul);font-size:14px;font-weight:700}
.sm-prop-fe__labores{padding:clamp(24px,3vw,36px);border-radius:28px;background:#fff;box-shadow:0 18px 36px -28px rgba(0,0,0,.25)}
body h3.sm-prop-fe__h3{margin:0 0 18px;font-size:20px;line-height:1.25;font-weight:800;color:var(--sm-azul-osc)}
.sm-prop-labores{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.sm-prop-labor{display:flex;flex-direction:column;gap:12px;margin:0;font-size:15px;line-height:1.5;font-weight:600;color:var(--sm-azul-osc)}
.sm-prop-labor__ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--sm-lima);color:var(--sm-azul-osc)}
.sm-prop-labor__ico svg,.sm-prop-cert__ico svg{display:block}
.sm-prop-labor__ico svg{width:24px;height:24px}
@media (prefers-reduced-motion:no-preference){
  .sm-js .sm-prop-cert__ico svg [pathLength],.sm-js .sm-prop-labor__ico svg [pathLength]{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--sm-ease) var(--sm-d,0s)}
  .sm-js .sm-prop-cert__ico.sm-visto svg [pathLength],.sm-js .sm-prop-labor__ico.sm-visto svg [pathLength]{stroke-dashoffset:0}
}
@media (max-width:899px){
  .sm-prop-ina__inner,.sm-prop-fe__inner{grid-template-columns:1fr}
  .sm-lvl-metodo--rev .sm-lvl-metodo__foto{order:0}
}
@media (max-width:767px){
  .sm-prop-ina,.sm-prop-fe{padding-left:16px;padding-right:16px}
  .sm-prop-cert{padding:16px 12px;gap:14px}
  .sm-prop-labores{grid-template-columns:1fr;gap:14px}
  .sm-prop-labor{flex-direction:row;align-items:center}
}

/* We're Panthers: portada oscura (identidad), pilares, clubes, galería bento */
.sm-pan-hero,.sm-pan-que,.sm-pan-clubes,.sm-pan-gal{font-family:"Plus Jakarta Sans",sans-serif;padding:clamp(56px,7vw,104px) 24px}
.sm-pan-hero{background:var(--sm-azul-osc);padding-top:clamp(40px,5vw,72px)}
.sm-pan-hero .sm-lvl-hero__inner{max-width:1160px;margin:0 auto}
.sm-pan-hero__go{display:inline-block;margin:0 0 16px;padding:7px 14px;border-radius:999px;background:var(--sm-lima);color:var(--sm-azul-osc);font-size:14px;font-weight:800;letter-spacing:.02em}
body .sm-pan-hero h1.sm-lvl-hero__title{color:#fff}
.sm-pan-hero .sm-lvl-hero__lead{color:rgba(255,255,255,.88)}
.sm-pan-que{background:#fff}
.sm-pan-que__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,80px);align-items:center}
.sm-pan-pilares{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sm-pan-pilar{display:flex;gap:18px;margin:0;padding:20px 22px;border-radius:22px;background:var(--sm-fondo);box-shadow:inset 0 0 0 1px #e6edf8}
.sm-pan-pilar__ico{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--sm-azul);color:#fff}
.sm-pan-pilar__ico svg,.sm-pan-club__ico svg{width:26px;height:26px}
body h3.sm-pan-pilar__t{margin:2px 0 4px;font-size:19px;line-height:1.3;font-weight:800;color:var(--sm-azul-osc)}
.sm-pan-pilar__p{margin:0;font-size:15px;line-height:1.6;color:var(--sm-texto)}
.sm-pan-clubes{background:var(--sm-fondo)}
.sm-pan-clubes__head{max-width:640px;margin:0 0 clamp(28px,4vw,44px)}
.sm-pan-clubes__head .sm-lvl-p{margin:0}
.sm-pan-clubes__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sm-pan-club{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:170px;margin:0;padding:24px;border-radius:24px;background:#fff;box-shadow:0 18px 36px -28px rgba(0,0,0,.25)}
.sm-pan-club__ico{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#EAF2FC;color:var(--sm-azul)}
.sm-pan-club__t{font-size:clamp(22px,2vw,28px);line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--sm-azul-osc)}
.sm-pan-club--mas{grid-column:span 2;background:var(--sm-azul);flex-direction:row;align-items:flex-end;flex-wrap:wrap}
.sm-pan-club--mas .sm-pan-club__t{color:#fff}
.sm-pan-gal{background:#fff}
.sm-pan-gal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sm-pan-gal__grid figure{margin:0;border-radius:24px;overflow:hidden;background:#CFE1F7}
.sm-pan-gal__grid img{display:block;width:100%;height:100%;object-fit:cover}
.sm-pan-gal__a{grid-column:span 2;aspect-ratio:16/10}
.sm-pan-gal__b{aspect-ratio:auto}
.sm-pan-gal__c{aspect-ratio:auto}
.sm-pan-gal__d{grid-column:span 2;aspect-ratio:16/9}
@media (prefers-reduced-motion:no-preference){
  .sm-js .sm-pan-pilar__ico svg [pathLength],.sm-js .sm-pan-club__ico svg [pathLength]{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--sm-ease) var(--sm-d,0s)}
  .sm-js .sm-pan-pilar__ico.sm-visto svg [pathLength],.sm-js .sm-pan-club__ico.sm-visto svg [pathLength]{stroke-dashoffset:0}
}
@media (max-width:899px){
  .sm-pan-que__inner{grid-template-columns:1fr}
  .sm-pan-clubes__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .sm-pan-hero,.sm-pan-que,.sm-pan-clubes,.sm-pan-gal{padding-left:16px;padding-right:16px}
  .sm-pan-club{min-height:130px;padding:20px;gap:18px}
  .sm-pan-club--mas{flex-direction:column;align-items:stretch}
  .sm-pan-gal__grid{grid-template-columns:1fr 1fr;gap:10px}
  .sm-pan-gal__a,.sm-pan-gal__d{grid-column:1/-1}
  .sm-pan-gal__b,.sm-pan-gal__c{aspect-ratio:4/5}
  .sm-pan-gal__grid figure{border-radius:18px}
}

/* Las Familias: preceptor (reusa pilares), formación sobre azul con 4 dimensiones, frase con foto */
.sm-fam-form,.sm-fam-frase{font-family:"Plus Jakarta Sans",sans-serif;padding:clamp(56px,7vw,104px) 24px}
.sm-fam-form{background:var(--sm-azul)}
body .sm-fam-form h2.sm-lvl-h2{color:#fff}
.sm-fam-form .sm-lvl-p{color:rgba(255,255,255,.9);margin:0}
.sm-fam-form__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.sm-fam-dim{padding:clamp(24px,3vw,36px);border-radius:28px;background:#fff}
.sm-fam-dim__t{margin:0 0 16px;font-size:15px;font-weight:700;color:#5F6D88}
.sm-fam-dim__lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sm-fam-dim__lista li{display:flex;align-items:center;gap:12px;margin:0;padding:16px;border-radius:18px;background:var(--sm-fondo);font-size:clamp(18px,1.6vw,22px);font-weight:800;letter-spacing:-.01em;color:var(--sm-azul-osc)}
.sm-fam-dim__n{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sm-lima);font-size:15px;color:var(--sm-azul-osc)}
.sm-fam-frase{background:var(--sm-fondo)}
.sm-fam-frase__inner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:center}
.sm-fam-frase__foto{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 60px -40px rgba(0,0,0,.35)}
.sm-fam-frase__foto img{display:block;width:100%;height:100%;object-fit:cover}
.sm-fam-frase__q{margin:0 0 20px;padding:0;border:0}
.sm-fam-frase__q p{margin:0;font-size:clamp(28px,3.4vw,44px);line-height:1.3;font-weight:800;letter-spacing:-.03em;color:var(--sm-azul)}
@media (max-width:899px){.sm-fam-form__inner,.sm-fam-frase__inner{grid-template-columns:1fr}.sm-fam-frase__foto{max-width:360px}}
@media (max-width:767px){
  .sm-fam-form,.sm-fam-frase{padding-left:16px;padding-right:16px}
  .sm-fam-dim__lista li{padding:14px 12px;font-size:17px}
}

/* Nuestros Formadores: texto + cita, galería de retratos (sin etiquetas sobre fotos), consejo sobre azul */
.sm-for-prof,.sm-for-gal,.sm-for-consejo{font-family:"Plus Jakarta Sans",sans-serif;padding:clamp(56px,7vw,104px) 24px}
.sm-for-prof{background:#fff}
.sm-for-prof__inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center}
.sm-for-cita{padding:clamp(26px,3.5vw,44px);border-radius:28px;background:var(--sm-fondo);box-shadow:inset 0 0 0 1px #e6edf8}
.sm-for-cita__q{margin:0 0 16px;padding:0;border:0}
.sm-for-cita__q p{margin:0;font-size:clamp(30px,3.4vw,44px);line-height:1.2;font-weight:800;letter-spacing:-.03em;color:var(--sm-azul)}
.sm-for-cita__p{margin:0 0 14px;font-size:16px;line-height:1.6;color:var(--sm-texto)}
.sm-for-gal{background:var(--sm-fondo)}
.sm-for-gal__head{max-width:640px;margin:0 0 clamp(28px,4vw,44px)}
.sm-for-gal__head .sm-lvl-p{margin:0}
.sm-for-gal__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sm-for-gal__f{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5;background:#CFE1F7}
.sm-for-gal__f:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.sm-for-gal__f img{display:block;width:100%;height:100%;object-fit:cover}
.sm-for-consejo{background:#fff}
.sm-for-consejo__inner{max-width:820px;text-align:center}
.sm-for-consejo .sm-lvl-p{margin:0 auto;max-width:52ch}
@media (max-width:899px){.sm-for-prof__inner{grid-template-columns:1fr}}
@media (max-width:767px){
  .sm-for-prof,.sm-for-gal,.sm-for-consejo{padding-left:16px;padding-right:16px}
  .sm-for-gal__grid{grid-template-columns:1fr 1fr;gap:10px}
  .sm-for-gal__f{border-radius:18px}
  .sm-for-gal__f:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:4/5}
  .sm-for-consejo__inner{text-align:left}
}
.sm-idi__title .sm-idi__l{display:block}
.sm-idi__title .sm-idi__l+.sm-idi__l{margin-top:.18em}

/* Educación Personalizada (Home): el sello "30+ años" tapaba al estudiante (abajo a la derecha). Va arriba a la derecha, sobre el techo vacío de la foto, y más chico (Ian, 2026-10-03) */
body .elementor-7972 .elementor-element.elementor-element-42ea3d7{top:28px;bottom:auto!important;left:auto!important;right:70px;--width:170px;--min-height:170px}
@media (max-width:1024px){body .elementor-7972 .elementor-element.elementor-element-42ea3d7{right:28px}}
@media (max-width:767px){body .elementor-7972 .elementor-element.elementor-element-42ea3d7{top:22px;right:22px;--width:104px;--min-height:104px}}
/* Hero de la Home: retrato vertical; en móvil la caja es apaisada, que no corte la cara */
@media (max-width:767px){body .elementor-element-56b60eb img{object-position:50% 24%}}
/* El tema recortaba la foto con una máscara SVG (hueco abajo a la derecha para el sello) que tapaba al estudiante: foto entera */
.elementor-7972 .elementor-element.elementor-element-21f44ed.elementor-widget-image .elementor-widget-container img{-webkit-mask-image:none;mask-image:none}

/* Galería de We're Panthers: grilla pareja 2x2 en 4:3 (el recuadro vertical cortaba el choque de manos) */
.sm-pan-gal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm-pan-gal__grid .sm-pan-gal__a,.sm-pan-gal__grid .sm-pan-gal__b,.sm-pan-gal__grid .sm-pan-gal__c,.sm-pan-gal__grid .sm-pan-gal__d{grid-column:auto;grid-row:auto;aspect-ratio:4/3}
@media (max-width:767px){.sm-pan-gal__grid{grid-template-columns:1fr}}

/* Íconos de fuente (Font Awesome, ElementsKit) → SVG en línea: ya no se descargan 530 KB de fuentes de íconos (punto 3, velocidad) */
svg.sm-bi{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex:none}
.ekit_social_media svg.sm-bi{width:15px;height:15px}
i.sm-chev{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;font-style:normal}
i.sm-chev::before{content:"";display:block;box-sizing:content-box;width:6px;height:6px;margin:-3px auto 0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}

/* ═════════ WhatsApp flotante (punto 3): aparece al bajar de la primera pantalla (body.sm-scrolled) para no tapar los botones del hero ═════════ */
.sm-wa-flota{position:fixed;right:20px;bottom:20px;z-index:998;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 16px;border-radius:999px;background:#25D366;color:#fff;font:700 15px/1 "Plus Jakarta Sans",sans-serif;text-decoration:none;box-shadow:0 10px 24px -10px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s var(--sm-ease),transform .35s var(--sm-ease),visibility 0s .35s,background-color .3s var(--sm-ease)}
.sm-wa-flota svg{width:26px;height:26px;flex:none}
body.sm-scrolled .sm-wa-flota{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--sm-ease),transform .35s var(--sm-ease),visibility 0s,background-color .3s var(--sm-ease)}
.sm-wa-flota:hover,.sm-wa-flota:focus-visible{background:#1EBE5A;color:#fff}
.sm-wa-flota:focus-visible{outline:3px solid var(--sm-azul-osc);outline-offset:3px}
body:has(.elementskit-menu-offcanvas-elements.active) .sm-wa-flota{opacity:0;visibility:hidden}
@media (max-width:767px){
  .sm-wa-flota{right:16px;bottom:16px;width:56px;padding:0;justify-content:center}
  .sm-wa-flota__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){.sm-wa-flota{transition:none;transform:none}}
/* Mensaje del formulario en el borrador (en WP: mensaje de confirmación de WPForms con el mismo texto) */
.sm-guard-msg{margin:16px 0 0;padding:14px 18px;border-radius:14px;background:#E8F7EE;color:#0B4D2A;font:500 15px/1.5 "Plus Jakarta Sans",sans-serif}
.sm-guard-msg strong{display:block;font-weight:800}
/* Diferenciadores: poses nuevas de Bly con escena (Inglés, Portugués, Robótica, Ian 2026-10-03); son más anchas, un poco más altas para que se lean los detalles */
.sm-dif img.sm-dif__bly.sm-dif__bly--escena{height:164px;bottom:4px}
@media (max-width:599px){.sm-dif img.sm-dif__bly.sm-dif__bly--escena{height:auto;width:104px;bottom:8px}}

/* ═════════ Hero de la Home rehecho (Ian, 2026-10-04: "dame un winning award") ═════════
   Video protagonista y claro (degradado azul noche solo del lado del texto), un solo mensaje grande con la frase de la clienta,
   retrato del estudiante con un segundo retrato en círculo (dos niveles), admisiones como dato bajo los botones. */
.elementor-7972 .elementor-element.elementor-element-fa51323{--padding-top:clamp(64px,7vw,112px);--padding-bottom:clamp(190px,15vw,230px);--padding-left:24px;--padding-right:24px}
.sm-hero-video video.sm-hero-video__media{object-position:50% 45%}
.sm-hero-video .sm-hero-video__tinte{background:linear-gradient(90deg,rgba(11,11,56,.88) 0%,rgba(11,11,56,.7) 36%,rgba(11,11,56,.22) 64%,rgba(11,11,56,.06) 100%),linear-gradient(0deg,rgba(11,11,56,.55) 0%,rgba(11,11,56,0) 40%)!important}
.elementor-element-fa51323 > .e-con-inner.sm-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,88px);align-items:center;width:100%;max-width:1248px;margin:0 auto}
.sm-hero__texto{font-family:"Plus Jakarta Sans",sans-serif;color:#fff;min-width:0}
body .elementor-kit-5582 h1.sm-hero__titulo,body h1.sm-hero__titulo{margin:0 0 24px;font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(40px,4.6vw,68px);line-height:1.04;font-weight:800;letter-spacing:-.035em;color:#fff}
.sm-hero__l{display:block}
.sm-hero__titulo em{font-style:normal;color:var(--sm-lima)}
.sm-hero__bajada{margin:0 0 32px;max-width:34ch;font-size:clamp(17px,1.45vw,20px);line-height:1.5;color:rgba(255,255,255,.92)}
.sm-hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
.sm-hero__ctas .sm-lvl-btn--claro{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.sm-hero__admision{display:flex;align-items:center;gap:10px;margin:28px 0 0;font-size:15px;line-height:1.4;color:rgba(255,255,255,.9)}
.sm-hero__admision strong{color:#fff;font-weight:700}
.sm-hero__punto{position:relative;flex:none;width:10px;height:10px;border-radius:50%;background:var(--sm-lima)}
.sm-hero__punto::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--sm-lima);opacity:0}
.sm-hero__visual{position:relative;justify-self:end;width:min(100%,440px)}
.sm-hero__foto{margin:0;aspect-ratio:4/5;border-radius:32px;overflow:hidden;background:#CFE1F7;box-shadow:0 44px 80px -40px rgba(0,0,0,.6);transform:rotate(1.5deg)}
.sm-hero__foto img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 35%}
.sm-hero__mini{position:absolute;left:-58px;bottom:-30px;width:clamp(118px,11vw,160px);aspect-ratio:1;margin:0;border-radius:50%;overflow:hidden;border:6px solid #fff;background:#fff;box-shadow:0 24px 44px -20px rgba(0,0,0,.55)}
.sm-hero__mini img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 28%}
@keyframes sm-hero-sube{from{transform:translateY(22px)}to{transform:none}}
@keyframes sm-hero-foto{from{transform:translateY(28px) rotate(4deg)}to{transform:rotate(1.5deg)}}
@keyframes sm-hero-flota{from{transform:translateY(0)}to{transform:translateY(-10px)}}
@keyframes sm-hero-pulso{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.9);opacity:0}}
@media (prefers-reduced-motion:no-preference){
  .sm-hero__l,.sm-hero__bajada,.sm-hero__ctas,.sm-hero__admision{animation:sm-hero-sube .9s var(--sm-ease) both}
  .sm-hero__l:nth-child(2){animation-delay:.07s}.sm-hero__l:nth-child(3){animation-delay:.14s}
  .sm-hero__bajada{animation-delay:.22s}.sm-hero__ctas{animation-delay:.3s}.sm-hero__admision{animation-delay:.38s}
  .sm-hero__foto{animation:sm-hero-foto 1.1s var(--sm-ease) .1s both}
  .sm-hero__mini{animation:sm-hero-flota 5s ease-in-out 1.2s infinite alternate}
  .sm-hero__punto::after{animation:sm-hero-pulso 2.2s ease-out infinite}
}
@media (max-width:1023px){
  .elementor-element-fa51323 > .e-con-inner.sm-hero{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px}
  .sm-hero__mini{left:-30px}
}
@media (max-width:767px){
  .elementor-7972 .elementor-element.elementor-element-fa51323{--padding-top:36px;--padding-bottom:196px;--padding-left:16px;--padding-right:16px}
  .elementor-element-fa51323 > .sm-hero-video{background:#0B0B38}
  .sm-hero-video video.sm-hero-video__media{inset:0;height:100%;object-position:50% 50%}
  .sm-hero-video .sm-hero-video__tinte{background:linear-gradient(180deg,rgba(11,11,56,.6) 0%,rgba(11,11,56,.72) 40%,rgba(11,11,56,.9) 100%)!important}
  .elementor-element-fa51323 > .e-con-inner.sm-hero{grid-template-columns:1fr;gap:40px}
  body .elementor-kit-5582 h1.sm-hero__titulo,body h1.sm-hero__titulo{font-size:clamp(36px,10.4vw,44px);margin-bottom:18px}
  .sm-hero__bajada{margin-bottom:26px;font-size:17px}
  .sm-hero__ctas .sm-lvl-btn{width:100%;justify-content:center}
  .sm-hero__ctas .sm-lvl-btn--claro{font-size:15px;padding-left:18px;padding-right:12px;white-space:nowrap}
  .sm-hero__admision{margin-top:20px;font-size:14px}
  .sm-hero__visual{justify-self:stretch;width:auto;margin:0 6px 0 22px}
  .sm-hero__foto{aspect-ratio:4/3.2;border-radius:26px}
  .sm-hero__foto img{object-position:50% 30%}
  .sm-hero__mini{left:-20px;bottom:-22px;width:96px;border-width:5px}
}

/* ═════════ Hero v3 (Ian, 2026-10-04: "la foto parece de perfil; usá todo tu superpoder"): el video 2026 a pantalla completa es el protagonista ═════════ */
.elementor-7972 .elementor-element.elementor-element-fa51323{min-height:min(calc(100dvh - 120px),820px);--padding-top:clamp(80px,9vw,140px);--padding-bottom:clamp(200px,16vw,240px)}
.sm-hero-video video.sm-hero-video__media{object-position:50% 50%}
.sm-hero-video .sm-hero-video__tinte{background:linear-gradient(90deg,rgba(11,11,56,.86) 0%,rgba(11,11,56,.62) 34%,rgba(11,11,56,.12) 62%,rgba(11,11,56,0) 100%),linear-gradient(0deg,rgba(11,11,56,.7) 0%,rgba(11,11,56,0) 38%)!important}
.elementor-element-fa51323 > .e-con-inner.sm-hero{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;height:100%;min-height:inherit}
.sm-hero__texto{max-width:660px}
body .elementor-kit-5582 h1.sm-hero__titulo,body h1.sm-hero__titulo{font-size:clamp(42px,4.7vw,70px);line-height:1.04;text-wrap:balance}
.sm-hero__pausa{position:absolute;right:max(24px,calc((100% - 1248px)/2 + 24px));bottom:clamp(200px,16vw,240px);z-index:2;display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 16px 0 12px;border:1.5px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(11,11,56,.35);color:#fff;font:600 14px/1 "Plus Jakarta Sans",sans-serif;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .3s var(--sm-ease),border-color .3s var(--sm-ease)}
.sm-hero__pausa:hover{background:rgba(11,11,56,.6);border-color:#fff}
.sm-hero__pausa:focus-visible{outline:3px solid var(--sm-lima);outline-offset:3px}
.sm-hero__pausa-ico{position:relative;width:20px;height:20px;border-radius:50%;background:var(--sm-lima)}
.sm-hero__pausa-ico::before,.sm-hero__pausa-ico::after{content:"";position:absolute;top:6px;width:2px;height:8px;border-radius:1px;background:var(--sm-azul-osc)}
.sm-hero__pausa-ico::before{left:7px}.sm-hero__pausa-ico::after{left:11px}
.sm-hero__pausa[aria-pressed="true"] .sm-hero__pausa-ico::before{left:8px;top:6px;width:0;height:0;border-radius:0;background:none;border-style:solid;border-width:4px 0 4px 7px;border-color:transparent transparent transparent var(--sm-azul-osc)}
.sm-hero__pausa[aria-pressed="true"] .sm-hero__pausa-ico::after{display:none}
@media (max-width:1023px){.elementor-7972 .elementor-element.elementor-element-fa51323{min-height:640px}}
@media (max-width:767px){
  /* celular: el video arriba, claro y sin texto encima; el texto sobre azul noche debajo */
  .elementor-7972 .elementor-element.elementor-element-fa51323{min-height:0;--padding-top:min(78vw,330px);--padding-bottom:196px}
  .elementor-element-fa51323 > .sm-hero-video{background:#0B0B38}
  .sm-hero-video video.sm-hero-video__media{inset:0 0 auto 0;height:min(92vw,390px);object-position:50% 50%}
  .sm-hero-video .sm-hero-video__tinte{background:linear-gradient(180deg,rgba(11,11,56,0) 0%,rgba(11,11,56,0) calc(min(92vw,390px) - 150px),#0B0B38 min(92vw,390px),#0B0B38 100%)!important}
  body .elementor-kit-5582 h1.sm-hero__titulo,body h1.sm-hero__titulo{font-size:clamp(36px,10.4vw,46px)}
  .sm-hero__pausa{top:min(78vw,330px);bottom:auto;right:16px;transform:translateY(-70px);height:40px;padding:0 10px}
  .sm-hero__pausa-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media (prefers-reduced-motion:no-preference){.sm-hero__pausa{animation:sm-hero-sube .9s var(--sm-ease) .45s both}}
/* el tema pinta todos los <button> de lima: el de pausa va en cristal */
body .elementor-element-fa51323 button.sm-hero__pausa{background:rgba(11,11,56,.38)!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.55)!important;box-shadow:none!important;min-width:0;width:auto;text-transform:none;letter-spacing:0}
body .elementor-element-fa51323 button.sm-hero__pausa:hover{background:rgba(11,11,56,.65)!important;border-color:#fff!important}
@media (max-width:767px){body .elementor-element-fa51323 button.sm-hero__pausa{top:14px;right:14px;transform:none;width:40px;height:40px;padding:0;justify-content:center}}

/* ═════════ Niveles v2 (Ian, 2026-10-04: "las cabezas están a distinta altura, que se vean estéticas"): tres retratos 4:5 alineados por la cara
   (herramientas/fotos/alinear.py: cara al 34 % del ancho, centro a 45 % del alto), tres columnas parejas, CTA liviano ═════════ */
.sm-niv ul.sm-niv__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);overflow:visible;padding:0}
@media (min-width:1024px){
  .sm-niv li.sm-niv__card:nth-child(3){grid-column:auto}
  .sm-niv li.sm-niv__card:nth-child(3) a.sm-niv__link{flex-direction:column}
  .sm-niv li.sm-niv__card:nth-child(3) .sm-niv__media,.sm-niv li.sm-niv__card:nth-child(-n+2) .sm-niv__media{flex:none;aspect-ratio:4/5;min-height:0}
  .sm-niv li.sm-niv__card:nth-child(3) .sm-niv__body{justify-content:flex-start;padding:24px 26px 28px}
}
.sm-niv li.sm-niv__card{border-radius:28px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 24px 48px -30px rgba(0,0,0,.22)}
.sm-niv .sm-niv__media{aspect-ratio:4/5;margin:10px 10px 0;border-radius:20px}
.sm-niv img.sm-niv__foto,.sm-niv li.sm-niv__card:nth-child(3) img.sm-niv__foto{object-position:50% 50%}
.sm-niv__body{padding:22px 24px 26px}
.sm-niv h3.sm-niv__name{margin:2px 0 4px}
.sm-niv__grados{display:block;margin:0 0 12px;font-size:14px;font-weight:700;color:var(--sm-azul)}
.sm-niv__txt{margin-bottom:22px}
.sm-niv .sm-niv__cta{min-height:0;padding:0;background:none;color:var(--sm-azul-osc);font-size:16px;gap:10px}
.sm-niv .sm-niv__cta::after{width:32px;height:32px;background:var(--sm-azul) var(--sm-flecha-blanca) 50% 50%/14px no-repeat;transition:transform .4s var(--sm-ease),background-color .4s var(--sm-ease)}
@media (hover:hover){
  .sm-niv li.sm-niv__card:hover .sm-niv__cta{background:none;color:var(--sm-azul)}
  .sm-niv li.sm-niv__card:hover .sm-niv__cta::after{transform:translateX(4px);background-color:var(--sm-azul-osc)}
}
.sm-niv__sede{margin-bottom:14px}
@media (max-width:1023px){.sm-niv ul.sm-niv__grid{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;scroll-snap-type:none}}
@media (max-width:899px) and (min-width:600px){
  .sm-niv__body{padding:18px 18px 22px}
  .sm-niv h3.sm-niv__name{font-size:22px}
  .sm-niv__txt{font-size:14px}
}
@media (max-width:599px){
  .sm-niv ul.sm-niv__grid{grid-template-columns:1fr;gap:16px}
  .sm-niv .sm-niv__media{aspect-ratio:4/3}
  .sm-niv img.sm-niv__foto,.sm-niv li.sm-niv__card:nth-child(3) img.sm-niv__foto{object-position:50% 37%}
  .sm-niv .sm-niv__cta{width:auto;justify-content:flex-start}
}

/* Panthers: la cinta "¡Go Panthers!" monta sobre la unión Idiomas → Panthers (Ian 2026-10-04: había una franja blanca de 28 px
   porque el margen de la cinta se escapaba de la sección). Recorte solo horizontal para que la cinta pueda asomar arriba. */
.sm-pan{display:flow-root;overflow:visible;overflow-x:clip;position:relative;z-index:1}
.sm-pan__marquee{position:relative;z-index:2;margin-top:-34px;box-shadow:0 10px 22px -14px rgba(0,0,0,.3)}
.sm-idi{position:relative;z-index:0}

/* Redes (barra superior y pie), Ian 2026-10-04: el plugin pintaba de lima el relleno de los SVG (la "f" lima y el ícono de Instagram
   relleno como un cuadrado). Íconos blancos de 16 px, centrados en círculos de 36 px; al pasar, círculo lima e ícono azul noche. */
body .footer-social-icon .ekit_social_media{display:flex;align-items:center;gap:10px}
body .footer-social-icon .ekit_social_media > li{display:flex;line-height:0}
body .footer-social-icon .ekit_social_media > li > a,
body .elementor-element-9ddbcba .footer-social-icon .ekit_social_media > li > a{display:grid!important;place-items:center;width:36px!important;height:36px!important;padding:0!important;line-height:0!important;border-radius:50%!important;border:1.5px solid rgba(255,255,255,.35)!important;background:transparent!important;color:#fff!important}
body .footer-social-icon .ekit_social_media > li > a svg.sm-bi{width:16px!important;height:16px!important;vertical-align:0;color:inherit}
body .footer-social-icon .ekit_social_media svg.sm-bi--fb,body .footer-social-icon .ekit_social_media svg.sm-bi--fb path{fill:currentColor!important;stroke:none!important}
body .footer-social-icon .ekit_social_media svg.sm-bi--ig,body .footer-social-icon .ekit_social_media svg.sm-bi--ig rect,body .footer-social-icon .ekit_social_media svg.sm-bi--ig circle{fill:none!important;stroke:currentColor!important}
body .footer-social-icon .ekit_social_media svg.sm-bi--ig circle:last-child{fill:currentColor!important;stroke:none!important}
body .footer-social-icon .ekit_social_media > li > a:hover,body .footer-social-icon .ekit_social_media > li > a:focus-visible{background:var(--sm-lima)!important;border-color:var(--sm-lima)!important;color:var(--sm-azul-osc)!important}
body .elementor-element-9ddbcba .footer-social-icon .ekit_social_media > li > a{width:32px!important;height:32px!important}
body .elementor-element-9ddbcba .footer-social-icon .ekit_social_media > li > a svg.sm-bi{width:14px!important;height:14px!important}
body .footer-social-icon .ekit_social_media > li{margin:0!important}
/* pie: redes alineadas al borde derecho, en línea con el copyright */
body .elementor-element-4fe3414 .elementor-element-71d9602{align-items:flex-end}
body .elementor-element-4fe3414 .elementor-element-71d9602 .footer-social-icon .ekit_social_media{justify-content:flex-end}
@media (max-width:767px){
  body .elementor-element-4fe3414 .elementor-element-71d9602{align-items:flex-start}
  body .elementor-element-4fe3414 .elementor-element-71d9602 .footer-social-icon .ekit_social_media{justify-content:flex-start}
}
body.sm-pie .sm-wa-flota{opacity:0;visibility:hidden;transform:translateY(12px)}
