/* ==========================================================================
   Autolider · paginas internas · Propuesta Web 30-10-2026
   Se carga despues de home.css y reusa todo su sistema: mismos seis colores, mismas bandas
   planas, la tarjeta blanca con foto real 2:1 del hero y el simbolo recortado de fondo.
   ========================================================================== */

/* ---------- cabecera de pagina ---------- */
.cabeza{background:var(--azul-oscuro);color:var(--blanco);position:relative;padding:var(--s5) 0 var(--s7)}
.cabeza__grid{position:relative;display:grid;gap:var(--s6)}
.cabeza h1{font-size:clamp(2.3rem,8.4vw,4rem)}
.cabeza h1 em{font-style:normal;color:var(--azul-claro);display:block}
.cabeza__lead{margin:var(--s4) 0 0;max-width:46ch}
.cabeza .acciones{margin-top:var(--s6)}
.cabeza__grid--solo .cabeza__txt{max-width:50rem}
.cabeza--legal{padding-bottom:var(--s6)}
.cabeza--legal .cabeza__lead{font-size:1rem}

/* migas: blanco sobre azul oscuro; el azul claro queda solo para el separador */
.migas ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:0 .5rem;margin:0 0 var(--s5);padding:0;
  font-size:.92rem;font-weight:600}
.migas li{display:flex;align-items:center}
.migas li+li::before{content:"";width:.4rem;height:.4rem;margin-right:.5rem;background:var(--azul-claro);flex:0 0 auto}
.migas a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--blanco);text-decoration:underline;
  text-decoration-color:var(--azul);text-underline-offset:.28em}
.migas [aria-current]{font-weight:400}

/* la ficha es la tarjeta blanca del hero del home */
.ficha{height:auto}
.ficha .tarjeta__cuerpo{gap:var(--s3)}
.tarjeta__tit{font-family:var(--titular);text-transform:uppercase;font-size:clamp(1.3rem,4.4vw,1.7rem);line-height:1;
  color:var(--azul-oscuro);margin:0}
.tarjeta__foto--32{aspect-ratio:3/2}
.ficha--foto{margin:0}
.ficha__tipo{margin-bottom:var(--s1)}
.ficha .btn--sec{justify-self:start;color:var(--negro);margin-top:var(--s2)}
.ficha .pc{white-space:normal;vertical-align:0}
.lista--ficha{gap:var(--s2)}

/* ---------- bloques ---------- */
.sec--claro{background:var(--azul-claro)}
.sec--claro .grupo h3{color:var(--negro)}
.sec--aviso{padding:var(--s7) 0}
.sec--aviso+.sec--aviso{padding-top:0}
.aviso{margin-top:0}
.acciones--col{flex-direction:column;align-items:flex-start;gap:var(--s3)}
.sutil{font-size:.92rem}

.dos{display:grid;gap:var(--s6)}
.dos__txt h2{margin-bottom:var(--s4)}
.dos__txt .lead{margin-bottom:var(--s4)}
.dos__txt p{max-width:60ch}
.dos__lado{box-shadow:inset 0 0 0 2px var(--negro);padding:var(--s5);background:var(--blanco);align-self:start;
  display:flex;flex-direction:column;gap:var(--s2)}
.dos__lado h3{margin-bottom:var(--s3);color:var(--azul-oscuro)}
.dos__lado>h2{margin-bottom:var(--s3)}

.lista{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}
.lista li{display:flex;gap:var(--s3);align-items:flex-start}
.lista .ico{width:1.35rem;height:1.35rem;color:var(--azul);margin-top:.12rem}

.horas--grande{margin:var(--s5) 0 var(--s2)}
.horas--grande .horas__barra{height:1.1rem;background:var(--azul-claro)}
.horas--grande .horas__pie{font-size:1rem}

.nota-tabla{margin:var(--s5) auto 0;max-width:52rem;text-align:center;font-size:.97rem}
.pasos--3{grid-template-columns:1fr}
/* opciones para elegir, no una secuencia: sin numero */
.pasos--opciones .paso__marca::before{display:none}

/* ---------- tablas ---------- */
.tabla-env{overflow-x:auto;overscroll-behavior-x:contain;box-shadow:inset 0 0 0 2px var(--negro)}
.tabla-env:focus-visible{outline-offset:2px}
.comp{width:100%;min-width:56rem;border-collapse:collapse;font-size:.97rem;line-height:1.45}
.comp th,.comp td{padding:.85rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--azul-claro)}
.comp tbody tr:last-child>*{border-bottom:0}
.comp thead th{background:var(--negro);color:var(--blanco);font-family:var(--titular);font-weight:400;
  text-transform:uppercase;font-size:1.05rem;line-height:1.05;white-space:nowrap}
