
/* Concepto: el triángulo del logo abre la página; bandas negras y blancas alternas; un solo ángulo (60°) en cortes, flechas y transiciones; rojo solo en acción y selección. Aspecto único de marca. */
:root{
  --negro:#131313; --blanco:#ffffff; --pieza:#f1f0ef; --gris:#5e5b5a; --gris-inv:#b5b1af; --linea:#d8d5d3; --linea-inv:#3a3837; --rojo:#AB2729; --rosa:#f3dcdc;
  --titular:"Archivo",Arial,Helvetica,sans-serif; --texto:"Archivo",Arial,Helvetica,sans-serif;
  --paso:clamp(3.5rem,9vw,7rem); --lado:max(clamp(16px,3.5vw,56px),calc((100% - 90rem)/2));
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:4.5rem}
body{background:var(--blanco);color:var(--negro);font-family:var(--texto);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block}
:focus-visible{outline:3px solid var(--rojo);outline-offset:3px}
.n :focus-visible,.cab :focus-visible,.hero :focus-visible,.leo :focus-visible{outline-color:var(--blanco)}
.banda{padding-block:var(--paso);padding-inline:var(--lado);position:relative}
.n{background:var(--negro);color:var(--blanco)}
.p{background:var(--pieza)}
.rotulo{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);display:flex;align-items:center;gap:.6rem}
.rotulo::before{content:"";width:.55rem;height:.95rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
.n .rotulo{color:var(--gris-inv)}
h2{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1.52rem,4.32vw,3rem);line-height:1.02;text-wrap:balance;margin:.7rem 0 1rem;letter-spacing:-.01em}
.entrada{max-width:38rem;color:var(--gris);margin-bottom:2.5rem;font-size:1.125rem}
.n .entrada{color:var(--gris-inv)}
.boton{display:inline-flex;align-items:center;justify-content:space-between;gap:.9rem;background:var(--rojo);color:#fff;font-weight:700;font-size:1rem;line-height:1.2;padding:1rem 1.15rem 1rem 1.35rem;border:0;text-decoration:none;min-height:3.25rem;position:relative;overflow:hidden;isolation:isolate}
.boton::before{content:"";position:absolute;inset:0;background:var(--negro);z-index:-1;clip-path:polygon(0 0,0 0,0 0);transition:clip-path .45s cubic-bezier(.2,.7,.2,1)}
.boton:hover::before,.boton:focus-visible::before{clip-path:polygon(0 0,220% 0,0 380%)}
.n .boton::before,.hero .boton::before,.cab .boton::before{background:var(--blanco)}
.n .boton:hover,.hero .boton:hover,.cab .boton:hover,.n .boton:focus-visible,.hero .boton:focus-visible{color:var(--negro)}
.boton::after{content:"";flex:none;width:.6rem;height:1.04rem;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%);transition:transform .25s ease}
.boton:hover::after,.boton:focus-visible::after{transform:translateX(.3rem)}
.boton.linea{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.boton:disabled{background:var(--linea);color:var(--gris);cursor:not-allowed}
.enlace{background:none;border:0;padding:.5rem 0;text-decoration:underline;text-underline-offset:.25em;text-decoration-color:var(--rojo);text-decoration-thickness:2px;font-weight:700}
.fila{display:flex;flex-wrap:wrap;gap:.75rem}

/* cabecera */
.cab{position:fixed;inset:env(safe-area-inset-top,0px) 0 auto 0;z-index:40;color:var(--blanco);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem var(--lado);transition:background-color .35s ease,padding .35s ease,border-color .35s ease;border-bottom:1px solid transparent}
.cab.solida{background:var(--negro);padding-block:.5rem;border-bottom-color:var(--linea-inv)}
.cab .logo img{height:2.9rem;width:auto;transition:height .35s ease}
.cab.solida .logo img{height:2.4rem}
.cab nav{display:none;gap:1.75rem;font-size:.9375rem;font-weight:600}
.cab nav a{text-decoration:none;padding:.4rem 0;background:linear-gradient(var(--rojo),var(--rojo)) 0 100%/0 2px no-repeat;transition:background-size .3s ease}
.cab nav a:hover,.cab nav a:focus-visible{background-size:100% 2px}
.cab .der{display:flex;align-items:center;gap:.5rem}
.cab .boton{padding:.6rem .9rem .6rem 1rem;min-height:2.6rem;font-size:.9375rem}
.hamb{width:2.6rem;height:2.6rem;background:none;border:0;display:grid;place-items:center}
.hamb span{display:block;width:1.4rem;height:2px;background:var(--blanco);box-shadow:0 .42rem 0 var(--blanco),0 -.42rem 0 var(--blanco)}
@media (min-width:60rem){.cab nav{display:flex}.hamb{display:none}}
@media (max-width:26rem){.cab .boton{display:none}}
.menu{position:fixed;inset:0;z-index:50;background:var(--negro);color:var(--blanco);padding:calc(env(safe-area-inset-top,0px) + 1rem) var(--lado) 2rem;display:flex;flex-direction:column;gap:1.5rem;clip-path:polygon(100% 0,100% 0,100% 0);transition:clip-path .55s cubic-bezier(.2,.7,.2,1);visibility:hidden}
.menu.abierto{clip-path:polygon(-130% 0,100% 0,100% 260%);visibility:visible}
.menu .cerrar{align-self:flex-end;background:none;border:0;font-size:1rem;font-weight:700;padding:.6rem 0;color:var(--blanco);text-decoration:underline;text-underline-offset:.25em}
.menu a{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1.52rem,7.2vw,2.4rem);line-height:1.1;text-decoration:none;display:block;padding:.35rem 0;border-bottom:1px solid var(--linea-inv)}
.menu .boton{font-family:var(--texto);font-stretch:100%;font-size:1rem;border:0;margin-top:auto;display:inline-flex}

/* hero */
.hero{position:relative;background:var(--negro);color:var(--blanco);min-height:min(100svh,54rem);display:flex;flex-direction:column;justify-content:flex-end;padding:7rem var(--lado) clamp(1.5rem,4vw,2.5rem);overflow:hidden;isolation:isolate}
.hero .medio{position:absolute;inset:0;z-index:-2;clip-path:polygon(50% -130%,200% 120%,-100% 120%);animation:abre 1.5s cubic-bezier(.65,0,.2,1) both}
@keyframes abre{from{clip-path:polygon(50% 26%,64% 60%,36% 60%)}to{clip-path:polygon(50% -130%,200% 120%,-100% 120%)}}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .medio::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,19,19,.88) 0%,rgba(19,19,19,.6) 50%,rgba(19,19,19,.25) 100%),linear-gradient(0deg,rgba(19,19,19,.85),rgba(19,19,19,0) 50%)}
.hero .cont>*{animation:sube .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:.9s}
.hero h1{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(1.92rem,4.43vw,3.25rem);line-height:.98;margin:1rem 0 1.5rem;letter-spacing:-.015em;animation:none!important}
.hero h1 span{display:block;animation:sube .8s cubic-bezier(.2,.7,.2,1) both}
.hero h1 span:nth-child(1){animation-delay:.75s}.hero h1 span:nth-child(2){animation-delay:.9s}.hero h1 span:nth-child(3){animation-delay:1.05s}
.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--blanco)}
@keyframes sube{from{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:none}}
.hero .rotulo{color:var(--blanco)}
.hero p.sub{font-size:clamp(1.0625rem,2.2vw,1.3rem);max-width:33rem;margin-bottom:2rem;animation-delay:1.2s}
.hero .fila{animation-delay:1.3s}
.hero .datos{margin-top:clamp(2rem,6vw,4rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:1rem 2rem;border-top:1px solid rgba(255,255,255,.3);padding-top:1.1rem;animation-delay:1.45s}
.hero .datos div{display:grid;gap:.1rem;font-size:.9375rem;color:var(--gris-inv)}
.hero .datos b{color:var(--blanco);font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.238rem;line-height:1.1}
.hero .datos a{text-decoration:none}
.hero .datos a b{text-decoration:underline;text-decoration-color:var(--rojo);text-decoration-thickness:2px;text-underline-offset:.25em}

/* cinta */
.cinta{background:var(--rojo);color:#fff;overflow:hidden;padding:.85rem 0;font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1rem,2.4vw,1.375rem);white-space:nowrap}
.cinta div{display:inline-flex;gap:2.5rem;padding-right:2.5rem;animation:corre 28s linear infinite}
.cinta span{display:inline-flex;align-items:center;gap:2.5rem}
.cinta span::after{content:"";width:.6rem;height:1.04rem;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%)}
@keyframes corre{to{transform:translateX(-50%)}}

/* entras */
.entras{display:grid;gap:2rem}
.motivos{border-top:2px solid var(--negro)}
.motivo{border-bottom:1px solid var(--linea)}
.motivo>button{width:100%;background:none;border:0;text-align:left;padding:1.1rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:clamp(1.04rem,2.88vw,1.68rem);line-height:1.08;color:var(--gris);transition:color .25s ease,padding .35s ease}
.motivo>button::after{content:"";flex:none;width:.7rem;height:1.21rem;background:var(--linea);clip-path:polygon(0 0,100% 50%,0 100%);transition:background-color .25s ease,transform .35s ease}
.motivo.activo>button{color:var(--negro);padding-left:.25rem}
.motivo.activo>button::after{background:var(--rojo);transform:rotate(90deg)}
@media (hover:hover){.motivo>button:hover{color:var(--negro)}}
.motivo .dentro{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.motivo.activo .dentro{grid-template-rows:1fr}
.motivo .dentro>div{overflow:hidden;min-height:0}
.motivo .cuerpo{padding:0 0 1.4rem;display:grid;gap:1rem;max-width:34rem}
.motivo .cuerpo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 30%;clip-path:polygon(0 0,calc(100% - 1.6rem) 0,100% 2.77rem,100% 100%,0 100%)}
.motivo .clase{font-weight:700}
.motivo .clase b{color:var(--rojo)}
.visor{display:none}
@media (min-width:60rem){
  .entras{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4rem;align-items:start}
  .motivo .cuerpo img{display:none}
  .visor{display:block;position:sticky;top:5.5rem;aspect-ratio:4/5;max-height:calc(100vh - 7rem);width:100%;background:var(--pieza);clip-path:polygon(0 0,calc(100% - 3rem) 0,100% 5.2rem,100% 100%,0 100%)}
  .visor img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;clip-path:polygon(100% 0,100% 0,100% 0);transition:clip-path .8s cubic-bezier(.65,0,.2,1);z-index:1}
  .visor img.antes{clip-path:polygon(-130% 0,100% 0,100% 260%);z-index:1;transition:none}
  .visor img.activo{clip-path:polygon(-130% 0,100% 0,100% 260%);z-index:2}
}

/* escuela */
.escuela{display:grid;gap:2.5rem}
.mantra{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(1.6rem,4.581vw,3.25rem);line-height:1;letter-spacing:-.015em;margin:1.5rem 0 2.5rem}
.mantra span{display:block;color:var(--linea-inv);transition:color .5s ease}
.mantra span.ya{color:var(--blanco)}
.mantra span:last-child.ya{color:var(--rojo);-webkit-text-stroke:0}
.escuela .txt{display:grid;gap:1rem;max-width:36rem;color:var(--gris-inv);font-size:1.125rem}
.escuela .txt strong{color:var(--blanco)}
.escuela .fotos{display:grid;grid-template-columns:1.25fr 1fr;gap:.75rem;align-items:end}
.escuela .fotos img{width:100%;object-fit:cover}
.escuela .fotos img:first-child{aspect-ratio:3/4;clip-path:polygon(0 0,calc(100% - 2.2rem) 0,100% 3.8rem,100% 100%,0 100%)}
.escuela .fotos img:last-child{aspect-ratio:3/4;margin-bottom:-2.5rem}
@media (min-width:60rem){.escuela{grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1.5rem 2rem;margin-top:clamp(3.5rem,8vw,5.5rem);border-top:1px solid var(--linea-inv);padding-top:1.5rem}
.cifras div{display:grid;gap:.2rem;color:var(--gris-inv);font-size:.9375rem}
.cifras b{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(1.8rem,4.8vw,3rem);line-height:1;color:var(--blanco);font-variant-numeric:tabular-nums}

/* horarios */
.filtros{display:grid;gap:.9rem;margin-bottom:1.75rem}
.filtros div{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.filtros .et{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);width:100%}
.chip{background:var(--blanco);border:1.5px solid var(--linea);padding:.5rem .85rem;font-weight:600;font-size:.9375rem;min-height:2.6rem;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.chip[aria-pressed="true"]{background:var(--negro);border-color:var(--negro);color:var(--blanco)}
@media (hover:hover){.chip:not([aria-pressed="true"]):hover{border-color:var(--negro)}}
.semana{display:grid;gap:1.5rem 1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,11.5rem),1fr));align-items:start}
.dia h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.125rem;border-bottom:2px solid var(--negro);padding-bottom:.5rem;margin-bottom:.5rem}
.dia ul{display:grid;gap:.35rem}
.cl{padding:.6rem .7rem;display:grid;gap:.05rem;border:1.5px solid var(--negro);background:var(--blanco);animation:entra .35s ease both}
.cl b{font-weight:700;line-height:1.2}
.cl span{font-variant-numeric:tabular-nums;font-size:.9375rem}
.cl.nogi{background:var(--rojo);border-color:var(--rojo);color:#fff}
.cl.ninos{background:var(--rosa);border-color:var(--rosa)}
.cl.otro{background:var(--negro);color:#fff}
.dia .nada{color:var(--gris);font-size:.9375rem;padding:.4rem 0}
@keyframes entra{from{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:none}}
.leyenda{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;color:var(--gris);font-size:.9375rem;align-items:center;justify-content:space-between}
.leyenda p{max-width:38rem}

/* tira */
.tira{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--lado) 1rem;margin:0 calc(var(--lado)*-1);scrollbar-width:thin}
.tira img{flex:none;width:min(72vw,20rem);aspect-ratio:2/3;object-fit:cover;scroll-snap-align:start;clip-path:polygon(0 0,calc(100% - 1.8rem) 0,100% 3.1rem,100% 100%,0 100%)}

/* agenda */
.agenda{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));margin-top:3rem}
.agenda article{min-width:0;display:grid;gap:.6rem;align-content:start}
.agenda .marco{overflow:hidden;clip-path:polygon(0 0,calc(100% - 1.6rem) 0,100% 2.77rem,100% 100%,0 100%)}
.agenda img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.agenda article:hover img{transform:scale(1.05)}
.agenda h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.2rem;line-height:1.1}
.agenda p{color:var(--gris-inv);font-size:.9375rem}
.agenda .fijo{font-weight:700;color:var(--blanco);font-variant-numeric:tabular-nums}

