
/* Miami / Chip After School Online: only what an online sede adds on top of chip.css */
/* ---- hero: full-bleed campus ---- */
.mhero{position:relative;overflow:hidden;color:#fff;background:#1c1840;
  min-height:clamp(620px,90vh,880px);display:flex;align-items:center;isolation:isolate}
.mhero-bg{position:absolute;inset:-5% 0;z-index:-2;will-change:transform}
.mhero-bg video,.mhero-bg picture,.mhero-bg img,.mhero-bg .kb{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block}
.mhero:after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(14,12,30,.9) 0%,rgba(14,12,30,.68) 48%,rgba(14,12,30,.28) 100%),
  linear-gradient(0deg,rgba(14,12,30,.75),rgba(14,12,30,0) 32%)}
.mhero .wrap{width:100%;padding-top:clamp(44px,6vw,84px);padding-bottom:clamp(56px,7vw,100px)}
.mhero h1{color:#fff;font-size:clamp(46px,8.2vw,112px)}
.mhero .hablar{color:var(--carbon)}
.mhero h1 em{color:var(--carbon)}
.mhero .lede{color:#E6E4EC;max-width:50ch}
.mhero .lede b{color:#fff}
.mhero .responde{color:#C9C6D4}
.mhero .btn.ghost{color:#fff;border-color:#fff}
.mhero .btn.ghost:hover{background:#fff;color:var(--carbon)}
.mhero .btn.full{background:var(--chispa);border-color:var(--chispa);color:var(--carbon)}
.hero-kb img{transform-origin:var(--ox) var(--oy);animation:kbhero 26s ease-in-out infinite alternate}
@keyframes kbhero{from{transform:scale(1.02)}to{transform:scale(var(--z))}}
.hablar .btn{width:100%;justify-content:center;margin-top:16px}
.hablar .btn.oculto{display:none}
/* ---- shared ---- */
.pie-nav{flex-wrap:wrap}
.btn.mag,.cierre .btn{white-space:normal;text-align:left}
.mhero .acciones .btn{white-space:normal}
.franja{padding-bottom:clamp(40px,6vw,84px)}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.hab{border:1px solid var(--linea);border-radius:22px;padding:clamp(22px,2.6vw,32px);background:#fff;
  transition:transform .55s var(--sal),box-shadow .55s var(--sal),border-color .5s}
.hab:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(20,18,24,.1);border-color:var(--pg)}
.hab .cinta{display:block;width:46px;height:6px;margin:0 0 20px;padding:0;border-radius:3px}
.hab h3{font-size:clamp(22px,2.4vw,28px)}
.hab p{font-size:16px;color:var(--tinta2);margin-top:12px;line-height:1.55}
.hab p b{color:var(--carbon)}
@media(max-width:1000px){.tres{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.tres{grid-template-columns:1fr}}
.cuatro .tj.built{min-height:260px}
.dupla.qs{grid-template-columns:1fr 1fr;align-items:center}
.dupla.qs .m-shot{width:100%}
.actores.dos{grid-template-columns:repeat(2,1fr)}
.trim div div{border:0;padding:0;border-radius:0}
.dupla.qs .trim{grid-template-columns:1fr 1fr}
.cap{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--humo);margin-top:16px}
.m-shot .pxw{overflow:hidden;aspect-ratio:16/10;background:#1c1840}
.m-shot .pxw img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--py,0px),0) scale(1.12);will-change:transform}
.m-shots{margin-top:40px}
.sv .pr.txt{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.03em;line-height:1.12}
.sv.destaca .btn.claro{margin-top:24px}
.cierre .btn.full{background:var(--carbon);color:#fff}
.hilo .btn.mag{white-space:normal}
/* stagger: children of a revealed block come in one after another */
.rev.vis .stag>*{animation:entra .85s var(--sal) both}
.rev.vis .stag>*:nth-child(2){animation-delay:0.075s}
.rev.vis .stag>*:nth-child(3){animation-delay:0.150s}
.rev.vis .stag>*:nth-child(4){animation-delay:0.225s}
.rev.vis .stag>*:nth-child(5){animation-delay:0.300s}
.rev.vis .stag>*:nth-child(6){animation-delay:0.375s}
.rev.vis .stag>*:nth-child(7){animation-delay:0.450s}
.rev.vis .stag>*:nth-child(8){animation-delay:0.525s}
.rev.vis .stag>*:nth-child(9){animation-delay:0.600s}
.rev.vis .stag>*:nth-child(10){animation-delay:0.675s}
.rev.vis .stag>*:nth-child(11){animation-delay:0.750s}
.rev.vis .stag>*:nth-child(12){animation-delay:0.825s}

.mag{will-change:transform}
/* ---- campus tour ---- */
.tour{position:relative;margin-top:38px;border-radius:30px;overflow:hidden;background:#161233;color:#fff;
  border:3px solid var(--carbon);outline-offset:4px}
.tstage{position:relative;aspect-ratio:16/9;min-height:380px}
.tslide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 0s 1.1s}
.tslide.on{opacity:1;visibility:visible;transition:opacity 1.1s ease}
.tmedia{position:absolute;inset:0;background:#161233}
.tmedia video,.tmedia .kb,.tmedia picture,.tmedia img{width:100%;height:100%;object-fit:cover;display:block}
.kb{overflow:hidden}
.kb img{transform-origin:var(--ox,50%) var(--oy,50%);transform:scale(1.02)}
.tslide.on .kb img,.st-layer.on .kb img{animation:kbz 10s ease-out forwards}
@keyframes kbz{from{transform:scale(1.02)}to{transform:scale(var(--z,1.3))}}
.proto{position:absolute;top:16px;left:16px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--carbon);border-radius:999px;padding:6px 12px}
.tcap{position:absolute;left:0;right:0;bottom:0;padding:clamp(90px,12vw,170px) clamp(22px,4.4vw,64px) clamp(70px,7vw,92px);
  background:linear-gradient(0deg,rgba(14,12,30,.94) 12%,rgba(14,12,30,0))}
.tcap>*{max-width:640px}
.tchip{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;background:var(--chispa);color:var(--carbon);border-radius:999px;padding:7px 15px;font-weight:500}
.tchip b{font-weight:500;opacity:.55}
.tcap h3{font-size:clamp(26px,4.2vw,52px);margin-top:14px;color:#fff;line-height:.98}
.tcap p{margin-top:12px;color:#DCDAE2;font-size:clamp(15px,1.5vw,18px);line-height:1.5}
.tslide.on .tcap>*{animation:entra .9s var(--sal) both}
.tslide.on .tcap>*:nth-child(2){animation-delay:.1s}.tslide.on .tcap>*:nth-child(3){animation-delay:.2s}
.tnav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:52px;height:52px;border-radius:50%;
  border:2px solid #fff;background:rgba(20,18,24,.5);color:#fff;cursor:pointer;display:grid;place-items:center;
  backdrop-filter:blur(6px);transition:background .35s,transform .4s var(--rebote)}
.tnav svg{width:22px;height:22px}
.tnav:hover{background:#fff;color:var(--carbon)}
.tnav.prev{left:clamp(12px,2vw,24px)}.tnav.next{right:clamp(12px,2vw,24px)}
.tbar{position:absolute;left:clamp(22px,4.4vw,64px);right:clamp(22px,4.4vw,64px);bottom:clamp(20px,2.2vw,28px);z-index:6;
  display:flex;align-items:center;gap:18px}
.tdots{display:flex;gap:8px;align-items:center}
.tdots button{width:30px;height:5px;border-radius:3px;border:0;padding:0;cursor:pointer;background:rgba(255,255,255,.35);
  transition:background .4s,width .5s var(--sal)}
.tdots button[aria-selected="true"]{background:#fff;width:52px}
.tcount{opacity:.75;margin-left:auto}
.tpres{border:2px solid #fff;background:transparent;color:#fff;border-radius:999px;padding:9px 17px;font-family:var(--sans);
  font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .35s,color .35s}
.tpres:hover{background:#fff;color:var(--carbon)}
.tprog{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(255,255,255,.18);z-index:7}
.tprog i{display:block;height:100%;width:0;background:var(--chispa)}
.tprog i.run{animation:tprog var(--dur,8000ms) linear forwards}
@keyframes tprog{from{width:0}to{width:100%}}
.tour.manual .tprog{display:none}
.tour.pres{position:fixed;inset:0;z-index:200;border-radius:0;border:0;margin:0;background:#000}
.tour.pres .tstage{aspect-ratio:auto;height:100vh;height:100dvh;min-height:0}
.tour.pres .tcap{padding-left:clamp(32px,7vw,120px)}
.tour.pres .tcap>*{max-width:900px}
.tour.pres .tcap h3{font-size:clamp(34px,5.6vw,84px)}
.tour.pres .tcap p{font-size:clamp(17px,2vw,26px)}
.tour.pres .tnav{display:none}
html.tour-lock,html.tour-lock body{overflow:hidden}
.ia-scene{position:relative;width:100%;height:100%;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 30%,#2a2468,#120f2b 70%)}
.ia-scene .chip{width:clamp(130px,20vw,230px)}
.ia-clock{position:absolute;top:18px;right:20px;color:#C9C6D4}
.ia-b{position:absolute;background:#fff;color:var(--carbon);border:3px solid var(--carbon);border-radius:18px;padding:12px 17px;
  font-family:var(--disp);font-weight:800;letter-spacing:-.02em;line-height:1.2;font-size:clamp(14px,1.7vw,21px);max-width:20ch}
.ia-b.kid{left:8%;top:24%;background:var(--chispa)}
.ia-b.ia{right:7%;top:46%}
.tstage:has(.ia-scene) .tcap{background:linear-gradient(0deg,rgba(14,12,30,.94) 12%,rgba(14,12,30,0))}
/* ---- scrollytelling ---- */
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,72px);align-items:start;margin-top:30px}
.st-step{min-height:82vh;display:flex;flex-direction:column;justify-content:center;opacity:.28;transition:opacity .6s}
.st-step.on{opacity:1}
.st-step h3{font-size:clamp(30px,4.2vw,54px);margin-top:18px}
.st-step .paso-n{align-self:flex-start;background:var(--chispa)}
.st-step:nth-child(2) .paso-n{background:var(--acido)}
.st-step:nth-child(3) .paso-n{background:var(--voltio)}
.st-step:nth-child(4) .paso-n{background:var(--fucsia)}
.st-media{position:sticky;top:96px;align-self:start}
.st-frame{position:relative;width:100%;aspect-ratio:4/3;border:3px solid var(--carbon);border-radius:30px;overflow:hidden;background:#161233}
.st-layer{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.st-layer.on{opacity:1}
.st-layer video,.st-layer .kb,.st-layer picture,.st-layer img{width:100%;height:100%;object-fit:cover;display:block}
.st-tags{position:absolute;left:18px;bottom:16px;z-index:4}
.st-tags .tchip{display:none}.st-tags .tchip.on{display:inline-flex}
/* ---- film ---- */
.film{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,60px);align-items:center}
.film-box{position:relative;border:3px solid var(--carbon);border-radius:28px;overflow:hidden;background:#161233;aspect-ratio:16/9}
.film-v,.film-soon,.film-soon img{width:100%;height:100%;display:block;object-fit:cover}
.film-soon{position:relative}.film-soon .tchip{position:absolute;left:18px;bottom:18px}
.film-soon:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,12,30,.7),rgba(14,12,30,.1))}
.film-soon .tchip{z-index:2}
/* ---- books ---- */
.libros{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.libro{margin:0;border:2px solid var(--carbon);border-radius:24px;padding:clamp(18px,2.4vw,28px);display:grid;gap:18px}
.tapa{background:var(--hueso);border-radius:12px;overflow:hidden;box-shadow:0 18px 36px rgba(20,18,24,.16);transition:transform .6s var(--sal)}
.libro:hover .tapa,.pack figure:hover .tapa{transform:translateY(-6px) rotate(-1deg)}
.tapa img{width:100%;height:auto}
.libro figcaption .mono{color:var(--brasa)}
.libro h3{font-size:clamp(24px,2.6vw,32px);margin-top:8px}
.libro p{font-size:15.5px;color:var(--tinta2);margin-top:8px;line-height:1.5}
.pack{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,30px);margin-top:30px;max-width:900px}
.pack figure{margin:0}
.pack figcaption{margin-top:14px;display:flex;flex-direction:column;gap:2px}
.pack figcaption b{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.03em}
.pack figcaption span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--humo)}
/* ---- comparison ---- */
.cmp-wrap{margin-top:38px}
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:16px}
.cmp th,.cmp td{padding:17px 18px;text-align:left;border-bottom:1px solid var(--linea);vertical-align:middle}
.cmp thead th{font-family:var(--disp);font-weight:800;font-size:clamp(15px,1.7vw,19px);letter-spacing:-.02em;border-bottom:2px solid var(--carbon);vertical-align:bottom}
.cmp thead th.us{background:var(--voltio);border-radius:18px 18px 0 0;border-bottom-color:var(--voltio)}
.cmp tbody th{font-weight:700;width:34%}
.cmp td.si:first-of-type{background:rgba(0,194,242,.12)}
.cmp td span{font-weight:700}
.cmp td.si{font-weight:800}
.cmp td.si svg{display:inline-block;vertical-align:-5px;margin-right:8px}
.cmp td.no span{color:var(--humo);font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.cmp td:nth-child(2){background:rgba(0,194,242,.1)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
/* ---- method page ---- */
.pills-sec{padding:clamp(28px,4vw,44px) 0 clamp(44px,6vw,80px)}
.pills{margin-top:0}
.pills a{border:2px solid var(--carbon);border-radius:999px;padding:10px 18px;font-weight:800;font-size:15px;text-decoration:none;
  transition:transform .4s var(--rebote),background .35s}
.pills a:nth-child(1){background:var(--chispa)}.pills a:nth-child(2){background:var(--acido)}
.pills a:nth-child(3){background:var(--voltio)}.pills a:nth-child(4){background:var(--fucsia)}
.pills a:hover{transform:translateY(-3px)}
section[id]{scroll-margin-top:84px}
.inners{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,30px);margin-top:26px}
.inners figure{margin:0}
.inners .page{background:#fff;border:2px solid var(--carbon);border-radius:14px;overflow:hidden;box-shadow:0 18px 36px rgba(20,18,24,.14);
  transition:transform .6s var(--sal)}
.inners figure:hover .page{transform:translateY(-6px) rotate(.8deg)}
.inners img{width:100%;height:auto}
.inners figcaption{margin-top:14px}
.inners figcaption b{display:block;font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.03em}
.inners figcaption span{display:block;font-size:15px;color:var(--tinta2);margin-top:4px;line-height:1.5}
.report{border:2px solid var(--carbon);border-radius:24px;padding:clamp(22px,3vw,34px);background:#fff;box-shadow:0 22px 46px rgba(20,18,24,.1)}
.report .rh{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.report .rh small{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--humo)}
.report .rr{border-top:1px solid var(--linea);padding:16px 0 0;margin-top:16px}
.report .rr b{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brasa)}
.report .rr p{margin-top:6px;font-size:16.5px;line-height:1.5}
.ladder{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.ladder .rung{display:flex;gap:16px;align-items:flex-start;border:2px solid var(--carbon);border-radius:20px;padding:16px 20px;background:#fff;
  transition:transform .5s var(--sal)}
.ladder .rung:hover{transform:translateX(6px)}
.ladder .rn{flex:0 0 38px;height:38px;border-radius:50%;border:2px solid var(--carbon);display:grid;place-items:center;
  font-family:var(--mono);font-size:13px;font-weight:500}
.ladder .r0 .rn{background:var(--chispa)}.ladder .r1 .rn{background:var(--acido)}.ladder .r2 .rn{background:var(--voltio)}
.ladder .r3 .rn{background:var(--voltio)}.ladder .r4 .rn{background:var(--voltio)}.ladder .r5 .rn{background:var(--fucsia)}
.ladder b{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.03em}
.ladder p{font-size:15.5px;color:var(--tinta2);margin-top:4px;line-height:1.5}
.ladder .r2{margin-left:14px}.ladder .r3{margin-left:28px}.ladder .r4{margin-left:42px}.ladder .r5{margin-left:56px;background:var(--carbon);color:#fff}
.ladder .r5 p{color:#B4B1BE}
.dupla.qs.ladder-wrap{align-items:start}
.ia-frame{aspect-ratio:4/5;max-height:620px;position:sticky;top:96px}
.reloj.one{grid-template-columns:1fr;margin-top:0}
.film .reloj.one{gap:12px}
.wtl{list-style:none;padding:0;margin:44px 0 0;position:relative}
.wtl:before,.wtl:after{content:"";position:absolute;left:11px;top:6px;width:4px;border-radius:2px}
.wtl:before{bottom:6px;background:var(--linea)}
.wtl:after{height:calc((100% - 12px) * var(--p,0));background:linear-gradient(180deg,var(--chispa),var(--fucsia));transition:height .15s linear}
.wt{position:relative;display:grid;grid-template-columns:150px 1fr;gap:clamp(14px,3vw,36px);padding:0 0 clamp(30px,4vw,52px) 52px}
.wt:before{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--linea);
  transition:background .4s,border-color .4s,transform .5s var(--rebote)}
.wt.on:before{background:var(--chispa);border-color:var(--carbon);transform:scale(1.15)}
.wt .wd{color:var(--tinta2);padding-top:5px}
.wt .wb h3{font-size:clamp(24px,3vw,36px)}
.wt .wb p{font-size:16.5px;color:var(--tinta2);margin-top:10px;max-width:60ch;line-height:1.55}
.wp{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.wp span{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--carbon);border-radius:999px;padding:5px 12px}
.js .wt .wd,.js .wt .wb{opacity:.3;transition:opacity .6s}
.js .wt.on .wd,.js .wt.on .wb{opacity:1}
/* ---- responsive ---- */
@media(max-width:1000px){
  .dupla.qs{grid-template-columns:1fr}
  .film{grid-template-columns:1fr}
  .libros{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .inners{grid-template-columns:1fr 1fr}
  .ia-frame{position:relative;top:0;aspect-ratio:4/3}
  .wt{grid-template-columns:1fr;gap:6px}
  .ladder .r2,.ladder .r3,.ladder .r4,.ladder .r5{margin-left:0}
  .story{grid-template-columns:1fr}
  .st-media{order:-1;top:62px;z-index:8;background:#fff;padding:10px 0}
  .st-frame{aspect-ratio:16/10;max-height:34vh;border-radius:22px}
  .st-step{min-height:60vh}
  .st-step h3{font-size:clamp(28px,7vw,40px)}
  .tstage{min-height:480px;aspect-ratio:auto}
  .tcap{padding-top:120px;padding-bottom:84px}
  .tnav{top:34%;width:44px;height:44px}
  .tcount{display:none}
  .tpres{margin-left:auto}
}
@media(max-width:700px){
  .cmp thead{display:none}
  .cmp tr{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--linea);padding:12px 0}
  .cmp tbody th{width:auto;border:0;padding:8px 4px;font-family:var(--disp);font-size:18px;letter-spacing:-.02em}
  .cmp td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;padding:8px 14px;background:none!important}
  .cmp td:before{content:attr(data-l);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--humo)}
  .cmp td:nth-child(2){background:rgba(0,194,242,.14)!important;border-radius:12px}
  .cmp tbody tr:last-child{border-bottom:0}
}
@media(max-width:620px){
  .inners{grid-template-columns:1fr}
  .libros{grid-template-columns:1fr}
  .pack{grid-template-columns:repeat(3,1fr);gap:8px}
  .pack figcaption b{font-size:14px}
  .pack figcaption span{font-size:9.5px}
  .actores.dos{grid-template-columns:1fr}
  .mhero{min-height:0}
  .tbar{left:16px;right:16px;gap:10px}
  .tdots{gap:5px}
  .tdots button{width:13px}.tdots button[aria-selected="true"]{width:26px}
  .tpres{padding:8px 13px;font-size:13px}
  .tcap{padding-left:20px;padding-right:20px}
}
@media (prefers-reduced-motion:reduce){
  .rev.vis .stag>*{animation:none!important}
  .mag{will-change:auto}
}

/* ---- nav: grouped dropdowns (keyboard accessible) ---- */
.menu .mg{position:relative}
.menu .mg-b{font-family:var(--sans);font-size:15px;font-weight:800;color:var(--carbon);padding:10px 18px;border-radius:999px;
  border:2px solid var(--carbon);cursor:pointer;display:inline-flex;align-items:center;gap:9px;
  transition:transform .45s var(--rebote),box-shadow .45s var(--sal)}
.menu .mg.m1 .mg-b{background:var(--chispa)}.menu .mg.m2 .mg-b{background:var(--acido)}
.menu .mg.m3 .mg-b{background:var(--voltio)}.menu .mg.m4 .mg-b{background:var(--fucsia)}
.menu .mg-b:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(20,18,24,.18)}
.menu .mg-b.cur{box-shadow:inset 0 0 0 2.5px var(--carbon)}
.menu .mg-b i{width:7px;height:7px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s}
.menu .mg-b[aria-expanded="true"] i{transform:rotate(-135deg) translate(-1px,-1px)}
.mg-p{display:none;position:absolute;top:calc(100% + 10px);left:0;min-width:250px;background:#fff;border:2px solid var(--carbon);
  border-radius:20px;padding:8px;box-shadow:0 22px 46px rgba(20,18,24,.18);z-index:60;flex-direction:column;gap:2px}
.mg.open>.mg-p{display:flex;animation:entra .35s var(--sal)}
html:not(.js) .mg:hover>.mg-p,html:not(.js) .mg:focus-within>.mg-p{display:flex}
.menu .mg-p a{border:0;background:none;border-radius:12px;padding:11px 14px;font-weight:700;white-space:nowrap;box-shadow:none}
.menu .mg-p a:hover{background:var(--hueso);transform:none;box-shadow:none}
.menu .mg-p a[aria-current="page"]{background:var(--hueso);box-shadow:inset 4px 0 0 var(--pg,var(--carbon))}
.menu .mg-b:focus-visible,.menu .mg-p a:focus-visible{outline:3px solid var(--carbon);outline-offset:3px}
@media(max-width:1000px){
  .menu{max-height:calc(100vh - 74px);max-height:calc(100dvh - 74px);overflow-y:auto}
  .menu .mg-b{border:0;background:none!important;padding:8px 4px 2px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--humo);pointer-events:none;box-shadow:none!important;transform:none!important}
  .menu .mg-b i{display:none}
  .mg-p{display:flex;position:static;border:0;box-shadow:none;padding:0 0 6px;min-width:0}
  .menu .mg-p a{background:var(--hueso);white-space:normal}
}
/* ---- components shared by the new pages ---- */
.cinco{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}
.cinco .tj{min-height:0}
.pills3{margin-top:0}
.pills3 span{background:var(--chispa)}.pills3 span:nth-child(2){background:var(--acido)}.pills3 span:nth-child(3){background:var(--voltio)}
ul.pl{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:13px}
ul.pl li{display:flex;gap:12px;align-items:flex-start;font-size:16.5px;line-height:1.5;color:var(--tinta2)}
ul.pl li b{color:var(--carbon)}
ul.pl svg{flex:0 0 21px;margin-top:2px}
.chain{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px;counter-reset:ch}
.chain li{display:inline-flex;align-items:center;gap:10px;border:2px solid var(--carbon);border-radius:999px;padding:9px 18px 9px 10px;
  font-family:var(--disp);font-weight:800;font-size:17px;letter-spacing:-.02em;background:#fff;position:relative}
.chain li i{font-style:normal;font-family:var(--mono);font-size:11px;font-weight:500;width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;background:var(--chispa)}
.chain li:nth-child(2) i{background:var(--acido)}.chain li:nth-child(3) i{background:var(--voltio)}.chain li:nth-child(4) i{background:var(--fucsia)}
.chain li:nth-child(5) i{background:var(--chispa)}.chain li:nth-child(6) i{background:var(--acido)}.chain li:nth-child(7) i{background:var(--voltio)}
.chain li:nth-child(8) i{background:var(--fucsia)}
.chain li:not(:last-child):after{content:"";position:absolute;right:-12px;top:50%;width:12px;height:2px;background:var(--carbon)}
.sys .tj{min-height:230px}
.sys .tj .et .paso-n{margin-right:2px}
/* patches */
.pstrip,.pgal{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:clamp(8px,1.4vw,18px)}
.pstrip{grid-template-columns:repeat(9,1fr)}
.pstrip li{text-align:center}
.pstrip li.half img{width:78%;margin:0 auto}
.pstrip img{width:100%;height:auto;transition:transform .55s var(--rebote)}
.pstrip li:hover img{transform:translateY(-7px) rotate(-4deg) scale(1.06)}
.pstrip b{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(11px,1.15vw,16px);letter-spacing:-.03em;margin-top:8px;line-height:1.1}
.pstrip li.half b{color:var(--humo);font-weight:700;font-size:clamp(9.5px,.95vw,13px)}
.pgal{grid-template-columns:repeat(3,1fr);gap:16px}
.pc{border:1px solid var(--linea);border-radius:22px;padding:22px;display:grid;grid-template-columns:120px 1fr;gap:4px 22px;align-items:center;
  transition:transform .55s var(--sal),box-shadow .55s var(--sal)}
.pc:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(20,18,24,.1)}
.pc img{grid-row:1/3;width:120px;height:auto;transition:transform .55s var(--rebote)}
.pc:hover img{transform:rotate(-6deg) scale(1.06)}
.pc .mono{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--humo);align-self:end}
.pc b{font-family:var(--disp);font-weight:800;font-size:clamp(19px,2vw,24px);letter-spacing:-.03em;line-height:1.05;align-self:start}
/* curriculum: nine steps */
.e9l{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-direction:column;gap:10px}
.e9{display:grid;grid-template-columns:76px minmax(180px,.8fr) 1.3fr auto;gap:8px 22px;align-items:center;border:1px solid var(--linea);
  border-radius:20px;padding:14px 22px 14px 14px;background:#fff;transition:transform .5s var(--sal),box-shadow .5s var(--sal)}
.e9:hover{transform:translateX(6px);box-shadow:0 16px 34px rgba(20,18,24,.09)}
.e9 img{width:76px;height:76px}
.e9n .mono{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--humo)}
.e9n b{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(19px,2vw,25px);letter-spacing:-.03em;line-height:1.05}
.e9 p{margin:0;font-size:16.5px;line-height:1.45;color:var(--carbon)}
.chk{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--carbon);border-radius:999px;padding:6px 13px;white-space:nowrap}
.chk.auto{background:var(--acido)}.chk.sign{background:var(--chispa)}
.e9.ahead{border-style:dashed;background:var(--hueso)}
.e9.ahead img{filter:grayscale(.55);opacity:.7}
.e9.ahead .chk{background:none;border-color:var(--humo);color:var(--tinta2)}
.atag{display:inline-block;margin-top:5px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:var(--carbon);color:#fff;border-radius:999px;padding:3px 10px}
.ahead-h{margin:26px 0 6px}
.ahead-h h3{font-size:clamp(26px,3.2vw,40px)}
.ahead-h p{font-size:16.5px;color:var(--tinta2);margin-top:8px;max-width:62ch}
/* tabs */
.ptabs{margin-top:34px}
.ppanel{margin-top:30px;animation:entra .55s var(--sal)}
.ppanel[hidden]{display:none}
.ppanel:focus-visible{outline:3px solid var(--carbon);outline-offset:6px;border-radius:12px}
.vb{font-family:var(--sans)}
.vb:focus-visible{outline:3px solid var(--carbon);outline-offset:3px}
.pshots{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.pshots .m-shot{margin:0}
.m-shot img{display:block}
.m-shot.real .pxw{aspect-ratio:1200/717;background:#fff}
.m-shot.real .pxw img{transform:none!important;object-fit:contain;object-position:top}
.ia-frame.wide{aspect-ratio:16/10;max-height:none}
.m-shot.bar{margin:22px 0 0;border:3px solid var(--carbon);border-radius:18px;overflow:hidden}
.m-shot.bar img{width:100%;height:auto}
/* wall of missions */
.wall{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.wall li{border:2px solid var(--carbon);border-radius:999px;padding:9px 18px 9px 9px;font-weight:700;font-size:16px;display:inline-flex;align-items:center;gap:11px;background:#fff;
  transition:transform .4s var(--rebote)}
.wall li:hover{transform:translateY(-3px)}
.wall li span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;background:var(--chispa);border-radius:999px;padding:5px 11px}
.wall li:nth-child(4n+2) span{background:var(--acido)}.wall li:nth-child(4n+3) span{background:var(--voltio)}.wall li:nth-child(4n) span{background:var(--fucsia)}
/* status */
.stt{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stt li{border:1px solid var(--linea);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;background:#fff}
.stt b{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.03em}
.stt p{margin:6px 0 0;font-size:15.5px;color:var(--tinta2);line-height:1.5}
.stat{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--carbon);border-radius:999px;padding:5px 12px}
.stat.live{background:var(--acido)}.stat.soon{background:var(--chispa)}.stat.dev{background:var(--fucsia);color:var(--carbon)}
/* books */
.inners.two{grid-template-columns:repeat(2,minmax(0,380px))}
.prog{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.prog>div{border:1px solid var(--linea);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.prog .mono{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--humo)}
.prog .bar{height:12px;border-radius:6px;background:var(--hueso);border:1px solid var(--linea);overflow:hidden}
.prog .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--chispa),var(--acido))}
.prog b{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.03em}
/* /camino/ */
.camino{min-height:100vh;display:grid;align-items:center;padding:clamp(30px,6vw,80px) 0}
.camino-card{max-width:620px;margin:0 auto;border:3px solid var(--carbon);border-radius:30px;padding:clamp(26px,4vw,48px);background:#fff;box-shadow:10px 10px 0 var(--chispa)}
.camino-card h1{font-size:clamp(34px,6vw,58px);margin-top:12px}
.camino-card .mono{margin-top:18px;background:var(--hueso);border-radius:12px;padding:10px 14px;font-size:13px;word-break:break-all}
.deeper{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:26px}
.deeper .mono{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--humo);margin-right:6px}
/* responsive */
@media(max-width:1100px){
  .pstrip{grid-template-columns:repeat(5,1fr)}.pstrip li.half{display:none}
  .pgal{grid-template-columns:1fr 1fr}
  .cinco{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .e9{grid-template-columns:64px 1fr;gap:6px 16px}
  .e9 img{width:64px;height:64px;grid-row:1/3}
  .e9 p,.e9 .chk{grid-column:2}
  .e9 .chk{justify-self:start;white-space:normal}
  .pshots{grid-template-columns:1fr}
  .stt{grid-template-columns:1fr}
  .prog{grid-template-columns:1fr}
  .inners.two{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .pgal{grid-template-columns:1fr}
  .pstrip{grid-template-columns:repeat(3,1fr)}
  .cinco{grid-template-columns:1fr}
  .chain li{font-size:15px}
  .inners.two{grid-template-columns:1fr}
  .reloj.tres-col[style]{grid-template-columns:1fr!important}
}

/* ---- nav: direct links + a "More" menu ---- */
.menu a,.menu .mg-b{white-space:nowrap}
.menu{gap:6px}
@media(max-width:1420px){.menu a,.menu .mg-b{font-size:14px;padding:8px 12px}.menu{gap:5px}.sede{margin-left:0;padding-left:9px}}
.menu a.m5{background:#fff}
.menu .mg.m6 .mg-b{background:#fff}
.menu .mg.m6 .mg-p{left:auto;right:0}
@media(max-width:1000px){.menu{align-items:stretch}.menu>a{text-align:left;border-radius:16px;padding:13px 18px;font-size:16px}.menu a.m5{background:var(--hueso)}.menu .mg{width:100%}}
/* ---- learning page: hero ---- */
.lh .lh-g{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center}
.lh-act{margin-top:30px}
.lh-shot{margin:0}
.lh-shot .pxw{aspect-ratio:1200/717;background:#fff;border:3px solid var(--carbon);border-radius:22px;box-shadow:10px 10px 0 var(--chispa)}
.lh-shot .pxw img{transform:none!important;object-fit:cover;object-position:top}
.lh-min{margin:clamp(34px,5vw,60px) 0 0;color:var(--humo);letter-spacing:.2em;text-transform:uppercase;font-size:11px}
.lh-quick{margin-top:16px;grid-template-columns:repeat(4,1fr)}
.qk{min-height:0;text-decoration:none;color:inherit}
.qk h3{padding-top:14px}
.qk .va{margin-top:18px}
/* ---- jump bar ---- */
.jump{position:sticky;top:68px;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea);margin-top:clamp(34px,5vw,60px)}
.jump ul{list-style:none;margin:0;padding:10px 0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.jump ul::-webkit-scrollbar{display:none}
.jump a{display:block;white-space:nowrap;border:2px solid var(--carbon);border-radius:999px;padding:7px 15px;font-weight:800;font-size:14px;text-decoration:none;color:var(--carbon);
  transition:background .3s,transform .4s var(--rebote)}
.jump a:hover{transform:translateY(-2px)}
.jump a.on{background:var(--carbon);color:#fff}
.jump a:focus-visible{outline:3px solid var(--carbon);outline-offset:3px}
section[id],.ar[id]{scroll-margin-top:130px}
/* ---- areas ---- */
.ar{padding:clamp(34px,5vw,70px) 0;border-top:1px solid var(--linea)}
.ar:nth-of-type(even){background:var(--hueso)}
.ar-head{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,40px);align-items:start}
.ar-n{font-family:var(--disp);font-weight:800;font-size:clamp(54px,9vw,120px);line-height:.8;color:var(--ac);-webkit-text-stroke:3px var(--carbon);letter-spacing:-.04em}
.ar-head h3{font-size:clamp(32px,5vw,62px);line-height:1}
.ar-lead{font-size:clamp(17px,1.9vw,21px);line-height:1.5;color:var(--tinta2);max-width:60ch;margin-top:16px}
.ar-meta2{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:18px}
.stu{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.stu .mono{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--humo);margin-right:4px}
.stu b{border:2px solid var(--carbon);border-radius:999px;padding:4px 12px;font-size:13.5px;background:var(--ac)}
.ar-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,3.4vw,52px);margin-top:clamp(26px,3.6vw,48px);align-items:start}
.ar-vis{margin:0}
.ar-fr{position:relative;border:3px solid var(--carbon);border-radius:26px;overflow:hidden;background:var(--ac);box-shadow:8px 8px 0 var(--ac)}
.ar-fr.art-fr{box-shadow:8px 8px 0 var(--carbon)}
.ar-fr>img{display:block;width:100%;height:auto}
.ar-fr.shot>img{background:#fff}
.ar-fr>img.ar-inset{position:absolute;right:14px;bottom:14px;width:24%;height:auto;border:3px solid var(--carbon);border-radius:14px;box-shadow:0 8px 22px rgba(20,18,24,.3);transform:rotate(2deg)}
.art{display:block;width:100%;height:auto}
.ar-vis figcaption{font-size:14px;color:var(--tinta2);margin-top:14px;line-height:1.45}
.ar h4,.sg-h+h4,.sci-games h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--tinta2);margin:0 0 12px}
.ar-learn ul.pl{margin-top:0}
.ar-learn ul.pl li{font-size:16.5px}
.ar-how{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(22px,3.4vw,52px);margin-top:clamp(28px,4vw,52px)}
.ar-ex{border:3px solid var(--carbon);border-radius:24px;padding:clamp(22px,2.8vw,34px);background:#fff;box-shadow:8px 8px 0 var(--ac)}
.ar-ex h4{font-family:var(--disp);font-size:clamp(24px,2.8vw,34px);letter-spacing:-.03em;text-transform:none;color:var(--carbon);font-weight:800;margin:14px 0 0;line-height:1.05}
.ar-ex>p.ar-meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--humo);margin:8px 0 12px}
.ar-ex>p{font-size:16.5px;line-height:1.5;color:var(--tinta2)}
.ar-steps{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:10px;counter-reset:s}
.ar-steps li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45}
.ar-steps i{flex:0 0 28px;height:28px;border-radius:50%;border:2px solid var(--carbon);background:var(--ac);display:grid;place-items:center;font-style:normal;font-family:var(--mono);font-size:12px;font-weight:500}
.how-h{margin-bottom:14px}
.build-card{border:2px dashed var(--carbon);border-radius:20px;padding:18px 22px;background:#fff}
.build-card .et{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brasa)}
.build-card p{font-family:var(--disp);font-weight:800;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.03em;line-height:1.15;margin-top:8px}
.ar-more{font-size:15.5px;color:var(--tinta2);line-height:1.5;margin:14px 0 22px}
.ccps{display:flex;flex-wrap:wrap;gap:8px}
.ccp{border:2px solid var(--carbon);border-radius:999px;padding:6px 14px;font-weight:800;font-size:14px;background:var(--ac)}
.ar>.wrap>h4{margin-top:clamp(26px,3.6vw,44px)}
.ar-ages{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ar-ages.two{grid-template-columns:repeat(2,1fr);margin-top:clamp(26px,3.6vw,44px)}
.ar-age{border:2px solid var(--carbon);border-radius:20px;padding:20px 22px;background:#fff}
.ar-age .mono{display:inline-block;background:var(--ac);border:2px solid var(--carbon);border-radius:999px;padding:4px 12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ar-age p{font-size:16px;line-height:1.5;margin-top:12px;color:var(--tinta2)}
.proto{position:absolute;top:14px;left:14px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.94);color:var(--carbon);border-radius:999px;padding:6px 12px}
.proto-chip{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:2px dashed var(--carbon);border-radius:999px;padding:5px 12px;background:#fff}
/* science games */
.sci-games{margin-top:clamp(30px,4vw,56px);border:3px solid var(--carbon);border-radius:26px;padding:clamp(22px,3vw,38px);background:#fff}
.sg-h{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.sci-games h4{font-family:var(--disp);font-size:clamp(24px,3vw,36px);letter-spacing:-.03em;text-transform:none;color:var(--carbon);font-weight:800;margin:16px 0 0}
.sci-games>p{font-size:16.5px;color:var(--tinta2);line-height:1.55;max-width:64ch;margin-top:10px}
.sg-grid{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sg{display:flex;gap:14px;align-items:center;border:2px solid var(--carbon);border-radius:18px;padding:12px 16px 12px 12px;background:var(--hueso);transition:transform .45s var(--rebote)}
.sg:hover{transform:translateY(-3px)}
.sg:nth-child(3n+1){background:rgba(143,224,30,.22)}.sg:nth-child(3n+2){background:rgba(0,194,242,.16)}.sg:nth-child(3n){background:rgba(255,201,60,.26)}
.sg .gl{flex:0 0 52px;width:52px;height:52px}
.sg b{font-family:var(--disp);font-weight:800;font-size:17px;letter-spacing:-.02em;line-height:1.15}
/* ---- loop ---- */
.loop{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:lp}
.lp{position:relative;border:2px solid var(--carbon);border-radius:24px;padding:22px 22px 24px;background:#fff;display:flex;flex-direction:column;gap:8px}
.lp:before{content:"";position:absolute;left:-2px;right:-2px;top:-2px;height:14px;border-radius:24px 24px 0 0;border:2px solid var(--carbon);border-bottom:0;background:var(--chispa)}
.lp.t2:before{background:var(--acido)}.lp.t3:before{background:var(--voltio)}.lp.t4:before{background:var(--fucsia)}
.lp.t5:before{background:var(--chispa)}.lp.t6:before{background:var(--acido)}.lp.t7:before{background:var(--voltio)}
.lp-n{margin-top:14px;width:36px;height:36px;border-radius:50%;border:2px solid var(--carbon);display:grid;place-items:center;font-family:var(--mono);font-weight:500;font-size:14px;background:var(--hueso)}
.lp-k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--humo)}
.lp h4{font-family:var(--disp);font-weight:800;font-size:clamp(19px,1.9vw,23px);letter-spacing:-.03em;line-height:1.1}
.lp p{font-size:15.5px;line-height:1.5;color:var(--tinta2)}
.lp:not(.lp-back):after{content:"";position:absolute;right:-13px;top:50%;width:12px;height:2px;background:var(--carbon);z-index:1}
.lp.t4:after,.lp.t7:after{display:none}
.lp-back{grid-column:span 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;border:2px dashed var(--carbon);border-radius:24px;padding:18px}
.lp-back p{font-family:var(--disp);font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--carbon);line-height:1.2}
.js .loop .lp,.js .loop .lp-back{opacity:.18;transform:translateY(10px);transition:opacity .6s,transform .7s var(--sal)}
.js .loop .on{opacity:1;transform:none}
.how-duo{margin-top:clamp(34px,5vw,60px);align-items:start}
.vs th,.vs td{vertical-align:top}
.vs tbody th{width:26%}
.vs td.no{color:var(--tinta2)}
.vs td.si{font-weight:700}
.vs thead th.us{background:var(--chispa)}
.vs td:nth-child(3){background:rgba(255,201,60,.16)}
.vs td:nth-child(2){background:none}
.show .pxw{aspect-ratio:16/9;background:#1c1840}
.show .pxw img{transform:none!important;object-fit:cover}
.ladder-wrap{margin-top:26px}
.ladder-wrap .m-shot{align-self:start}
.earn{margin-top:clamp(40px,6vw,72px);border:3px solid var(--carbon);border-radius:28px;padding:clamp(22px,3.2vw,40px);background:var(--hueso)}
.earn-h{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.earn-g{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.earn-c{border:2px solid var(--carbon);border-radius:22px;padding:22px 24px;background:#fff}
.earn-c h4{font-family:var(--disp);font-weight:800;font-size:26px;letter-spacing:-.03em;text-transform:none;color:var(--carbon);margin:0}
.earn-c p{font-size:16px;line-height:1.55;color:var(--tinta2);margin-top:10px}
.earn-p{display:flex;gap:10px;margin-top:16px}.earn-p .pimg{width:15%;height:auto}
.earn-o{list-style:none;display:flex;gap:12px;padding:0;margin:18px 0 0;flex-wrap:wrap}
.earn-cap{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--humo)!important;margin-top:10px!important}
/* ---- timeline ---- */
.tl{list-style:none;margin:46px 0 0;padding:0;position:relative}
.tl:before,.tl:after{content:"";position:absolute;left:15px;top:8px;width:6px;border-radius:3px}
.tl:before{bottom:8px;background:var(--linea)}
.tl:after{height:calc((100% - 16px) * var(--p,0));background:linear-gradient(180deg,var(--chispa),var(--acido) 40%,var(--voltio) 70%,var(--fucsia));transition:height .2s linear}
.tl-i{position:relative;padding:0 0 clamp(30px,4.4vw,56px) clamp(54px,7vw,84px)}
.tl-dot{position:absolute;left:4px;top:4px;width:28px;height:28px;border-radius:50%;background:#fff;border:4px solid var(--linea);transition:background .4s,border-color .4s,transform .5s var(--rebote);z-index:1}
.tl-i.on .tl-dot{background:var(--chispa);border-color:var(--carbon);transform:scale(1.15)}
.tl-when{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:12px}
.tl-when .mono{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--tinta2)}
.tl-card{border:3px solid var(--carbon);border-radius:28px;padding:clamp(22px,3.2vw,40px);background:#fff;transition:box-shadow .6s var(--sal),transform .6s var(--sal)}
.tl-i.on .tl-card{box-shadow:10px 10px 0 var(--chispa)}
.tl-i:nth-child(2).on .tl-card{box-shadow:10px 10px 0 var(--acido)}.tl-i:nth-child(3).on .tl-card{box-shadow:10px 10px 0 var(--voltio)}
.tl-i:nth-child(4).on .tl-card{box-shadow:10px 10px 0 var(--fucsia)}.tl-i:nth-child(5).on .tl-card{box-shadow:10px 10px 0 var(--brasa)}
.tl-card h3{font-size:clamp(28px,3.8vw,46px);line-height:1}
.tl-pat{display:flex;gap:6px;margin-bottom:16px}
.tl-pat .tlp{width:clamp(58px,7vw,88px);height:auto;transition:transform .6s var(--rebote)}
.tl-i.on .tl-pat .tlp:nth-child(2){transform:rotate(-5deg) translateY(-3px)}.tl-i.on .tl-pat .tlp:nth-child(3){transform:rotate(4deg) translateY(-6px)}
.tl-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brasa);margin-top:20px}
.tl-card ul.pl{margin-top:12px}
.tl-card ul.pl li{font-size:17px}
.tl-cond{margin-top:22px;border-left:5px solid var(--acido);background:var(--hueso);border-radius:0 16px 16px 0;padding:14px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.tl-cond .mono{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--humo)}
.tl-cond p{font-family:var(--disp);font-weight:800;font-size:clamp(18px,2vw,23px);letter-spacing:-.02em;line-height:1.25}
.tl-big{margin-top:14px;font-weight:700}
.tl-ex{margin-top:14px;font-size:15.5px;color:var(--tinta2);line-height:1.5}
.tl-ex b{color:var(--carbon)}
.tl-i.mixed .tl-card,.tl-i.ahead .tl-card{border-style:dashed}
.tl-end{font-family:var(--disp);font-weight:800;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.03em;margin:6px 0 6px clamp(54px,7vw,84px)}
.js .tl-i .tl-card,.js .tl-i .tl-when{opacity:.35;transition:opacity .6s,box-shadow .6s var(--sal)}
.js .tl-i.on .tl-card,.js .tl-i.on .tl-when{opacity:1}
/* ---- leaders ---- */
.lead-dark{background:var(--carbon);color:#fff;border-radius:30px;padding:clamp(30px,5vw,74px);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,64px);align-items:center}
.lead-dark h2{font-size:clamp(34px,5.4vw,70px);color:#fff}
.mf{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.mf-l{font-family:var(--disp);font-weight:800;font-size:clamp(20px,2.6vw,32px);letter-spacing:-.03em;line-height:1.15;color:#fff;padding-left:22px;border-left:5px solid var(--chispa)}
.mf-l:nth-child(2){border-color:var(--acido)}.mf-l:nth-child(3){border-color:var(--voltio)}.mf-l:nth-child(4){border-color:var(--fucsia)}.mf-l:nth-child(5){border-color:var(--brasa)}
.js .mf-l{opacity:.2;transform:translateX(-14px);transition:opacity .7s,transform .8s var(--sal)}
.js .mf-l.on{opacity:1;transform:none}
.lead-r p{color:#C9C6D4;font-size:17px;line-height:1.65}
.lead-r p b{color:#fff}
.lead-r .chip{margin-top:26px}
.comps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.cp{border:2px solid var(--carbon);border-radius:22px;padding:22px;background:#fff;display:flex;flex-direction:column;gap:10px;transition:transform .5s var(--sal),box-shadow .5s var(--sal)}
.cp:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(20,18,24,.1)}
.cp-id{align-self:flex-start;background:var(--cc);border:2px solid var(--carbon);border-radius:999px;padding:3px 11px;font-size:11px;letter-spacing:.12em}
.cp h4{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.03em;line-height:1.05;text-transform:none;color:var(--carbon);margin:0}
.cp-lead{font-size:15.5px;line-height:1.45;font-weight:700}
.cp-see{font-size:14.5px;line-height:1.5;color:var(--tinta2);margin-top:auto;padding-top:8px;border-top:1px solid var(--linea)}
.cp-see b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--humo);margin-bottom:4px}
/* ---- explorer ---- */
.xp{margin-top:34px;border:3px solid var(--carbon);border-radius:30px;background:#fff;box-shadow:10px 10px 0 var(--voltio);overflow:hidden}
.xp-ctl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(18px,3vw,44px);padding:clamp(22px,3.2vw,40px);background:var(--hueso);border-bottom:3px solid var(--carbon)}
.xp fieldset{border:0;margin:0;padding:0;min-width:0}
.xp legend{font-family:var(--disp);font-weight:800;font-size:clamp(19px,2vw,24px);letter-spacing:-.03em;padding:0;margin-bottom:14px}
.xp-ages,.xp-ints{display:flex;flex-wrap:wrap;gap:8px}
.xa,.xi{position:relative;cursor:pointer}
.xa input,.xi input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.xa span,.xi span{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--carbon);border-radius:999px;background:#fff;font-weight:800;font-size:16px;padding:9px 18px;
  transition:transform .4s var(--rebote),background .3s,box-shadow .3s}
.xa span{min-width:46px;font-family:var(--disp);font-size:19px;padding:7px 12px}
.xa:hover span,.xi:hover span{transform:translateY(-3px)}
.xa input:checked+span{background:var(--chispa);box-shadow:inset 0 0 0 2.5px var(--carbon)}
.xi input:checked+span{background:var(--acido);box-shadow:inset 0 0 0 2.5px var(--carbon)}
.xi input:checked+span:before{content:"";width:9px;height:5px;border-left:3px solid var(--carbon);border-bottom:3px solid var(--carbon);transform:rotate(-45deg) translate(1px,-2px);margin-right:9px}
.xa input:focus-visible+span,.xi input:focus-visible+span{outline:3px solid var(--carbon);outline-offset:3px}
.xp-out{padding:clamp(22px,3.2vw,42px);min-height:260px}
.xp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;min-height:200px;color:var(--tinta2);font-size:18px}
.xp-ghost{display:flex;gap:12px;opacity:.35;filter:grayscale(.4)}.xp-ghost .pimg{width:84px;height:auto}
.xo{animation:entra .6s var(--sal)}
.xo-sum{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta2)}
.xo-sum b{color:var(--carbon);font-weight:500}
.xo h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--tinta2);margin:30px 0 12px}
.xo-areas{display:flex;flex-wrap:wrap;gap:8px}
.xo-areas a{display:inline-flex;gap:8px;align-items:center;border:2px solid var(--carbon);border-radius:999px;padding:8px 16px;font-weight:800;font-size:15px;text-decoration:none;color:var(--carbon);background:var(--ac);
  transition:transform .4s var(--rebote)}
.xo-areas a:hover{transform:translateY(-3px)}
.xo-areas a small{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;opacity:.75}
.xo-path{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.xo-path li{border:2px solid var(--carbon);border-radius:20px;padding:18px 20px;background:#fff;display:flex;flex-direction:column;gap:8px;animation:entra .6s var(--sal) both}
.xo-path li:nth-child(2){animation-delay:.07s}.xo-path li:nth-child(3){animation-delay:.14s}.xo-path li:nth-child(4){animation-delay:.21s}
.xo-step{align-self:flex-start;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;background:var(--ac);border:2px solid var(--carbon);border-radius:999px;padding:3px 11px}
.xo-path b{font-family:var(--disp);font-weight:800;font-size:21px;letter-spacing:-.03em;line-height:1.1}
.xo-path p{font-size:15.5px;line-height:1.5;color:var(--tinta2)}
.xo-path .xo-age{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--humo)}
.xo-build{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
.xo-build li{border:2px dashed var(--carbon);border-radius:14px;padding:8px 14px;font-weight:700;font-size:15px;background:#fff}
.xo-patches{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.xo-patches li{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;border:1px solid var(--linea);border-radius:18px;padding:12px 16px 12px 12px;background:var(--hueso)}
.xo-patches img{width:76px;height:76px}
.xo-patches b{font-family:var(--disp);font-weight:800;font-size:18px;letter-spacing:-.03em;display:block}
.xo-patches span{font-size:14px;color:var(--tinta2);line-height:1.4;display:block;margin-top:2px}
.xo-msg{border-left:4px solid var(--chispa);padding:6px 0 6px 18px;margin-top:12px;color:var(--tinta2);font-size:15.5px;line-height:1.5}
.xo-note{font-size:14.5px;color:var(--tinta2);margin-top:22px;line-height:1.5}
.xo-act{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;align-items:center}
.xo-act button{font-family:var(--sans);font-weight:700;font-size:15px;border:2px solid var(--carbon);border-radius:999px;background:transparent;padding:12px 22px;cursor:pointer}
.xo-act button:hover{background:var(--carbon);color:#fff}
.xo-act .btn.full{background:var(--carbon);color:#fff}
/* ---- home teaser ---- */
.lt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.lt-card{display:flex;flex-direction:column;border:2px solid var(--carbon);border-radius:24px;overflow:hidden;background:#fff;text-decoration:none;color:var(--carbon);
  transition:transform .55s var(--sal),box-shadow .55s var(--sal)}
.lt-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(20,18,24,.14)}
.lt-card:focus-visible{outline:3px solid var(--carbon);outline-offset:4px}
.lt-vis{aspect-ratio:16/10;background:var(--ac);border-bottom:2px solid var(--carbon);overflow:hidden;display:grid;place-items:center}
.lt-art,.lt-img{width:100%;height:100%;display:block}
.lt-art{object-fit:cover}
.lt-img{object-fit:cover;object-position:top left;transition:transform .9s var(--sal)}
.lt-card:hover .lt-img,.lt-card:hover .lt-art{transform:scale(1.04)}
.lt-art{transition:transform .9s var(--sal)}
.lt-b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.lt-b h3{font-size:clamp(21px,2vw,26px);line-height:1.05}
.lt-b p{font-size:15.5px;color:var(--tinta2);line-height:1.45}
.lt-eg{margin-top:auto;padding-top:12px;border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:2px}
.lt-eg .mono{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--humo)}
.lt-eg b{font-size:15px}
.lt-strip-h{margin-top:46px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--humo)}
.lt-act{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
/* ---- responsive ---- */
@media(max-width:1100px){
  .lt-grid{grid-template-columns:repeat(2,1fr)}
  .comps{grid-template-columns:repeat(2,1fr)}
  .loop{grid-template-columns:repeat(2,1fr)}
  .lp:not(.lp-back):after{display:none}
  .lh-quick{grid-template-columns:1fr 1fr}
  .sg-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .lh .lh-g,.ar-grid,.ar-how,.lead-dark,.xp-ctl,.earn-g{grid-template-columns:1fr}
  .ar-head{grid-template-columns:1fr;gap:6px}
  .ar-n{font-size:64px}
  .ar-ages{grid-template-columns:1fr}
  .xo-path,.xo-patches{grid-template-columns:1fr}
  .jump{top:62px}
}
@media(max-width:620px){
  .lt-grid,.comps,.loop,.lh-quick,.sg-grid{grid-template-columns:1fr}
  .tl-i{padding-left:46px}
  .tl-end{margin-left:46px}
  .tl-dot{width:24px;height:24px;left:3px}
  .tl:before,.tl:after{left:12px;width:5px}
  .vs thead{display:none}
  .vs tr{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--linea);padding:12px 0}
  .vs tbody th{width:auto;border:0;padding:8px 4px}
  .vs td{display:block;border:0;padding:6px 14px;background:none!important}
  .vs td:before{content:attr(data-l);display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--humo);margin-bottom:2px}
  .vs td.si{background:rgba(255,201,60,.16)!important;border-radius:12px}
}
@media (prefers-reduced-motion:reduce){
  .xo,.xo-path li{animation:none!important}
  .js .loop .lp,.js .loop .lp-back,.js .mf-l,.js .tl-i .tl-card,.js .tl-i .tl-when{opacity:1!important;transform:none!important}
}

/* ==== school structure: utility bar, four doors, location band, end block, footer ==== */
body.school{--navh:70px}
body.school main{--pg:inherit}
.secnav.sub{flex-wrap:wrap}
body.school main>section{padding-top:clamp(46px,6.4vw,92px);padding-bottom:clamp(46px,6.4vw,92px)}
body.school main>section+section{padding-top:clamp(20px,3vw,40px)}
body.school .hoja+section{padding-top:clamp(28px,3.6vw,48px)}
.util{background:var(--carbon);color:#C9C6D4;font-size:13px}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:6px;padding-bottom:6px}
.util .mono{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.util-r{display:flex;align-items:center;gap:18px}
.util-r>a{color:#fff;text-decoration:none;font-weight:700}
.util-r>a:hover,.util-r>a[aria-current]{color:var(--chispa)}
.util .idioma{border-color:#5b5866}
.util .idioma a,.util .idioma span{color:#fff;padding:4px 9px}
.util .idioma [aria-current]{background:#fff;color:var(--carbon)}
.util .idioma a:hover{background:var(--chispa);color:var(--carbon)}
nav.snav .wrap{gap:14px}
nav.snav .menu{gap:4px;margin-left:auto}
nav.snav .menu .mg-b{background:transparent!important;border:2px solid transparent;font-size:15px;padding:9px 14px;gap:8px;box-shadow:none}
nav.snav .menu .mg-b:hover{transform:none;box-shadow:none;background:var(--hueso)!important}
nav.snav .menu .mg-b .dot{width:9px;height:9px;border-radius:50%;background:var(--dc);border:2px solid var(--carbon);transform:none;flex:0 0 9px}
nav.snav .menu .mg-b.cur{border-color:var(--carbon);box-shadow:none;background:#fff!important}
nav.snav .menu .mg.open .mg-b{background:var(--hueso)!important}
nav.snav .nav-cta{margin-left:6px}
nav.snav .idioma.m-only{display:none}
.menu-util{display:none}
.dp{min-width:560px;padding:12px!important;display:none;grid-template-columns:1fr 1.25fr;gap:10px;border-radius:24px!important;border-top:6px solid var(--dc)!important}
.mg.open>.dp{display:grid!important}
html:not(.js) .mg:hover>.dp,html:not(.js) .mg:focus-within>.dp{display:grid}
.mg.door3 .dp,.mg.door4 .dp{left:auto;right:0}
.mg.wide .dp{min-width:760px;grid-template-columns:.9fr 1.3fr}
.dp-col{display:flex;flex-direction:column;gap:4px;min-width:0}
.dp a{display:flex!important;flex-direction:column;gap:2px;white-space:normal!important;padding:11px 14px!important;border-radius:14px!important}
.dp a b{font-size:15.5px;font-weight:800;color:var(--carbon);display:flex;align-items:center;gap:8px}
.dp a b:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dc,var(--carbon));flex:0 0 8px}
.dp a span{font-size:13.5px;font-weight:600;color:var(--tinta2);line-height:1.4}
.dp a.dp-hub{background:var(--hueso);position:relative;padding:18px 18px 20px!important;height:100%;justify-content:flex-start}
.dp a.dp-hub .mono{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--humo)}
.dp a.dp-hub b{font-family:var(--disp);font-size:24px;letter-spacing:-.03em;margin-top:6px}
.dp a.dp-hub b:before{display:none}
.dp a.dp-hub .arw{position:absolute;right:16px;bottom:16px;width:22px;height:22px}
.dp a.dp-hub:hover{background:var(--dc)}
.dp-h{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--humo);padding:8px 14px 4px}
.dp-areas{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.dp-areas a{padding:9px 12px!important}
.dp-areas a b{font-size:14.5px}
.arw{width:20px;height:20px;flex:0 0 20px}
/* location band */
.loc{background:#fff;border-bottom:1px solid var(--linea);box-shadow:inset 0 4px 0 var(--sec)}
.loc .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;padding-top:12px;padding-bottom:10px;min-height:52px}
.miga ol{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:8px;font-size:13.5px;white-space:nowrap;min-width:0}
.miga li{display:flex;align-items:center;gap:8px;min-width:0}
.miga li+li:before{content:"";width:6px;height:6px;border-right:2px solid var(--humo);border-top:2px solid var(--humo);transform:rotate(45deg);flex:0 0 6px}
.miga a{color:var(--tinta2);text-decoration:none;font-weight:700}
.miga a:hover{color:var(--carbon);text-decoration:underline}
.miga b{font-weight:800;overflow:hidden;text-overflow:ellipsis}
.miga li:last-child b{display:inline-flex;align-items:center;gap:8px}
.miga li:last-child b:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--sec);border:2px solid var(--carbon);flex:0 0 10px}
.secnav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-left:auto;max-width:100%}
.secnav::-webkit-scrollbar{display:none}
.secnav a{white-space:nowrap;font-size:13.5px;font-weight:800;text-decoration:none;color:var(--carbon);border:2px solid var(--linea);border-radius:999px;padding:5px 13px;
  transition:border-color .3s,background .3s}
.secnav a:hover{border-color:var(--carbon)}
.secnav a[aria-current]{background:var(--carbon);border-color:var(--carbon);color:#fff}
.secnav.sub{flex:1 0 100%;margin:0;padding-top:4px;border-top:1px dashed var(--linea)}
.secnav.sub a{border-color:transparent;background:var(--hueso);font-size:13px}
.secnav.sub a:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dc);border:1.5px solid var(--carbon);margin-right:7px;vertical-align:0}
.secnav.sub a[aria-current]{background:var(--carbon);color:#fff}
.here-chip{display:none}
section[id],.ar[id],details[id]{scroll-margin-top:110px}
/* section heroes keep the door color */
body.school .hoja .cejilla i{background:var(--pg)}
body.school .hoja{padding-top:clamp(40px,6vw,80px)}
body.school .hoja h1{font-size:clamp(40px,6.6vw,86px)}
/* door cards */
.dcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.dcards.two{grid-template-columns:1fr 1fr}
.dc{position:relative;display:flex;flex-direction:column;gap:12px;border:2px solid var(--carbon);border-radius:24px;padding:24px 24px 22px;background:#fff;
  text-decoration:none;color:var(--carbon);min-height:180px;overflow:hidden;transition:transform .5s var(--sal),box-shadow .5s var(--sal)}
.dc:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--dc);border-bottom:2px solid var(--carbon)}
.dc:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(20,18,24,.12)}
.dc:focus-visible{outline:3px solid var(--carbon);outline-offset:4px}
.dc-k{font-family:var(--disp)!important;font-weight:800;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.03em;line-height:1.05;margin-top:10px;text-transform:none}
.dc-d{font-size:15.5px;line-height:1.5;color:var(--tinta2)}
.dc-go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px}
.dc:hover .arw{transform:translateX(4px)}
.dc .arw{transition:transform .4s var(--rebote)}
/* accordions */
.accs{display:flex;flex-direction:column;gap:12px}
.acc{border:2px solid var(--carbon);border-radius:22px;background:#fff;overflow:hidden}
.acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;
  font-family:var(--disp);font-weight:800;font-size:clamp(19px,2vw,24px);letter-spacing:-.03em;line-height:1.15}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary i{flex:0 0 34px;height:34px;border-radius:50%;border:2px solid var(--carbon);position:relative;background:var(--pg);transition:transform .4s var(--sal)}
.acc>summary i:before,.acc>summary i:after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2.5px;background:var(--carbon);transform:translate(-50%,-50%)}
.acc>summary i:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--sal)}
.acc[open]>summary i:after{transform:translate(-50%,-50%) rotate(0)}
.acc>summary:hover{background:var(--hueso)}
.acc>summary:focus-visible{outline:3px solid var(--carbon);outline-offset:-5px;border-radius:20px}
.acc-b{padding:4px 24px 28px;border-top:1px solid var(--linea)}
.acc-b>:first-child{margin-top:20px}
.acc[open] .acc-b{animation:entra .45s var(--sal)}
.acc .tarjs,.acc .cuatro,.acc .tres{margin-top:22px}
/* tabs on the steps page */
#patches .ptabs .vt{flex-wrap:wrap}
.wall-h{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--humo);margin:22px 0 10px;font-weight:500}
/* end block */
.fin{padding-top:clamp(50px,7vw,90px)!important}
.fin-g{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:stretch}
.fin-g.one{grid-template-columns:1fr}
.fin-cta{background:var(--pg);border:3px solid var(--carbon);border-radius:30px;padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.fin-cta h2{font-size:clamp(34px,5vw,64px)}
.fin-cta p{font-size:clamp(16.5px,1.8vw,19px);line-height:1.55;max-width:46ch}
.fin-next{position:relative;display:flex;flex-direction:column;gap:10px;border:3px solid var(--carbon);border-radius:30px;padding:clamp(24px,3vw,40px);
  background:#fff;text-decoration:none;color:var(--carbon);transition:transform .5s var(--sal),box-shadow .5s var(--sal)}
.fin-next:hover{transform:translateY(-5px);box-shadow:10px 10px 0 var(--nc)}
.fin-next .mono{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--humo)}
.fin-next b{font-family:var(--disp);font-weight:800;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.035em;line-height:1}
.fin-next b:before{content:"";display:block;width:44px;height:8px;border-radius:4px;background:var(--nc);border:2px solid var(--carbon);margin-bottom:16px}
.fin-d{font-size:16px;line-height:1.5;color:var(--tinta2)}
.fin-next .arw{margin-top:auto;width:30px;height:30px}
.fin-g.one .fin-next{max-width:640px}
/* home and hubs */
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.team-teaser{align-items:center}
.tmini{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tm{display:flex;flex-direction:column;gap:12px}
.tm b{display:block;font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.03em;line-height:1.1}
.tm span{display:block;font-size:14px;color:var(--tinta2);line-height:1.4;margin-top:2px}
/* people */
.people{display:grid;gap:18px;margin-top:34px}
.people.two{grid-template-columns:1fr 1fr}
.people.one{grid-template-columns:minmax(0,820px)}
.person{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:start;border:2px solid var(--carbon);border-radius:28px;padding:22px;background:#fff}
.people.one .person{grid-template-columns:260px 1fr}
.person-b .mono{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brasa)}
.person-b h3{font-size:clamp(28px,3.2vw,40px);margin-top:8px}
.person-b p{font-size:16.5px;line-height:1.55;color:var(--tinta2);margin-top:12px}
.pt{position:relative;aspect-ratio:4/5;border:3px solid var(--carbon);border-radius:22px;overflow:hidden;background:var(--hueso)}
.pt img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.pt.ini{background:var(--hueso);display:grid;place-items:center;box-shadow:inset 0 10px 0 var(--pc)}
.pt.ini>span:first-child{font-family:var(--disp);font-weight:800;font-size:clamp(46px,6vw,72px);letter-spacing:-.04em;color:var(--carbon)}
.pt-soon{position:absolute;left:10px;right:10px;bottom:10px;text-align:center;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.92);
  border-radius:999px;padding:5px 8px}
.pt.sm{border-radius:18px}
.pt.sm.ini>span:first-child{font-size:40px}
.ia-note{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;border:2px dashed var(--carbon);border-radius:26px;padding:22px 26px;background:var(--hueso)}
.ia-note b{font-family:var(--disp);font-size:22px;letter-spacing:-.03em}
.ia-note p{font-size:16px;color:var(--tinta2);margin-top:6px;line-height:1.5}
/* leadership timeline: the detail of each stage folds away */
.tl-more{margin-top:18px;border-top:1px dashed var(--linea);padding-top:12px}
.tl-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:15px}
.tl-more>summary::-webkit-details-marker{display:none}
.tl-more>summary i{width:22px;height:22px;border-radius:50%;border:2px solid var(--carbon);position:relative;background:var(--hueso)}
.tl-more>summary i:before,.tl-more>summary i:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:2px;background:var(--carbon);transform:translate(-50%,-50%)}
.tl-more>summary i:after{transform:translate(-50%,-50%) rotate(90deg)}
.tl-more[open]>summary i:after{transform:translate(-50%,-50%)}
.tl-more>summary:focus-visible{outline:3px solid var(--carbon);outline-offset:3px;border-radius:8px}
.dq{margin:clamp(30px,4vw,48px) 0 0;border-left:6px solid var(--pg);padding:6px 0 6px clamp(18px,2.4vw,30px);max-width:820px}
.dq b{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(26px,3.2vw,40px);letter-spacing:-.035em;line-height:1.05}
.dq p{font-size:clamp(16.5px,1.8vw,19px);line-height:1.6;color:var(--tinta2);margin-top:12px}
.dq p b{display:inline;font-family:var(--sans);font-size:inherit;letter-spacing:0;color:var(--carbon);font-weight:800;line-height:inherit}
/* home: how CHIP teaches */
.mt-g{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,64px);align-items:start}
.mt h2{font-size:clamp(40px,6vw,78px)}
.mt-k{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta2);font-weight:500;margin:30px 0 12px}
.mt-tools{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.mt-tools li{border:2px solid var(--carbon);border-radius:999px;padding:8px 15px;font-weight:800;font-size:14.5px;background:#fff}
.mt-tools li:nth-child(6n+1){background:var(--chispa)}.mt-tools li:nth-child(6n+3){background:var(--acido)}.mt-tools li:nth-child(6n+5){background:var(--voltio)}
.mt-lad{background:var(--carbon);color:#fff;border-radius:30px;padding:clamp(24px,3vw,36px);box-shadow:10px 10px 0 var(--fucsia)}
.mt-lad .mt-k{color:#A9A6B4;margin-top:0}
.mt-lad>p{font-family:var(--disp);font-weight:800;font-size:clamp(21px,2.3vw,27px);letter-spacing:-.03em;line-height:1.15;margin-top:4px}
.mt-rungs{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-direction:column-reverse;gap:8px}
.mr{display:flex;align-items:center;gap:14px;border:2px solid #3a3644;border-radius:16px;padding:10px 14px;background:#1f1b26}
.mr-n{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--carbon);background:var(--chispa)}
.mr.r1 .mr-n{background:var(--acido)}.mr.r2 .mr-n,.mr.r3 .mr-n,.mr.r4 .mr-n{background:var(--voltio)}.mr.r5 .mr-n{background:var(--fucsia)}
.mr.r5{border-color:var(--fucsia)}
.mr b{font-size:16px;font-weight:800}
.mr.r2{margin-left:12px}.mr.r3{margin-left:24px}.mr.r4{margin-left:36px}.mr.r5{margin-left:48px}
.mt-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(30px,4vw,48px)}
.mt-c{border:2px solid var(--carbon);border-radius:24px;padding:24px;background:#fff;position:relative;overflow:hidden}
.mt-c:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--acido);border-bottom:2px solid var(--carbon)}
.mt-c.c1:before{background:var(--voltio)}.mt-c.c2:before{background:var(--chispa)}
.mt-c h3{font-size:clamp(22px,2.2vw,27px);margin-top:10px}
.mt-c p{font-size:15.5px;line-height:1.5;color:var(--tinta2);margin-top:10px}
.mt-proof{margin-top:14px;border:2px dashed var(--carbon);border-radius:24px;padding:clamp(20px,2.6vw,30px);background:var(--hueso);display:grid;grid-template-columns:1.3fr .7fr;gap:22px;align-items:center}
.mt-proof h3{font-size:clamp(21px,2.2vw,26px)}
.mt-proof p{font-size:15.5px;color:var(--tinta2);margin-top:8px}
.mt-pills{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.mt-pills li{border:2px solid var(--carbon);border-radius:999px;padding:6px 14px 6px 10px;font-weight:700;font-size:14.5px;background:#fff;display:inline-flex;align-items:center;gap:8px}
.mt-pills li:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ac);border:2px solid var(--carbon)}
.mt-pat{display:flex;gap:6px;justify-content:flex-end}
.mt-pat .pimg{width:19%;height:auto}
/* home: compact trust */
.trc-b{background:var(--carbon);color:#fff;border-radius:28px;padding:clamp(24px,3.4vw,44px);display:grid;grid-template-columns:.9fr 1.3fr auto;gap:clamp(18px,3vw,40px);align-items:center}
.trc-h h2{font-size:clamp(26px,3vw,38px);color:#fff}
.trc-h .cejilla{margin-bottom:12px}
.trc-l{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.trc-l li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.5;color:#C9C6D4}
.trc-l li b{color:#fff}
.trc-l svg{flex:0 0 21px;margin-top:2px}
@media(max-width:1000px){
  .mt-g,.mt-proof,.trc-b{grid-template-columns:1fr}
  .mt-cards{grid-template-columns:1fr}
  .mt-pat{justify-content:flex-start}
  .mt-pat .pimg{width:56px}
  .trc-b .btn{justify-self:start}
}
.mt-tools li a{color:inherit;text-decoration:none}
.mt-tools li:hover{transform:translateY(-2px)}
.mt-tools li{transition:transform .35s var(--rebote)}
/* digital tools */
.tb-h{font-size:clamp(30px,4vw,48px)}
.tlist{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tl-t{border:2px solid var(--carbon);border-radius:20px;padding:16px 18px;background:#fff}
.tl-n{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.tl-n b{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.02em;line-height:1.15}
.tl-tags{display:inline-flex;flex-wrap:wrap;gap:6px}
.tl-t p{font-size:15.5px;line-height:1.5;color:var(--tinta2);margin-top:8px}
.tk{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--carbon);border-radius:999px;padding:3px 9px;background:#fff;white-space:nowrap}
.tk.k-chip{background:var(--chispa)}.tk.k-open{background:var(--acido)}.tk.k-pro{background:var(--voltio)}.tk.k-data{background:var(--fucsia)}.tk.k-lang{background:var(--hueso)}
.tk.s-box,.tk.s-planned,.tk.s-review{border-style:dashed;background:#fff}
.tb-acc{margin-top:18px}
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.tg{display:flex;flex-direction:column;gap:12px;border:2px solid var(--carbon);border-radius:24px;padding:20px;background:#fff;text-decoration:none;color:var(--carbon);
  box-shadow:inset 0 8px 0 var(--ac);transition:transform .5s var(--sal),box-shadow .5s var(--sal)}
.tg:hover{transform:translateY(-5px)}
.tg-k{font-family:var(--disp)!important;font-weight:800;font-size:21px;letter-spacing:-.03em;margin-top:8px;text-transform:none}
.tg ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.tg li{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:14.5px}
.tg li b{font-weight:800;line-height:1.25}
.tg li .tk{font-size:8.5px;padding:2px 7px}
.tg .dc-go{margin-top:auto}
.dsrc{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dsrc li{display:flex;flex-direction:column;gap:3px;border-left:5px solid var(--fucsia);background:var(--hueso);border-radius:0 16px 16px 0;padding:12px 16px}
.dsrc b{font-weight:800;font-size:15.5px}.dsrc span{font-size:14.5px;color:var(--tinta2)}
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
@media(max-width:1000px){.tgrid{grid-template-columns:1fr 1fr}.rules{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.tlist,.tgrid,.dsrc,.rules{grid-template-columns:1fr}}
/* three kinds of help */
.h3{border:2px solid var(--carbon);border-radius:26px;padding:clamp(20px,2.8vw,32px);background:var(--hueso)}
.h3 h3{font-size:clamp(22px,2.4vw,30px)}
.h3 ul{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.h3-i{border:2px solid var(--carbon);border-radius:18px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;gap:4px;box-shadow:inset 0 6px 0 var(--acido)}
.h3-i.i1{box-shadow:inset 0 6px 0 var(--voltio)}.h3-i.i2{box-shadow:inset 0 6px 0 var(--chispa)}
.h3-i b{font-family:var(--disp);font-weight:800;font-size:19px;margin-top:6px}
.h3-i span{font-size:15px;line-height:1.45;color:var(--tinta2)}
.h3>p{margin-top:16px;font-weight:700;font-size:16px;line-height:1.5}
@media(max-width:800px){.h3 ul{grid-template-columns:1fr}}
/* area pages */
.ar.solo{border-top:0}
.ar.solo .ar-h1{font-size:clamp(38px,6vw,76px);line-height:.98}
/* footer */
footer.sfoot{background:var(--carbon);color:#C9C6D4;border-top:0;margin-top:clamp(60px,8vw,100px);padding:clamp(44px,6vw,72px) 0 48px}
footer.sfoot .wrap{display:grid;grid-template-columns:1fr 2.4fr;gap:clamp(28px,5vw,70px);align-items:start}
footer.sfoot .wordmark{color:#fff}
footer.sfoot .lema{font-family:var(--disp);font-weight:800;font-size:26px;letter-spacing:-.03em;color:#fff;margin-top:16px;display:block}
footer.sfoot address{font-style:normal;font-size:14.5px;line-height:1.7;margin-top:14px}
footer.sfoot address a{color:#fff;border-bottom-color:#4a4755}
footer.sfoot .btn.full{background:var(--chispa);border-color:var(--chispa);color:var(--carbon)}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.fcol-h{font-family:var(--disp);font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff;text-decoration:none}
.fcol ul{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:7px}
.fcol a{color:#C9C6D4;text-decoration:none;font-size:14.5px}
.fcol a:hover{color:#fff;text-decoration:underline}
.mcta{display:none}
/* responsive */
@media(max-width:1180px){
  .util .mono{display:none}
  nav.snav .menu .mg-b{padding:9px 10px;font-size:14.5px}
  .sede{display:none}
}
@media(max-width:1000px){
  body.school{--navh:62px}
  .util{display:none}
  nav.snav .idioma.m-only{display:flex;margin-left:auto;order:2}
  nav.snav .hamb{order:3}
  nav.snav .here-chip{order:1}
  /* the eight areas: a swipeable row on phones */
  .lt-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-left:calc(-1 * clamp(20px,4vw,46px));margin-right:calc(-1 * clamp(20px,4vw,46px));
    padding:4px clamp(20px,4vw,46px) 14px;scrollbar-width:none}
  .lt-grid::-webkit-scrollbar{display:none}
  .lt-card{flex:0 0 min(78vw,320px);scroll-snap-align:start}
  nav.snav .menu{margin-left:0;padding:14px 16px 22px;gap:12px;background:var(--hueso)}
  nav.snav .menu .mg{border:2px solid var(--carbon);border-radius:22px;background:#fff;overflow:hidden;flex:0 0 auto}
  nav.snav .menu .dp a{background:none!important}
  nav.snav .menu .dp a[aria-current="page"]{background:var(--hueso)!important}
  nav.snav .menu .menu-util{flex:0 0 auto}
  nav.snav .menu{padding-bottom:110px}
  nav.snav .menu .mg-b{width:100%;justify-content:flex-start;font-family:var(--disp);font-size:20px;letter-spacing:-.02em;text-transform:none;color:var(--carbon);
    padding:14px 16px 6px;border:0;pointer-events:none}
  nav.snav .menu .mg-b .dot{display:inline-block;width:12px;height:12px;flex-basis:12px}
  nav.snav .menu .mg-b.cur{background:transparent!important}
  .dp,.mg.wide .dp{display:flex!important;flex-direction:column;min-width:0;border:0!important;border-top:0!important;box-shadow:none!important;padding:0 8px 10px!important;gap:2px}
  .dp-col{gap:2px}
  .dp a{padding:9px 10px!important}
  .dp a span{display:none}
  .dp a.dp-hub{background:none;padding:9px 10px!important;height:auto}
  .dp a.dp-hub .mono,.dp a.dp-hub .arw{display:none}
  .dp a.dp-hub b{font-family:var(--sans);font-size:15.5px;margin-top:0}
  .dp a.dp-hub b:before{display:block}
  .dp-h{padding:8px 10px 2px}
  .dp-areas{grid-template-columns:1fr 1fr}
  .menu-util{display:flex;flex-wrap:wrap;gap:8px}
  .menu-util a{font-weight:800;font-size:14.5px;color:var(--carbon);text-decoration:none;border:2px solid var(--carbon);border-radius:999px;padding:8px 14px;background:#fff}
  nav.snav .nav-cta{display:none}
  .loc .wrap{flex-direction:column;align-items:stretch;gap:8px;padding-top:10px;padding-bottom:9px}
  .secnav{margin-left:0}
  .here-chip{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:13px;text-decoration:none;color:var(--carbon);border:2px solid var(--carbon);
    border-radius:999px;padding:5px 11px 5px 9px;background:#fff;white-space:nowrap;margin-left:4px;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .here-chip:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--dc);border:2px solid var(--carbon);flex:0 0 10px}
  .mcta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:55;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);border-top:1px solid var(--linea)}
  .mcta .btn{width:100%;justify-content:center;padding:14px 20px;font-size:16px}
  body.school{padding-bottom:78px}
  .fin-g{grid-template-columns:1fr}
  .dcards{grid-template-columns:1fr 1fr}
  .people.two{grid-template-columns:1fr}
  footer.sfoot .wrap{grid-template-columns:1fr}
  .fcols{grid-template-columns:1fr 1fr}
  .ia-note{grid-template-columns:auto 1fr}
  .ia-note .btn{grid-column:1/-1;justify-self:start}
}
@media(max-width:700px){
  .dcards,.dcards.two{grid-template-columns:1fr}
  .dc{min-height:0}
  .person,.people.one .person{grid-template-columns:110px 1fr;gap:16px;padding:16px}
  .person-b h3{font-size:26px;margin-top:4px}
  .person-b p{font-size:15.5px}
  .pt-soon{display:none}
  .pt.ini>span:first-child{font-size:38px}
  .tmini{gap:10px}
  .tm b{font-size:16px}
  .tm span{font-size:12.5px}
  .acc>summary{padding:16px 18px}
  .acc-b{padding:2px 18px 22px}
  .miga ol{font-size:12.5px}
  .secnav a{font-size:12.5px;padding:4px 11px}
  .reloj.tres-col[style]{grid-template-columns:1fr!important}
}
@media (prefers-reduced-motion:reduce){
  .acc[open] .acc-b{animation:none}
  .dc,.fin-next{transition:none}
}

/* ---- U.S. offers and curriculum (2026-10-22): layout only, existing components ---- */
.mg.door5 .dp{left:auto;right:0}
.lt-vis picture{display:contents}
.ar-fr>picture{display:block}
.ar-fr>picture>img{display:block;width:100%;height:auto}
.ar-fr.shot>picture>img{background:#fff}
.ar-fr>picture.ar-inset{position:absolute;right:14px;bottom:14px;width:24%;border:3px solid var(--carbon);border-radius:14px;box-shadow:0 8px 22px rgba(20,18,24,.3);transform:rotate(2deg);overflow:hidden;background:#fff}
.lt-grid.n2{grid-template-columns:repeat(2,1fr)}
.lt-grid.n3{grid-template-columns:repeat(3,1fr)}
.lt-card .lt-vis picture,.lt-card .lt-vis img{width:100%;height:100%}
@media(max-width:1100px){.lt-grid.n3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1101px){.fcols{grid-template-columns:repeat(5,1fr)}}
.cmp.plain td:nth-child(2){background:none}
.cmp.plain td small{display:block;margin-top:4px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;font-weight:500;color:var(--humo)}
.cmp.plain tbody th{width:22%}
#subjects .tj .et{color:var(--carbon);opacity:.75}
.cmp.plain td{vertical-align:top}
@media(max-width:700px){.cmp.plain td{flex-direction:column;align-items:flex-start;gap:4px}.cmp.plain td:nth-child(2){background:none!important}}

[data-wa-wrap][hidden]{display:none!important}

/* =====================================================================
   PHONE LAYER (<= 600px). Same tokens, fonts and components; the layout is
   re-composed for one hand: big targets, short hero, thumb bar, full-screen menu.
   ===================================================================== */
.mvid,.seg,.menu-foot,.sw-dots{display:none}
.mhero-bg{background:#1c1840 url(/assets/us/video/campus-loop.jpg) center/cover no-repeat}
@media (max-width:600px){
  html{scroll-padding-top:76px}
  [id]{scroll-margin-top:76px}
  body{font-size:16.5px;line-height:1.58}
  .wrap{padding-left:20px;padding-right:20px}
  h2{font-size:clamp(32px,9.4vw,42px);line-height:.98}
  .bajada{font-size:17px;line-height:1.55;margin-top:16px}
  section{padding-top:46px}
  .cejilla{margin-bottom:14px}
  .cejilla span,.mono,.et,.stat,.cap,.lt-eg .mono,.dp-h,.mt-k,.lt-strip-h,.lh-min,.prog .mono{font-size:12px}
  .acts,.lt-act{display:grid;gap:10px;margin-top:22px}
  .acts .btn,.lt-act .btn,.fin-cta .btn{justify-content:center;min-height:54px;font-size:17px;width:100%}

  /* ---- header ---- */
  nav .wrap{padding-top:9px;padding-bottom:9px;gap:8px}
  nav.snav .marca{min-height:48px;min-width:48px;align-items:center}
  nav.snav .hamb{width:48px;height:48px;border-radius:14px}
  nav.snav .idioma.m-only a,nav.snav .idioma.m-only span{min-height:40px;min-width:40px;display:grid;place-items:center;padding:0 10px;font-size:13px}
  .here-chip{min-height:44px;font-size:13.5px}
  html.has-bar nav.snav .idioma.m-only{display:none}
  html.has-bar nav.snav .here-chip{margin-left:auto}
  html.menu-open,html.menu-open body{overflow:hidden}

  /* ---- full-screen menu: programs first, thumb-sized rows ---- */
  nav.snav .menu{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - 100%);height:calc(100vh - 100%);overflow-y:auto;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;background:#fff;padding:6px 20px calc(28px + env(safe-area-inset-bottom));gap:0;border:0;box-shadow:none;align-items:stretch}
  @supports (height:100dvh){nav.snav .menu{height:calc(100dvh - 100%)}}
  nav.snav .menu .mg{border:0;border-bottom:1px solid var(--linea);border-radius:0;background:none;overflow:visible;width:100%}
  nav.snav .menu .mg.door5{order:-3}
  nav.snav .menu .mg.door3{order:-2}
  nav.snav .menu .mg.door2{order:-1}
  nav.snav .menu .mg.door4{order:0}
  nav.snav .menu .mg.door1{order:1}
  nav.snav .menu .menu-util{order:2}
  nav.snav .menu .menu-foot{order:3}
  nav.snav .menu .mg-b{pointer-events:auto;cursor:pointer;min-height:64px;padding:12px 0;font-size:23px;justify-content:flex-start;gap:14px;background:none!important;width:100%}
  nav.snav .menu .mg-b .dot{width:14px;height:14px;flex:0 0 14px}
  nav.snav .menu .mg-b i:last-child{margin-left:auto;margin-right:6px;width:9px;height:9px}
  nav.snav .menu .mg:not(.open) .dp{display:none!important}
  nav.snav .menu .mg.open .dp{display:flex!important;padding:0 0 14px!important}
  nav.snav .menu .dp a{min-height:52px;display:flex;flex-direction:column;justify-content:center;padding:8px 0 8px 28px!important;font-size:18px;border-radius:12px}
  nav.snav .menu .dp a b{font-family:var(--sans);font-weight:800;font-size:18px}
  nav.snav .menu .dp a.dp-hub b{font-size:18px}
  nav.snav .menu .dp-areas{grid-template-columns:1fr 1fr;gap:6px;padding-left:28px}
  nav.snav .menu .dp-areas a{padding:8px 10px!important;min-height:48px;border:1.5px solid var(--linea);font-size:15px}
  nav.snav .menu .dp-areas a b{font-size:15px}
  nav.snav .menu .dp-h{padding:10px 0 6px 28px}
  /* programs: two big cards */
  nav.snav .menu .door5 .dp{flex-direction:column}
  nav.snav .menu .door5 .dp-col:first-child{order:2}
  nav.snav .menu .door5 .dp-list{display:grid;gap:10px;padding-top:2px}
  nav.snav .menu .door5 .dp-list a{border:2px solid var(--carbon);border-radius:20px;padding:14px 16px!important;min-height:78px;background:#fff!important;box-shadow:4px 4px 0 var(--chispa)}
  nav.snav .menu .door5 .dp-list a:first-child{box-shadow:4px 4px 0 var(--chispa)}
  nav.snav .menu .door5 .dp-list a:nth-child(2){box-shadow:4px 4px 0 var(--acido)}
  nav.snav .menu .door5 .dp-list a:nth-child(3){box-shadow:none;border-color:var(--linea)}
  nav.snav .menu .door5 .dp-list a span{display:block;font-size:14.5px;line-height:1.4;color:var(--tinta2);font-weight:600;margin-top:2px}
  nav.snav .menu .door5 .dp a.dp-hub{padding-left:2px!important}
  nav.snav .menu .menu-util{padding:8px 0;display:flex}
  nav.snav .menu .menu-util a{min-height:48px;display:inline-flex;align-items:center;font-size:16px}
  nav.snav .menu .menu-foot{display:grid!important;gap:12px;margin-top:10px;padding-top:6px}
  nav.snav .menu .menu-foot .btn{justify-content:center;min-height:56px;font-size:17px}
  nav.snav .menu .menu-foot .idioma{justify-self:start;border:2px solid var(--carbon)}
  nav.snav .menu .menu-foot .idioma a,nav.snav .menu .menu-foot .idioma span{min-height:44px;min-width:56px;display:grid;place-items:center;font-size:14px}

  /* ---- where-am-I bar ---- */
  .loc .wrap{padding-top:6px;padding-bottom:8px;gap:2px}
  .miga ol{font-size:14px}
  .miga a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
  .miga li:last-child b{display:none}
  .miga li:nth-last-child(2):after{display:none}
  .secnav{margin:0 -20px;padding:0 20px 4px;gap:8px}
  .secnav a{min-height:44px;display:inline-flex;align-items:center;font-size:14.5px;padding:0 16px}
  .jump a{min-height:44px;display:inline-flex;align-items:center;font-size:15px}

  /* ---- thumb bar ---- */
  .mcta{display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    transition:transform .38s var(--sal),opacity .3s;will-change:transform}
  .mcta.is-hidden{transform:translateY(112%);opacity:0;pointer-events:none}
  .mcta .btn{flex:1 1 auto;width:auto;min-height:52px;font-size:16.5px;padding:0 18px}
  .mcta .idioma{flex:0 0 auto;border:2px solid var(--carbon);background:#fff;padding:2px}
  .mcta .idioma a,.mcta .idioma span{min-height:44px;min-width:46px;display:grid;place-items:center;font-size:14px;padding:0 6px}
  body.school{padding-bottom:84px}

  /* ---- home hero: short, legible, portrait film card ---- */
  .mhero{min-height:0;align-items:flex-start}
  .mhero-bg{inset:0;transform:none!important;background-image:url(/assets/us/video/campus-loop-800.webp)}
  .mhero-bg video{display:none}
  .mhero:after{background:linear-gradient(180deg,rgba(14,12,30,.82) 0%,rgba(14,12,30,.88) 50%,rgba(14,12,30,.96) 100%)}
  .mhero .wrap{padding-top:26px;padding-bottom:40px}
  .mhero .eyebrow{font-size:11.5px;letter-spacing:.12em;line-height:1.4;padding:7px 11px}
  .mhero h1{font-size:clamp(40px,12.4vw,54px);line-height:1;margin-top:18px}
  .mhero .responde{display:none}
  .mhero .lede{font-size:17.5px;line-height:1.55;margin-top:16px;color:#EEECF3;max-width:none}
  .lede.is-fold{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .fold-b{display:inline-flex;align-items:center;min-height:44px;margin-top:2px;background:none;border:0;padding:0;font:800 15.5px var(--sans);color:#fff;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
  .mhero .acciones{display:grid;gap:10px;margin-top:18px}
  .mhero .acciones .btn{justify-content:center;min-height:54px;font-size:17px;width:100%}
  .mhero .hchip{display:none}
  .mvid{display:block;margin:34px auto 0;width:min(100%,284px)}
  .mvid-b{position:relative;display:block;width:100%;aspect-ratio:9/16;padding:0;border:3px solid var(--carbon);border-radius:30px;overflow:hidden;background:#161233;
    box-shadow:8px 8px 0 var(--chispa);cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent}
  .mvid-b img,.mvid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .mvid video{background:#000}
  .mvid-b:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,12,30,.82),rgba(14,12,30,0) 42%)}
  .mvid-p{position:absolute;left:50%;top:46%;z-index:2;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--chispa);color:var(--carbon);border:3px solid var(--carbon);display:grid;place-items:center;
    transition:transform .4s var(--rebote)}
  .mvid-p svg{margin-left:4px}
  .mvid-b:active .mvid-p{transform:scale(.92)}
  .mvid-t{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:2px;text-align:left}
  .mvid-t b{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.03em;line-height:1.05}
  .mvid-t span{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#E6E4EC}
  .mvid.on{width:min(100%,300px)}

  /* ---- home: what a parent needs first ---- */
  body[data-pg^="miami_home"] main{display:flex;flex-direction:column}
  body[data-pg^="miami_home"] main>header{order:0}
  body[data-pg^="miami_home"] #programs{order:1}
  body[data-pg^="miami_home"] #learn-teaser{order:2}
  body[data-pg^="miami_home"] #film{order:3}
  body[data-pg^="miami_home"] #admissions{order:4}
  body[data-pg^="miami_home"] #method-home{order:5}
  body[data-pg^="miami_home"] #team{order:6}
  body[data-pg^="miami_home"] #room{order:7}
  body[data-pg^="miami_home"] main>.fin{order:8}
  .fold{border:2px solid var(--carbon);border-radius:20px;background:#fff;margin:12px 0;overflow:hidden}
  .fold>summary{min-height:60px;padding:14px 18px;font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.02em}
  .fold>.fold-in{padding:0 18px 18px}
  .fold[open]>summary i{background:var(--chispa)}

  /* ---- cards and carousels: stacked pair, swipe with a peeking next card ---- */
  .lt-grid.n2{display:grid;grid-template-columns:1fr;overflow:visible;margin-left:0;margin-right:0;padding:0;gap:16px;margin-top:22px}
  .lt-grid.n2 .lt-card{flex:none}
  .lt-grid:not(.n2){scroll-padding-left:20px;margin-top:22px;gap:14px;padding-bottom:6px}
  .lt-grid:not(.n2) .lt-card{flex:0 0 82%;max-width:330px}
  .lt-b{padding:16px 18px 20px}
  .lt-b p{font-size:16px;line-height:1.5}
  .lt-b h3{font-size:24px}
  .lt-eg b{font-size:16px}
  .sw-dots{display:flex!important;justify-content:center;gap:8px;margin:2px 0 0}
  .sw-dots i{width:8px;height:8px;border-radius:50%;background:var(--linea);transition:width .3s,background .3s}
  .sw-dots i.on{width:26px;border-radius:5px;background:var(--carbon)}
  .dcards{gap:12px;margin-top:26px}
  .dc{min-height:0;padding:22px 20px 18px}
  .dc .dc-k{font-size:23px}
  .dc-d{font-size:16px}
  .dc-go{min-height:44px;align-items:center}
  .tramo{display:grid;grid-template-columns:48px 1fr;gap:0 12px;padding:18px 16px}
  .tramo .m{grid-row:1/3;font-size:24px}
  .tramo b{font-size:17px;margin-top:0}
  .tramo p{font-size:16px;grid-column:2}
  .mt-pills li,.mt-tools li a{min-height:44px;display:inline-flex;align-items:center;font-size:15.5px}
  .mt-c p,.mt-proof p{font-size:16px}
  .tm span{font-size:14px}.tm b{font-size:17px}
  .trc-l li{font-size:16px}
  .sv .qc,.sv li{font-size:16px}
  .sv .et,.sv .pr small{font-size:12px}
  .sv .btn{min-height:52px;display:flex;justify-content:center;width:100%}
  .sv .btn+.btn{margin-top:10px}
  .sv.destaca .btn.ghost{color:#fff;border-color:#fff}
  #subjects .cuatro{grid-template-columns:1fr 1fr!important;gap:10px;margin-top:22px!important}
  #subjects .tj{padding:16px 14px 16px;border-radius:20px}
  #subjects .tj h3{font-size:19px;padding-top:10px;line-height:1.05}
  #subjects .tj p{font-size:14.5px;margin-top:6px;line-height:1.4}
  #subjects .tj .et{font-size:11.5px;letter-spacing:.12em}
  .et,.va,.mono,.stat,.eyebrow,p.et,small{font-size:12px!important}
  .mhero .eyebrow{font-size:12px!important}
  .cmp td.no span,.cmp td span{font-size:15.5px}
  .here-chip{font-size:14px}
  figcaption span,figcaption small,.pcard span,.pcard b,.pstrip b,.pstrip span,.pack figcaption span,.pack figcaption b{font-size:12px!important}
  .miga a{min-width:44px;justify-content:center}
  nav.snav .idioma.m-only a,nav.snav .idioma.m-only span{min-height:44px;min-width:44px}
  footer.sfoot .fbrand .marca{min-height:44px}
  .fin h2{font-size:clamp(34px,10vw,44px)}

  /* ---- comparison: segmented tabs + stacked cards ---- */
  .seg{display:flex;gap:4px;padding:4px;margin:22px 0 14px;background:var(--hueso);border:2px solid var(--carbon);border-radius:999px}
  .seg button{flex:1 1 0;min-height:44px;border:0;border-radius:999px;padding:6px 8px;background:transparent;color:var(--carbon);font:800 14.5px/1.15 var(--sans);cursor:pointer}
  .seg button[aria-pressed="true"]{background:var(--carbon);color:#fff}
  .seg button.two{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
  .seg button.two span{font-weight:600;font-size:13.5px;opacity:.85}
  .cmp.tabbed thead{display:none}
  .cmp.tabbed tbody{display:block}
  .cmp.tabbed tbody tr{display:grid;grid-template-columns:1fr;gap:6px;border:2px solid var(--linea);border-radius:18px;padding:16px 18px;margin-bottom:10px;background:#fff}
  .cmp.tabbed tbody th{display:block;width:100%;padding:0;border:0;white-space:normal;font-size:12px;font-family:var(--mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--humo)}
  .cmp.tabbed td{display:block;padding:0;border:0;background:none!important}
  .cmp.tabbed td:before{display:none}
  .cmp.tabbed td span{font-size:17px;line-height:1.45;color:var(--carbon);font-weight:600}
  .cmp.tabbed td small{font-size:14px;color:var(--tinta2);font-weight:400}
  .cmp.tabbed[data-show="0"] td:not(:nth-child(2)),
  .cmp.tabbed[data-show="1"] td:not(:nth-child(3)),
  .cmp.tabbed[data-show="2"] td:not(:nth-child(4)){display:none}
  .cmp td:before{font-size:12px}
  .cmp tbody th{font-size:19px}
  .cmp td span{font-size:16px}

  /* ---- faq ---- */
  .faq summary{min-height:60px;padding:16px 2px;font-size:18px;line-height:1.25}
  details p{font-size:16.5px}

  /* ---- forms: one column, large inputs, no iOS zoom ---- */
  .m-form{padding:22px 18px;border-radius:24px;gap:18px}
  .m-form label{font-size:16px}
  .m-form input[type=text],.m-form input[type=email],.m-form select,.m-form textarea{font-size:16px;min-height:54px;padding:13px 15px;border-radius:14px}
  .m-form textarea{min-height:120px}
  .m-form label.ok{font-size:16px;min-height:44px;align-items:center}
  .m-form label.ok input{width:26px;height:26px;flex:0 0 26px}
  .m-form .btn{min-height:56px;font-size:17px}
  .m-form select{-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23141218' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center no-repeat;padding-right:42px}

  /* ---- footer ---- */
  footer.sfoot .btn{min-height:52px;justify-content:center}
  .fcols{gap:4px 18px}
  .fcol a{display:flex;align-items:center;min-height:44px;font-size:15.5px}
  .fcol ul{gap:0;margin-top:4px}
  .fcol-h{display:flex;align-items:center;min-height:44px}
  footer.sfoot address a{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:360px){
  .mhero h1{font-size:38px}
  .mcta .btn{font-size:15.5px;padding:0 12px}
}

/* 1181-1320px: the header (logo, 5 menus, CTA) was 25 px wider than the viewport */
@media (min-width:1181px) and (max-width:1320px){
  .sede{display:none}
  nav.snav .wrap{gap:8px}
  nav.snav .menu .mg-b,nav.snav .menu>a{padding-left:9px;padding-right:9px;font-size:14px}
  nav.snav .nav-cta{margin-left:2px;padding-left:16px;padding-right:16px}
}