.comp thead th span{display:block;font-family:var(--texto);text-transform:none;font-size:.85rem;margin-top:.2rem}
.comp tbody th{font-weight:700;white-space:nowrap}
.comp tbody th a{display:flex;align-items:baseline;gap:.5rem;text-decoration:none}
.comp tbody th b{font-family:var(--titular);font-weight:400;font-size:1.7rem;line-height:.9;color:var(--azul-oscuro)}
.comp .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.comp--vig{min-width:32rem}
.comp--vig td{font-weight:600}
@media (hover:hover) and (pointer:fine){
  .comp tbody th a:hover span,.comp tbody th a:hover{text-decoration:underline}
}

/* ---------- barras de horas comparables ---------- */
.bh{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}
.bh__fila{display:grid;grid-template-columns:3rem 1fr;gap:var(--s3);align-items:center;padding:var(--s2) var(--s3);
  text-decoration:none;color:inherit;transition:background-color 120ms ease}
.bh__cod{font-family:var(--titular);font-size:2rem;line-height:.9;color:var(--azul-oscuro)}
.bh__nom{display:block;font-weight:700;font-size:.95rem;line-height:1.3}
.bh .horas{padding-top:.4rem}
.bh .horas__barra{height:.5rem;background:transparent}
.bh .horas__pie{font-size:.85rem;margin-top:.3rem}
.bh--ficha{margin:0 calc(-1 * var(--s3))}
.bh--ancho{max-width:56rem;margin:0 auto;gap:var(--s3)}
.bh--ancho .bh__fila{grid-template-columns:4rem 1fr;padding:var(--s3) var(--s4);box-shadow:inset 0 0 0 2px var(--negro)}
.bh--ancho .bh__cod{font-size:2.6rem}
.bh--ancho .bh__nom{font-family:var(--titular);font-weight:400;text-transform:uppercase;font-size:1.25rem;line-height:1}
.bh--ancho .horas__barra{height:.8rem}
.bh--ancho .horas__pie{font-size:.95rem}
@media (hover:hover) and (pointer:fine){a.bh__fila:hover{background:var(--azul-claro)}}

/* ---------- escalera de recategorizacion: cada escalon mas alto y mas oscuro ---------- */
.escalera{list-style:none;margin:0 auto;padding:0;display:grid;gap:var(--s3);max-width:66rem}
.esc__a{display:flex;flex-direction:column;gap:var(--s2);height:100%;padding:var(--s5);text-decoration:none;color:var(--blanco);
  transition:transform 180ms var(--salida)}
.esc:nth-child(1) .esc__a{background:var(--azul)}
.esc:nth-child(2) .esc__a{background:var(--azul-oscuro)}
.esc:nth-child(3) .esc__a{background:var(--negro)}
.esc__cod{font-family:var(--titular);font-size:clamp(3rem,10vw,4.2rem);line-height:.8}
.esc__nom{font-family:var(--titular);text-transform:uppercase;font-size:1.3rem;line-height:1}
.esc__req{font-size:.97rem;font-weight:600}
.esc .horas{margin-top:auto}
.esc .horas__barra{background:transparent}
.esc .horas__barra .t,.esc .horas__pie .t::before{background:var(--azul-claro)}
.esc:nth-child(1) .horas__barra .t,.esc:nth-child(1) .horas__pie .t::before{background:var(--blanco)}
@media (hover:hover) and (pointer:fine){.esc__a:hover{transform:translateY(-4px)}}

/* ---------- servicios para empresas ---------- */
.servs{list-style:none;margin:0;padding:0;display:grid;gap:var(--s5)}
.servs>li{display:flex}
.serv{display:flex;flex-direction:column;gap:var(--s3);width:100%;padding:var(--s6) var(--s5);background:var(--azul-claro);
  color:var(--negro);text-decoration:none;transition:background-color 160ms ease,color 160ms ease,transform 160ms var(--salida)}
