@scope (.ad-public-site .ad-page-v2-portada) {

:root{color-scheme:light}
:scope{scroll-behavior:smooth}
:scope{margin:0;background:#FAF6EF;color:#1A2140;font-family:'DM Sans',system-ui,sans-serif;letter-spacing:-0.01em}
img{max-width:100%}
a{color:#1A2140}
.wrap{width:100%;max-width:1180px;margin:0 auto;box-sizing:border-box;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.h{font-family:'DM Sans',system-ui,sans-serif;font-weight:700;letter-spacing:-0.035em;margin:0;text-wrap:balance}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;font-weight:700;font-size:17px;padding:17px 28px;min-height:44px;box-sizing:border-box}
.btn-dark{background:#1A2140;color:#FAF6EF}
.btn-line{border:1.5px solid #1A2140;color:#1A2140}
.chip{text-decoration:none;border:1.5px solid #D9CFBE;background:#FFFFFF;padding:15px 22px;border-radius:999px;font-size:17px;font-weight:600;transition:border-color .15s}
.chip:hover{border-color:#1A2140}
.card{text-decoration:none;background:#FFFFFF;border-radius:24px;padding:30px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s}
.card:hover{box-shadow:0 12px 32px rgba(26,33,64,.09)}
.eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:#6B6F80;font-weight:700}
:focus-visible{outline:3px solid #9555B3;outline-offset:3px}
@media (prefers-reduced-motion: reduce){*{transition:none!important;scroll-behavior:auto!important}}

.sol-btn{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-weight:500;font-size:15.5px;color:#1A2140;padding:10px 6px;white-space:nowrap}.sol-btn::before{content:"";width:8px;height:8px;border-radius:50%;background:#3E9C8C;box-shadow:0 0 0 3px #D3EEE6}.sol-btn:hover{color:#1F6E61}


.ticker{display:block;background:#F5C542;color:#1A2140;text-decoration:none;overflow:hidden;font-size:16px;font-weight:600}
.ticker:hover .tk{animation-play-state:paused}
.tk{display:flex;width:max-content;animation:tk 40s linear infinite}
.tk-row{display:flex;align-items:center;flex:none}
.tk span{padding:12px 22px;white-space:nowrap}
.tk b{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.tk i{font-style:normal;opacity:.6}
@keyframes tk{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.tk{animation:none}}


.app{width:340px;max-width:68%;background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -6px 30px rgba(26,33,64,.14);text-align:left;font-size:13px;line-height:1.35;overflow:hidden}
.app-top{display:flex;align-items:center;gap:5px;padding:10px 12px;background:#F4F0FB;border-bottom:1px solid #ECE6F7}
.app-top i{width:8px;height:8px;border-radius:50%;background:#D9D0EE}
.app-top span{margin-left:6px;font-weight:700;font-size:12px;color:#5E6577}
.app-body{padding:12px;display:flex;flex-direction:column;gap:10px;min-height:178px}
.app-case{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#1A2140}
.app-tag{font-size:10.5px;font-weight:700;background:#DCF5E3;color:#1F6E61;border-radius:999px;padding:2px 8px}
.app-steps{display:flex;flex-wrap:wrap;gap:4px}
.app-steps span{font-size:10px;font-weight:700;padding:4px 6px;border-radius:999px;background:#F1EDF7;color:#8A8FA0;transition:background .3s,color .3s}
.app-steps span.on{color:#fff}
.app-out{background:#FAF6EF;border-radius:12px;padding:10px 11px;min-height:38px;color:#1A2140}
.app-out.in{animation:pop .35s both}
.app-exp{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#1A2140;color:#FAF6EF;border-radius:12px;padding:9px 11px;font-size:12.5px;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.app-exp.show{opacity:1;transform:none}
.app-exp b{background:#F2D48A;color:#1A2140;border-radius:999px;padding:3px 9px;font-size:11.5px}
.pf{display:flex;align-items:center;gap:9px;background:#FAF6EF;border-radius:10px;padding:6px 9px;transition:background .4s,transform .4s}
.pf .ic{transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .3s}
.pf.on{background:#F1EAFB;transform:translateX(3px)}
.pf.on .ic{transform:scale(1.25);background:#9555B3!important;color:#fff}
.pf .ic{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#1A2140;flex:none}
@media (prefers-reduced-motion: reduce){.pf{opacity:1}}
.msg{border-radius:13px;padding:8px 11px;max-width:86%;animation:pop .35s cubic-bezier(.2,.9,.3,1.3) both}
.msg.yo{align-self:flex-end;background:#DCF5E3;border-bottom-right-radius:4px}
.msg.ad{align-self:flex-start;background:#F1EAFB;border-bottom-left-radius:4px}
.msg b{font-weight:700}
.typing{align-self:flex-start;background:#F1EAFB;border-radius:13px;padding:10px 12px;display:flex;gap:4px;animation:pop .25s both}
.typing i{width:6px;height:6px;border-radius:50%;background:#9B86D9;animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.shape{transform-origin:50% 100%}
.shape.jump{animation:jump .7s cubic-bezier(.3,.7,.4,1)}
@keyframes jump{0%{transform:none}15%{transform:scale(1.08,.9)}45%{transform:translateY(-26px) scale(.95,1.06)}70%{transform:translateY(0) scale(1.06,.93)}100%{transform:none}}
.shape.bob{animation:bob 3.6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:none}50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion: reduce){.msg,.typing,.shape.jump,.shape.bob{animation:none!important}}


.pile-wrap{position:relative;width:100%;max-width:560px}
.pile{position:relative;width:100%;max-width:560px;height:520px}
.pile-badge{position:absolute;top:-10px;right:4px;z-index:60;background:#E5484D;color:#fff;font-weight:800;font-size:14px;min-width:30px;height:30px;border-radius:999px;display:grid;place-items:center;padding:0 8px;box-shadow:0 6px 14px -4px rgba(229,72,77,.6);font-variant-numeric:tabular-nums}
.pile-badge.bump{animation:bump .3s ease}
@keyframes bump{50%{transform:scale(1.25)}}
.wm{position:absolute;width:240px;max-width:72%;background:#fff;border-radius:16px 16px 16px 4px;padding:11px 14px 9px;box-shadow:0 8px 22px -8px rgba(26,33,64,.28);font-size:15px;line-height:1.35;display:flex;flex-direction:column;gap:2px;transform:rotate(var(--r));animation:drop .5s cubic-bezier(.2,.9,.3,1.25) both}


.wm small{align-self:flex-end;color:#7A8090;font-size:11px}
@keyframes drop{from{opacity:0;transform:translateY(-30px) rotate(calc(var(--r) * 3))}to{opacity:1;transform:rotate(var(--r))}}
.eco{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.07);border-radius:18px;padding:12px}
.eco i{flex:none;width:34px;height:34px;margin:0 4px}
.ic1{background:#F08A6E;border-radius:50%}
.ic2{background:#3E9C8C;border-radius:8px;transform:rotate(45deg) scale(.85)}
.ic3{background:#7FB0EC;border-radius:999px 999px 6px 6px}
.eco div{display:flex;flex-direction:column;gap:2px}
.eco b{font-size:17px} .eco span{color:#C9CCDA;font-size:14px;line-height:1.35}
@media (max-width:420px){.pile{height:520px} .wm{font-size:14px}}
@media (prefers-reduced-motion: reduce){.wm{animation:none}}


.sx{position:relative;padding:26px 24px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:200px;box-sizing:border-box;box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 14px 30px -12px rgba(147,97,26,.35);transition:transform .2s,box-shadow .2s}
.sx:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 22px 40px -14px rgba(147,97,26,.45)}


  .stats{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;text-align:center}
  .stat{background:#fff;border-radius:24px;padding:28px 22px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 10px 26px -16px rgba(26,33,64,.25)}
  .stat .num{font-size:clamp(38px,4.2vw,52px);font-weight:800;letter-spacing:-0.04em;line-height:1;color:#9555B3;font-variant-numeric:tabular-nums}
  .stat:nth-child(2) .num,.stat:nth-child(4) .num{color:#1A2140}
  .stat:nth-child(3) .num{color:#B4452F}
  .stat:nth-child(4) .num{color:#B8924F}
  .stat .lab{font-size:16px;line-height:1.45;color:#3E4558}
  .stat small{font-size:12px;color:#7A8090;margin-top:auto}
  

.gold{color:#DCC08A}
.mt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.mtab{font:inherit;color:#FAF6EF;text-align:left;cursor:pointer;background:rgba(255,255,255,.08);border:1.5px solid transparent;border-radius:22px;padding:20px 22px;display:flex;flex-direction:column;gap:6px;transition:transform .25s cubic-bezier(.3,1.4,.5,1),background .2s,border-color .2s}
.mtab .h{font-size:26px}
.mtab small{font-size:12px;letter-spacing:.22em;color:var(--c)}
.mtab:hover{transform:translateY(-3px)}
.mtab[aria-selected="true"]{background:rgba(255,255,255,.16);border-color:var(--c);transform:translateY(-6px)}
.mpanel{background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.08);border-radius:30px;padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,48px);align-items:center;min-height:220px}
@media (max-width:620px){.mpanel{grid-template-columns:1fr;justify-items:center;text-align:center}}
#mimg{width:clamp(130px,15vw,190px);height:auto;box-sizing:border-box;padding:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#FBF3E2 0%,#EBD6AA 60%,#D7B87C 100%);box-shadow:0 0 0 3px #262D4D,0 0 0 4.5px #DCC08A,0 24px 48px -16px rgba(0,0,0,.45)}
#mimg.pop{animation:mpop .7s cubic-bezier(.3,1.5,.5,1)}
@keyframes mpop{0%{transform:translateY(40px) scale(.4) rotate(-12deg);opacity:0}60%{transform:translateY(-12px) scale(1.08) rotate(4deg);opacity:1}100%{transform:none}}
.mans{background:rgba(255,255,255,.08);border-radius:18px 18px 18px 4px;padding:14px 18px;font-size:18px;line-height:1.45;color:#E6E8F2;min-height:1.45em}
.mans .cur{display:inline-block;width:2px;height:1em;background:currentColor;margin-left:2px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion: reduce){#mimg.pop{animation:none}.mtab{transition:none}}

@media (max-width:760px){a.card[href="docentes.html#planes"]{grid-template-columns:1fr!important}}
.ad-v3-proof{padding-block:24px 88px}
.ad-v3-proof-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.ad-v3-proof-images{position:relative;min-width:0;padding-bottom:70px}
.ad-v3-proof figure{margin:0;overflow:hidden}
.ad-v3-proof-main{position:relative;width:78%;aspect-ratio:4/5;border-radius:28px;box-shadow:0 24px 50px -24px rgba(26,33,64,.45)}
.ad-v3-proof picture,.ad-v3-proof img{display:block;width:100%;height:100%}
.ad-v3-proof img{object-fit:cover}
.ad-v3-proof-main img{object-position:center 30%}
.ad-v3-proof-secondary{position:absolute;right:0;bottom:0;width:58%;aspect-ratio:4/3;border:5px solid #FAF6EF;border-radius:20px;box-shadow:0 18px 36px -16px rgba(26,33,64,.5)}
.ad-v3-proof figcaption{position:absolute;background:rgba(26,33,64,.88);color:#FAF6EF;font-weight:700}
.ad-v3-proof-main figcaption{left:16px;top:16px;border-radius:999px;padding:8px 14px;font-size:14px}
.ad-v3-proof-secondary figcaption{left:10px;right:10px;bottom:10px;border-radius:12px;padding:6px 10px;font-size:12px}
.ad-v3-proof-copy{display:flex;flex-direction:column;gap:16px;min-width:0}
.ad-v3-proof-copy .eyebrow{color:#9555B3}
.ad-v3-proof-copy h2{font-size:clamp(30px,3.8vw,46px);line-height:1.06}
.ad-v3-proof-copy blockquote{margin:0;border-left:5px solid #DCC08A;padding:4px 0 4px 18px;font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.3}
.ad-v3-proof-copy p{margin:0;color:#3E4558;font-size:18px;line-height:1.5}
.ad-v3-proof-actions{display:flex;flex-wrap:wrap;gap:10px}
.ad-v3-proof-actions .btn{padding:13px 22px;font-size:16px}
@media (max-width:820px){
  .ad-v3-proof{padding-block:16px 48px}
  .ad-v3-proof-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .ad-v3-proof-images{display:grid;gap:12px;padding:0}
  .ad-v3-proof-main,.ad-v3-proof-secondary{position:relative;width:100%;aspect-ratio:auto;box-sizing:border-box}
  .ad-v3-proof-main{height:clamp(280px,78vw,350px)}
  .ad-v3-proof-secondary{height:clamp(160px,46vw,205px);border:0}
  .ad-v3-proof-copy{gap:12px}
  .ad-v3-proof-copy h2{font-size:clamp(28px,8vw,36px)}
  .ad-v3-proof-copy p{font-size:16px}
  .ad-v3-proof-actions .btn{font-size:14px;padding:11px 16px}
}
@media (max-width:720px){
  main>section:first-child{padding-block:20px 32px!important;gap:20px!important}
  main>section:first-child h1{font-size:clamp(32px,8.5vw,40px)!important}
  main>section:first-child>div:first-child{gap:10px!important}
  main>section:first-child>div:first-child p{font-size:16px!important;line-height:1.4!important}
  main>section:first-child .shape{width:36px!important;margin-bottom:0!important}
  main>section:first-child .app{order:2;width:100%;max-width:100%;flex:0 0 100%}
  .ad-public-hero-teacher{padding:22px!important;gap:12px!important}
  .ad-public-hero-teacher h2{font-size:21px!important}
  .ad-public-hero-teacher>div:last-child{flex-wrap:wrap;align-items:center!important}
  main>section:first-child>div:nth-child(2){flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:12px}
  main>section:first-child>div:nth-child(2),main>section:nth-of-type(2) .pile,.stats,.mt{scrollbar-width:none}
  main>section:first-child>div:nth-child(2)::-webkit-scrollbar,main>section:nth-of-type(2) .pile::-webkit-scrollbar,.stats::-webkit-scrollbar,.mt::-webkit-scrollbar{display:none}
  .ad-public-hero-teacher,.ad-public-hero-school{flex:0 0 min(80vw,320px)!important;scroll-snap-align:start}
  main>section:nth-of-type(2){padding-block:28px 32px!important}
  main>section:nth-of-type(2)>.wrap{gap:18px!important}
  main>section:nth-of-type(2)>.wrap>div:first-child{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  main>section:nth-of-type(2) .pile{display:flex;align-items:center;gap:8px;height:106px;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 2px}
  main>section:nth-of-type(2) .pile .wm{position:relative!important;left:auto!important;top:auto!important;flex:0 0 170px;max-width:170px;min-height:68px;padding:8px 10px;font-size:12px;line-height:1.25;--r:0deg;scroll-snap-align:start}
  main>section:nth-of-type(2) .pile .wm small{font-size:10px}
  main>section:nth-of-type(2) .pile-badge{top:0;right:0;min-width:22px;height:22px;padding:0 5px;font-size:11px}
  .ad-public-support-panel{padding:22px!important;gap:14px!important;border-radius:24px!important;background:#EAF0F8!important;color:#1A2140!important}
  .ad-public-support-panel>.eyebrow{color:#6A4FB0!important}
  .ad-public-support-panel h2{font-size:26px!important}
  .ad-public-support-panel h2 span{color:#6A4FB0!important}
  .ad-public-support-panel .eco{padding:8px 10px;gap:8px;background:#fff;border:1px solid #DAE4F0}
  .ad-public-support-panel .eco b{font-size:15px}
  .ad-public-support-panel .eco span{font-size:12px;color:#4B5268}
  .ad-public-support-panel>a.btn{font-size:14px;padding:12px 18px;background:#1A2140!important;color:#fff!important}
  .ad-public-wellbeing{padding-block:32px!important;background:#FFF9EA!important}
  .ad-public-wellbeing>.wrap{gap:18px!important}
  .ad-public-wellbeing>.wrap>div:first-child{gap:12px!important}
  .ad-public-wellbeing h2{font-size:28px!important}
  .ad-public-wellbeing p{font-size:16px!important;line-height:1.4!important}
  .ad-public-wellbeing a.btn{background:transparent!important;color:#5C3C0F!important;padding:0!important;min-height:36px;text-decoration:underline;text-underline-offset:3px;font-size:15px}
  .ad-public-wellbeing a.btn::after{content:'→';margin-left:6px}
  .ad-public-wellbeing-signals{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;max-width:100%}
  .ad-public-wellbeing-signals .sx{min-width:0;min-height:116px;padding:12px!important;border-radius:20px!important;box-shadow:none;text-align:left!important;justify-content:center!important;gap:4px}
  .ad-public-wellbeing-signals .sx:nth-child(1){background:#EEE7FA!important}
  .ad-public-wellbeing-signals .sx:nth-child(2){background:#E9F5F1!important}
  .ad-public-wellbeing-signals .sx:nth-child(3){background:#EAF1FA!important}
  .ad-public-wellbeing-signals .sx:nth-child(4){background:#F9EDDA!important}
  .ad-public-wellbeing-signals .sx .h{font-size:15px!important;line-height:1.2!important}
  .ad-public-wellbeing-signals .sx span:not(.h){font-size:12px!important;line-height:1.3!important}
  .ad-public-impact-stats{padding-block:32px 20px!important;gap:18px!important}
  .ad-public-impact-stats h2{font-size:28px!important}
  .ad-public-impact-stats p{font-size:16px!important;line-height:1.4!important;margin:0!important}
  .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:100%;text-align:left}
  .stat{min-width:0;padding:12px;align-items:flex-start;gap:6px;border:1px solid #EAE4DD;border-radius:18px;box-shadow:none}
  .stat .num{font-size:28px}
  .stat .lab{font-size:12px;line-height:1.3}
  .stat small{font-size:10px}
  #servicios{padding-block:36px!important;gap:18px!important}
  #servicios>h2{font-size:28px!important}
  #servicios>a.card{grid-template-columns:minmax(0,1fr)!important;padding:22px!important;gap:16px!important;border-radius:22px;background:#EEE7FA!important;color:#1A2140!important}
  #servicios>a.card .eyebrow{color:#68409A!important}
  #servicios>a.card .h{font-size:25px!important}
  #servicios>a.card span[style*='background:#fff']{background:#fff!important;color:#1A2140!important;padding:10px 16px!important}
  #servicios>a.card li{padding:8px 10px!important;font-size:14px;background:#fff!important;color:#252C4A;border:1px solid #E4DDEE}
  #servicios>div{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;max-width:100%}
  #servicios>div .card{min-width:0;padding:14px;gap:7px;border-radius:18px}
  #servicios>div .card .h{font-size:clamp(14px,4vw,17px)!important;overflow-wrap:break-word}
  #servicios>div .card span:nth-child(3){font-size:14px;line-height:1.4}
  #servicios>div .card span:last-child{font-size:13px}
  #metodo{padding-block:34px!important;background:#F3EDF7!important;color:#1A2140!important}
  #metodo>.wrap{gap:18px!important}
  #metodo>.wrap>div:first-child{gap:10px!important}
  #metodo .gold{color:#1A2140;font-size:26px!important}
  #metodo>.wrap>div:first-child p{font-size:18px!important;color:#4B5268!important}
  #metodo>.wrap>div:first-child p span{color:#6A4FB0!important}
  #metodo>.wrap>div:first-child .eyebrow{color:#6A4FB0!important;margin-top:0!important}
  #metodo>.wrap>div:first-child h2{font-size:clamp(27px,7vw,34px)!important}
  #metodo>.wrap>div:first-child h3{font-size:24px!important}
  .mt{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:100%;padding:0}
  .mtab{min-width:0;min-height:62px;padding:9px 10px;border-radius:16px;background:#fff;color:#1A2140;border-color:#E5DAED;gap:2px}
  .mtab:nth-child(-n+3){grid-column:span 2}
  .mtab:nth-child(n+4){grid-column:span 3}
  .mtab .h{font-size:18px}
  .mtab small{font-size:10px;letter-spacing:0;color:#4B5268;white-space:normal;overflow-wrap:anywhere}
  .mtab[aria-selected="true"]{background:#fff;border-color:#9555B3;box-shadow:0 3px 12px rgba(66,33,86,.1);transform:none}
  .mpanel{min-height:0;gap:10px;padding:18px;background:#fff;border-color:#E5DAED;border-radius:22px;box-shadow:0 5px 18px rgba(66,33,86,.06)}
  .mpanel .eyebrow{color:#5B5F74!important;letter-spacing:.08em}
  .mpanel #mq{font-size:20px!important}
  .mpanel #mq span{color:#68409A!important}
  #mimg{width:74px;padding:8px;background:#F5F0FA;box-shadow:none}
  .mans{background:#F7F3FA;color:#252C4A;font-size:15px}
  #metodo>.wrap>a.btn{background:#1A2140!important;color:#fff!important}
  main>a[href^='mailto']{background:#EEE7FA!important;color:#1A2140!important}
  main>a[href^='mailto'] .wrap{padding-block:12px!important;font-size:14px!important;gap:4px 8px!important}
  main>a[href^='mailto'] .wrap span:last-child{background:transparent!important;color:#68409A!important;padding:4px!important;text-decoration:underline}
}
}