/* equipo */
.familia{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 78%;clip-path:polygon(0 0,calc(100% - 3rem) 0,100% 5.2rem,100% 100%,0 100%);margin-bottom:2.5rem}
.profes{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));border-top:2px solid var(--negro)}
.profe{padding:1.5rem 1.25rem 1.75rem 0;border-bottom:1px solid var(--linea);display:grid;gap:.6rem;align-content:start}
.profe h3{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(1.28rem,2.72vw,1.68rem);line-height:1.02}
.profe .rol{font-weight:700;font-size:.9375rem}
.profe p{color:var(--gris);font-size:.9375rem}
.cinturon{height:.9rem;background:var(--negro);position:relative;max-width:11rem}
.cinturon::after{content:"";position:absolute;right:1rem;top:0;bottom:0;width:2.6rem;background:var(--rojo)}
.cinturon i{position:absolute;top:0;bottom:0;width:.22rem;background:#fff;z-index:1}
.pend{font-size:.8125rem;color:var(--gris);border:1px dashed var(--linea);padding:.4rem .55rem}

/* test */
.test{max-width:46rem;background:var(--blanco);padding:clamp(1.1rem,3vw,1.9rem)}
.pasos{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:1.4rem}
.paso{width:100%;height:100%;background:none;border:0;border-top:4px solid var(--linea);padding:.45rem 0 0;text-align:left;display:grid;align-content:start;color:var(--gris);min-height:2.9rem}
.paso .num{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.paso .valor{font-size:.8125rem;line-height:1.25}
.paso.hecho{border-top-color:var(--negro);color:var(--negro)}
.paso[aria-current="step"]{border-top-color:var(--rojo);color:var(--negro)}
.paso:disabled{cursor:default}
.pregunta{font-family:var(--titular);font-stretch:114%;font-weight:600;font-size:1.28rem;line-height:1.1;margin-bottom:.2rem}
.ayuda{color:var(--gris);font-size:.9375rem;margin-bottom:1rem}
.tatami{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.tatami.una{grid-template-columns:1fr}
.tatami>:last-child:nth-child(odd){grid-column:1/-1}
.aparte{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--linea)}
.op{width:100%;background:var(--blanco);border:1.5px solid var(--linea);min-height:3.4rem;padding:.7rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;font-weight:500;font-size:.9375rem;line-height:1.2;transition:background-color .14s ease,color .14s ease,border-color .14s ease,transform .14s ease}
.op:active{transform:scale(.985)}
.op[aria-pressed="true"]{background:var(--rojo);border-color:var(--rojo);color:#fff;font-weight:700}
.op[aria-pressed="true"]::after{content:"";flex:none;width:.34rem;height:.68rem;margin:-.15rem .3rem 0 0;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.op:disabled{opacity:.35;cursor:not-allowed}
@media (hover:hover){.op:not(:disabled):not([aria-pressed="true"]):hover{border-color:var(--negro)}}
.acciones{margin-top:1.1rem;display:grid;gap:.35rem;justify-items:start}
.acciones .boton{width:100%}
.resultado{margin-top:1rem;background:var(--negro);color:var(--blanco);padding:clamp(1.25rem,4vw,2.25rem);max-width:46rem;animation:sube .45s cubic-bezier(.2,.7,.2,1) both}
.resultado .frase{color:var(--gris-inv);margin-bottom:1.25rem}
.resultado .partida{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1.6rem,5.6vw,2.8rem);line-height:1;margin:.5rem 0 .8rem}
.resultado .nota{color:var(--gris-inv);font-size:.9375rem;margin-bottom:.6rem}
.horario{border-top:2px solid currentColor;margin:1.25rem 0 1rem}
.horario li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;padding:.7rem 0;border-bottom:1px solid var(--linea-inv)}
.horas{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.hora{border:1.5px solid currentColor;padding:.12rem .55rem;font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:500;white-space:nowrap}
.resultado .boton{width:100%;margin-top:.5rem}
.resultado .enlace{color:var(--gris-inv);margin-top:.75rem}

/* léo */
.leo{background:var(--rojo);color:#fff;overflow:hidden}
.leo::before{content:"";position:absolute;right:-6rem;top:50%;width:min(60vw,34rem);aspect-ratio:1/.866;transform:translateY(-50%);background:rgba(19,19,19,.14);clip-path:polygon(50% 0,100% 100%,0 100%)}
.leo>*{position:relative}
.leo .rotulo{color:#fff}.leo .rotulo::before{background:#fff}
.leo h2{font-size:clamp(1.92rem,4.604vw,3.25rem)}
.leo p.t{max-width:34rem;margin-bottom:1.75rem;font-size:1.2rem}
.leo .boton{background:var(--negro)}.leo .boton::before{background:#fff}.leo .boton:hover{color:var(--negro)}
.leo dl{margin-top:2.75rem;display:grid;gap:1rem 3rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));border-top:1px solid rgba(255,255,255,.45);padding-top:1.25rem}
.leo dt{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.leo dd{margin-top:.2rem;font-weight:600}

.pie{background:var(--negro);color:var(--gris-inv);padding:2rem var(--lado) 5.5rem;font-size:.875rem;display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between}
.fija{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--negro);padding:.6rem 16px calc(.6rem + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .4s cubic-bezier(.2,.7,.2,1);border-top:1px solid var(--linea-inv)}
.fija.visible{transform:none}
.fija .boton{width:100%}
@media (min-width:60rem){.fija{display:none}.pie{padding-bottom:2rem}}

/* modal */
.velo{position:fixed;inset:0;z-index:60;background:rgba(19,19,19,.72);display:grid;place-items:end center;padding:0;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.velo.abierto{opacity:1;visibility:visible}
.hoja{background:var(--blanco);color:var(--negro);width:min(100%,30rem);padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom,0px));transform:translateY(2rem);transition:transform .4s cubic-bezier(.2,.7,.2,1);max-height:100%;overflow:auto;border-top:6px solid var(--rojo)}
.velo.abierto .hoja{transform:none}
@media (min-width:40rem){.velo{place-items:center;padding:1rem}.hoja{padding:2rem}}
.hoja h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.4rem;line-height:1.05;margin-bottom:.4rem}
.hoja p.d{color:var(--gris);font-size:.9375rem;margin-bottom:1.1rem}
.campo{display:grid;gap:.3rem;margin-bottom:.8rem}
.campo label{font-size:.875rem;font-weight:700}
.campo label small{font-weight:400;color:var(--gris)}
.campo input{font:inherit;padding:.8rem .85rem;border:1.5px solid var(--linea);background:var(--blanco);color:var(--negro);width:100%;border-radius:0}
.campo input:focus{border-color:var(--negro);outline:none}
.acepto{display:flex;gap:.6rem;align-items:flex-start;font-size:.875rem;color:var(--gris);margin:1rem 0 1.1rem}
.acepto input{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--rojo);flex:none}
.hoja .boton{width:100%}
.hoja .x{float:right;background:none;border:0;font-weight:700;text-decoration:underline;text-underline-offset:.25em;padding:.25rem 0 .5rem .75rem}
.error{color:var(--rojo);font-size:.875rem;font-weight:600;margin-bottom:.75rem}

.ver{opacity:0;transform:translateY(1.5rem);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.ver.ya{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.ver{opacity:1;transform:none}.mantra span{color:var(--blanco)}.mantra span:last-child{color:var(--rojo)}}

/* ===== v3 ===== */
.sim{display:inline-block;background:currentColor;-webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjEyOC43IDkuOCAxMTcuNyAxMDMuMyI+PHBhdGggZD0iTSAyNDUuNDAyMzQ0IDExMi4wNDI5NjkgTCAxNDcuODU1NDY5IDExMi4wNDI5NjkgTCAxNzguMjIyNjU2IDU3Ljk2MDkzOCBMIDE4NS42ODc1IDcwLjc1NzgxMiBMIDE3MC42MTMyODEgOTguMjMwNDY5IEwgMjM4LjA4MjAzMSA5OC43MzgyODEgWiBNIDI0NS40MDIzNDQgMTEyLjA0Mjk2OSAiLz48cGF0aCBkPSJNIDEyOS43MzgyODEgMTExLjUzNTE1NiBMIDE0My40Mzc1IDExMS41MzUxNTYgTCAxNzguODAwNzgxIDUyLjgyODEyNSBMIDE5NC4zODI4MTIgODAuMDg1OTM4IEwgMjA5LjYwMTU2MiA4MC4wODU5MzggTCAxNzguMjIyNjU2IDI2Ljg3MTA5NCBaIE0gMTI5LjczODI4MSAxMTEuNTM1MTU2ICIvPjxwYXRoIGQ9Ik0gMTgxLjY5OTIxOSA4My4wNTA3ODEgTCAxNzQuNzQyMTg4IDk2LjA2MjUgTCAyMzYuODQ3NjU2IDk2LjA2MjUgTCAxODcuMjA3MDMxIDEwLjc1IEwgMTc5LjU5NzY1NiAyMy43NjE3MTkgTCAyMTMuNTg1OTM4IDgzLjA1MDc4MSBaIE0gMTgxLjY5OTIxOSA4My4wNTA3ODEgIi8+PC9zdmc+") center/contain no-repeat;mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjEyOC43IDkuOCAxMTcuNyAxMDMuMyI+PHBhdGggZD0iTSAyNDUuNDAyMzQ0IDExMi4wNDI5NjkgTCAxNDcuODU1NDY5IDExMi4wNDI5NjkgTCAxNzguMjIyNjU2IDU3Ljk2MDkzOCBMIDE4NS42ODc1IDcwLjc1NzgxMiBMIDE3MC42MTMyODEgOTguMjMwNDY5IEwgMjM4LjA4MjAzMSA5OC43MzgyODEgWiBNIDI0NS40MDIzNDQgMTEyLjA0Mjk2OSAiLz48cGF0aCBkPSJNIDEyOS43MzgyODEgMTExLjUzNTE1NiBMIDE0My40Mzc1IDExMS41MzUxNTYgTCAxNzguODAwNzgxIDUyLjgyODEyNSBMIDE5NC4zODI4MTIgODAuMDg1OTM4IEwgMjA5LjYwMTU2MiA4MC4wODU5MzggTCAxNzguMjIyNjU2IDI2Ljg3MTA5NCBaIE0gMTI5LjczODI4MSAxMTEuNTM1MTU2ICIvPjxwYXRoIGQ9Ik0gMTgxLjY5OTIxOSA4My4wNTA3ODEgTCAxNzQuNzQyMTg4IDk2LjA2MjUgTCAyMzYuODQ3NjU2IDk2LjA2MjUgTCAxODcuMjA3MDMxIDEwLjc1IEwgMTc5LjU5NzY1NiAyMy43NjE3MTkgTCAyMTMuNTg1OTM4IDgzLjA1MDc4MSBaIE0gMTgxLjY5OTIxOSA4My4wNTA3ODEgIi8+PC9zdmc+") center/contain no-repeat;aspect-ratio:117.7/103.3}
.rotulo{text-transform:none;letter-spacing:0;font-size:.9375rem;font-weight:600}
.rotulo::before{display:none}
.hero .rotulo{font-size:1rem}
h2{margin-top:0}
.cinta span::after{width:1.25em;height:auto;aspect-ratio:117.7/103.3;clip-path:none;background:#fff;-webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjEyOC43IDkuOCAxMTcuNyAxMDMuMyI+PHBhdGggZD0iTSAyNDUuNDAyMzQ0IDExMi4wNDI5NjkgTCAxNDcuODU1NDY5IDExMi4wNDI5NjkgTCAxNzguMjIyNjU2IDU3Ljk2MDkzOCBMIDE4NS42ODc1IDcwLjc1NzgxMiBMIDE3MC42MTMyODEgOTguMjMwNDY5IEwgMjM4LjA4MjAzMSA5OC43MzgyODEgWiBNIDI0NS40MDIzNDQgMTEyLjA0Mjk2OSAiLz48cGF0aCBkPSJNIDEyOS43MzgyODEgMTExLjUzNTE1NiBMIDE0My40Mzc1IDExMS41MzUxNTYgTCAxNzguODAwNzgxIDUyLjgyODEyNSBMIDE5NC4zODI4MTIgODAuMDg1OTM4IEwgMjA5LjYwMTU2MiA4MC4wODU5MzggTCAxNzguMjIyNjU2IDI2Ljg3MTA5NCBaIE0gMTI5LjczODI4MSAxMTEuNTM1MTU2ICIvPjxwYXRoIGQ9Ik0gMTgxLjY5OTIxOSA4My4wNTA3ODEgTCAxNzQuNzQyMTg4IDk2LjA2MjUgTCAyMzYuODQ3NjU2IDk2LjA2MjUgTCAxODcuMjA3MDMxIDEwLjc1IEwgMTc5LjU5NzY1NiAyMy43NjE3MTkgTCAyMTMuNTg1OTM4IDgzLjA1MDc4MSBaIE0gMTgxLjY5OTIxOSA4My4wNTA3ODEgIi8+PC9zdmc+") center/contain no-repeat;mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjEyOC43IDkuOCAxMTcuNyAxMDMuMyI+PHBhdGggZD0iTSAyNDUuNDAyMzQ0IDExMi4wNDI5NjkgTCAxNDcuODU1NDY5IDExMi4wNDI5NjkgTCAxNzguMjIyNjU2IDU3Ljk2MDkzOCBMIDE4NS42ODc1IDcwLjc1NzgxMiBMIDE3MC42MTMyODEgOTguMjMwNDY5IEwgMjM4LjA4MjAzMSA5OC43MzgyODEgWiBNIDI0NS40MDIzNDQgMTEyLjA0Mjk2OSAiLz48cGF0aCBkPSJNIDEyOS43MzgyODEgMTExLjUzNTE1NiBMIDE0My40Mzc1IDExMS41MzUxNTYgTCAxNzguODAwNzgxIDUyLjgyODEyNSBMIDE5NC4zODI4MTIgODAuMDg1OTM4IEwgMjA5LjYwMTU2MiA4MC4wODU5MzggTCAxNzguMjIyNjU2IDI2Ljg3MTA5NCBaIE0gMTI5LjczODI4MSAxMTEuNTM1MTU2ICIvPjxwYXRoIGQ9Ik0gMTgxLjY5OTIxOSA4My4wNTA3ODEgTCAxNzQuNzQyMTg4IDk2LjA2MjUgTCAyMzYuODQ3NjU2IDk2LjA2MjUgTCAxODcuMjA3MDMxIDEwLjc1IEwgMTc5LjU5NzY1NiAyMy43NjE3MTkgTCAyMTMuNTg1OTM4IDgzLjA1MDc4MSBaIE0gMTgxLjY5OTIxOSA4My4wNTA3ODEgIi8+PC9zdmc+") center/contain no-repeat}
.escuela .txt strong{display:block;font-size:1.125rem;margin-bottom:.25rem}

/* instalaciones */
.sala{position:relative;margin:0 calc(var(--lado)*-1);color:#fff;isolation:isolate;overflow:hidden}
.sala img{width:100%;height:clamp(22rem,56vw,38rem);object-fit:cover;object-position:50% 60%}
.sala::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(19,19,19,.88) 0%,rgba(19,19,19,.1) 60%)}
.sala figcaption{position:absolute;z-index:1;left:var(--lado);right:var(--lado);bottom:clamp(1.25rem,4vw,2.5rem);display:grid;gap:.25rem}
.sala .m2{font-family:var(--titular);font-stretch:122%;font-weight:600;font-size:clamp(3.2rem,4.75vw,3.25rem);line-height:.82;letter-spacing:-.03em}
.sala .m2 small{font-size:.36em;letter-spacing:0;margin-left:.15em}
.sala .de{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1rem,2.72vw,1.8rem);line-height:1.1}
.dotacion{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));border-bottom:2px solid var(--negro)}
.dotacion div{padding:1.75rem 1.5rem 1.75rem 0;display:grid;gap:.3rem;align-content:start}
.dotacion h3{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.2rem;line-height:1.1}
.dotacion p{color:var(--gris)}
#instalaciones{padding-top:0}
#instalaciones .cab-sec{padding-block:var(--paso) 2.5rem}