.serv:active{transform:scale(.99)}
.serv>.ico{width:2.5rem;height:2.5rem;color:var(--azul-oscuro);transition:color 160ms ease}
.serv h3{font-size:clamp(1.5rem,5vw,2rem)}
.serv p{margin:0;max-width:48ch}
.serv .cat__ver{margin-top:auto}
@media (hover:hover) and (pointer:fine){
  .serv:hover{background:var(--negro);color:var(--blanco)}
  .serv:hover>.ico{color:var(--azul-claro)}
  .serv:hover .cat__ver{color:var(--blanco)}
}

/* listas de enlaces del mega menu reusadas en paginas (otras sedes, gracias, 404) */
.otras .mm-it{background:var(--blanco);height:100%}
@media (hover:hover) and (pointer:fine){.sec--claro .otras .mm-it:hover{background:var(--negro);color:var(--blanco)}
  .sec--claro .otras .mm-it:hover>.ico{color:var(--azul-claro)}}
.otras.mm__l--3{grid-template-columns:1fr}   /* en movil, una columna */
.otras>li{display:flex}
.otras>li>a{width:100%}

/* ---------- sedes ---------- */
.leyenda--izq{justify-content:flex-start;margin:var(--s5) 0 0}
.leyenda--izq li{justify-items:start;text-align:left}
.sede__cursos-t{font-size:1.2rem;margin:var(--s6) 0 var(--s2);color:var(--azul-oscuro)}
.sede__cursos{margin-top:0}
.sede__servicios--g{border-top:0;padding-top:0;font-size:1rem}

/* ---------- nosotros: fotos historicas completas, en su proporcion ---------- */
.galeria{display:grid;gap:var(--s5)}
.galeria figure{margin:0}
.galeria img{width:100%;height:auto}
.galeria figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin-top:var(--s3);font-size:.95rem;font-weight:600}

/* ---------- blog ---------- */
.notas{list-style:none;margin:0;padding:0;display:grid;gap:var(--s5)}
.notas>li{display:flex}
.nota{width:100%;box-shadow:inset 0 0 0 2px var(--negro);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3)}
.nota h2{font-size:clamp(1.3rem,4.2vw,1.55rem)}
.nota p{margin:0}
.nota__tema{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:var(--azul-oscuro)}
.nota .pc{align-self:flex-start;margin-top:auto}

/* ---------- contacto ---------- */
.contacto .dos__txt h2,.contacto .dos__lado h2{font-size:clamp(1.8rem,6vw,2.6rem)}
.contacto .dos__txt>p{margin-bottom:var(--s5)}
.contacto__correo{display:flex;gap:var(--s3);align-items:center;margin-top:var(--s5)}
.contacto__correo .ico{color:var(--azul)}
.contacto__correo a{font-weight:700}
.form{display:grid;gap:var(--s4)}
.campo{margin:0;display:grid;gap:.4rem}
.campo label{font-weight:700}
.campo input,.campo select,.campo textarea{font:inherit;font-size:1.02rem;width:100%;min-height:3rem;padding:.7rem .85rem;
  border:0;border-radius:0;box-shadow:inset 0 0 0 2px var(--negro);background:var(--blanco);color:var(--negro);
  transition:box-shadow 120ms ease}
.campo textarea{resize:vertical;min-height:7rem}
.campo select{appearance:none;-webkit-appearance:none;padding-right:2.5rem;
  background:var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232957A5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E") right .7rem center/1.2rem no-repeat}
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{outline:0;box-shadow:inset 0 0 0 3px var(--azul)}
.campo input:user-invalid,.campo select:user-invalid{box-shadow:inset 0 0 0 3px var(--rojo)}
.campo--check{grid-template-columns:auto 1fr;align-items:start;gap:var(--s3)}
.campo--check input{width:1.35rem;height:1.35rem;min-height:0;margin:.15rem 0 0;accent-color:var(--azul-oscuro);box-shadow:none}
.campo--check label{font-weight:400}
.btn--prim{background:var(--azul-oscuro);color:var(--blanco);justify-self:start}
@media (hover:hover) and (pointer:fine){.btn--prim:hover{background:var(--negro)}}
.mensajes--claro .msj{color:var(--negro);border-color:var(--negro)}
.mensajes--claro>li:first-child .msj{border-top-color:var(--negro)}

/* ---------- legales ---------- */
.prosa{max-width:46rem;margin:0 auto}
.prosa h2{font-size:clamp(1.4rem,4.6vw,1.8rem);margin:var(--s7) 0 var(--s3)}
.prosa p,.prosa ul{max-width:65ch;margin:0 0 var(--s3)}
.prosa ul{padding-left:1.15rem}
.prosa li{margin-bottom:.35rem}
.borrador{display:flex;gap:var(--s3);align-items:flex-start;background:var(--azul-claro);padding:var(--s4);max-width:none!important}
.borrador>.ico{color:var(--azul-oscuro)}

/* ---------- cierre corto ---------- */
.cierre--corto h2{font-size:clamp(2.3rem,8vw,4.2rem);max-width:12ch}
.cierre__acc{display:grid;gap:var(--s4)}
.msj--uno{min-height:0;padding:0;background:none;color:var(--blanco)}
.msj--uno b{font-size:1.5rem}
.msj--uno .msj__logo{width:3.25rem;height:3.25rem}
@media (hover:hover) and (pointer:fine){.msj--uno:hover{background:none;color:var(--blanco)}
  .msj--uno:hover b{text-decoration:underline;text-decoration-color:var(--wa);text-decoration-thickness:2px;text-underline-offset:.25em}}

/* en movil las otras categorias van en dos columnas compactas: foto, codigo y nombre */
@media (max-width:39.99rem){
  .tarjetas--4{gap:var(--s3)}
  .tarjetas--4>li{flex:0 1 calc((100% - var(--s3)) / 2)}
  .tarjetas--4 .cat__cuerpo{padding:var(--s3)}
  .tarjetas--4 .cat__det,.tarjetas--4 .horas,.tarjetas--4 .req,.tarjetas--4 .cat__ver{display:none}
  .tarjetas--4 .cat__nom{font-size:1rem;margin-bottom:0}
}


/* ==========================================================================
   BLOG: portada y articulo. Lectura, pero cada seccion termina en una salida a WhatsApp.
   ========================================================================== */
.cabeza--art h1{font-size:clamp(2.1rem,7.4vw,3.4rem)}
@media (min-width:60rem){.cabeza--art h1{font-size:clamp(2.4rem,3.4vw,3rem)}}
.art__meta{display:flex;flex-wrap:wrap;gap:.3rem var(--s4);margin:var(--s4) 0 0;font-size:.92rem;font-weight:600}
.art__meta span+span::before{content:"";display:inline-block;width:.35rem;height:.35rem;margin-right:var(--s4);
  background:var(--azul-claro);vertical-align:.18em}
.resumen .resumen__txt{font-size:1.02rem;line-height:1.55;margin:0}
.resumen dl{border-top:1px solid var(--azul-claro);padding-top:var(--s3);margin-top:var(--s1)}

.art{padding-top:var(--s7)}
.art__grid{display:grid;gap:var(--s6)}
.art__lado{display:grid;gap:var(--s4);align-content:start}
.art__ind{box-shadow:inset 0 0 0 2px var(--negro)}
.art__ind>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:3.25rem;
  padding:0 var(--s4);cursor:pointer;font-family:var(--titular);text-transform:uppercase;font-size:1.15rem}
.art__ind>summary::-webkit-details-marker{display:none}
.art__ind>summary .ico{color:var(--azul);transition:transform 200ms var(--salida)}
.art__ind[open]>summary .ico{transform:rotate(180deg)}
.art__ind ol{list-style:none;counter-reset:ind;margin:0;padding:0 var(--s4) var(--s4);display:grid;gap:.1rem}
.art__ind li{counter-increment:ind}
.art__ind a{display:flex;gap:.6rem;min-height:2.5rem;align-items:center;text-decoration:none;font-weight:600;font-size:.95rem;line-height:1.3}
.art__ind a::before{content:counter(ind);font-family:var(--titular);color:var(--azul);width:1.2rem;flex:0 0 auto}
@media (hover:hover) and (pointer:fine){.art__ind a:hover{text-decoration:underline;text-underline-offset:.25em}}
.art__wa{display:none;background:var(--azul-oscuro);color:var(--blanco);padding:var(--s5)}
.art__wa p{margin:0 0 var(--s3);font-family:var(--titular);text-transform:uppercase;font-size:1.2rem;line-height:1}

.art__cuerpo{min-width:0}
.art__sec{scroll-margin-top:calc(var(--cab) + var(--s5))}
.art__sec+.art__sec{margin-top:var(--s8)}
.art__sec h2{font-size:clamp(1.8rem,5.6vw,2.6rem);margin-bottom:var(--s4)}
.art__sec h3{font-size:clamp(1.15rem,3.6vw,1.35rem)}
.art__sec p,.art__sec li,.art__sec dd{max-width:68ch}
.art__sec p{margin:0 0 var(--s4)}
.art__sec .tabla-env{margin:var(--s5) 0}
.art__sec a:not(.btn){font-weight:700;color:var(--azul-oscuro);text-decoration-color:var(--azul-claro);text-decoration-thickness:2px}
.comp--art{min-width:40rem}
.comp--art td .sutil{font-size:.9rem}