/* clases */
.clases{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--lado)*-1);padding:0 var(--lado) 1rem;scrollbar-width:thin}
.clase{position:relative;flex:none;width:min(78vw,19rem);height:28rem;scroll-snap-align:start;color:#fff;background:var(--negro);overflow:hidden;isolation:isolate;border:0;padding:0;text-align:left;display:block}
.clase img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.clase::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(19,19,19,.94) 0%,rgba(19,19,19,.55) 38%,rgba(19,19,19,.05) 75%)}
.clase.sinfoto{background:var(--rojo)}.clase.sinfoto::after{display:none}
.clase.sinfoto .sim{position:absolute;right:-18%;top:8%;width:95%;color:rgba(19,19,19,.18);z-index:-1}
.clase .pie-c{position:absolute;left:1.1rem;right:1.1rem;bottom:1.1rem;display:grid;gap:.5rem}
.clase h3{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.28rem;line-height:1.02}
.clase .mas{display:grid;gap:.6rem}
.clase .mas p{font-size:.9375rem;line-height:1.4}
.clase .cuando{font-weight:700;font-variant-numeric:tabular-nums}
.clase .ir{font-weight:700;display:inline-flex;align-items:center;gap:.6rem}
.clase .ir::after{content:"";width:.5rem;height:.87rem;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
@media (min-width:64rem) and (hover:hover){
  .clases{overflow:visible;margin:0;padding:0;gap:.4rem;height:34rem}
  .clase{flex:1 1 0;width:auto;min-width:0;height:100%;transition:flex-grow .6s cubic-bezier(.2,.7,.2,1)}
  .clase h3{font-size:1.125rem;transition:font-size .4s ease}
  .clase .mas{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease,opacity .3s ease}
  .clase.on{flex-grow:4.2}
  .clase.on h3{font-size:1.8rem}
  .clase.on .mas{max-height:14rem;opacity:1;transition-delay:.15s}
  .clase.on img{transform:scale(1.04)}
}
.nota-clases{margin-top:1.5rem;color:var(--gris);max-width:40rem}

/* parrilla */
.semana{grid-template-columns:1fr;gap:1.5rem}
@media (min-width:44rem){.semana{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:68rem){.semana{grid-template-columns:repeat(7,minmax(0,1fr));gap:1.5rem .5rem}}
.cl{padding:.55rem .6rem}
.cl b{font-size:.9375rem}
.cl span{font-size:.875rem}
.par{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.par .cl{animation:none}
.cl.aviso{border-style:dashed;background:transparent}
.cl.cerrado{border-color:var(--linea);color:var(--gris);background:transparent}
.cl.open{background:transparent;border:2px solid var(--rojo)}
.leyenda{justify-content:flex-end}

/* agenda */
.centro{display:flex;justify-content:center;margin-top:3rem}
.agenda{margin-top:0}

/* test en dos columnas */
.dos-test{display:grid;gap:2rem}
@media (min-width:60rem){.dos-test{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:start}.dos-test .izq{position:sticky;top:6rem}}
.dos-test .entrada{margin-bottom:0}
.test,.resultado{max-width:none}

/* léo */
.leo::before{display:none}
.leo>.sim{position:absolute;right:-4%;top:50%;transform:translateY(-50%);width:min(62vw,40rem);color:rgba(19,19,19,.16)}

/* interés en el formulario */
.interes{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.interes .chip{min-height:2.5rem;padding:.45rem .7rem;font-size:.875rem}
.interes .chip[aria-pressed="true"]{background:var(--rojo);border-color:var(--rojo)}
.grupo-t{font-size:.875rem;font-weight:700;margin-bottom:.4rem}
@media (min-width:64rem) and (hover:hover){
  .clase:not(.on) h3{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;justify-self:start}
  .clase:not(.on) .pie-c{left:.9rem;right:auto}
}

/* ===== v4 ===== */
h2{font-size:clamp(1.4rem,3.12vw,2.32rem);line-height:1.05}
.entrada{font-size:1.0625rem;margin-bottom:2rem}
.leo h2{font-size:clamp(1.76rem,4.694vw,3.25rem)}

/* escuela: una frase por línea, una sola foto alineada */
.escuela{gap:2.5rem;align-items:stretch}
@media (min-width:60rem){.escuela{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:4.5rem}}
.mantra{font-size:clamp(1.24rem,5.92vw,2.64rem);line-height:1.08;margin:0 0 2rem;letter-spacing:-.01em}
.mantra span{white-space:nowrap}
.escuela .txt{font-size:1.0625rem;max-width:34rem}
.escuela .fotos{display:block}
.escuela .fotos img:first-child{width:100%;height:100%;min-height:20rem;max-height:34rem;aspect-ratio:auto;object-fit:cover;object-position:50% 40%;clip-path:polygon(0 0,calc(100% - 3rem) 0,100% 5.2rem,100% 100%,0 100%)}
.cifras{margin-top:clamp(2.5rem,6vw,4rem)}
.cifras b{font-size:clamp(1.6rem,3.68vw,2.4rem)}

/* carrusel de clases */
.carr{position:relative;--cw:min(72vw,23rem)}
.pista{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem calc(50% - var(--cw)/2) 1.5rem;margin:0 calc(var(--lado)*-1);scrollbar-width:none;overscroll-behavior-x:contain}
.pista::-webkit-scrollbar{display:none}
.tarj{position:relative;flex:none;width:var(--cw);height:min(31rem,120vw);scroll-snap-align:center;color:#fff;background:#000;overflow:hidden;isolation:isolate;transform:scale(var(--s,.84));opacity:var(--o,.45);transform-origin:center;will-change:transform;cursor:pointer}
.tarj.centro{cursor:default}
.tarj img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.tarj::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(19,19,19,.95) 0%,rgba(19,19,19,.6) 40%,rgba(19,19,19,0) 72%)}
.tarj.sinfoto{background:var(--rojo)}.tarj.sinfoto::after{display:none}
.tarj.sinfoto .sim{position:absolute;right:-22%;top:6%;width:100%;color:rgba(19,19,19,.18);z-index:-1}
.tarj .dentro-t{position:absolute;left:1.4rem;right:1.4rem;bottom:1.4rem;display:grid;gap:.7rem}
.tarj h3{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1.28rem,2.4vw,1.68rem);line-height:1.02}
.tarj p{font-size:.9375rem;line-height:1.45;max-width:19rem}
.tarj .acc{display:grid;gap:.7rem;transition:opacity .25s ease}
.tarj:not(.centro) .acc{opacity:0;pointer-events:none}
.tarj .boton{width:100%}
.tarj .links{display:flex;justify-content:space-between;gap:1rem;font-weight:700;font-size:.9375rem}
.tarj .links a{text-decoration:underline;text-underline-offset:.25em;text-decoration-color:var(--rojo);text-decoration-thickness:2px}
.flechas{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:.5rem}
.fle{width:3.25rem;height:3.25rem;border:2px solid var(--blanco);background:transparent;color:var(--blanco);display:grid;place-items:center;transition:background-color .2s ease,color .2s ease}
.fle::before{content:"";width:.7rem;height:1.21rem;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.fle.ant::before{transform:scaleX(-1)}
.fle:hover{background:var(--blanco);color:var(--negro)}
.fle:disabled{opacity:.3;cursor:default;background:transparent;color:var(--blanco)}
.cuenta{font-variant-numeric:tabular-nums;font-weight:600;min-width:4.5rem;text-align:center;color:var(--gris-inv)}

/* parrilla: réplica del horario de la escuela */
.parrilla{display:none}
@media (min-width:64rem){
  #semana{display:none}
  .parrilla{display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) minmax(0,.7fr);gap:.4rem;background:var(--negro);padding:.6rem;grid-auto-rows:minmax(3.9rem,auto)}
  .pd{background:#000;color:#fff;font-family:var(--titular);font-stretch:114%;font-weight:600;font-size:1rem;display:grid;place-items:center;padding:.6rem .25rem;border:1px solid var(--linea-inv);min-height:0}
  .psep{grid-column:1/-1;height:1px;background:var(--linea-inv);align-self:center}
  .pc{display:grid;place-content:center;text-align:center;padding:.4rem .35rem;background:#fff;color:var(--negro);line-height:1.2;transition:opacity .25s ease}
  .pc b{font-weight:600;font-size:.9375rem}
  .pc span{font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}
  .pc.nogi{background:var(--rojo);color:#fff}
  .pc.ninos{background:var(--rosa);color:var(--rojo)}
  .pc.mma{background:#000;color:#fff;border:1px solid var(--rojo)}
  .pc.comp{background:#3b3837;color:#fff}
  .pc.mixta{background:#8b8785;color:#fff}
  .pc.poli{border:2px solid var(--rojo)}
  .pc.open{background:transparent;color:#fff;border:2px solid var(--rojo)}
  .pc.cerr{background:transparent;color:var(--gris-inv);border:1px dashed var(--linea-inv)}
  .pdoble{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}
  .pdoble .pc{padding:.3rem .15rem}
  .pdoble .pc b{font-size:.75rem;line-height:1.15}
  .pdoble .pc span{font-size:.75rem}
  .pc.fuera{opacity:.14}
}
.carr{--cw:min(72vw,25rem)}
.tarj{height:min(33rem,122vw)}
.tarj:not(.centro) .acc{display:none}
@media (min-width:60rem){.mantra{font-size:clamp(1.6rem,2.88vw,2.48rem)}}
.opiniones{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.opinion{border-top:4px solid var(--rojo);background:var(--blanco);padding:1.5rem;display:grid;gap:1rem;align-content:space-between;min-height:12rem}
.opinion p{font-size:1.0625rem;color:var(--gris)}
.opinion footer{font-weight:700;font-size:.9375rem}

/* ===== v5 ===== */
.hero{justify-content:center;padding-bottom:clamp(3rem,8vw,6rem)}
.escuela .fotos{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;align-items:stretch}
.escuela .fotos img,.escuela .fotos img:first-child,.escuela .fotos img:last-child{width:100%;height:100%;min-height:16rem;max-height:30rem;aspect-ratio:3/4;object-fit:cover;margin:0;clip-path:none}
.escuela .fotos img:last-child{clip-path:polygon(0 0,calc(100% - 2.4rem) 0,100% 4.16rem,100% 100%,0 100%)}
.difs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr));gap:0 2rem;margin-top:clamp(2.5rem,6vw,4rem);border-top:1px solid var(--linea-inv)}
.difs div{padding:1.4rem 0;display:grid;gap:.3rem;align-content:start}
.difs h3{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.238rem;line-height:1.1}
.difs p{color:var(--gris-inv);font-size:.9375rem}
.filtros .et{font-size:.9375rem;letter-spacing:0;text-transform:none;color:var(--negro)}
.menu .logo-m{margin-top:auto;display:grid;gap:1.25rem;justify-items:start}
.menu .logo-m img{height:4.5rem;width:auto}
.menu .boton{margin-top:0}
.cinturon{max-width:10rem}
/* reseñas */
.widget{border:2px dashed var(--linea);background:var(--blanco);padding:clamp(1.5rem,5vw,3rem);display:grid;gap:.75rem;justify-items:start}
.widget h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.238rem}
.widget p{color:var(--gris);max-width:40rem}
/* léo con formulario a la vista */
.leo-dos{display:grid;gap:2.5rem;position:relative}
@media (min-width:60rem){.leo-dos{grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:4rem;align-items:start}}
.leo .ficha{background:var(--blanco);color:var(--negro);padding:clamp(1.25rem,3vw,2rem)}
.leo .ficha h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.2rem;line-height:1.1;margin-bottom:1rem}
.leo .ficha .boton{background:var(--rojo);width:100%}
.leo .ficha .boton::before{background:var(--negro)}
.leo .ficha .boton:hover{color:#fff}
.leo .ficha :focus-visible{outline-color:var(--rojo)}
.campo select{font:inherit;padding:.8rem .85rem;border:1.5px solid var(--linea);background:var(--blanco);color:var(--negro);width:100%;border-radius:0}
.leo dl{grid-template-columns:1fr;gap:1rem}
.leo{overflow:clip}

/* ===== v6 ===== */
@media (min-width:60rem){.escuela{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;align-items:center}}
.escuela .fotos{align-items:start}
.escuela .fotos img,.escuela .fotos img:first-child,.escuela .fotos img:last-child{aspect-ratio:2/3;height:auto;min-height:0;max-height:none}
.tarj .boton{width:auto;justify-self:start;min-height:2.5rem;padding:.55rem .8rem .55rem .95rem;font-size:.875rem;gap:.7rem}
.tarj .boton::after{width:.5rem;height:.87rem}
.tarj .links{justify-content:flex-start;gap:1.5rem}

/* equipo */
.profes{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:2.5rem 1.5rem;border-top:0}
.profe{padding:0;border-bottom:0;gap:.7rem}
.profe .ret{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--negro);clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 3.46rem,100% 100%,0 100%);filter:grayscale(1) contrast(1.05)}
.profe .ret.vacio{display:grid;place-items:center;color:var(--linea-inv)}
.profe .ret.vacio .sim{width:55%}
.profe .cinturon{margin-top:.5rem}
.profe h3{font-size:clamp(1.12rem,1.92vw,1.4rem)}
.profe p{font-size:1rem}

/* reseñas */
.nota-g{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-bottom:1.75rem}
.nota-g b{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:2rem;line-height:1}
.estrellas{color:#e7a600;letter-spacing:.1em;font-size:1.125rem}
.opiniones{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.opinion{border-top:0;background:var(--blanco);padding:1.5rem;display:grid;gap:.9rem;align-content:start;min-height:0}
.opinion p{font-size:1.0625rem;color:var(--negro)}
.opinion footer{display:grid;gap:.1rem;font-weight:700;font-size:.9375rem}
.opinion footer span{font-weight:400;color:var(--gris);font-size:.875rem}
.opinion .estrellas{font-size:1rem}

/* cierre con vídeo */
.leo{background:var(--negro);padding-block:clamp(4.5rem,11vw,9rem);isolation:isolate}
.leo .fondo{position:absolute;inset:0;z-index:-2}
.leo .fondo video{width:100%;height:100%;object-fit:cover}
.leo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(171,39,41,.94) 0%,rgba(171,39,41,.82) 42%,rgba(19,19,19,.72) 100%)}
.leo>.sim{display:none}
.leo h2{font-size:clamp(2rem,4.117vw,3.25rem);line-height:.98;margin-bottom:1.25rem}
.leo p.t{font-size:clamp(1.1rem,2vw,1.35rem)}
.leo .ficha{background:rgba(19,19,19,.82);color:var(--blanco);border-top:6px solid var(--blanco);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.leo .ficha .campo input,.leo .ficha .campo select{background:transparent;color:var(--blanco);border-color:rgba(255,255,255,.45)}
.leo .ficha .campo select option{color:var(--negro)}
.leo .ficha .campo input:focus,.leo .ficha .campo select:focus{border-color:var(--blanco)}
.leo .ficha .acepto{color:var(--gris-inv)}
.leo .ficha .error{color:#ffb4b4}
.leo .ficha .boton::before{background:var(--blanco)}
.leo .ficha .boton:hover{color:var(--negro)}
.leo .ficha :focus-visible{outline-color:var(--blanco)}

/* pie */
.pie{display:block;padding:clamp(3rem,7vw,5rem) var(--lado) 6rem;font-size:.9375rem}
.pie-cols{display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.pie-cols img{height:5rem;width:auto;margin-bottom:1rem}
.pie h3{color:var(--blanco);font-weight:700;font-size:.9375rem;margin-bottom:.8rem}
.pie li{margin-bottom:.45rem}
.pie a{text-decoration:none}
.pie a:hover{color:var(--blanco);text-decoration:underline;text-underline-offset:.25em}
.pie-fin{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--linea-inv);display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;font-size:.8125rem}
@media (min-width:60rem){.pie{padding-bottom:2.5rem}}
.profe .ret{filter:none;object-position:50% 20%}
.maestro{margin:0 0 3rem;display:grid;gap:.75rem}
.maestro img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 22%;clip-path:polygon(0 0,calc(100% - 3rem) 0,100% 5.2rem,100% 100%,0 100%)}
.maestro figcaption{color:var(--gris);font-size:.9375rem}
@media (max-width:40rem){.maestro img{aspect-ratio:5/4}}

/* v8 · reseñas de Google */
.boton.linea:hover,.boton.linea:focus-visible{color:#fff;box-shadow:inset 0 0 0 2px var(--rojo)}
.boton.linea::before{background:var(--rojo)}
.n .boton.linea:hover,.hero .boton.linea:hover,.n .boton.linea:focus-visible,.hero .boton.linea:focus-visible{color:#fff}
.n .boton.linea::before,.hero .boton.linea::before{background:var(--rojo)}
.gres{display:grid;gap:1rem;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch}
.gpanel{background:var(--negro);color:#fff;padding:clamp(1.5rem,4vw,3rem);display:grid;gap:1.75rem;align-content:space-between;clip-path:polygon(0 0,100% 0,100% calc(100% - 4.5rem),calc(100% - 2.6rem) 100%,0 100%)}
.gpanel h2{color:#fff;margin:0}
.gmarca{display:flex;align-items:center;gap:.75rem}
.gmarca .g{width:2.75rem;height:2.75rem}
.gmarca span{display:grid;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris-inv);line-height:1.2}
.gmarca b{font-size:1.2rem;letter-spacing:0;text-transform:none;color:#fff;font-weight:700}
.gnota{display:flex;align-items:center;gap:1.25rem;margin:0}
.gnota>b{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(3.2rem,4.5vw,3.25rem);line-height:.85}
.gnota>span{display:grid;gap:.2rem}
.gnota strong{font-size:1.125rem}
.gnota em{font-style:normal;color:var(--gris-inv);font-size:.9375rem}
.gnota .estrellas{font-size:1.2rem}
.estrellas{color:#fbbc05}
.gacc{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;padding-right:2rem}
.gpanel .boton::before{background:#fff}.gpanel .boton:hover,.gpanel .boton:focus-visible{color:var(--negro)}
.enlace-g{color:#fff;font-weight:700;text-underline-offset:.3em}
.enlace-g:hover{color:#fbbc05}
.glista{display:grid;gap:1rem}
.res{background:var(--blanco);padding:1.35rem 1.5rem;display:grid;gap:.7rem;align-content:start}
.res header{display:flex;justify-content:space-between;align-items:center}
.res .g{width:1.5rem;height:1.5rem}
.res p{font-size:1.0625rem;color:var(--negro);margin:0}
.res footer{display:flex;flex-wrap:wrap;gap:.2rem .8rem;align-items:baseline;font-size:.9375rem}
.res footer span{color:var(--gris);font-size:.875rem}
@media (max-width:56rem){.gres{grid-template-columns:1fr}.gpanel{clip-path:polygon(0 0,100% 0,100% calc(100% - 3.5rem),calc(100% - 2rem) 100%,0 100%)}}

/* v9 · foto de familia */
.fam-fotos{display:grid;gap:1rem;grid-template-columns:minmax(0,64fr) minmax(0,45fr);margin-bottom:3rem;align-items:start}
.fam-fotos .maestro{margin:0}
.fam-fotos .maestro img{aspect-ratio:16/9;object-position:50% 50%}
.fam-fotos .maestro.cc img{aspect-ratio:5/4;object-position:50% 30%;clip-path:none}
@media (max-width:52rem){.fam-fotos{grid-template-columns:1fr;gap:1.5rem}.fam-fotos .maestro img{aspect-ratio:16/10}.fam-fotos .maestro.cc img{aspect-ratio:5/4}}

/* v10 · dos opciones de cabecera */
.cab .ln{display:none}
.conm{position:fixed;right:0;top:50%;flex-direction:column;padding:.4rem;z-index:45;display:flex;align-items:center;gap:.25rem;background:#fff;color:#131313;padding:.3rem .4rem .3rem .7rem;font-size:.8125rem;font-weight:700;box-shadow:0 2px 12px rgba(0,0,0,.35)}
.conm button{border:0;background:#f1f0ef;color:#131313;font:inherit;width:2rem;height:2rem;cursor:pointer}
.conm button[aria-pressed=true]{background:var(--rojo);color:#fff}
/* A · logo grande al centro */
.ma .cab{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem 2.75rem;padding-block:1rem}
.ma .cab .logo{grid-column:2;grid-row:1;justify-self:center}
.ma .cab .logo img{height:4rem}
.ma .cab.solida .logo img{height:2.9rem}
.ma .cab .n1{grid-column:1;grid-row:1;justify-self:end}
.ma .cab .dcha{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.ma .cab nav{gap:2.25rem}
@media (max-width:59.99rem){.ma .cab .dcha{justify-content:flex-end}.ma .cab .boton{display:none}}
@media (min-width:60rem){.ma .cab{padding-block:1.25rem}.ma .cab .logo img{height:5.75rem}.ma .cab.solida{padding-block:.5rem}.ma .cab.solida .logo img{height:3.4rem}}
@media (min-width:60rem) and (max-width:74rem){.ma .cab{gap:1rem 1.5rem}.ma .cab nav{gap:1.25rem}}
/* B · placa blanca con el logo, colgada de la esquina */
.mb .cab{justify-content:flex-start;gap:2.25rem;padding-left:0;padding-block:.9rem}
.mb .cab .logo{order:-1}.mb .cab .lb{display:none}.mb .cab .ln{display:block}
.mb .cab .logo{align-self:flex-start;background:#fff;margin:-.9rem 0 -3.2rem;padding:1.1rem 2.9rem 1.5rem var(--lado);clip-path:polygon(0 0,100% 0,100% calc(100% - 3.6rem),calc(100% - 2.08rem) 100%,0 100%);transition:padding .35s ease,margin .35s ease}
.mb .cab .logo img{height:4.2rem}
.mb .cab.solida .logo{margin-bottom:-2rem;padding-block:.7rem 1rem}
.mb .cab.solida .logo img{height:3.2rem}
.mb .cab .dcha{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1.75rem}
.mb .cab .n1{margin-left:.5rem}
@media (max-width:59.99rem){.mb .cab .dcha{justify-content:flex-end}}
@media (min-width:60rem){.mb .cab .logo{margin-bottom:-4.6rem;padding:1.4rem 3.4rem 1.9rem var(--lado)}.mb .cab .logo img{height:6rem}.mb .cab.solida .logo{margin-bottom:-2.6rem}.mb .cab.solida .logo img{height:3.9rem}}
@media (min-width:60rem) and (max-width:74rem){.mb .cab{gap:1.25rem}.mb .cab nav{gap:1.1rem}.mb .cab .dcha{gap:1.1rem}}
.ma .hero,.mb .hero{padding-top:8.5rem}
@media (min-width:60rem){.ma .hero{padding-top:10rem}.mb .hero{padding-top:12rem}}
@media (max-width:59.99rem){.mb .hero{padding-top:9rem}}

/* v11 · tarifas */
.tar{display:grid;gap:clamp(2rem,4vw,3.5rem);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}
.tar h3{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.238rem;line-height:1.15}
.tar-sub{color:var(--gris-inv);margin:.4rem 0 1.5rem}
.tar-tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linea-inv)}
.tar-p{display:grid;gap:.15rem;padding:1.5rem 1.25rem 1.5rem 0;align-content:start}
.tar-p+.tar-p{padding-left:1.25rem;border-left:1px solid var(--linea-inv)}
.tar-p b{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(2.08rem,3.9vw,3.25rem);line-height:1;letter-spacing:-.02em}
.tar-p>span{color:var(--gris-inv)}
.tar-p em{font-style:normal;margin-top:.9rem;font-weight:600}
.tar-et{font-weight:700;color:#fff!important;margin-bottom:.6rem;justify-self:start}
.tar-p.dest{position:relative}
.tar-p.dest::before{content:"";position:absolute;left:0;right:1.25rem;top:-1px;height:4px;background:var(--rojo)}
.tar-p.dest .tar-et::after{content:"El precio más bajo";display:inline-block;margin-left:.6rem;background:var(--rojo);padding:.15rem .5rem;font-size:.75rem;vertical-align:middle}
.tar-otras{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea-inv)}
.tar-otras li{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--linea-inv)}
.tar-otras p{color:var(--gris-inv);font-size:.9375rem;margin:.3rem 0 0}
.tar-otras b{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:1.6rem;line-height:1;white-space:nowrap;text-align:right;display:grid;gap:.3rem}
.tar-otras b span{font-family:var(--texto);font-stretch:100%;font-weight:400;font-size:.875rem;color:var(--gris-inv)}
.tar-pie{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem 2rem;margin-top:2.5rem}
.tar-pie p{color:var(--gris-inv);margin:0}
@media (max-width:60rem){.tar{grid-template-columns:1fr}}
@media (max-width:34rem){.tar-tres{grid-template-columns:1fr}.tar-p{grid-template-columns:1fr auto;column-gap:1rem;padding:1.25rem 0}.tar-p+.tar-p{padding-left:0;border-left:0;border-top:1px solid var(--linea-inv)}.tar-p b{grid-column:2;grid-row:1/4;align-self:center;font-size:2.2rem}.tar-p>span:not(.tar-et){grid-column:2;grid-row:4;text-align:right;display:none}.tar-p em{margin-top:.2rem;font-weight:400;color:var(--gris-inv)}.tar-p.dest::before{right:0}.tar-p.dest .tar-et::after{display:block;margin:.4rem 0 0;width:max-content}.tar-pie .boton{width:100%}}
@media (min-width:60rem) and (max-width:80rem){.ma .cab{gap:1rem 1.25rem}.ma .cab nav{gap:1.1rem}.ma .cab .dcha{gap:1rem}}
.cab .boton{white-space:nowrap}
@media (min-width:60rem) and (max-width:68rem){.ma .cab nav{gap:.85rem;font-size:.875rem}.ma .cab{gap:1rem}.ma .cab .boton{padding-inline:.8rem .7rem;font-size:.875rem}}

/* v12 · planes con detalle y botón de inscripción */
.planes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linea-inv)}
.planes.abajo{margin-top:2.5rem}
.plan{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:1rem;padding:1.75rem clamp(1rem,2.4vw,2rem) 2rem;position:relative;align-content:start}
.plan:first-child{padding-left:0}.plan:last-child{padding-right:0}
.plan+.plan{border-left:1px solid var(--linea-inv)}
.plan h3{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.125rem;line-height:1.15;margin:0}
.plan .precio{margin:0;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.plan .precio b{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(2.4rem,3.9vw,3.25rem);line-height:.95;letter-spacing:-.02em}
.plan.sec .precio b{font-size:clamp(1.92rem,3.36vw,2.6rem)}
.plan .precio span{color:var(--gris-inv)}
.plan .extra{margin:0;font-weight:700}
.plan ul{list-style:none;margin:0;padding:0;grid-row:4}
.plan li{padding:.6rem 0 .6rem 1.4rem;border-top:1px solid var(--linea-inv);position:relative;color:#e4e1df}
.plan li::before{content:"";position:absolute;left:0;top:1rem;width:.5rem;height:.87rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
.plan .boton{grid-row:5;justify-self:start;margin-top:.5rem}
.plan.dest::before{content:"";position:absolute;left:0;right:clamp(1rem,2.4vw,2rem);top:-1px;height:4px;background:var(--rojo)}
.plan.dest h3::after{content:"El precio más bajo";display:inline-block;margin-left:.6rem;background:var(--rojo);padding:.2rem .5rem;font-family:var(--texto);font-stretch:100%;font-weight:700;font-size:.75rem;vertical-align:middle}
.tar-pie p{max-width:38rem}.tar-pie p b{color:#fff}
@media (max-width:52rem){.planes{grid-template-columns:1fr;border-top:0}.planes.abajo{margin-top:0}.plan,.plan:first-child,.plan:last-child{padding:1.75rem 0;border-left:0;border-top:1px solid var(--linea-inv)}.plan.dest::before{right:0}.plan .boton{width:100%}.plan ul{grid-row:auto}.plan .boton{grid-row:auto}.plan{grid-template-rows:none}}
@media (max-width:52rem){.planes .plan+.plan{border-left:0;padding-left:0}}

/* v13 · planes: selección al pasar y panel para la fila de abajo */
.planes{--pp:clamp(1rem,2.4vw,2rem)}
.planes .plan{cursor:pointer;transition:background-color .3s ease}
.planes .plan::before{content:"";position:absolute;left:var(--pp);right:var(--pp);top:-1px;height:4px;background:var(--rojo);transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.planes .plan.sel::before{transform:scaleX(1)}
.planes:not(.abajo) .plan:first-child::before{left:0}
.planes:not(.abajo) .plan:last-child::before{right:0}
.planes .plan .precio b{transition:color .3s ease}
.planes .plan:not(.sel) .precio b{color:#cfcbc9}
.planes.abajo{background:#201f1f;border-top:0;margin-inline:calc(-1*var(--pp))}
.planes.abajo .plan,.planes.abajo .plan:first-child,.planes.abajo .plan:last-child{padding-inline:var(--pp)}
.planes.abajo .plan+.plan{border-left-color:#131313}
.planes.abajo .plan::before{left:0;right:0;top:0}
.planes.abajo .plan.sel{background:#2a2828}
.planes.abajo .plan li{border-top-color:#3d3a39}
@media (max-width:52rem){.planes .plan::before,.planes:not(.abajo) .plan:first-child::before,.planes:not(.abajo) .plan:last-child::before{left:0;right:0}
 .planes.abajo{margin-top:2rem;margin-inline:calc(-1*var(--lado))}
 .planes.abajo .plan,.planes.abajo .plan:first-child,.planes.abajo .plan:last-child{padding-inline:var(--lado);border-top-color:#131313}
 .planes.abajo .plan+.plan{padding-left:var(--lado)}}
@media (prefers-reduced-motion:reduce){.planes .plan::before{transition:none}}

/* v14 · tarjetas de clase: lo demás sube al pasar el ratón */
.tarj .dentro-t{gap:.6rem}
.tarj .dentro-t>p{transition:opacity .3s ease}
.tarj:not(.centro) .dentro-t>p{opacity:0}
.tarj .acc,.tarj:not(.centro) .acc{display:grid;grid-template-rows:0fr;gap:0;opacity:0;pointer-events:none;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1),opacity .3s ease}
.tarj .acc-d{overflow:hidden;min-height:0;display:grid;gap:.8rem}
.tarj .acc-d .links{padding-top:.6rem}
.tarj::after{transition:background-color .35s ease}
.tarj.centro:hover .acc,.tarj.centro:focus-within .acc,.tarj.centro.abierta .acc{grid-template-rows:1fr;opacity:1;pointer-events:auto}
.tarj.centro:hover::after,.tarj.centro:focus-within::after{background-color:rgba(19,19,19,.35)}
.tarj.centro{cursor:pointer}
@media (hover:none){.tarj.centro .acc{grid-template-rows:1fr;opacity:1;pointer-events:auto}}
@media (prefers-reduced-motion:reduce){.tarj .acc{transition:none}}
/* v14 · cierre más bajo */
.leo{padding-block:clamp(2.75rem,5.5vw,4.5rem)}
.leo h2{font-size:clamp(1.52rem,3.04vw,2.4rem);line-height:1.03;margin-bottom:.9rem}
.leo p.t{font-size:1.0625rem;margin-bottom:0;max-width:30rem}
.leo dl{margin-top:1.5rem;padding-top:1rem;gap:.8rem}
.leo .ficha{padding:clamp(1.1rem,2.2vw,1.6rem)}
.leo .ficha h3{font-size:1.125rem;margin-bottom:.8rem}
.leo .ficha .campo{margin-bottom:.65rem}
.leo .ficha .campo input,.leo .ficha .campo select{padding:.6rem .75rem}
.leo .ficha .acepto{margin:.6rem 0 .8rem}
@media (min-width:60rem){.leo-dos{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3.5rem;align-items:center}
 .leo .ficha{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem;align-items:end}
 .leo .ficha h3,.leo .ficha .error{grid-column:1/-1}
 .leo .ficha .acepto{margin:.4rem 0 0;align-self:center}
 .leo .ficha .boton{align-self:center;margin-top:.4rem}}
.leo .ficha .campo input,.leo .ficha .campo select{height:2.9rem;padding-block:0}

/* v15 · tarjetas de clase */
.tarj .links{padding-top:.2rem}
.tarj:not(.centro) .links{opacity:0;pointer-events:none}
.tarj .links a{font-weight:700}
/* v15 · equipo en un solo tono */
.fam-fotos img{filter:grayscale(1) contrast(1.06)}
/* v15 · la escuela */
.esc-cab{display:grid;gap:1.5rem 4rem;margin-bottom:2.75rem}
.esc-cab h2{margin:0;max-width:22ch}
.esc-cab .txt{display:grid;gap:.9rem;color:var(--gris-inv);font-size:1.0625rem;max-width:36rem}
@media (min-width:60rem){.esc-cab{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}}
.pasos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:3.5rem}
.pasos figure{margin:0;display:grid;gap:.9rem}
.pasos img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.pasos figure:first-child img{clip-path:polygon(0 0,calc(100% - 2.4rem) 0,100% 4.16rem,100% 100%,0 100%)}
.pasos figure:nth-child(even){margin-top:2.5rem}
.pasos span{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(.84rem,1.52vw,1.28rem);line-height:1.1;color:var(--linea-inv);transition:color .5s ease}
.pasos span.ya{color:#fff}
.pasos figure:last-child span.ya{color:var(--rojo)}
@media (max-width:52rem){.pasos{grid-template-columns:1fr 1fr;gap:1.5rem .6rem}.pasos figure:nth-child(even){margin-top:1.75rem}.pasos span{font-size:1.15rem}}
@media (prefers-reduced-motion:reduce){.pasos span{color:#fff}}
/* v15 · cierre con el vídeo a la vista */
.leo{padding:0;background:var(--negro);--ll:max(clamp(16px,3.5vw,56px),calc((100vw - 90rem)/2))}
.leo::after{display:none}
.leo-dos{display:grid;grid-template-columns:1fr;gap:0}
.leo-dos>div:first-child{position:relative;z-index:1;min-height:min(62vw,22rem);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem var(--ll);background:linear-gradient(0deg,rgba(19,19,19,.9) 0%,rgba(19,19,19,.45) 38%,rgba(19,19,19,0) 65%)}
.leo .fondo{inset:0 0 auto 0;height:min(62vw,22rem);z-index:0}
.leo h2{margin-bottom:.5rem}
.leo p.t{max-width:32rem}
.leo-d{padding:1.75rem var(--ll) 2.5rem;display:grid;gap:1.5rem;position:relative;z-index:1}
.leo .ficha{background:#1d1c1c;border-top:6px solid var(--rojo);-webkit-backdrop-filter:none;backdrop-filter:none}
.leo dl{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem 1.5rem}
.leo dd{font-size:.9375rem;overflow-wrap:anywhere}
@media (min-width:60rem){
 .leo-dos{grid-template-columns:minmax(0,58fr) minmax(0,42fr);align-items:stretch}
 .leo .fondo{inset:0 42% 0 0;height:auto}
 .leo-dos>div:first-child{min-height:27rem;padding:2.5rem 2.5rem 2.5rem var(--ll)}
 .leo-d{padding:2rem var(--ll) 2rem 2.5rem;align-content:center;gap:1.25rem}
}
.leo dl{grid-template-columns:1fr 1fr}.leo dl>div:last-child{grid-column:1/-1}
.leo-dos>div:first-child{min-height:min(80vw,26rem);background:linear-gradient(0deg,rgba(19,19,19,.96) 0%,rgba(19,19,19,.8) 30%,rgba(19,19,19,0) 62%)}
.leo .fondo{height:min(80vw,26rem)}
@media (min-width:60rem){.leo .fondo{height:auto}.leo-dos>div:first-child{min-height:27rem;background:linear-gradient(0deg,rgba(19,19,19,.92) 0%,rgba(19,19,19,.5) 30%,rgba(19,19,19,0) 55%)}
 .leo .ficha .acepto,.leo .ficha .boton{grid-column:1/-1}.leo .ficha .acepto{margin:.5rem 0 .2rem}.leo .ficha .boton{width:100%}}

/* v16 */
.nw{white-space:nowrap}
.esc-cab h2{max-width:none}
.fam-fotos img{filter:none}
/* clases en cuadrícula */
.cl-tabs{display:flex;gap:0;border-bottom:1px solid var(--linea-inv);margin-bottom:1.5rem}
.cl-tabs button{background:none;border:0;color:var(--gris-inv);font:inherit;font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(.84rem,1.76vw,1.2rem);padding:.9rem 1.5rem .9rem 0;margin-right:1.5rem;cursor:pointer;position:relative;display:flex;align-items:baseline;gap:.6rem}
.cl-tabs button span{font-family:var(--texto);font-stretch:100%;font-weight:400;font-size:.875rem}
.cl-tabs button[aria-selected=true]{color:#fff}
.cl-tabs button::after{content:"";position:absolute;left:0;right:1.5rem;bottom:-1px;height:4px;background:var(--rojo);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.cl-tabs button[aria-selected=true]::after{transform:scaleX(1)}
.cl-grid{display:grid;gap:.75rem}
.cl-grid[hidden]{display:none}
.cl-grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cl-grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cl-grid .cl{position:relative;display:block;overflow:hidden;isolation:isolate;aspect-ratio:4/5;color:#fff;text-decoration:none;background:#000}
.cl-grid.g3 .cl{aspect-ratio:4/3.4}
.cl-grid .cl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.cl-grid .cl::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(19,19,19,.95) 0%,rgba(19,19,19,.55) 42%,rgba(19,19,19,0) 70%);transition:background-color .3s ease}
.cl-grid .cl:hover img,.cl-grid .cl:focus-visible img{transform:scale(1.05)}
.cl-t{position:absolute;left:1.1rem;right:1.1rem;bottom:1.1rem;display:grid;gap:.35rem}
.cl-grid .cl strong{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(.92rem,1.36vw,1.2rem);line-height:1.05}
.cl-d{font-size:.9rem;line-height:1.4;color:#e4e1df}
.cl-m{font-weight:700;font-size:.9rem;margin-top:.3rem;justify-self:start;background:linear-gradient(var(--rojo),var(--rojo)) 0 100%/100% 2px no-repeat;padding-bottom:.2rem}
.cl-m::after{content:"";display:inline-block;width:.45rem;height:.78rem;margin-left:.5rem;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%);vertical-align:-.05rem;transition:transform .25s ease}
.cl-grid .cl:hover .cl-m::after{transform:translateX(.3rem)}
.cl-e{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(1.76rem,3.52vw,2.8rem);line-height:.95;letter-spacing:-.02em}
.cl-e+strong{font-family:var(--texto);font-stretch:100%;font-weight:700;font-size:1rem}
.cl-grid .cl.sin{background:var(--rojo)}.cl-grid .cl.sin::after{display:none}
.cl-grid .cl.sin .sim{position:absolute;right:-25%;top:4%;width:105%;color:rgba(19,19,19,.18);z-index:-1}
.cl-cta{background:#201f1f;display:grid;align-content:end;gap:.6rem;padding:1.1rem}
.cl-cta::after{display:none}
.cl-cta .boton{justify-self:start;margin-top:.4rem;min-height:2.6rem;padding:.6rem .85rem .6rem 1rem;font-size:.875rem}
@media (max-width:60rem){.cl-grid.g4,.cl-grid.g3{grid-template-columns:1fr 1fr}.cl-grid .cl,.cl-grid.g3 .cl{aspect-ratio:4/5}}
@media (max-width:30rem){.cl-tabs button{margin-right:.9rem;padding-right:.6rem;flex-direction:column;gap:.1rem;align-items:flex-start}.cl-t{left:.8rem;right:.8rem;bottom:.8rem}.cl-d{font-size:.8125rem}.cl-cta{padding:.8rem}.cl-cta .boton{width:100%;font-size:.8125rem;padding-inline:.7rem .6rem}}
/* cierre ordenado */
.leo .leo-d{background:#1d1c1c;display:flex;align-items:center}
.leo .ficha{background:none;border:0;padding:0;width:100%}
.leo .ficha h3{font-size:clamp(1.08rem,1.76vw,1.4rem);margin-bottom:.5rem}
.ficha-sub{color:var(--gris-inv);font-size:.9375rem;margin:0 0 1.25rem}
.ficha-pie{color:var(--gris-inv);font-size:.9375rem;margin:1rem 0 0}.ficha-pie a{color:#fff;font-weight:700}
.leo h2{font-size:clamp(1.6rem,3.52vw,2.8rem);line-height:1.02}
@media (min-width:60rem){.leo-dos{grid-template-columns:minmax(0,58fr) minmax(0,42fr)}.leo-dos>div:first-child{min-height:30rem}.leo .leo-d{padding:2.5rem var(--ll) 2.5rem 3rem}
 .leo .ficha h3,.leo .ficha .ficha-sub,.leo .ficha .ficha-pie{grid-column:1/-1}}
@media (max-width:34rem){.cl-grid a.cl .cl-d{display:none}.cl-grid .cl strong{font-size:1.1rem}}
/* v17 */
.cab .boton{opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:opacity .4s ease,transform .4s cubic-bezier(.2,.7,.2,1),visibility 0s .4s}
.cab.cta .boton{opacity:1;visibility:visible;transform:none;transition:opacity .4s ease,transform .4s cubic-bezier(.2,.7,.2,1)}
/* v20 · cierre rojo sencillo */
.cierre{background:var(--rojo);color:#fff;overflow:clip;padding-block:clamp(3rem,7vw,5rem);display:grid;gap:1.1rem;justify-items:start}
.cierre>*{position:relative}
.cierre>.sim{position:absolute;right:-3%;top:50%;transform:translateY(-50%);width:min(52vw,30rem);color:rgba(19,19,19,.16)}
.cierre h2{font-size:clamp(1.76rem,4.333vw,3.25rem);line-height:1;margin:0}
.cierre p{font-size:clamp(1.05rem,1.8vw,1.25rem);max-width:34rem;margin:0 0 .6rem}
.cierre .boton{background:var(--negro)}.cierre .boton::before{background:#fff}.cierre .boton:hover,.cierre .boton:focus-visible{color:var(--negro)}
.cierre :focus-visible{outline-color:#fff}
.cl-grid .cl.cl-cta{background:#201f1f;display:grid;align-content:end;gap:.6rem;padding:1.1rem}.cl-grid .cl.cl-cta::after{display:none}
@media (max-width:30rem){.cl-grid .cl.cl-cta{padding:.8rem}}
/* v22 · menú más presente */
@media (min-width:60rem){
 .ma .cab nav{font-size:clamp(.8125rem,.95vw,.9375rem);font-weight:700;text-transform:uppercase;letter-spacing:.09em;gap:clamp(1rem,2.4vw,2.75rem)}
 .ma .cab nav a{padding:.6rem 0;white-space:nowrap}
 .ma .cab{gap:1rem clamp(1.5rem,3.5vw,4rem)}
 .ma .cab .dcha{gap:clamp(1rem,2vw,2rem)}
 .ma .cab .boton{text-transform:uppercase;letter-spacing:.07em;font-size:.8125rem}
}
@media (min-width:60rem) and (max-width:72rem){.ma .cab nav{font-size:.75rem;letter-spacing:.06em;gap:.9rem}.ma .cab{gap:1rem}.ma .cab .boton{font-size:.75rem;padding-inline:.7rem .6rem}}
@media (min-width:60rem) and (max-width:64rem){.ma .cab .boton::after{display:none}.ma .cab .boton{padding-inline:.7rem}}
/* v23 · cierre rojo con formulario */
.cierre{grid-template-columns:1fr;gap:2rem;align-items:center}
.cierre .ficha{background:#fff;color:var(--negro);padding:clamp(1.25rem,2.5vw,2rem);width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:1rem;align-items:end}
.cierre .ficha h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:clamp(1rem,1.6vw,1.28rem);line-height:1.1;margin:0 0 .4rem}
.cierre .ficha h3,.cierre .ficha .ficha-sub,.cierre .ficha .acepto,.cierre .ficha .error,.cierre .ficha .boton,.cierre .ficha .ficha-pie{grid-column:1/-1}
.cierre .ficha .ficha-sub{color:var(--gris);font-size:.9375rem;margin:0 0 1rem;max-width:none}
.cierre .ficha .campo{margin-bottom:.7rem}
.cierre .ficha .campo input,.cierre .ficha .campo select{height:2.9rem;padding-block:0}
.cierre .ficha .acepto{margin:.3rem 0 .8rem}
.cierre .ficha .acepto span{color:var(--gris)}
.cierre .ficha .boton{width:100%;background:var(--rojo)}
.cierre .ficha .boton::before{background:var(--negro)}
.cierre .ficha .boton:hover,.cierre .ficha .boton:focus-visible{color:#fff}
.cierre .ficha .ficha-pie{color:var(--gris);font-size:.9375rem;margin:.9rem 0 0;max-width:none}.cierre .ficha .ficha-pie a{color:var(--negro);font-weight:700}
.cierre .ficha :focus-visible{outline-color:var(--rojo)}
.cierre .ficha .error{color:var(--rojo);margin:0 0 .6rem;font-size:.9375rem}
.cierre-t{display:grid;gap:1rem}
@media (min-width:60rem){.cierre{grid-template-columns:minmax(0,1fr) minmax(0,30rem);gap:4rem}.cierre>.sim{right:auto;left:30%}}
@media (max-width:30rem){.cierre .ficha{grid-template-columns:1fr}}
/* PROPUESTA C */
.esc2{display:grid;gap:2.5rem;align-items:center}
.esc2 h2{color:#fff;margin:0 0 .25rem;font-size:clamp(1.52rem,2.88vw,2.48rem)}
.esc2-t{display:grid;gap:1rem;color:var(--gris-inv);font-size:1.0625rem;justify-items:start}
.esc2-l{color:#fff;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.45}
.mantra2{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(.92rem,1.52vw,1.28rem);line-height:1.25;margin:.75rem 0 0}
.mantra2 span{color:var(--linea-inv);transition:color .5s ease;white-space:nowrap}
.mantra2 span.ya{color:#fff}.mantra2 span:last-child.ya{color:var(--rojo)}
.esc2-m{margin:-.6rem 0 .5rem;font-size:.9375rem}
.esc2-f{margin:0;display:grid;gap:.6rem}
.esc2-f img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;clip-path:polygon(0 0,calc(100% - 3.5rem) 0,100% 6.06rem,100% 100%,0 100%)}
.esc2-f figcaption{color:var(--gris-inv);font-size:.875rem}
.esc2-d{list-style:none;margin:clamp(2.5rem,5vw,4rem) 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem 3rem;color:var(--gris-inv);font-size:1rem}
.esc2-d b{color:#fff;font-weight:700}
.esc2-d li::before{content:"";display:inline-block;width:.45rem;height:.78rem;margin-right:.7rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
@media (min-width:60rem){.esc2{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4.5rem}}
/* clases en dos paneles */
.cg{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,5vw,4rem)}
.cg-g{min-width:0}
.cg-t{font-family:var(--titular);font-stretch:125%;font-weight:600;font-size:clamp(1.28rem,2.4vw,1.92rem);line-height:1;margin:0 0 1.25rem;display:flex;align-items:baseline;gap:1rem}
.cg-t span{font-family:var(--texto);font-stretch:100%;font-weight:600;font-size:.9375rem;color:var(--gris-inv)}
.cg-l{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--lado)*-1);padding:0 var(--lado) .75rem;scrollbar-width:none}
.cg-l::-webkit-scrollbar{display:none}
.cc{position:relative;isolation:isolate;overflow:hidden;flex:none;width:min(78vw,19rem);min-height:26rem;scroll-snap-align:start;display:flex;align-items:flex-end;color:#fff;text-decoration:none;background:#000}
.cc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.cc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(19,19,19,.96) 0%,rgba(19,19,19,.7) 42%,rgba(19,19,19,.05) 75%);transition:background-color .3s ease}
.cc-t{display:grid;gap:.45rem;padding:1.25rem;width:100%}
.cc b{font-family:var(--titular);font-stretch:125%;font-weight:600;font-size:clamp(1.2rem,1.76vw,1.6rem);line-height:1}
.cc-d{color:#e4e1df;font-size:.9375rem;line-height:1.35}
.cc-h{font-size:.8125rem;font-weight:700;color:#fff;display:flex;gap:.5rem;align-items:baseline}
.cc-h::before{content:"";flex:none;width:.4rem;height:.7rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
.cc em{font-style:normal;font-weight:700;font-size:.9375rem;margin-top:.6rem;background:var(--rojo);color:#fff;padding:.7rem .9rem;display:flex;justify-content:space-between;align-items:center;transition:background-color .25s ease,color .25s ease}
.cc em::after{content:"";width:.5rem;height:.87rem;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%);transition:transform .25s ease}
.cc:hover img,.cc:focus-visible img{transform:scale(1.06)}
.cc:hover em,.cc:focus-visible em{background:#fff;color:var(--negro)}
.cc:hover em::after,.cc:focus-visible em::after{transform:translateX(.3rem)}
@media (min-width:60rem){
 .cg-l{display:grid;overflow:visible;margin:0;padding:0;grid-template-columns:repeat(12,minmax(0,1fr))}
 .cc{width:auto;grid-column:span 3;min-height:clamp(24rem,32vw,30rem)}
 .cg-l.n7 .cc:nth-child(n+5){grid-column:span 4}
 .cg-l.n5 .cc:nth-child(-n+3){grid-column:span 4}
 .cg-l.n5 .cc:nth-child(n+4){grid-column:span 6}
}
.pan2{display:grid;gap:.75rem}
.pan{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(26rem,44vw,36rem);display:flex;align-items:flex-end;color:#fff;background:#000}
.pan>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pan:hover>img{transform:scale(1.04)}
.pan::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(19,19,19,.96) 0%,rgba(19,19,19,.78) 45%,rgba(19,19,19,.15) 80%)}
.pan-t{padding:clamp(1.25rem,2.6vw,2.25rem);display:grid;gap:.6rem;width:100%}
.pan h3{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1}
.pan p{color:#e4e1df;max-width:30rem;margin:0}
.pan-f{position:absolute;inset:0;z-index:-2}
.pan-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}
.pan-f img.on{opacity:1}
.pan-g{font-weight:700;font-size:.9375rem;color:#fff;display:inline-flex;align-items:center;gap:.6rem}
.pan-g::before{content:"";width:.45rem;height:.78rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
.pan p{min-height:3.2em}
.pan-m{justify-self:start;color:#fff;font-weight:700;text-decoration:none;background:linear-gradient(var(--rojo),var(--rojo)) 0 100%/100% 2px no-repeat;padding-bottom:.2rem}
.pan-m:hover{background-size:100% 100%}
.pan-l{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.pan-l button{font:inherit;font-weight:700;font-size:.9375rem;border:0;cursor:pointer;background:rgba(255,255,255,.14);color:#fff;padding:.65rem 1rem;transition:background-color .2s ease,color .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.pan-l button:hover{background:#fff;color:var(--negro)}
.pan-l button[aria-pressed=true]{background:var(--rojo);color:#fff}
.pan h3,.pan .pan-t>p{transition:opacity .25s ease}
.pan.cambia h3,.pan.cambia .pan-t>p{opacity:0}
.pan-pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:1.75rem}
.pan-pie p{margin:0;color:var(--gris-inv)}.pan-pie b{color:#fff}
@media (min-width:60rem){.pan2{grid-template-columns:1fr 1fr}}
/* blog */
.blog-c{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 2rem;margin-bottom:2rem}
.blog-c h2{margin:0}
.blog{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.post{background:var(--pieza);color:var(--negro);text-decoration:none;padding:1.5rem;display:grid;gap:.7rem;align-content:start;transition:background-color .25s ease,color .25s ease}

.post{position:relative;isolation:isolate;overflow:hidden;min-height:15rem}
.post img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transform:scale(1.06);transition:opacity .4s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.post::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(19,19,19,.78);opacity:0;transition:opacity .4s ease}
.post:hover img,.post:focus-visible img{opacity:1;transform:none}
.post:hover::before,.post:focus-visible::before{opacity:1}
.post:hover,.post:focus-visible{background:var(--negro);color:#fff}
.post:hover .post-e,.post:focus-visible .post-e{color:#fff}
.post:hover p,.post:focus-visible p{color:#e4e1df}
.post-e{font-weight:700;font-size:.875rem;color:var(--rojo)}
.post h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.17rem;line-height:1.15}
.post p{color:var(--gris);font-size:.9375rem;margin:0}
.post-m{font-weight:700;font-size:.9375rem;margin-top:.5rem}
.post-m::after{content:"";display:inline-block;width:.45rem;height:.78rem;margin-left:.5rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%);vertical-align:-.05rem}
.post:hover,.post:focus-visible{background:var(--negro);color:#fff}
.post:hover p,.post:focus-visible p{color:var(--gris-inv)}
.blog-n{color:var(--gris);font-size:.875rem;margin:1rem 0 0}
.cintaB{position:fixed;left:0;bottom:0;z-index:60;background:#fff;color:#131313;font-size:.75rem;font-weight:700;padding:.3rem .6rem}
/* PÁGINA DE CLASE */
.pie2{text-align:center}
.pie-logo img{height:clamp(6rem,10vw,8.5rem);width:auto;display:block;margin:0 auto}
.pie-lema{margin:1rem 0 0;color:var(--gris-inv)}
.pie3{display:grid;gap:2.5rem 4rem;margin-top:3rem;text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.pie3 h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.125rem;color:#fff;margin-bottom:1rem}
.pie3 ul{list-style:none;margin:0;padding:0}
.pie3 ul.dos{columns:2;column-gap:2rem}
.pie3 li{margin-bottom:.6rem;break-inside:avoid}
.pie2 .pie-fin{align-items:center}
.pie-legal{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:center}

.conf{list-style:none;margin:0;padding:1rem var(--lado);background:var(--negro);color:#e4e1df;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 2.5rem;font-size:.9375rem}
.conf b{color:#fff}.conf .estrellas{font-size:1rem;letter-spacing:.05em}
.conf li+li::before{content:"";display:inline-block;width:.42rem;height:.73rem;margin-right:.7rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
.cp{text-align:center}.cp h2{margin-inline:auto}
.cp .pasos3{text-align:left;max-width:68rem;margin-inline:auto}
.cp .centro{margin-top:2.5rem}
.co-c{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 2rem;margin-bottom:1.75rem}
.co-c h2{margin:0}.co-c .enlace{color:#fff}
.mas{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.mas-c{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:clamp(26rem,46vw,38rem);color:#fff;text-decoration:none;background:#000}
.mas-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.mas-c::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(19,19,19,.96) 0%,rgba(19,19,19,.6) 45%,rgba(19,19,19,0) 75%)}
.mas-c:hover img{transform:scale(1.05)}
.mas-t{display:grid;gap:.5rem;padding:1.4rem}
.mas-t strong{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.4rem;line-height:1}
.mas-t span{color:#e4e1df;font-size:.9375rem}
.mas-t em{font-style:normal;font-weight:700;justify-self:start;margin-top:.3rem;background:linear-gradient(var(--rojo),var(--rojo)) 0 100%/100% 2px no-repeat;padding-bottom:.2rem}
.mas-t em::after{content:"";display:inline-block;width:.45rem;height:.78rem;margin-left:.5rem;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%);vertical-align:-.05rem;transition:transform .25s ease}
.mas-c:hover em::after{transform:translateX(.3rem)}

.ch{position:relative;isolation:isolate;color:#fff;background:#000;min-height:min(78svh,40rem);display:flex;align-items:flex-end;padding:9rem var(--lado) clamp(2rem,5vw,3.5rem)}
.ch>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;z-index:-2}
.ch::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(19,19,19,.92) 0%,rgba(19,19,19,.7) 45%,rgba(19,19,19,.2) 100%),linear-gradient(0deg,rgba(19,19,19,.85),rgba(19,19,19,0) 55%)}
.ch-t{display:grid;gap:1rem;max-width:46rem}
.miga{font-size:.875rem;color:var(--gris-inv);margin:0}.miga a{color:inherit;text-underline-offset:.25em}
.ch h1{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(1.68rem,3.671vw,3rem);line-height:1;letter-spacing:-.015em;margin:0;text-wrap:balance}
.ch p{font-size:clamp(1.05rem,1.7vw,1.25rem);margin:0;max-width:38rem}
.ch-b{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}
.ch .boton::before{background:#fff}.ch .boton:hover{color:var(--negro)}.ch .boton.linea::before{background:var(--rojo)}.ch .boton.linea:hover{color:#fff}
.cu2{display:grid;gap:2.5rem;align-items:start}
.cu-t{display:grid;gap:1rem;font-size:1.0625rem;color:var(--gris);max-width:42rem}
.cu-t h2{color:var(--negro);margin:0 0 .25rem}
.cu-l{color:var(--negro);font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.45}
.cu-a{background:var(--negro);color:#fff;padding:clamp(1.5rem,3vw,2.25rem);display:grid;gap:1rem;clip-path:polygon(0 0,calc(100% - 2.6rem) 0,100% 4.5rem,100% 100%,0 100%)}
.cu-a h3{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.238rem;line-height:1.1;padding-right:2rem}
.cu-h{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.cu-h li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.cu-h b{font-size:1.125rem}
.cu-h span{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1.12rem,1.92vw,1.52rem);font-variant-numeric:tabular-nums}
.cu-a p{color:var(--gris-inv);font-size:.9375rem;margin:0}
.cu-a .enlace{color:#fff;justify-self:start}
@media (min-width:60rem){.cu2{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:5rem}.cu-a{position:sticky;top:7rem}}
.cp h2{margin-bottom:2rem}
.pasos3{list-style:none;counter-reset:p;margin:0;padding:0;display:grid;gap:2rem 3.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.pasos3 li{counter-increment:p;color:var(--gris);font-size:1.0625rem;display:grid;gap:.5rem;align-content:start}
.pasos3 li::before{content:counter(p);font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:2.8rem;line-height:.9;color:var(--rojo)}
.pasos3 b{color:var(--negro);display:block;font-size:1.2rem}
.cq2{display:grid;gap:2rem}
.cq2 h2{margin:0;max-width:16ch}
.faq{margin:0;display:grid;gap:.4rem;max-width:44rem}
.faq dt{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.2rem;line-height:1.2;margin-top:1.4rem}
.faq dt:first-child{margin-top:0}
.faq dd{margin:0;color:var(--gris);font-size:1.0625rem}
@media (min-width:60rem){.cq2{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:5rem;align-items:start}.cq2 h2{position:sticky;top:8rem}.faq dt{margin-top:2.25rem}.faq{padding-bottom:1rem}}
.co h2{margin-bottom:1.5rem}
.co-l a{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.12);color:#fff;font-weight:700;font-size:.9375rem;text-decoration:none;padding:.7rem 1rem;transition:background-color .2s ease,color .2s ease}
.co-l a::after{content:"";width:.42rem;height:.73rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
.co-l a:hover{background:#fff;color:var(--negro)}
.co-l a.co-n{background:none;box-shadow:inset 0 0 0 2px #fff}
.cintaB{display:flex;align-items:center;gap:.5rem}.cintaB select{font:inherit;font-weight:700;border:1px solid #131313;padding:.2rem .3rem;background:#fff;color:#131313}
/* LA ESCUELA · EQUIPO */
.ch.bajo{min-height:min(60svh,30rem)}
.ch.liso{background:var(--negro);min-height:0;padding-top:11rem}
.ch.liso::after{display:none}
.e2{display:grid;gap:2.5rem;align-items:center}
.e2 h2{margin:0 0 .25rem;color:var(--negro)}.n .e2 h2{color:#fff}.met{color:var(--negro)}
.e2-t{display:grid;gap:1rem;font-size:1.0625rem;color:var(--gris);max-width:40rem;justify-items:start}
.n .e2-t{color:var(--gris-inv)}
.e2-l{color:var(--negro);font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.45}
.n .e2-l{color:#fff}
.e2 figure{margin:0;display:grid;gap:.6rem}
.e2 img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.e2 figure.corte img{clip-path:polygon(0 0,calc(100% - 3.5rem) 0,100% 6.06rem,100% 100%,0 100%)}
.e2 figcaption{font-size:.875rem;color:var(--gris)}.n .e2 figcaption{color:var(--gris-inv)}
@media (min-width:60rem){.e2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5rem}.e2.inv>figure{order:-1}}
.met{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(1.28rem,2.88vw,2.4rem);line-height:1.12;margin:0}
.met span{display:block}.met span:last-child{color:var(--rojo)}
.inst{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1.1rem}
.inst li{display:grid;grid-template-columns:auto 1fr;gap:.2rem .9rem;align-items:baseline}
.inst li::before{content:"";width:.5rem;height:.87rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%);grid-row:1/3;align-self:start;margin-top:.35rem}
.inst b{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.125rem;color:var(--negro)}
.inst span{color:var(--gris)}
.prof{display:grid;gap:2rem;align-items:center;padding-block:clamp(2rem,4vw,3.5rem)}
.prof img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;display:block;max-width:30rem}
.prof-t{display:grid;gap:.9rem;justify-items:start;max-width:36rem}
.prof h2{margin:0;font-size:clamp(1.6rem,3.52vw,2.8rem);line-height:1}
.prof .rol{font-weight:700;color:var(--rojo);margin:0}
.prof p{color:var(--gris);font-size:1.0625rem;margin:0}
.prof .pte{font-size:.875rem;background:var(--pieza);padding:.6rem .8rem;color:var(--gris)}
@media (min-width:60rem){.prof{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:5rem}.prof:nth-of-type(even){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.prof:nth-of-type(even) img{order:2;justify-self:end}}

.ch.liso{padding-bottom:clamp(2rem,4vw,3rem)}
.ch>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ch.liso::before{display:none!important}
.ch.liso.corta{min-height:0!important;padding-top:11rem}
.ch.liso::after{display:block!important;background:linear-gradient(90deg,rgba(19,19,19,.9) 0%,rgba(19,19,19,.68) 50%,rgba(19,19,19,.35) 100%),linear-gradient(0deg,rgba(19,19,19,.9),rgba(19,19,19,0) 55%)!important}
.solo-h #horarios>h2,.solo-h #horarios>.entrada,.solo-c #clases>h2,.solo-c #clases>.entrada,.solo-t #tarifas>h2,.solo-t #tarifas>.entrada{display:none}
.nota2{display:grid;gap:2rem 4rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
.nota2 h2{font-size:clamp(1.2rem,2.08vw,1.68rem);margin:0 0 .6rem}
.nota2 p{color:var(--gris);font-size:1.0625rem;margin:0 0 1rem;max-width:34rem}
.n .nota2 p{color:var(--gris-inv)}
.fechas{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.fechas li{background:var(--pieza);display:grid;grid-template-columns:auto 1fr auto;gap:.3rem 1.75rem;align-items:center;padding:1.1rem 1.4rem}
.fechas .dia{font-family:var(--titular);font-stretch:120%;font-weight:600;font-size:clamp(1.2rem,2.08vw,1.68rem);line-height:1;color:var(--rojo);min-width:6.5rem}
.fechas .dia small{display:block;font-family:var(--texto);font-stretch:100%;font-weight:700;font-size:.8125rem;color:var(--gris);margin-top:.25rem}
.fechas b{font-size:1.2rem;display:block}.fechas span{color:var(--gris);font-size:.9375rem}
.fechas em{font-style:normal;font-weight:700;font-size:.875rem}
.ej{font-size:.875rem;color:var(--gris);background:var(--pieza);padding:.6rem .8rem;margin:1rem 0 0;display:inline-block}
.n .ej{background:#232222;color:var(--gris-inv)}
@media (max-width:34rem){.fechas li{grid-template-columns:1fr}}
.prods{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.prod{display:grid;gap:.6rem;align-content:start}
.prod .ph{aspect-ratio:3/4;background:var(--negro);position:relative;overflow:hidden;display:grid;place-items:center;color:var(--gris-inv);font-size:.875rem;text-align:center;padding:1rem}
.prod .ph .sim{position:absolute;right:-30%;top:10%;width:110%;color:rgba(255,255,255,.06)}
.prod .ph.r{background:var(--rojo);color:#fff}.prod .ph.r .sim{color:rgba(19,19,19,.16)}
.prod h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.17rem;line-height:1.1;margin-top:.4rem}
.prod p{color:var(--gris);font-size:.9375rem;margin:0}
.prod .pr{font-weight:700;color:var(--negro)}
.prod .boton{justify-self:start;margin-top:.3rem;min-height:2.7rem;padding:.6rem .9rem .6rem 1.05rem;font-size:.9375rem;text-decoration:none}
.filt{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.filt span{font-weight:700;font-size:.9375rem;padding:.6rem 1rem;background:var(--pieza)}
.filt span.on{background:var(--negro);color:#fff}
.posts{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}
.posts .post{min-height:17rem}
.posts .post.g{grid-column:1/-1;min-height:22rem;align-content:end;background:var(--negro);color:#fff}
.posts .post.g img{opacity:1;transform:none}.posts .post.g::before{opacity:1;background:linear-gradient(0deg,rgba(19,19,19,.95),rgba(19,19,19,.35))}
.posts .post.g h3{font-size:clamp(1.28rem,2.72vw,2.08rem);max-width:22ch}.posts .post.g p{color:#e4e1df;max-width:36rem}.posts .post.g .post-e{color:#fff}
.cont{display:grid;gap:2.5rem 5rem}
.cont dl{margin:0;display:grid;gap:1.75rem}
.cont dt{font-weight:700;font-size:.875rem;color:var(--gris);margin-bottom:.25rem}
.cont dd{margin:0;font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:clamp(1.04rem,1.92vw,1.52rem);line-height:1.15}
.cont dd a{text-decoration:none;background:linear-gradient(var(--rojo),var(--rojo)) 0 100%/100% 2px no-repeat}
.cont dd small{display:block;font-family:var(--texto);font-stretch:100%;font-weight:400;font-size:1rem;color:var(--gris);margin-top:.3rem}
.mapa{background:var(--negro);color:#fff;min-height:22rem;position:relative;overflow:hidden;display:grid;align-content:end;gap:.8rem;padding:1.75rem;clip-path:polygon(0 0,calc(100% - 3rem) 0,100% 5.2rem,100% 100%,0 100%)}
.mapa .sim{position:absolute;right:-12%;top:8%;width:70%;color:rgba(255,255,255,.07)}
.mapa b{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.2rem;position:relative}
.mapa p{margin:0;color:var(--gris-inv);position:relative}.mapa .boton{justify-self:start;position:relative;text-decoration:none}
@media (min-width:60rem){.cont{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
/* MEGA MENÚ */
.cab .tm::after{content:"";display:inline-block;width:.38rem;height:.38rem;margin-left:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.18rem) rotate(45deg);transition:transform .25s ease}
.cab.mega-on .tm::after{transform:translateY(.05rem) rotate(225deg)}
.cab.mega-on{background:var(--negro)}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--negro);color:#fff;padding:2.25rem var(--lado) 2.5rem;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr) minmax(0,4fr);gap:2rem 3.5rem;clip-path:polygon(0 0,100% 0,100% 0,0 0);visibility:hidden;transition:clip-path .45s cubic-bezier(.2,.7,.2,1),visibility 0s .45s;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.cab.mega-on .mega{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);visibility:visible;transition:clip-path .45s cubic-bezier(.2,.7,.2,1)}
.mega h3{font-family:var(--texto);font-weight:700;font-size:.8125rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gris-inv);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}
.mega h3::before{content:"";width:.45rem;height:.78rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.mega .dos{grid-template-columns:1fr 1fr;column-gap:2rem}
.mega li a{display:grid;gap:.1rem;padding:.55rem .75rem .6rem;margin-left:-.75rem;text-decoration:none;color:#fff;background:none!important;text-transform:none;letter-spacing:0;transition:background-color .2s ease,padding .25s ease}
.mega li a strong{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.125rem;line-height:1.15}
.mega li a span{font-size:.875rem;font-weight:400;color:var(--gris-inv)}
.mega li a:hover,.mega li a:focus-visible{background:#232222!important;padding-left:1.1rem}
.mega li a:hover strong,.mega li a:focus-visible strong{color:#fff}
.mega-c{background:var(--rojo);padding:1.5rem;display:grid;gap:.75rem;align-content:end;clip-path:polygon(0 0,calc(100% - 2.4rem) 0,100% 4.16rem,100% 100%,0 100%)}
.mega-c b{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.26rem;line-height:1.1}
.mega-c p{margin:0;font-size:.9375rem}
.mega-c .boton{background:var(--negro);justify-self:stretch;max-width:100%;opacity:1!important;visibility:visible!important;transform:none!important;text-transform:none;letter-spacing:0;font-size:.9375rem}
.mega-c .boton::before{background:#fff}.mega-c .boton:hover{color:var(--negro)}
.ma .cab .mega-c .boton{text-transform:none;letter-spacing:0;font-size:.9375rem;white-space:normal;text-align:left}
.mega-t{grid-column:1/-1;margin:0;font-size:.9375rem}
.mega-t a{color:#fff;font-weight:700;text-underline-offset:.25em;background:none!important;text-transform:none;letter-spacing:0}
@media (max-width:59.99rem){.mega{display:none}}
@media (min-width:60rem) and (max-width:74rem){.mega{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:1.5rem 2rem}.mega-c{grid-column:1/-1;clip-path:none;grid-template-columns:1fr auto;align-items:center}.mega-c p{display:none}}
.menu .sub{display:grid;grid-template-columns:1fr 1fr;gap:.1rem 1rem;padding:.4rem 0 .9rem;border-bottom:1px solid var(--linea-inv)}
.menu .sub a{font-family:var(--texto);font-stretch:100%;font-weight:600;font-size:1rem;border:0;padding:.4rem 0;color:#e4e1df}
.menu .sub b{grid-column:1/-1;font-size:.8125rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gris-inv);margin-top:.5rem}
.menu nav>a.tm-m{border-bottom:0}
/* IMPACTO */
:root{--symm:url("");--cor:clamp(1.75rem,4.5vw,4.5rem)}
h1,h2,.pan h3,.prof h2{font-stretch:125%!important;font-weight:600!important;letter-spacing:-.025em}
.banda>h2,.esc2 h2,.e2 h2,.cu-t h2,.cp h2,.cq2 h2,.co-c h2,.blog-c h2,.gpanel h2{font-size:clamp(1.76rem,3.815vw,3.25rem)!important;line-height:.96!important}
.entrada{font-size:clamp(1.05rem,1.5vw,1.25rem)!important;max-width:44rem}
.hero h1{font-size:clamp(2.32rem,3.792vw,3.25rem)!important;line-height:.9!important}
.ch h1{font-size:clamp(1.84rem,3.617vw,3.25rem)!important;line-height:.94!important;max-width:19ch}
.esc2 h2{font-size:clamp(1.6rem,2.96vw,2.64rem)!important}
.nw{white-space:nowrap}
.hero h1 span.nw{display:inline;animation:none}
@media (max-width:30rem){.ch h1{font-size:1.72rem!important}.nw{white-space:normal}h1 .nw,h2 .nw{white-space:nowrap}}
.ch-t{max-width:62rem!important}
.cierre h2{font-size:clamp(2.08rem,3.73vw,3.25rem)!important;line-height:.92!important}
.pan h3{font-size:clamp(1.92rem,3.611vw,3.25rem)!important}
.met{font-stretch:125%;font-weight:600;font-size:clamp(1.6rem,3.45vw,3rem)!important;line-height:1!important;letter-spacing:-.025em}
.mantra2{font-stretch:125%;font-weight:600;font-size:clamp(1.04rem,1.84vw,1.6rem)!important}
.boton{min-height:3.5rem;font-size:1.0625rem}
/* cortes en diagonal entre secciones */
.banda.n,.banda.p,.banda:not(.n):not(.p):not(.cierre):not(.cu){position:relative}
.ch+.conf+.banda,.ch+.banda{}
section.banda.n:not(#escuela){clip-path:polygon(0 var(--cor),100% 0,100% 100%,0 100%);margin-top:calc(-1*var(--cor));padding-top:calc(var(--paso) + var(--cor))}
.gig+.cierre{padding-top:clamp(1.5rem,3vw,2.5rem)}
/* cuña roja de marca en las cabeceras interiores */
.ch{overflow:hidden}
.ch::before{content:"";position:absolute;right:0;bottom:0;height:62%;aspect-ratio:.5774/1;background:var(--rojo);clip-path:polygon(100% 0,100% 100%,0 100%);z-index:0;mix-blend-mode:normal}
.ch.liso::before{height:100%}
.ch-t{position:relative;z-index:1}
.ch::after{z-index:-1}
.ch>img{z-index:-2}
@media (max-width:40rem){.ch::before{height:26%}.ch.liso::before{height:40%;opacity:.9}}
/* letrero gigante que se mueve con el scroll */
.gig{background:var(--rojo);color:transparent;overflow:hidden;white-space:nowrap;clip-path:polygon(0 var(--cor),100% 0,100% 100%,0 100%);margin-top:calc(-1*var(--cor));padding:calc(var(--cor) + 1.5rem) 0 0;position:relative}
.gig div{display:inline-flex;gap:.35em;align-items:center;font-family:var(--titular);font-stretch:125%;font-weight:600;font-size:clamp(3.2rem,3.25vw,3.25rem);line-height:.9;letter-spacing:-.03em;-webkit-text-stroke:2px rgba(255,255,255,.9);will-change:transform;padding-left:var(--lado)}
.gig i{flex:none;width:.6em;aspect-ratio:117.7/103.3;background:rgba(19,19,19,.35);-webkit-mask:var(--symm) center/contain no-repeat;mask:var(--symm) center/contain no-repeat}
.gig b{font-weight:600;color:#fff;-webkit-text-stroke:0}
/* IMPACTO 2 */
.ch{min-height:min(92svh,52rem)!important}
.ch::after{background:linear-gradient(90deg,rgba(19,19,19,.82) 0%,rgba(19,19,19,.5) 42%,rgba(19,19,19,0) 78%),linear-gradient(0deg,rgba(19,19,19,.8),rgba(19,19,19,0) 50%)!important}
.ch h1{font-size:clamp(2rem,3.436vw,3.25rem)!important;line-height:.92!important}
@media (max-width:30rem){.ch h1{font-size:1.92rem!important}}
@media (prefers-reduced-motion:no-preference){
 .ch>img{animation:chz 2.4s cubic-bezier(.2,.7,.2,1) both}
 .ch::before{animation:chw 1.1s cubic-bezier(.65,0,.2,1) .25s both}
 .ch-t>*{animation:chs .9s cubic-bezier(.2,.7,.2,1) both}
 .ch-t>:nth-child(1){animation-delay:.35s}.ch-t>:nth-child(2){animation-delay:.5s}.ch-t>:nth-child(3){animation-delay:.7s}.ch-t>:nth-child(4){animation-delay:.85s}
 .pan img,.mas-c img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
 .pan:hover img{transform:scale(1.05)}
}
@keyframes chz{from{transform:scale(1.12)}to{transform:none}}
@keyframes chw{from{transform:translateX(100%)}to{transform:none}}
@keyframes chs{from{opacity:0;transform:translateY(1.2em)}to{opacity:1;transform:none}}
.pasos3 li::before{font-stretch:125%!important;font-weight:600!important;font-size:3.25rem!important;line-height:.8!important;letter-spacing:-.04em;color:transparent!important;-webkit-text-stroke:3px var(--rojo)}
.pasos3 li:hover::before{color:var(--rojo)!important}
.pasos3 li::before{transition:color .3s ease}
.pasos3 b{font-size:1.26rem!important}
.plan .precio b{font-stretch:125%;font-weight:600;font-size:clamp(3.2rem,3.482vw,3.25rem)!important}
.plan.sec .precio b{font-size:clamp(2.4rem,3.529vw,3rem)!important}
.gnota>b{font-stretch:125%;font-weight:600;font-size:3.25rem!important}
.cu-h span{font-stretch:125%;font-weight:600}
/* foto de familia a sangre antes del letrero */
.fam{margin:0;position:relative;background:#000;overflow:hidden}
.fam img{width:100%;height:clamp(22rem,62vw,52rem);object-fit:cover;object-position:50% 62%;will-change:transform;transform:scale(1.12)}
.fam figcaption{position:absolute;left:var(--lado);top:clamp(1.5rem,4vw,3rem);color:#fff;font-weight:700;font-size:clamp(1rem,1.6vw,1.25rem);max-width:22rem;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.fam+.gig{margin-top:calc(-1*var(--cor) - clamp(2rem,7vw,7rem));background:transparent;z-index:1}
.fam+.gig::before{content:"";position:absolute;inset:0;background:var(--rojo);clip-path:polygon(0 calc(var(--cor) + clamp(2rem,7vw,7rem)),100% clamp(2rem,7vw,7rem),100% 100%,0 100%);z-index:-1}
.fam+.gig{clip-path:none;isolation:isolate}
.fam+.gig div{-webkit-text-stroke:0;color:#fff}
.fam+.gig b{color:#fff}
/* las fotos entran con el corte de la marca */
.rv{clip-path:polygon(0 0,0 0,-60% 100%,-60% 100%);transition:clip-path 1.1s cubic-bezier(.2,.7,.2,1)}
.rv.in{clip-path:polygon(0 0,160% 0,100% 100%,-60% 100%)}
@media (prefers-reduced-motion:reduce){.rv{clip-path:none!important;transition:none}}

/* ===== TEMA WORDPRESS ===== */
body{margin:0}
.cintaB,.conm{display:none!important}
.admin-bar .cab{top:32px}
@media (max-width:782px){.admin-bar .cab{top:46px}}
.filt a{font-weight:700;font-size:.9375rem;padding:.6rem 1rem;background:var(--pieza);color:var(--negro);text-decoration:none}
.filt a.on,.filt a:hover{background:var(--negro);color:#fff}
.post.sin img{display:none}
.pag{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.5rem}
.pag .page-numbers{padding:.6rem 1rem;background:var(--pieza);color:var(--negro);text-decoration:none;font-weight:700}
.pag .page-numbers.current,.pag a.page-numbers:hover{background:var(--negro);color:#fff}
.vacio{font-size:1.125rem;color:var(--gris);max-width:40rem}
/* entrada del blog y páginas de texto */
.art{max-width:46rem;margin-inline:auto;font-size:1.125rem;line-height:1.65}
.art>*+*{margin-top:1.25em}
.art h2{font-size:clamp(1.28rem,2.4vw,1.84rem)!important;line-height:1.08!important;margin:2.2em 0 0}
.art h3{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.26rem;line-height:1.15;margin:1.8em 0 0}
.art ul,.art ol{padding-left:1.3em;list-style:revert}
.art li+li{margin-top:.4em}
.art a{text-decoration:underline;text-decoration-color:var(--rojo);text-decoration-thickness:2px;text-underline-offset:.2em;font-weight:600}
.art img{max-width:100%;height:auto}
.art figure{margin-inline:0}
.art figcaption{font-size:.875rem;color:var(--gris);margin-top:.5rem}
.art blockquote{margin-inline:0;padding-left:1.25rem;border-left:4px solid var(--rojo);font-size:1.17rem;font-weight:600}
.art-meta{color:var(--gris-inv);font-size:.9375rem}
.art-foto{display:block;width:100%;max-height:34rem;object-fit:cover;margin:0 auto 2.5rem;max-width:62rem;clip-path:polygon(0 0,calc(100% - 3rem) 0,100% 5.2rem,100% 100%,0 100%)}
.art-fin{max-width:46rem;margin:3rem auto 0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
.hero .cont{display:block;gap:0;grid-template-columns:none}
.ch.liso.corta{min-height:0!important;padding-top:11rem}
@media (min-width:60rem){.cg-l .cc.s4{grid-column:span 4}.cg-l .cc.s6{grid-column:span 6}.cg-l .cc.s12{grid-column:span 12}}
.prod .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prof .tit{font-weight:700;color:var(--negro)}
.e404{min-height:70svh;display:grid;align-content:center;gap:1.25rem;justify-items:start}

/* ===== v2.5 · escala de titulares, sección de clases y blog ===== */
/* Jerarquía: portada 52 px, cabecera de página 48 px, secciones 40 px. Nada pasa de ahí. */
.hero h1:not(#_):not(#_){font-size:clamp(2.1rem,4.6vw,3.25rem)!important;line-height:1.08!important}
.ch h1:not(#_):not(#_){font-size:clamp(1.9rem,3.8vw,3rem)!important;line-height:1.1!important}
main h2:not(#_):not(#_){font-size:clamp(1.6rem,3vw,2.5rem)!important;line-height:1.12!important}
main .prof-t h2:not(#_):not(#_){font-size:clamp(1.3rem,2vw,1.75rem)!important}
main .nota2 h2:not(#_):not(#_){font-size:clamp(1.25rem,1.8vw,1.6rem)!important}
main .cierre h2:not(#_):not(#_){font-size:clamp(1.7rem,3.2vw,2.75rem)!important}
.gnota b:not(#_):not(#_){font-size:2.75rem!important}
.precio b:not(#_):not(#_){font-size:2.5rem!important}
.plan.sec .precio b:not(#_):not(#_){font-size:2rem!important}
.esc2-d{font-size:1.0625rem}
h1,h2,h3{letter-spacing:-.005em}

/* Clases: tarjetas alargadas (foto + texto) en vez de cuadros con el texto encima de la foto */
.cg2{display:grid;gap:clamp(2.5rem,5vw,4rem)}
.cg2-t{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.1;margin:0 0 1.25rem;display:flex;align-items:baseline;gap:.9rem}
.cg2-t span{font-family:var(--texto);font-stretch:100%;font-weight:400;font-size:.9375rem;color:var(--gris-inv)}
.cg2-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.cl2{display:grid;grid-template-columns:clamp(8rem,15vw,13rem) minmax(0,1fr);background:#1c1c1c;color:#fff;text-decoration:none;transition:background-color .25s ease}
.cl2:hover,.cl2:focus-visible{background:#242424}
.cl2-f{display:block;overflow:hidden;aspect-ratio:1/1;background:#000}
.cl2-f img{width:100%!important;height:100%!important;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cl2:hover .cl2-f img{transform:scale(1.05)}
.cl2-t{display:grid;gap:.45rem;align-content:center;padding:1.25rem clamp(1.25rem,2.4vw,2rem)}
.cl2-t b{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.15}
.cl2-d{color:var(--gris-inv);font-size:.9375rem;line-height:1.45}
.cl2-h{font-size:.8125rem;font-weight:600;display:flex;gap:.5rem;align-items:baseline}
.cl2-h::before{content:"";flex:none;width:.4rem;height:.7rem;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
.cl2 em{font-style:normal;font-weight:700;font-size:.8125rem;margin-top:.5rem;justify-self:start;padding-bottom:.2rem;border-bottom:1px solid #4a4746;transition:border-color .25s ease}
.cl2:hover em,.cl2:focus-visible em{border-color:var(--rojo)}
.cl2-cta{display:grid;gap:.6rem;align-content:center;justify-items:start;padding:1.5rem clamp(1.25rem,2.4vw,2rem);box-shadow:inset 0 0 0 1px #343231}
.cl2-cta b{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.15}
.cl2-cta p{margin:0;color:var(--gris-inv);font-size:.9375rem}
.cl2-cta .boton{margin-top:.4rem}
.cg2-pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.cg2-pie p{margin:0;color:var(--gris-inv)}.cg2-pie b{color:#fff}
.cg2-n{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1rem}
.cg2-n figure{position:relative;margin:0;min-height:24rem;background:#000}
.cg2-n figure img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
.cg2-nl{display:grid;gap:.5rem;align-content:start}
.ni2{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr) auto;gap:1.25rem;align-items:center;padding:1rem 1.5rem;background:#1c1c1c;color:#fff;text-decoration:none;transition:background-color .25s ease}
.ni2:hover,.ni2:focus-visible{background:#242424}
.ni2 b{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.15rem;line-height:1.15}
.ni2-t{display:grid;gap:.25rem}
.ni2 em{font-style:normal;font-weight:700;font-size:.8125rem;padding-bottom:.2rem;border-bottom:1px solid #4a4746}
.ni2:hover em{border-color:var(--rojo)}
@media (max-width:60rem){
  .cg2-l{grid-template-columns:1fr;gap:.6rem}
  .cl2{grid-template-columns:7rem minmax(0,1fr)}
  .cl2-f{aspect-ratio:auto;height:100%;min-height:7rem}
  .cl2-t{padding:.9rem 1rem;gap:.3rem}
  .cl2 em,.ni2 em{display:none}
  .cg2-n{grid-template-columns:1fr}
  .cg2-n figure{min-height:0;aspect-ratio:16/9}
  .ni2{grid-template-columns:1fr;gap:.25rem;padding:.9rem 1rem}
}

/* Blog: entradas sin foto y rejilla que no se deforma con pocas entradas */
.posts{grid-template-columns:repeat(3,minmax(0,1fr))}
.posts .post{min-height:0}
.posts .post:not(.sin){min-height:17rem}
.posts .post.g.sin{grid-column:auto;min-height:0;align-content:start;background:var(--pieza);color:var(--negro)}
.posts .post.g.sin::before{opacity:0}
.posts .post.g:not(.sin){grid-column:1/-1;min-height:20rem}
.post.sin{border-top:3px solid var(--negro)}
.post.sin:hover,.post.sin:focus-visible{background:var(--negro);color:#fff}
.posts .post.g.sin:hover::before{opacity:0}
@media (max-width:60rem){.posts{grid-template-columns:1fr}}

/* Dentro de Elementor: los enlaces de texto conservan su subrayado y las fotos, su encuadre */
.elementor a:not([class]){text-decoration:underline}
.elementor a.enlace,.elementor a.enlace-g,.elementor .miga a,.elementor .ficha-pie a,.elementor .acepto a{text-decoration:underline}

/* ===== v2.6 · cierre con la foto de la familia y tarifas en tarjetas ===== */
.cierre{isolation:isolate;background:var(--rojo)}
.cierre>.cierre-f{position:absolute!important;inset:0;z-index:-2;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:50% 40%;filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply;opacity:.6}
.cierre::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(120,22,24,.72) 0%,rgba(120,22,24,.35) 55%,rgba(120,22,24,.15) 100%)}
.cierre>.sim{display:none}
.cierre .ficha{box-shadow:0 1.5rem 3rem rgba(0,0,0,.28)}

main .planes:not(#_){border-top:0;gap:1rem;align-items:stretch;background:none;margin-inline:0}
main .planes.abajo:not(#_){margin-top:1rem}
main .planes .plan:not(#_){background:#1c1c1c;border:1px solid #302e2d;padding:0 0 1.5rem;gap:0;overflow:hidden;cursor:default;grid-template-rows:auto auto auto 1fr auto;transition:border-color .25s ease,transform .25s ease}
main .planes .plan:not(#_):hover{border-color:#5a5654}
main .planes .plan:not(#_)::before{display:none}
main .planes .plan:not(#_) h3{margin:0;padding:1.1rem 1.5rem;background:#262524;font-size:1.0625rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;min-height:3.6rem}
main .planes .plan.dest:not(#_){border-color:var(--rojo)}
main .planes .plan.dest:not(#_) h3{background:var(--rojo)}
main .planes .plan.dest:not(#_) h3::after{margin-left:0;background:#fff;color:var(--rojo)}
main .planes .plan:not(#_) .precio{padding:1.5rem 1.5rem .25rem}
main .planes .plan:not(#_) .precio b{color:#fff}
main .planes .plan:not(#_) .extra{padding:.5rem 1.5rem 0;font-size:.9375rem}
main .planes .plan:not(#_) ul{padding:1rem 1.5rem 0;grid-row:4}
main .planes .plan:not(#_) li{border-top:0;padding:.35rem 0 .35rem 1.3rem}
main .planes .plan:not(#_) li::before{top:.72rem}
main .planes .plan:not(#_) .boton{grid-row:5;margin:1.5rem 1.5rem 0;justify-self:stretch;justify-content:space-between}
@media (min-width:52.01rem){main .planes:not(.abajo) .plan.dest:not(#_){transform:translateY(-.6rem);box-shadow:0 1.25rem 2.5rem rgba(0,0,0,.35)}}
@media (max-width:52rem){
  main .planes:not(#_){grid-template-columns:1fr;gap:.75rem}
  main .planes.abajo:not(#_){margin-top:.75rem}
  main .planes .plan:not(#_){grid-template-rows:none}
  main .planes .plan:not(#_) ul,main .planes .plan:not(#_) .boton{grid-row:auto}
}

/* ===== v2.7 · tarifas con jerarquía y cierre con la foto entera ===== */
/* Arriba, las tres suscripciones: más altas y con más aire. Abajo, las otras tarifas, más compactas. */
main .planes:not(.abajo) .plan:not(#_){padding-bottom:2rem}
main .planes:not(.abajo) .plan:not(#_) h3{padding:1.4rem 1.75rem;font-size:1.1875rem;min-height:4.4rem}
main .planes:not(.abajo) .plan:not(#_) .precio{padding:2.25rem 1.75rem .5rem}
main .planes:not(.abajo) .plan:not(#_) .precio b:not(#_){font-size:3.25rem!important}
main .planes:not(.abajo) .plan:not(#_) ul{padding:1.5rem 1.75rem 0}
main .planes:not(.abajo) .plan:not(#_) li{padding-block:.6rem;font-size:1.0625rem}
main .planes:not(.abajo) .plan:not(#_) li::before{top:.95rem}
main .planes:not(.abajo) .plan:not(#_) .boton{margin:2.25rem 1.75rem 0;min-height:3.5rem}
@media (min-width:52.01rem){main .planes:not(.abajo) .plan.dest:not(#_){transform:translateY(-1rem)}}
main .planes.abajo:not(#_){margin-top:1.75rem}
main .planes.abajo .plan:not(#_){padding-bottom:1.25rem;background:#191919}
main .planes.abajo .plan:not(#_) h3{padding:.8rem 1.25rem;font-size:.9375rem;min-height:0;background:#222120}
main .planes.abajo .plan:not(#_) .precio{padding:1rem 1.25rem 0}
main .planes.abajo .plan:not(#_) .precio b:not(#_){font-size:1.75rem!important}
main .planes.abajo .plan:not(#_) .extra{padding:.4rem 1.25rem 0;font-size:.875rem}
main .planes.abajo .plan:not(#_) ul{padding:.75rem 1.25rem 0}
main .planes.abajo .plan:not(#_) li{font-size:.875rem;padding-block:.25rem}
main .planes.abajo .plan:not(#_) li::before{top:.55rem;transform:scale(.85)}
main .planes.abajo .plan:not(#_) .boton{margin:1rem 1.25rem 0;min-height:2.6rem;padding-block:.5rem;font-size:.875rem}

/* Cierre: la sección toma la proporción de la foto para que se vea el grupo entero */
@media (min-width:60.01rem){
  .cierre{min-height:min(52vw,54rem);align-content:center}
  .cierre>.cierre-f{object-position:50% 18%}
}
.cierre>.cierre-f{opacity:.7}
.cierre::before{background:linear-gradient(90deg,rgba(120,22,24,.6) 0%,rgba(120,22,24,.25) 50%,rgba(120,22,24,.1) 100%)}
@media (max-width:60rem){
  /* En móvil la foto va arriba, entera, y debajo el texto y el formulario */
  .cierre>.cierre-f{position:relative!important;inset:auto;order:-1;z-index:0;width:calc(100% + 2*var(--lado))!important;max-width:none;height:auto!important;aspect-ratio:16/9;margin:calc(-1*clamp(3rem,7vw,5rem)) calc(-1*var(--lado)) 0;justify-self:stretch}
  .cierre::before{display:none}
}

/* ===== v2.8 · niños y jóvenes: la foto cambia con el grupo ===== */
.cg2-n figure img{opacity:0;transition:opacity .45s ease,transform 1.2s cubic-bezier(.2,.7,.2,1);transform:scale(1.04)}
.cg2-n figure img.on{opacity:1;transform:none}
.ni2{box-shadow:inset 0 0 0 0 var(--rojo);transition:background-color .25s ease,box-shadow .25s ease}
.ni2.on{background:#242424;box-shadow:inset 3px 0 0 0 var(--rojo)}
.ni2.on em{border-color:var(--rojo)}
@media (prefers-reduced-motion:reduce){.cg2-n figure img{transition:none;transform:none}}

/* ===== v2.9 · reseñas en carrusel ===== */
.gcar{min-width:0;display:grid;grid-template-rows:1fr auto;gap:1rem}
.gcar .glista{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:stretch}
.gcar .glista::-webkit-scrollbar{display:none}
.gcar .glista:focus-visible{outline:2px solid var(--rojo);outline-offset:2px}
.gcar .res{flex:0 0 calc((100% - 1rem)/2);scroll-snap-align:start;padding:1.75rem;gap:1rem;grid-template-rows:auto 1fr auto;min-height:19rem}
.gcar .res p{font-size:1.0625rem;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;overflow:hidden}
.gcar .res footer{display:grid;gap:.15rem;padding-top:1rem;border-top:1px solid var(--linea)}
.gcar-n{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}
.gcar-n[hidden]{display:none}
.gcar-c{margin-right:auto;font-size:.875rem;color:var(--gris);font-variant-numeric:tabular-nums}
.gcar-b{width:3rem;height:3rem;border:0;background:var(--negro);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}
.gcar-b::before{content:"";width:.55rem;height:.95rem;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.gcar-b.ant::before{transform:scaleX(-1)}
.gcar-b:hover:not([disabled]){background:var(--rojo)}
.gcar-b[disabled]{opacity:.3;cursor:default}
.n .gcar-b{background:#fff;color:var(--negro)}.n .gcar-c{color:var(--gris-inv)}
@media (max-width:70rem){.gcar .res{flex-basis:100%;min-height:0}}

/* ===== v2.10 · tarifas con el orden de la tabla de siempre, en negro ===== */
/* Seis tarjetas iguales y centradas: cabecera con el nombre, precio grande, lista con visto y botón. La anual, en el centro y destacada. */
main .planes:not(#_):not(#_){gap:1.25rem;align-items:stretch;margin-top:0}
main .planes.abajo:not(#_):not(#_){margin-top:1.25rem}
main .planes .plan:not(#_):not(#_){background:#1c1c1c;border:1px solid #302e2d;padding:0 0 2.25rem;text-align:center;transform:none;box-shadow:none;justify-items:center}
main .planes .plan:not(#_):not(#_) h3{width:100%;justify-content:center;flex-direction:column;gap:.5rem;margin:0;padding:1.5rem 1.25rem;min-height:5.25rem;background:#2a2928;font-size:1.1875rem;text-align:center}
main .planes .plan.dest:not(#_):not(#_) h3{background:var(--rojo)}
main .planes .plan.dest:not(#_):not(#_) h3::after{margin:0;background:#fff;color:var(--rojo)}
main .planes .plan:not(#_):not(#_) .precio{flex-direction:column;align-items:center;gap:.45rem;padding:2.25rem 1.5rem 0}
main .planes .plan:not(#_):not(#_) .precio b:not(#_){font-size:3.25rem!important;color:#fff}
main .planes .plan:not(#_):not(#_) .precio span{text-transform:uppercase;letter-spacing:.08em;font-size:.8125rem;color:var(--gris-inv)}
main .planes .plan:not(#_):not(#_) .extra{padding:1rem 1.5rem 0;font-size:.9375rem;color:#fff}
main .planes .plan:not(#_):not(#_) ul{width:100%;padding:1.75rem 2rem 0}
main .planes .plan:not(#_):not(#_) li{padding:.85rem 0;border-top:1px solid #34312f;font-size:1rem;color:#e4e1df;display:flex;align-items:center;justify-content:center;gap:.6rem}
main .planes .plan:not(#_):not(#_) li:first-child{border-top:0}
main .planes .plan:not(#_):not(#_) li::before{position:static;flex:none;transform:none;width:1.15rem;height:1.15rem;background:none;clip-path:none;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--rojo);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 12.5l3.2 3.2L17 9'/%3E%3C/svg%3E") center/100% no-repeat}
main .planes .plan:not(#_):not(#_) .boton{margin:2rem 0 0;justify-self:center;min-width:13.5rem;min-height:3.25rem;padding-block:1rem;font-size:1rem;justify-content:space-between}
@media (min-width:52.01rem){
  /* La anual pasa al centro y sube un poco */
  main .planes:not(.abajo) .plan.dest:first-child + .plan:not(#_){order:-1}
  main .planes:not(.abajo) .plan.dest:not(#_):not(#_){transform:translateY(-1.25rem);border-color:var(--rojo);box-shadow:0 1.5rem 3rem rgba(0,0,0,.45);padding-bottom:3.5rem}
  main .planes:not(.abajo) .plan.dest:not(#_):not(#_) h3{min-height:6.5rem}
  main .planes:not(.abajo):not(#_):not(#_){padding-top:1.25rem}
}
@media (max-width:52rem){
  main .planes:not(#_):not(#_){gap:1rem}
  main .planes.abajo:not(#_):not(#_){margin-top:1rem}
  main .planes .plan:not(#_):not(#_){padding-bottom:1.75rem}
  main .planes .plan:not(#_):not(#_) h3{min-height:0;padding:1.15rem 1rem;font-size:1.0625rem}
  main .planes .plan:not(#_):not(#_) .precio{padding-top:1.5rem}
  main .planes .plan:not(#_):not(#_) .precio b:not(#_){font-size:2.75rem!important}
  main .planes .plan:not(#_):not(#_) ul{padding:1.1rem 1.25rem 0}
  main .planes .plan:not(#_):not(#_) li{padding:.65rem 0}
  main .planes .plan:not(#_):not(#_) .boton{margin-top:1.4rem;width:calc(100% - 2.5rem);min-width:0}
}

/* ===== v2.11 · tarifas: títulos en mayúsculas, fila de abajo en otro tono, botón que se enciende y carrusel en móvil ===== */
main .planes .plan:not(#_):not(#_) h3{text-transform:uppercase;letter-spacing:.04em;font-size:1.3125rem;line-height:1.2}
main .planes .plan:not(#_):not(#_){transition:border-color .25s ease,background-color .25s ease}
main .planes .plan:not(#_):not(#_):hover{border-color:var(--rojo)}
main .planes .plan:not(#_):not(#_):hover .boton.linea{background:var(--rojo);box-shadow:none;color:#fff}
main .planes .plan:not(#_):not(#_) .boton{transition:background-color .25s ease,box-shadow .25s ease,color .25s ease}
/* Fila de abajo: algo más pequeña y en un tono más apagado, para que se lea como «otras tarifas» */
main .planes.abajo .plan:not(#_):not(#_){background:#161616;border-color:#2b2928;padding-bottom:1.75rem}
main .planes.abajo .plan:not(#_):not(#_) h3{background:none;border-bottom:1px solid #2b2928;color:#d9d5d2;font-size:1.0625rem;min-height:4.25rem;padding:1.15rem 1.25rem}
main .planes.abajo .plan:not(#_):not(#_) .precio{padding-top:1.6rem}
main .planes.abajo .plan:not(#_):not(#_) .precio b:not(#_){font-size:2.5rem!important;color:#e9e6e4}
main .planes.abajo .plan:not(#_):not(#_) .extra{font-size:.875rem;padding-top:.8rem}
main .planes.abajo .plan:not(#_):not(#_) ul{padding-top:1.25rem}
main .planes.abajo .plan:not(#_):not(#_) li{font-size:.9375rem;padding:.65rem 0;color:#c9c5c2;border-top-color:#2b2928}
main .planes.abajo .plan:not(#_):not(#_) li::before{width:1rem;height:1rem}
main .planes.abajo .plan:not(#_):not(#_) .boton{margin-top:1.5rem;min-height:2.9rem;padding-block:.8rem;font-size:.9375rem;min-width:12rem}
@media (max-width:52rem){
  /* En móvil, cada fila es un carrusel que se desliza con el dedo; asoma la tarjeta siguiente */
  main .planes:not(#_):not(#_){display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(clamp(16px,3.5vw,56px)*-1);padding-inline:clamp(16px,3.5vw,56px);scroll-padding-inline:clamp(16px,3.5vw,56px);padding-top:0}
  main .planes:not(#_):not(#_)::-webkit-scrollbar{display:none}
  main .planes .plan:not(#_):not(#_){flex:0 0 82%;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center}
  main .planes .plan:not(#_):not(#_) ul{flex:1}
  main .planes .plan:not(#_):not(#_) h3{font-size:1.125rem}
  main .planes.abajo .plan:not(#_):not(#_) h3{font-size:1rem;min-height:3.9rem}
  main .planes.abajo .plan:not(#_):not(#_){flex-basis:78%}
}
main .planes .plan.dest:not(#_):not(#_):hover{border-color:#fff}
main .planes .plan:not(#_):not(#_):focus-within .boton.linea{background:var(--rojo);box-shadow:none;color:#fff}

/* ===== v2.12 · formulario del cierre algo transparente y título del horario centrado ===== */
@media (min-width:60.01rem){.cierre .ficha{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cierre .ficha input,.cierre .ficha select{background:rgba(255,255,255,.92)}}
#horarios>h2,#horarios>.entrada{text-align:center;margin-inline:auto}

/* ===== v2.16 · página de clase como landing de conversión ===== */
.lc{--lc2:#262524;--lc1:#1c1c1c}
.lc .nw{white-space:nowrap}
.lc .banda>.entrada{margin-bottom:2rem}
/* primera pantalla */
.lc-hero{position:relative;isolation:isolate;background:var(--negro);color:var(--blanco);padding:3.6rem 0 0}
.lc-hf{position:relative;overflow:hidden;aspect-ratio:5/4}
.lc-hf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lc-hf::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,var(--negro) 0%,rgba(19,19,19,.35) 45%,rgba(19,19,19,.1) 100%)}
.lc-hf::after{content:"";position:absolute;right:0;bottom:0;z-index:2;width:86px;height:120px;background:var(--rojo);clip-path:polygon(100% 0,100% 100%,0 100%)}
.lc-ht{position:relative;padding:1.1rem var(--lado) 1.6rem}
.lc-chips{list-style:none;margin:0;padding:0;position:absolute;left:var(--lado);right:56px;bottom:calc(100% + 14px);z-index:3;display:flex;flex-wrap:wrap;gap:6px}
.lc-chips li{background:rgba(19,19,19,.42);color:#fff;border:1px solid rgba(255,255,255,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-shadow:0 1px 2px rgba(0,0,0,.5);font-size:.78rem;font-weight:600;line-height:1.3;padding:5px 10px}
.lc-hero .miga{font-size:.8125rem;color:var(--gris-inv);margin:0 0 .5rem}
.lc-hero .miga a{color:inherit}
.lc-hero h1:not(#_):not(#_){font-size:clamp(1.9rem,8vw,2.1rem)!important;line-height:1.04!important;margin:0 0 .75rem;text-wrap:balance}
.lc-sub{color:#e4e1df;margin:0 0 1.25rem;font-size:1rem}
.lc-leo:not(#_){display:flex;justify-content:flex-start;gap:12px;width:100%;padding:10px 16px 10px 10px;min-height:64px;text-decoration:none}
.lc-leo img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:50% 15%;flex:none;box-shadow:0 0 0 2px #fff}
.lc-leo span{display:grid;gap:1px;flex:1;text-align:left}
.lc-leo b{font-size:1.0625rem;line-height:1.2}
.lc-leo small{font-size:.8125rem;font-weight:500;color:#f6dede}
.lc-leo:hover small,.lc-leo:focus-visible small{color:inherit}
.lc-leo-d{display:none;align-items:center;gap:12px;margin:0;font-size:.9375rem;color:var(--gris-inv)}
.lc-leo-d img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:50% 15%;flex:none}
.lc-leo-d b{color:#fff;font-weight:600}
.lc-g{list-style:none;margin:1rem 0 0;padding:0;font-size:.875rem;color:var(--gris-inv)}
.lc-g b{color:#fff}
.lc-g .estrellas{color:#f2b01e;letter-spacing:1px}
.lc-hr{display:none}
/* próxima clase */
.lc-prox{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:1rem var(--lado);background:var(--lc2);color:#fff}
.lc-prox[hidden]{display:none}
.lc-prox p{margin:0;font-size:.875rem;color:var(--gris-inv);line-height:1.3}
.lc-prox p b{display:block;color:#fff;font-size:1.125rem;font-family:var(--titular);font-stretch:112%;font-weight:600;margin-top:3px}
.lc-prox a{color:#fff;font-weight:700;font-size:.9375rem;text-underline-offset:4px;white-space:nowrap}
.lc-vivo{display:inline-flex;align-items:center;gap:6px;margin-right:8px;padding:2px 8px 2px 7px;background:var(--rojo);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;vertical-align:1px}
.lc-vivo i{width:7px;height:7px;border-radius:50%;background:#fff;animation:lc-late 1.4s ease-in-out infinite}
@keyframes lc-late{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){.lc-vivo i{animation:none}}
/* ¿es para ti? */
.lc-perf{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--linea)}
.lc-perf li{padding:1rem 0;border-bottom:1px solid var(--linea);display:grid;grid-template-columns:auto 1fr;gap:4px 12px}
.lc-perf li::before{content:"";grid-row:1/3;width:10px;height:17px;margin-top:5px;background:var(--rojo);clip-path:polygon(0 0,100% 50%,0 100%)}
.lc-perf b{font-size:1.0625rem;line-height:1.25}
.lc-perf span{color:var(--gris);font-size:.9375rem}
/* horario */
.lc-ct .boton{margin-top:.25rem}
.lc-hor{list-style:none;margin:1.5rem 0 0;padding:0;border-top:1px solid var(--linea-inv)}
.lc-hor li{display:grid;grid-template-columns:6.2em 1fr auto;align-items:center;gap:8px;padding:.7rem 0;border-bottom:1px solid var(--linea-inv);font-variant-numeric:tabular-nums}
.lc-hor li span{color:var(--gris-inv)}
.lc-hor li b{font-family:var(--titular);font-stretch:112%;font-weight:600}
.lc-hor li em{font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--rojo);color:#fff;padding:3px 7px;visibility:hidden}
.lc-hor li.es em{visibility:visible}
.lc-hor li.es span{color:#fff}
.lc-hor-p{margin:1rem 0 0;font-size:.9375rem}
.lc-hor-p a{color:#fff}
/* así se entrena */
.lc-tira{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--lado)*-1) 1.75rem;padding-inline:var(--lado);scroll-padding-inline:var(--lado);scrollbar-width:none}
.lc-tira::-webkit-scrollbar{display:none}
.lc-tira img{flex:0 0 78%;width:78%;aspect-ratio:5/4;object-fit:cover;scroll-snap-align:start;display:block}
.lc-mot{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.lc-mot b{display:block;font-size:1.0625rem;margin-bottom:2px}
.lc-mot span{color:var(--gris)}
.lc-mantra{font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.1875rem;line-height:1.25;margin:1.6rem 0 0;padding-top:1.4rem;border-top:1px solid var(--linea)}
.lc-mantra em{font-style:normal;color:var(--rojo)}
/* profesores */
.lc-prof{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--lado)*-1);padding-inline:var(--lado);scroll-padding-inline:var(--lado);scrollbar-width:none}
.lc-prof::-webkit-scrollbar{display:none}
.lc-prof figure{flex:0 0 58%;margin:0;scroll-snap-align:start;background:var(--lc1)}
.lc-prof.lc-n1 figure{flex-basis:70%}
.lc-prof img{width:100%;aspect-ratio:5/6;object-fit:cover;object-position:50% 20%;display:block}
.lc-prof figcaption{padding:.75rem .75rem .9rem}
.lc-prof b{display:block;font-size:1rem;line-height:1.2}
.lc-prof span{display:block;font-size:.8125rem;color:var(--gris-inv);margin-top:4px}
.lc-cint{height:8px;background:#000;position:relative;border-top:1px solid var(--linea-inv);border-bottom:1px solid var(--linea-inv)}
.lc-cint::after{content:"";position:absolute;right:14px;top:0;bottom:0;width:26px;background:var(--rojo)}
/* lo que cuesta */
.lc-gratis{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:1.1rem;background:var(--rojo);color:#fff;margin-bottom:12px}
.lc-gratis b{font-family:var(--titular);font-stretch:120%;font-weight:700;font-size:2.9rem;line-height:1}
.lc-gratis span{font-size:.9375rem;line-height:1.35}
.lc-gratis strong{display:block;font-size:1.0625rem}
.lc-luego{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lc-luego.lc-n1{grid-template-columns:1fr}
.lc-luego div{background:var(--lc1);padding:1rem}
.lc-luego small{display:block;font-size:.8125rem;color:var(--gris-inv);min-height:2.7em}
.lc-luego b{display:block;font-family:var(--titular);font-stretch:118%;font-weight:600;font-size:1.7rem;line-height:1.1;margin-top:8px;color:#fff}
.lc-luego i{font-style:normal;font-size:.8125rem;color:var(--gris-inv)}
.lc-micro{font-size:.875rem;color:var(--gris-inv);margin:.9rem 0 0}
.lc-micro a{color:#fff;margin-left:.4rem}
/* dónde estamos */
.lc-mapa{position:relative;aspect-ratio:16/10;background:var(--lc1);overflow:hidden;margin-bottom:1.25rem}
.lc-mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lc-dir{margin:0}
.lc-dir b{display:block;font-size:1.125rem}
.lc-dir span{color:var(--gris)}
.lc-datos{list-style:none;margin:.9rem 0 1.25rem;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.lc-datos li{font-size:.84rem;border:1px solid var(--linea);padding:5px 10px}
/* formulario */
.lc-clase{font-size:.875rem;color:var(--gris);margin:-.25rem 0 0;grid-column:1/-1}
.lc-clase b{display:inline-block;margin-left:6px;padding:2px 9px;background:var(--negro);color:#fff;font-size:.8125rem}
.lc-trampa{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.lc .ficha.lc-f{grid-template-columns:1fr}
.lc .ficha.lc-f .campo{grid-column:1/-1}
.lc .ficha.lc-f .campo input[aria-invalid="true"]{border-color:var(--rojo);box-shadow:inset 0 0 0 1px var(--rojo)}
/* versión para anuncios: sin menú ni «Más clases», para que nada distraiga de la reserva */
.anuncio .cab .n1,.anuncio .cab .n2,.anuncio #abrir-menu,.anuncio .lc-mas,.anuncio .lc-hero .miga{display:none!important}
@media (min-width:60.01rem){
  .lc-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:4rem;align-items:center;padding:clamp(9rem,13vw,11rem) var(--lado) 5rem}
  .lc-hf{position:absolute;inset:0;z-index:-1;aspect-ratio:auto;margin:0}
  .lc-hf::before{background:linear-gradient(90deg,rgba(19,19,19,.94) 0%,rgba(19,19,19,.78) 42%,rgba(19,19,19,.35) 100%)}
  .lc-hf::after{width:200px;height:260px}
  .lc-ht{padding:0}
  .lc-chips{position:static;margin:0 0 1.4rem}
  .lc-chips li{font-size:.875rem;padding:6px 12px}
  .lc-hero h1:not(#_):not(#_){font-size:clamp(2.6rem,4.2vw,3.25rem)!important;margin-bottom:1.1rem}
  .lc-sub{font-size:1.25rem;max-width:32rem;margin-bottom:1.75rem}
  .lc-leo:not(#_){display:none}
  .lc-leo-d{display:flex}
  .lc-g{font-size:.9375rem;margin-top:1.1rem}
  .lc-hr{display:block;box-shadow:0 24px 48px rgba(0,0,0,.4)}
  .lc .lc-hr .ficha.lc-f,.lc .cierre .ficha.lc-f{background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--negro);padding:1.75rem;display:grid;gap:.9rem;width:100%}
  .lc .ficha.lc-f input,.lc .ficha.lc-f select{background:rgba(255,255,255,.94)}
  .lc-prox{display:flex;justify-content:center;gap:1.75rem;padding-block:1.1rem}
  .lc-prox p{display:flex;align-items:baseline;gap:.9rem;font-size:1rem}
  .lc-prox p b{display:inline;font-size:1.375rem;margin:0}
  .lc-prox a{font-size:1rem}
  .lc-perf{grid-template-columns:repeat(3,1fr);gap:1.75rem;border-top:0}
  .lc-perf li{border:0;border-top:3px solid var(--negro);padding:1.25rem 0 0;grid-template-columns:1fr}
  .lc-perf li::before{display:none}
  .lc-perf b{font-size:1.3125rem}
  .lc-perf span{font-size:1rem}
  .lc-dos{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4rem;align-items:start}
  .lc-hor{margin-top:0}
  .lc-hor li{grid-template-columns:8em 1fr auto;padding:.95rem 0;font-size:1.125rem}
  .lc-tira{display:grid;gap:14px;overflow:visible;margin:0 0 3rem;padding:0}
  .lc-tira.lc-n4{grid-template-columns:repeat(4,1fr)}.lc-tira.lc-n3{grid-template-columns:repeat(3,1fr)}.lc-tira.lc-n2{grid-template-columns:repeat(2,1fr)}
  .lc-tira img{width:100%;aspect-ratio:4/5}
  .lc-tira.lc-n3 img{aspect-ratio:1/1}.lc-tira.lc-n2 img{aspect-ratio:16/10}
  .lc-mot{grid-template-columns:repeat(3,1fr);gap:2rem}
  .lc-mot b{font-size:1.25rem;margin-bottom:6px}
  .lc-mantra{font-size:1.875rem;margin-top:3rem;padding-top:2.25rem;text-align:center}
  .lc-prof{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;overflow:visible;margin-inline:0;padding-inline:0}
  .lc-prof.lc-n1{grid-template-columns:minmax(0,18rem)}.lc-prof.lc-n2{grid-template-columns:repeat(2,minmax(0,18rem))}
  .lc-prof b{font-size:1.1875rem}
  .lc-prof span{font-size:.9rem}
  .lc-prof figcaption{padding:1rem 1.1rem 1.25rem}
  .lc-pre{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:14px;align-items:stretch}
  .lc-gratis{margin:0;padding:2rem;grid-template-columns:1fr;align-content:center;gap:10px}
  .lc-gratis b{font-size:5.25rem}
  .lc-gratis span{font-size:1.0625rem}
  .lc-gratis strong{font-size:1.375rem}
  .lc-luego{gap:14px}
  .lc-luego div{padding:2rem}
  .lc-luego small{font-size:.9375rem;min-height:0}
  .lc-luego b{font-size:2.75rem;margin-top:1rem}
  .lc-luego i{font-size:.9375rem}
  .lc-micro{font-size:.9375rem;margin-top:1.1rem}
  .lc-donde{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}
  .lc-mapa{margin:0}
  .lc-dir b{font-size:1.5rem}
  .lc-dir span{font-size:1.0625rem}
  .lc-datos li{font-size:.9375rem}
}
@media (max-width:60rem){
  .lc .cierre .ficha.lc-f{display:grid;gap:.9rem}
}
.lc .ficha.lc-f:not(#_){background:#fff;color:var(--negro);border:0;padding:1.25rem 1.1rem;display:grid;gap:.85rem;width:100%;-webkit-backdrop-filter:none;backdrop-filter:none}
.lc .ficha.lc-f h3{margin:0;font-size:1.1875rem;line-height:1.2;color:var(--negro)}
.lc .ficha.lc-f .campo{margin:0}
.lc .ficha.lc-f .campo label{color:var(--negro)}
.lc .ficha.lc-f .campo input:not(#_),.lc .ficha.lc-f .campo select:not(#_){background:#fff;color:var(--negro);border:1px solid #9b9794;padding:.7rem .75rem;min-height:3.1rem;font-size:1rem}
.lc .ficha.lc-f .campo input:focus:not(#_),.lc .ficha.lc-f .campo select:focus:not(#_){border-color:var(--negro)}
.lc .ficha.lc-f .acepto{margin:0;color:var(--gris)}
.lc .ficha.lc-f .error{margin:0;color:var(--rojo)}
.lc .ficha.lc-f .ficha-pie{margin:0;font-size:.9rem;color:var(--gris)}
.lc .ficha.lc-f .ficha-pie a{color:var(--negro);font-weight:700}
@media (min-width:60.01rem){
  .lc .lc-hr .ficha.lc-f:not(#_),.lc .cierre .ficha.lc-f:not(#_){background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1.75rem}
  .lc .ficha.lc-f .campo input:not(#_),.lc .ficha.lc-f .campo select:not(#_){background:rgba(255,255,255,.94)}
}

/* ===== v2.17 · formularios más transparentes y con correo, horario con el nombre de la clase, reseñas sin huecos ===== */
@media all{
  .lc .lc-hr .ficha.lc-f:not(#_):not(#_),.lc .cierre .ficha.lc-f:not(#_):not(#_){background:rgba(255,255,255,.58);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);border:1px solid rgba(255,255,255,.45)}
  .lc .ficha.lc-f .campo input:not(#_):not(#_){background:rgba(255,255,255,.82);border-color:rgba(19,19,19,.35)}
  .lc .ficha.lc-f .acepto{color:#3a3837}
  .lc .ficha.lc-f .lc-clase{color:#3a3837}
  .cierre .ficha:not(.lc-f){background:rgba(255,255,255,.58);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);border:1px solid rgba(255,255,255,.45)}
  .cierre .ficha:not(.lc-f) input,.cierre .ficha:not(.lc-f) select{background:rgba(255,255,255,.82)}
}
.gcar .res:not(#_){min-height:0;height:100%}
.gcar .res p:not(#_){-webkit-line-clamp:7;align-self:center}
.gcar .res p.media:not(#_){font-size:1.25rem;line-height:1.45}
.gcar .res p.corta:not(#_){font-family:var(--titular);font-stretch:112%;font-weight:600;font-size:1.625rem;line-height:1.25;text-wrap:balance}
@media (max-width:70rem){.gcar .res p.corta:not(#_){font-size:1.375rem}.gcar .res p.media:not(#_){font-size:1.125rem}}

.lc .cierre .ficha.lc-f p.lc-clase:not(#_){font-size:.875rem}
.cierre .ficha:not(.lc-f) > p:not(.error):not(#_),.cierre .ficha .acepto:not(#_){color:#3a3837}

/* ===== v2.18 · SEO local: frase de pueblos en «Dónde estamos» ===== */
.lc-donde .lc-pue:not(#_){margin:1rem 0 1.5rem;font-size:.9375rem;line-height:1.6;color:#55514f;max-width:34rem}

/* ===== v2.19 · cabecera negra sobria en páginas internas y blog nuevo ===== */
.ch.sobrio:not(#_){background:var(--negro);min-height:0!important;padding-top:10.5rem;padding-bottom:clamp(2.5rem,5vw,4.25rem)}
.ch.sobrio:not(#_)::before,.ch.sobrio:not(#_)::after{display:none!important;content:none}
.ch.sobrio .ch-t{max-width:62rem}
.ch.sobrio .ch-t>p:not(.miga){color:#e4e1df;max-width:40rem}
.ch.sobrio .miga,.ch.sobrio .miga a{color:#bdb9b7}
@media (max-width:60rem){.ch.sobrio:not(#_){padding-top:8.25rem}}
.ch.sobrio .bl-cab:not(#_){max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;flex-wrap:wrap}
.bl-cab>div{display:grid;gap:1rem;max-width:46rem}
.bl-n:not(#_){margin:0;color:#bdb9b7;font-size:.9375rem}
/* Filtro */
.bl-filt{border-bottom:1px solid var(--linea);padding-inline:var(--lado)}
.bl-filt>div{display:flex;gap:.6rem;flex-wrap:wrap;padding-block:1.1rem}
.bl-filt a{font-weight:600;font-size:.9375rem;padding:.6rem 1rem;border:1px solid var(--linea);color:var(--negro);text-decoration:none;transition:border-color .2s ease}
.bl-filt a:hover{border-color:var(--negro)}
.bl-filt a[aria-current]{background:var(--negro);border-color:var(--negro);color:#fff}
@media (max-width:60rem){.bl-filt{overflow-x:auto;padding-inline:0}.bl-filt>div{flex-wrap:nowrap;width:max-content;padding-inline:16px}.bl-filt a{white-space:nowrap;font-size:.875rem}}
/* Listado */
.bl-lista:not(#_){padding-top:clamp(2rem,4vw,3.5rem)}
.bl-post{display:grid;gap:.75rem;align-content:start;color:var(--negro);text-decoration:none}
.bl-img{display:block;overflow:hidden;background:var(--pieza)}
.bl-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.bl-post:hover .bl-img img,.bl-post:focus-visible .bl-img img{transform:scale(1.04)}
.bl-tx{display:grid;gap:.6rem;align-content:start}
.bl-cat{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rojo)}
.bl-post h3{font-family:var(--titular);font-stretch:112%;font-weight:600;font-size:1.375rem;line-height:1.2;margin:0}
.bl-post:hover h3,.bl-post:focus-visible h3{text-decoration:underline;text-decoration-color:var(--rojo);text-decoration-thickness:2px;text-underline-offset:.18em}
.bl-ex{color:var(--gris);font-size:1rem;line-height:1.6}
.bl-meta{color:var(--gris);font-size:.875rem}
.bl-post.sin{border-top:3px solid var(--negro);padding-top:1rem}
.bl-post.g{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,3.5vw,3rem);align-items:center;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.bl-post.g.sin{grid-template-columns:1fr}
.bl-post.g .bl-img img{aspect-ratio:16/10}
.bl-post.g h2{font-family:var(--titular);font-stretch:108%;font-weight:600;font-size:clamp(1.6rem,2.8vw,2.375rem)!important;line-height:1.12!important;margin:0}
.bl-post.g .bl-ex{font-size:1.125rem}
.bl-post.g .post-m{margin-top:.25rem}
.bl-rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
@media (max-width:60rem){
 .bl-post.g{grid-template-columns:1fr}
 .bl-post.g .bl-img img{aspect-ratio:4/3}
 .bl-rejilla{grid-template-columns:1fr;gap:0}
 .bl-rejilla .bl-post{grid-template-columns:104px minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid var(--linea)}
 .bl-rejilla .bl-post:last-child{border-bottom:1px solid var(--linea)}
 .bl-rejilla .bl-img img{aspect-ratio:1/1}
 .bl-rejilla .bl-post.sin{grid-template-columns:1fr;border-top-width:1px}
 .bl-rejilla .bl-cat,.bl-rejilla .bl-ex{display:none}
 .bl-rejilla .bl-post h3{font-size:1.125rem;line-height:1.25}
}
/* Llamada a la acción */
.bl-ctab:not(#_){padding-top:0}
.bl-cta{background:var(--negro);color:#fff;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.bl-cta-t{padding:clamp(1.75rem,4.5vw,3.5rem);display:grid;gap:1.1rem;align-content:center;justify-items:start}
.bl-cta h2{font-family:var(--titular);font-stretch:108%;font-weight:600;font-size:clamp(1.6rem,3vw,2.5rem)!important;line-height:1.1!important;margin:0;color:#fff}
.bl-cta p{margin:0;font-size:1.0625rem;line-height:1.6;color:#e4e1df;max-width:36rem}
.bl-cta{min-height:24rem}
.bl-cta>img{width:100%;height:100%;object-fit:cover;display:block;contain:size}
.bl-cta-b{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:.3rem}
.bl-cta-b .boton.linea{color:#fff;min-height:64px}
.bl-tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--rojo);color:#fff;padding:.35rem .6rem}
.bl-leo:not(#_){justify-content:flex-start;gap:12px;padding:10px 18px 10px 10px;min-height:64px;text-align:left}
.bl-leo img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px #fff}
.bl-leo span{display:grid;gap:1px}
.bl-leo b{font-size:1.0625rem;line-height:1.2}
.bl-leo small{font-size:.8125rem;font-weight:500;color:#f6dede}
.bl-leo:hover small,.bl-leo:focus-visible small{color:inherit}
@media (max-width:60rem){.bl-cta{grid-template-columns:1fr}.bl-cta{min-height:0}.bl-cta>img{order:-1;height:13rem}.bl-cta-b{align-self:stretch;width:100%}.bl-cta-b .bl-leo{width:100%}}
/* Otras categorías */
.bl-otras>h2{margin:0 0 1.5rem}
.bl-otras>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem}
.bl-otras a{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--negro);color:#fff;text-decoration:none}
.bl-otras img{width:100%;height:100%;object-fit:cover;display:block;opacity:.6;transition:opacity .3s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.bl-otras a:hover img,.bl-otras a:focus-visible img{opacity:.42;transform:scale(1.04)}
.bl-otras span{position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;font-family:var(--titular);font-stretch:108%;font-size:1.375rem;font-weight:600;line-height:1.2}
@media (max-width:60rem){.bl-otras>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bl-otras a{aspect-ratio:1/1}.bl-otras span{left:12px;right:12px;bottom:12px;font-size:1.0625rem}}
/* Entrada */
.art-cab .ch-t{gap:1.1rem}
.art-cat{justify-self:start;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--rojo);color:#fff;padding:.4rem .7rem;text-decoration:none}
.art-cab h1{max-width:24ch!important}
.art-cab .art-meta:not(#_){color:#bdb9b7;font-size:.9375rem}
.art-cab .art-meta b{color:#fff}
.art2:not(#_){padding-top:clamp(1.5rem,3vw,2.5rem)}
.art2-foto{display:block;width:100%;aspect-ratio:21/9;max-height:34rem;object-fit:cover;margin:0 0 clamp(2rem,4vw,3.5rem)}
.art2-g{display:flex;gap:clamp(2rem,5vw,4.5rem);align-items:flex-start;flex-wrap:wrap}
.art2-c{flex:999 1 34rem;min-width:0;max-width:47.5rem}
.art2 .art:not(#_){max-width:none;margin:0;font-size:1.1875rem;line-height:1.75;color:#2b2928}
.art2 .art>p:first-child{font-size:1.375rem;line-height:1.6;color:var(--negro)}
.art2 .art h2{scroll-margin-top:6rem}
.art2 .art blockquote{margin:2.5rem 0;padding-left:1.6rem;font-size:1.5rem;line-height:1.4;color:var(--negro)}
.art-mid{margin:2.25rem 0!important;background:var(--rosa);padding:1.6rem 1.8rem;display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}
.art-mid img{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:none}
.art-mid>div{flex:1 1 16rem;min-width:0}
.art-mid p{margin:0;font-size:1rem;line-height:1.5;color:#3a3837}
.art-mid .art-mid-t{font-family:var(--titular);font-size:1.25rem;font-weight:600;color:var(--negro);margin-bottom:.2rem}
.art-autor{margin-top:3rem;padding-top:1.75rem;border-top:1px solid var(--linea);display:flex;gap:1rem;align-items:center}
.art-autor p{margin:0;font-size:1rem;line-height:1.5;color:var(--gris)}
.art-autor b{color:var(--negro)}
.art-autor-l{width:56px;height:56px;flex:none;background:var(--negro);color:#fff;display:grid;place-items:center;font-family:var(--titular);font-stretch:125%;font-weight:700;font-size:1.5rem}
.art2-l{flex:1 1 20rem;max-width:23.5rem;position:sticky;top:6.5rem;display:grid;gap:1.75rem}
.art-toc{border-top:2px solid var(--negro);padding-top:1rem}
.art-toc>p{margin:0 0 .6rem;font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.art-toc ol{margin:0;padding-left:1.25rem;display:grid;gap:.5rem;font-size:1rem;line-height:1.4}
.art-toc a{color:var(--negro);text-decoration:none}
.art-toc a:hover{color:var(--rojo)}
.art-card{background:var(--negro);color:#fff}
.art-card>img{width:100%;height:13rem;object-fit:cover;display:block}
.art-card>div{padding:1.5rem;display:grid;gap:.8rem;justify-items:start}
.art-card h2{font-family:var(--titular);font-stretch:108%;font-weight:600;font-size:1.625rem!important;line-height:1.15!important;margin:0;color:#fff}
.art-card p{margin:0;color:#e4e1df;font-size:1rem;line-height:1.55}
.art-card .bl-leo{width:100%}
.art-card-l{color:#fff;font-weight:600;font-size:.9375rem;text-underline-offset:.2em}
@media (max-width:60rem){.art2-l{position:static;max-width:none;flex-basis:100%}.art-toc{display:none}.art2-foto{aspect-ratio:4/3;margin-inline:calc(var(--lado)*-1);width:calc(100% + var(--lado)*2)}.art2 .art:not(#_){font-size:1.0625rem}.art2 .art>p:first-child{font-size:1.1875rem}.art-mid{padding:1.25rem}.art-mid .boton{width:100%}}
.bl-rel-c{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}
.bl-rel-c h2{margin:0}
.bl-rel:not(#_){padding-top:clamp(2.5rem,5vw,4.5rem)}

.ch.sobrio h1{max-width:24ch!important}
.ch.sobrio .ch-t:has(.ch-dato){max-width:none!important;width:100%;grid-template-columns:minmax(0,46rem) 1fr;column-gap:3rem}
.ch.sobrio .ch-t:has(.ch-dato)>*{grid-column:1}
.ch.sobrio .ch-t>.ch-dato{grid-column:2;grid-row:1/span 3;align-self:end;justify-self:end;text-align:right;margin:0;color:#bdb9b7!important;font-size:.9375rem;line-height:1.6}
@media (max-width:60rem){.ch.sobrio .ch-t:has(.ch-dato){grid-template-columns:1fr}.ch.sobrio .ch-t>.ch-dato{grid-column:1;grid-row:auto;justify-self:start;text-align:left}.ch-dato .bl-leo{width:100%}}

/* ===== v2.19.1 · WordPress pone la clase «blog» en el body del blog: que no herede la rejilla de las tarjetas de la portada ===== */
body.blog:not(#_){display:block;grid-template-columns:none;gap:0}

/* ===== v2.20 · Clases: test compacto · cierre compacto en páginas internas · profesores en fila · mapa en Contacto ===== */
/* Test «¿Qué vienes a buscar?» */
#test .dos-test:not(#_){gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
@media (min-width:60rem){#test .dos-test:not(#_){grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}
#test .izq{display:grid;gap:1rem;align-content:start}
#test .izq h2{margin:0}
#pasos:not(#_){display:grid;grid-template-columns:1fr;gap:.6rem;margin:.5rem 0 0;padding:0;list-style:none}
#pasos .paso{border:0;padding:0;min-height:0;display:flex;gap:.7rem;align-items:center;color:var(--negro);font-size:.9375rem}
#pasos .paso .num{display:inline-flex;align-items:center;gap:.6rem;font-size:.9375rem;letter-spacing:0;text-transform:none}
#pasos .paso .num::before{content:"";width:.75rem;height:.75rem;flex:none;background:var(--linea)}
#pasos .paso.hecho .num::before{background:var(--negro)}
#pasos .paso[aria-current="step"] .num::before{background:var(--rojo)}
#pasos .paso .valor{font-size:.9375rem;color:var(--gris)}
#pasos .paso:not(:disabled):hover .num{text-decoration:underline;text-decoration-color:var(--rojo);text-underline-offset:.2em}
#test .test:not(#_){max-width:none;padding:clamp(1.25rem,2.5vw,2rem)}
#test .pregunta{font-size:1.375rem;margin:0 0 .2rem}
#test .ayuda{margin-bottom:.9rem}
#test .tatami{gap:.5rem}
#test .tatami.una:not(#_){grid-template-columns:repeat(3,minmax(0,1fr))}
#test .tatami.una>:last-child:nth-child(odd){grid-column:auto}
#test .op:not(#_){min-height:3rem;padding:.55rem .85rem;font-size:.9375rem}
#test .tatami.aparte{margin-top:.5rem}
#test .acciones{margin-top:.9rem;grid-auto-flow:column;justify-content:start;align-items:center;gap:1rem}
#test .acciones .boton{width:auto}
#test .resultado:not(#_){margin-top:0;max-width:none;background:var(--blanco);color:var(--negro);padding:clamp(1.25rem,2.5vw,2rem);border-top:4px solid var(--rojo);display:grid;gap:.7rem}
#test .resultado>*{margin:0}
#test .resultado .frase{color:var(--gris);font-size:.9375rem;margin:0}
#test .resultado .rotulo{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rojo)}
#test .resultado .partida{font-size:clamp(1.6rem,3vw,2.25rem);margin:0}
#test .resultado .horario{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
#test .resultado .horario li{display:flex;gap:.5rem;align-items:center;background:var(--pieza);padding:.45rem .7rem;font-size:.9375rem}
#test .resultado .horario strong{font-weight:700}
#test .resultado .horas{display:inline-flex;gap:.4rem;flex-wrap:wrap}
#test .resultado .hora{border:0;padding:0;background:none;color:var(--negro)}
#test .resultado .nota{color:var(--gris);font-size:.9375rem;margin:0}
#test .res-acc{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.4rem}
#test .res-acc .boton{width:auto;margin:0}
#test .res-acc .boton.linea{color:var(--negro);min-height:64px}
#test .resultado .enlace{color:var(--negro);justify-self:start;margin-top:.2rem}
@media (max-width:60rem){#test .tatami.una:not(#_){grid-template-columns:1fr}#test .res-acc .bl-leo{width:100%}}
/* Cierre compacto en las páginas internas (la portada y las páginas de clase conservan el suyo) */
body:not(.home):not(.single-elite_clase) .cierre:not(#_){min-height:0!important;padding-block:clamp(2.5rem,5vw,4rem)!important;align-content:center}
body:not(.home):not(.single-elite_clase) .cierre:not(#_)::before{background:linear-gradient(90deg,rgba(150,30,32,.9) 0%,rgba(150,30,32,.8) 100%)}
body:not(.home):not(.single-elite_clase) .cierre h2:not(#_):not(#_){font-size:clamp(1.6rem,2.6vw,2.4rem)!important;line-height:1.08!important}
body:not(.home):not(.single-elite_clase) .cierre p{font-size:1.0625rem}
body:not(.home):not(.single-elite_clase) .cierre .ficha:not(#_){padding:clamp(1.1rem,2vw,1.6rem)}
body:not(.home):not(.single-elite_clase) .cierre .ficha .campo{margin-bottom:.5rem}
@media (min-width:60rem){body:not(.home):not(.single-elite_clase) .cierre:not(#_){grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
@media (max-width:60rem){body:not(.home):not(.single-elite_clase) .cierre>.cierre-f:not(#_){max-height:9rem}}
/* Profesores en fila */
.profs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.prof2{display:grid;gap:.35rem;align-content:start;outline:none}
.prof2-f{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--negro);margin-bottom:.6rem}
.prof2-f img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .35s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.prof2-b{position:absolute;inset:0;padding:1.25rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.6rem;color:#fff;opacity:0;transform:translateY(.75rem);transition:opacity .35s ease,transform .35s ease;overflow:auto}
.prof2-b p{margin:0;font-size:.9375rem;line-height:1.5;color:#f0eeec}
.prof2-b .tit{color:#fff;font-weight:600}
.prof2-b .boton{margin-top:.2rem}
.prof2:hover .prof2-f img,.prof2:focus-within .prof2-f img{opacity:.16;transform:scale(1.03)}
.prof2:hover .prof2-b,.prof2:focus-within .prof2-b{opacity:1;transform:none}
.prof2 h3{font-family:var(--titular);font-stretch:112%;font-weight:600;font-size:1.375rem;line-height:1.15;margin:0}
.prof2 .rol{margin:0;font-size:.875rem;font-weight:700;color:var(--rojo)}
@media (max-width:60rem){
 .profs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(var(--lado)*-1);padding-inline:var(--lado);padding-bottom:.5rem}
 .prof2{flex:0 0 78%;scroll-snap-align:start}
 .prof2-f{aspect-ratio:4/5}
 .prof2-b{position:static;opacity:1;transform:none;padding:0;color:var(--gris);order:3}
 .prof2-b p{color:var(--gris)}
 .prof2-f{display:contents}
 .prof2-f img{aspect-ratio:4/5;margin-bottom:.6rem}
 .prof2:hover .prof2-f img{opacity:1;transform:none}
}
@media (hover:none) and (min-width:60.01rem){.prof2-b{opacity:1;transform:none;background:linear-gradient(0deg,rgba(19,19,19,.92),rgba(19,19,19,.2))}}
/* Mapa en Contacto */
.mapa.mapa2:not(#_){padding:0;display:flex;flex-direction:column;align-content:stretch;clip-path:none;min-height:26rem}
.mapa2 iframe{display:block;width:100%;flex:1 1 auto;min-height:20rem;border:0;filter:grayscale(.25)}
.mapa2-t{padding:1.25rem 1.5rem;display:flex;gap:1rem 1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.mapa2-t p{flex:1 1 18rem;margin:0;color:#e4e1df!important;font-size:.9375rem;line-height:1.55}
#test .resultado[hidden],#test .test[hidden]{display:none!important}
#test .tatami.aparte:not(#_){grid-template-columns:1fr}
#test .resultado .horario:not(#_){border:0;margin:0}
#test .resultado .horario li:not(#_){border:0}

/* ===== v2.21 · cierre con la foto más visible · tarifas de abajo en gris claro · eventos ===== */
/* Cierre compacto: se ve la parte de abajo de la foto (la gente) y el velo rojo es más ligero */
body:not(.home):not(.single-elite_clase) .cierre>.cierre-f:not(#_){object-position:50% 78%;opacity:.95;filter:grayscale(1) contrast(1.05) brightness(1.08)}
body:not(.home):not(.single-elite_clase) .cierre:not(#_)::before{background:linear-gradient(90deg,rgba(150,30,32,.78) 0%,rgba(150,30,32,.5) 45%,rgba(150,30,32,.28) 100%)}
@media (max-width:60rem){body:not(.home):not(.single-elite_clase) .cierre>.cierre-f:not(#_){object-position:50% 70%;max-height:11rem}}
/* Tarifas: la fila de abajo (clases limitadas, niños, fuerzas de seguridad) en gris claro para que destaque */
main .planes.abajo .plan:not(#_):not(#_){background:#DAD7D3;border-color:#DAD7D3}
main .planes.abajo .plan:not(#_):not(#_) h3{background:#CBC7C2;border-bottom:0;color:#131313}
main .planes.abajo .plan:not(#_):not(#_) .precio b:not(#_){color:#131313}
main .planes.abajo .plan:not(#_):not(#_) .precio span{color:#5e5b5a}
main .planes.abajo .plan:not(#_):not(#_) .extra{color:#131313}
main .planes.abajo .plan:not(#_):not(#_) li{color:#2e2c2b;border-top-color:#c4c0bb}
main .planes.abajo .plan:not(#_):not(#_) .boton.linea{color:#131313;background:transparent;box-shadow:inset 0 0 0 2px #131313}
main .planes.abajo .plan:not(#_):not(#_):hover,main .planes.abajo .plan:not(#_):not(#_):focus-within{border-color:var(--rojo)}
main .planes.abajo .plan:not(#_):not(#_):hover .boton.linea,main .planes.abajo .plan:not(#_):not(#_):focus-within .boton.linea{background:var(--rojo);color:#fff;box-shadow:none}
.art figure{margin:2rem 0}.art figure img:not(#_){width:100%;height:auto;max-height:34rem;object-fit:cover;display:block}
main .planes.abajo .plan:not(#_):not(#_) li::before{background-color:var(--rojo)}
/* Eventos: columna de fecha fija y tarjeta blanca */
.fechas:not(#_) li{background:#fff;grid-template-columns:10.5rem minmax(0,1fr) auto;border-left:4px solid var(--rojo);padding:1.1rem 1.5rem}
.fechas:not(#_) em{background:#f1f0ee;padding:.4rem .7rem;white-space:nowrap}
@media (max-width:34rem){.fechas:not(#_) li{grid-template-columns:1fr}.fechas:not(#_) em{justify-self:start}}

/* ===== v2.21.1 · blog: fotos con proporción fija (no dependen del tamaño real de la imagen) ===== */
.bl-img:not(#_){position:relative;aspect-ratio:3/2;width:100%}
.bl-img:not(#_) img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none;aspect-ratio:auto;object-fit:cover;object-position:50% 45%}
.bl-post.g:not(#_){grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,3.5rem)}
.bl-post.g:not(#_) .bl-img{aspect-ratio:3/2}
.art2-foto:not(#_){height:clamp(15rem,32vw,28rem)!important;width:100%!important;aspect-ratio:auto;max-height:none;object-fit:cover;object-position:50% 45%}
@media (max-width:52rem){.bl-post.g:not(#_){grid-template-columns:1fr}}
@media (max-width:60rem){.art2-foto:not(#_){height:clamp(13rem,62vw,22rem)!important}}
@media (max-width:60rem){.bl-rejilla .bl-img:not(#_){aspect-ratio:1/1}.bl-post.g:not(#_) .bl-img{aspect-ratio:4/3}}
@media (min-width:60.01rem){.bl-post.g:not(#_) .bl-img{aspect-ratio:16/10}.bl-post.g:not(#_) .bl-img img{object-position:50% 30%}}
/* ===== v2.22.1 · menú móvil con el triángulo arriba a la izquierda ===== */
.menu .menu-top{display:flex;justify-content:space-between;align-items:center;flex:none}
.menu .menu-top .cerrar{align-self:center}
.menu .menu-tri{display:block;line-height:0}
.menu .menu-tri img{height:2.6rem;width:auto;display:block}
.menu .menu-tri:not(#_){border:0!important;padding:0!important;margin:0!important;text-decoration:none;font-size:0}
/* ===== v2.23 · horario en el móvil: un día por pantalla ===== */
.hm{display:none}
@media (max-width:43.99rem){
  #horarios .filtros:not(#_),#horarios #semana:not(#_){display:none}
  .hm{display:block;margin:0 calc(var(--lado)*-1)}
  .hm-b{position:sticky;top:4rem;z-index:5;background:var(--claro,#f1f0ee);padding:.75rem var(--lado) .7rem;border-bottom:1px solid #dcd9d6;box-shadow:0 .4rem .8rem rgba(0,0,0,.05)}
  .hm-t{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem}
  .hm-t b{font-size:1.25rem;font-weight:700}
  .hm-t span{font-size:.75rem;font-weight:700;color:var(--rojo);text-transform:uppercase;letter-spacing:.06em}
  .hm-d{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem}
  .hm-dia{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.45rem 0;background:#fff;border:1px solid #dcd9d6;color:var(--negro);font:inherit;cursor:pointer;min-height:3.1rem}
  .hm-dia span{font-size:.75rem;font-weight:600}
  .hm-dia b{font-size:1.05rem}
  .hm-dia.on{background:var(--negro);border-color:var(--negro);color:#fff}
  .hm-f{display:flex;gap:.3rem;margin-top:.55rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .hm-f::-webkit-scrollbar{display:none}
  .hm-fr{flex:none;padding:.42rem .7rem;font:inherit;font-size:.8125rem;font-weight:600;background:transparent;border:1px solid #c9c5c2;color:var(--negro);cursor:pointer;min-height:2.2rem}
  .hm-fr[aria-pressed="true"]{background:var(--negro);border-color:var(--negro);color:#fff}
  .hm-l{display:flex;flex-direction:column;gap:.4rem;padding:.75rem var(--lado) .5rem;min-height:14rem}
  .hm-c{display:grid;grid-template-columns:3.6rem minmax(0,1fr) auto;align-items:center;gap:.8rem;background:#fff;border-left:5px solid #131313;padding:.7rem .9rem .7rem 0;color:var(--negro);text-decoration:none}
  a.hm-c::after{content:"";width:0;height:0;border-left:7px solid #c9c5c2;border-top:5px solid transparent;border-bottom:5px solid transparent}
  .hm-h{text-align:right;line-height:1.1}
  .hm-h b{display:block;font-size:1.05rem;font-weight:700}
  .hm-h small{font-size:.75rem;color:#8f8b89}
  .hm-n b{display:block;font-size:1rem;font-weight:600;line-height:1.2}
  .hm-n small{font-size:.75rem;color:#5e5b5a}
  .hm-nada{margin:.5rem 0;font-size:.9375rem;color:#5e5b5a}
}

/* v2.24 · pie en una fila: enlaces a la izquierda, logo en el centro, contacto a la derecha */
.pie4{padding-top:clamp(2.75rem,5vw,4rem)}
.pie4-g{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:2.5rem clamp(1.5rem,3vw,3rem);align-items:start;text-align:left}
.pie4-l{display:block}
.pie4 h3{font-family:var(--titular);font-stretch:116%;font-weight:600;font-size:1.125rem;color:#fff;margin-bottom:1rem}
.pie4 ul{list-style:none;margin:0;padding:0}
.pie4 ul.dos{columns:2;column-gap:1.25rem}

.pie4 li{margin-bottom:.6rem;break-inside:avoid}
.pie4-l li{white-space:nowrap}
.pie4-c{text-align:center;align-self:center}
.pie4 .pie-logo img{height:clamp(5.5rem,8vw,7.5rem);width:auto;display:block;margin:0 auto}
.pie4 .pie-lema{margin:.9rem 0 0;font-size:.875rem}
.pie4-r{justify-self:end}
.pie4 .pie-fin{margin-top:clamp(2.25rem,4vw,3rem)}
@media (max-width:59.99rem){
  .pie4-g{grid-template-columns:1fr;gap:2.5rem}
  .pie4-c{order:-1}
  .pie4-r{justify-self:start}
}


/* v2.24.2 · firma de Studio Lupim en el pie, con enlace */
.pie .pie-lupim{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem .95rem .4rem .45rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:var(--gris-inv);text-decoration:none;transition:border-color .2s,background-color .2s,color .2s}
.pie .pie-lupim img{width:1.5rem;height:1.5rem;display:block}
.pie .pie-lupim b{color:#fff;font-weight:700}
.pie .pie-lupim:hover,.pie .pie-lupim:focus-visible{border-color:#0256FF;background:rgba(2,86,255,.14);color:#fff;text-decoration:none}
.acepto a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
/* páginas legales */
.art .legal h2{margin-top:2.2rem}
.art .legal .falta{background:#fff3cd;color:#664d03;padding:0 .3em;font-weight:700}
.art .legal-aviso{border-left:4px solid var(--rojo);background:var(--pieza);padding:1rem 1.2rem;margin-bottom:2rem;font-size:.95rem}
.art .legal table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1rem 0 1.5rem}
.art .legal th,.art .legal td{border:1px solid var(--linea);padding:.55rem .7rem;text-align:left;vertical-align:top}
.art .legal th{background:var(--pieza)}
.art .legal-tabla{overflow-x:auto}

/* v2.24.3 · reseñas de la portada con el widget de Trustindex */
.ti-res .ti-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.ti-res .ti-cab h2{margin:0}
.ti-res .ti-w{width:100%;min-height:12rem}
@media (max-width:43.99rem){.ti-res .ti-cab .boton{width:100%;justify-content:space-between}}
/* sin la franja «Verificado por Trustindex» */
.ti-res .ti-verified-by,.ti-res .ti-disclaimer{display:none!important}

/* v2.24.5 · aviso de cookies (Complianz) con la marca de Elite BJJ */
.cmplz-cookiebanner{--cmplz_button_accept_background_color:#AB2729;--cmplz_button_accept_border_color:#AB2729;--cmplz_button_accept_text_color:#fff;--cmplz_slider_active_color:#AB2729;--cmplz_hyperlink_color:#131313;--cmplz_button_border_radius:0;--cmplz_banner_border_radius:0}
.cmplz-cookiebanner,.cmplz-cookiebanner *{font-family:var(--texto)!important}
.cmplz-cookiebanner{border-radius:0!important}
.cmplz-cookiebanner .cmplz-btn{border-radius:0!important;font-weight:700!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:#AB2729!important;border-color:#AB2729!important;color:#fff!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{background:#f1f0ef!important;border-color:#f1f0ef!important;color:#131313!important}
.cmplz-cookiebanner .cmplz-links a,.cmplz-cookiebanner .cmplz-link{color:#131313!important}
@media (max-width:43.99rem){#cmplz-manage-consent .cmplz-manage-consent{bottom:76px!important}}