/* franja de WhatsApp dentro del texto */
.cta-art{display:grid;gap:var(--s4);align-items:center;margin:var(--s6) 0;padding:var(--s5);background:var(--azul-oscuro);color:var(--blanco)}
.cta-art p{margin:0;font-size:1.12rem;font-weight:700;line-height:1.4;max-width:46ch}
.cta-art .btn--wa{justify-self:start}

.lista-num{list-style:none;counter-reset:ln;margin:var(--s4) 0;padding:0;display:grid;gap:var(--s3)}
.lista-num li{counter-increment:ln;position:relative;padding-left:2.75rem;min-height:1.75rem}
.lista-num li::before{content:counter(ln);position:absolute;left:0;top:.05rem;display:grid;place-items:center;width:1.75rem;height:1.75rem;
  font-family:var(--titular);background:var(--azul-claro);color:var(--negro)}
.pasos-art{list-style:none;counter-reset:pa;margin:var(--s5) 0;padding:0;display:grid;gap:var(--s5)}
.pasos-art li{counter-increment:pa;display:grid;grid-template-columns:2.4rem 1fr;gap:.2rem var(--s4)}
.pasos-art li::before{content:counter(pa);grid-row:span 2;display:grid;place-items:center;width:2.2rem;height:2.2rem;
  font-family:var(--titular);font-size:1.3rem;background:var(--rojo);color:var(--negro)}
.pasos-art h3{align-self:center}
.pasos-art p{margin:0}
.dl-art{margin:var(--s4) 0;display:grid;gap:var(--s4)}
.dl-art dt{font-family:var(--titular);text-transform:uppercase;font-size:1.25rem;color:var(--azul-oscuro)}
.dl-art dd{margin:.2rem 0 0}
.lista-enl{list-style:none;margin:var(--s4) 0;padding:0;display:grid;gap:var(--s2)}
.lista-enl a{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem}
.lista-enl .ico{width:1.1rem;height:1.1rem}
.art__fuentes{margin-top:var(--s8);padding-top:var(--s5);border-top:2px solid var(--negro)}
.art__fuentes h2{font-size:1.5rem;margin-bottom:var(--s3)}
.art__fuentes ol{margin:0 0 var(--s3);padding-left:1.2rem;display:grid;gap:.4rem;font-size:.95rem}
.art__fuentes a{font-weight:600;overflow-wrap:anywhere}
#preguntas-art .faq__lista{max-width:none;margin:0}

/* portada del blog: la guia destacada ocupa el ancho, con su indice al lado */
.destacado{display:grid;gap:0;box-shadow:inset 0 0 0 2px var(--negro)}
.destacado__a{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s6) var(--s5);text-decoration:none;color:inherit;
  transition:background-color 160ms ease,color 160ms ease}
.destacado__a h2{font-size:clamp(2rem,6.4vw,3.2rem)}
.destacado__a h2 em{font-style:normal;color:var(--azul)}
.destacado__meta{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center;font-size:.92rem;font-weight:600}
.destacado__res{margin:0;max-width:62ch;font-size:1.05rem}
.destacado__lado{background:var(--azul-claro);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3)}
.destacado__lado-t{margin:0;font-family:var(--titular);text-transform:uppercase;font-size:1.2rem}
.destacado__lado ol{margin:0;padding-left:1.2rem;display:grid;gap:.15rem;font-size:.95rem}
.destacado__lado ol{gap:.55rem}
.destacado__lado ol a{font-weight:600}
.destacado__lado .btn--wa{margin-top:auto;align-self:flex-start}
@media (hover:hover) and (pointer:fine){
  .destacado__a:hover{background:var(--negro);color:var(--blanco)}
  .destacado__a:hover h2 em,.destacado__a:hover .nota__tema,.destacado__a:hover .cat__ver{color:var(--azul-claro)}
}
.notas--prox .nota{background:var(--blanco)}
.notas--prox .nota h3{font-size:clamp(1.25rem,4vw,1.45rem)}

@media (min-width:40rem){
  .cta-art{grid-template-columns:1fr auto;padding:var(--s5) var(--s6)}
  .tarjetas--5>li{flex:0 1 calc((100% - var(--s5)) / 2)}
}
@media (min-width:60rem){
  .art__grid{grid-template-columns:16rem minmax(0,1fr);gap:var(--s8);align-items:start}
  .art__lado{position:sticky;top:calc(var(--cab) + var(--s5))}
  .art__ind>summary{pointer-events:none}
  .art__ind>summary .ico{display:none}
  .art__wa{display:block}
  .destacado{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
  .destacado__a{padding:var(--s7) var(--s6)}
  .destacado__lado{padding:var(--s6)}
  .tarjetas--5{flex-wrap:nowrap}
  .tarjetas--5>li{flex:1 1 0}
  .tarjetas--5 .cat__cuerpo{padding:var(--s4)}
  .tarjetas--5 .cat__cod{font-size:2.4rem}
  .tarjetas--5 .cat__nom{font-size:1.15rem}
  .tarjetas--5 .cat__det{font-size:.92rem}
}

/* ---------- tableta ---------- */
@media (min-width:40rem){
  .servs{grid-template-columns:1fr 1fr}
  .notas{grid-template-columns:1fr 1fr}
  .galeria{grid-template-columns:1fr 1fr}
  .pasos--3{grid-template-columns:repeat(3,1fr)}
  .otras.mm__l--3{grid-template-columns:1fr 1fr}
}

/* ---------- escritorio ---------- */
@media (min-width:60rem){
  .cabeza{padding:var(--s6) 0 var(--s8)}
  .cabeza__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:var(--s8);align-items:center}
  .cabeza__grid--solo{grid-template-columns:minmax(0,1fr)}
  .cabeza h1{font-size:clamp(2.8rem,4.2vw,3.8rem)}
  .dos{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s8);align-items:start}
  .dos__lado{padding:var(--s6)}
  .escalera{grid-template-columns:repeat(3,1fr);align-items:end}
  .esc:nth-child(1) .esc__a{min-height:17rem}
  .esc:nth-child(2) .esc__a{min-height:21rem}
  .esc:nth-child(3) .esc__a{min-height:25rem}
  .galeria{grid-template-columns:repeat(3,1fr)}
  .notas{grid-template-columns:repeat(3,1fr)}
  .tarjetas--4>li{flex:0 1 calc((100% - 3 * var(--s5)) / 4)}
  .tarjetas--4 .cat__cuerpo{padding:var(--s4)}
  .otras.mm__l--3{grid-template-columns:repeat(3,1fr)}
  .cierre--corto .cierre__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}

@media (prefers-reduced-motion:reduce){
  .esc__a,.serv{transition:background-color 120ms ease,color 120ms ease}
  .esc__a:hover{transform:none}
}

/* ---------- celular: tablas como tarjetas, sin scroll lateral (03/10/2026) ---------- */
@media (max-width:39.99rem){
  .tabla-env{overflow:visible;box-shadow:none}
  .comp{min-width:0;font-size:1rem}
  .comp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .comp tbody{display:block}
  /* cada fila es una tarjeta: el texto largo a todo el ancho y los datos cortos de a dos */
  .comp tr{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s4);box-shadow:inset 0 0 0 2px var(--negro);
    padding:var(--s3) var(--s4);margin-bottom:var(--s3);background:var(--blanco)}
  .comp th,.comp td{display:block;padding:0;border:0}
  .comp tbody th{grid-column:1/-1;white-space:normal;padding-bottom:var(--s2);border-bottom:2px solid var(--negro)}
  .comp tbody th b{font-size:1.5rem}
  .comp td{white-space:normal;line-height:1.35}
  .comp td::before{content:attr(data-label);display:block;font-size:.85rem;font-weight:700;color:var(--azul-oscuro);margin-bottom:.1rem}
  .comp:not(.comp--vig) td:first-of-type{grid-column:1/-1}
  .comp .num{white-space:normal}
  .bh .horas__pie{font-size:.9rem}
  .comp tbody th a{min-height:2.75rem;align-items:center}
}
/* objetivos táctiles de 44 px en pantallas táctiles */
@media (pointer:coarse){
  .art__ind a{display:flex;align-items:center;min-height:2.75rem}
  .campo--check input{width:1.6rem;height:1.6rem}
  .campo--check label{padding:.5rem 0;margin:-.5rem 0}
}
