/* CrossElite · crosselite.es · v8 «Laboratorio + Galería»
   De A (WHOOP): titulares enormes y apretados, bloques negro/blanco, tarjetas de 24 px, naranja como único acento.
   De B (Nike): fotos a sangre sin marco, galería de producto para las máquinas, interfaz que desaparece. */

@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-latin-wght-normal.woff2) format("woff2-variations"),url(fonts/inter-tight-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{
  --negro:#000;
  --carbon:#141414;      /* tarjeta sobre negro */
  --blanco:#fff;
  --niebla:#f3f5f9;      /* tarjeta sobre blanco */
  --naranja:#f16f05;     /* naranja CE, del logotipo: botones y cifras */
  --naranja-hondo:#b04f00;/* naranja legible sobre blanco */
  --fuente:"Inter Tight",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ancho:1240px;
  --gutter:clamp(16px,4vw,48px);
  --radio:24px;
  /* tono por defecto: negro */
  --fondo:#000;--t1:#fff;--t2:#a9aeb4;--linea:rgba(255,255,255,.14);--tarjeta:var(--carbon);--acento:var(--naranja);
}
.negro{--fondo:#000;--t1:#fff;--t2:#a9aeb4;--linea:rgba(255,255,255,.14);--tarjeta:var(--carbon);--acento:var(--naranja);background:var(--fondo);color:var(--t1)}
.blanco{--fondo:#fff;--t1:#000;--t2:#55595f;--linea:#e3e5e8;--tarjeta:var(--niebla);--acento:var(--naranja-hondo);background:var(--fondo);color:var(--t1)}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px;scroll-padding-bottom:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:#000;color:#fff;font:400 1.0625rem/1.6 var(--fuente);letter-spacing:-.005em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
button{color:inherit;font-family:inherit}
a{color:inherit}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px;border-radius:4px}
.blanco :focus-visible,.puerta-cal :focus-visible,.puerta-cal:focus-visible{outline-color:#000}
.salto{position:absolute;left:-999px;top:8px;background:var(--naranja);color:#000;padding:10px 14px;font-weight:700;z-index:100;border-radius:999px}
.salto:focus{left:8px}
.envoltura{max-width:var(--ancho);margin:0 auto;padding:0 var(--gutter)}
.oculto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Tipografía */
h1,h2,h3{font-family:var(--fuente);margin:0;text-wrap:balance}
h2{font-size:clamp(2.7rem,6.6vw,5.9rem);font-weight:900;line-height:.86;letter-spacing:-.045em;text-transform:uppercase}
h3{font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:800;line-height:1.05;letter-spacing:-.025em}
h3.sub{font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:900;letter-spacing:-.04em;text-transform:uppercase;line-height:.9;margin-bottom:18px}
p{margin:0 0 1em;max-width:62ch}
.etiqueta{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acento);margin:0 0 16px}
.entradilla{font-size:clamp(1.125rem,1.55vw,1.28rem);line-height:1.5;color:var(--t2);letter-spacing:-.012em}
.negro .entradilla{color:#d3d6da}
.blanco .entradilla{color:#3a3e44}

/* Botones: píldoras */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:50px;padding:.8em 1.5em;border-radius:999px;font:700 .9rem/1 var(--fuente);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s,transform .15s}
.boton svg{width:20px;height:20px;flex:none}
.boton:active{transform:scale(.98)}
.boton-naranja{background:var(--naranja);color:#000}
.boton-naranja:hover{background:#ff8526}
.boton-linea{border-color:currentColor;background:transparent}
.boton-linea:hover{background:var(--t1);color:var(--fondo);border-color:var(--t1)}

/* Cabecera */
.cabecera{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.88);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.cabecera .envoltura{display:flex;align-items:center;gap:24px;height:68px}
.marca img{height:36px;width:auto}
.menu{display:flex;gap:2px;margin-left:auto}
.menu a{text-decoration:none;font-weight:600;font-size:.95rem;padding:10px 13px;border-radius:999px;color:#d9dcdf}
.menu a:hover{background:rgba(255,255,255,.1);color:#fff}
.cabecera .boton{min-height:42px;padding:.6em 1.15em;font-size:.82rem}
.abrir-menu{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:999px;height:42px;padding:0 18px;font:600 .95rem var(--fuente);cursor:pointer}
@media (max-width:980px){
  .menu{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:#000;border-bottom:1px solid rgba(255,255,255,.12);padding:8px var(--gutter) 16px}
  .menu.abierto{display:flex}
  .menu a{padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.1);border-radius:0;font-size:1.05rem}
  .abrir-menu{display:block}
  .cabecera .boton-cab{display:none}
}

/* Portada: dos puertas. Sala = foto a sangre (B); plan = laboratorio blanco (A) */
.puertas{display:flex;min-height:calc(100svh - 68px);background:#000}
.puerta{position:relative;flex:1 1 50%;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,5vw,64px) var(--gutter);overflow:hidden;text-decoration:none;transition:flex-grow .5s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover) and (min-width:900px){
  .puertas:hover .puerta{flex-grow:.8}
  .puertas .puerta:hover,.puertas .puerta:focus-within{flex-grow:1.25}
}
.puerta-sala{color:#fff;background:#000}
.puerta-sala picture,.puerta-sala picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.puerta-sala picture img{object-position:30% 50%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.puerta-sala:hover picture img{transform:scale(1.03)}
.puerta-sala::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.25) 40%,rgba(0,0,0,.9) 100%)}
.puerta-cal{background:#fff;color:#000}
.puerta>*{position:relative;z-index:1}
.puerta-cal .hoja + .lugar{margin-top:40px}
.puerta .lugar{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;color:var(--naranja)}
.puerta-cal .lugar{color:var(--naranja-hondo)}
.puerta h1,.puerta .titular{font-family:var(--fuente);font-weight:900;text-transform:uppercase;font-size:clamp(3.3rem,7.4vw,7.6rem);line-height:.82;letter-spacing:-.05em;margin:0 0 22px;max-width:9ch}
.puerta p.bajada{font-size:clamp(1.05rem,1.35vw,1.18rem);max-width:36ch;margin-bottom:28px;letter-spacing:-.01em}
.puerta-sala p.bajada{color:#e6e8ea}
.puerta-cal p.bajada{color:#3a3e44}
.puerta .accion{display:inline-flex;align-items:center;gap:.6em;font-weight:700;font-size:.88rem;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:15px 24px;width:max-content;transition:background-color .15s}
.puerta-sala .accion{background:#fff;color:#000}
.puerta-cal .accion{background:var(--naranja);color:#000}
.puerta .accion svg{width:20px;height:20px;transition:transform .25s}
.puerta:hover .accion svg{transform:translateX(5px)}

/* Hoja de plan: tarjeta de laboratorio */
.hoja{position:relative;align-self:flex-end;margin:0 0 auto;width:min(480px,100%);background:var(--niebla);border-radius:var(--radio);padding:22px 22px 18px;font-size:.88rem;color:#22262b}
.hoja-cab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;margin-bottom:6px;border-bottom:2px solid #000}
.hoja-cab strong{font-size:1.3rem;font-weight:900;text-transform:uppercase;letter-spacing:-.03em}
.hoja-cab span{color:#5b6168;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hoja table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hoja th{font-weight:700;text-align:left;color:#6b7178;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 0}
.hoja td{padding:8px 0;border-top:1px solid #dfe2e7}
.hoja td+td,.hoja th+th{text-align:right;padding-left:10px;white-space:nowrap}
.hoja td:first-child{padding-right:6px;font-weight:600}
.hoja td:nth-child(5){color:var(--naranja-hondo);font-weight:800}
.hoja .leyenda{margin:10px 0 0;font-size:.72rem;color:#5b6168;line-height:1.4}
.hoja .nota{margin:12px 0 0;padding:10px 14px;background:#000;color:#fff;border-radius:14px;font-size:.8rem}
@media (max-width:899px){
  .puertas{flex-direction:column;min-height:0}
  .puerta{min-height:0}
  .puerta-sala{min-height:62svh}
  .hoja{align-self:stretch;width:100%;font-size:.78rem;padding:16px 14px 14px;border-radius:18px}
}

/* Secciones */
.seccion{padding:clamp(80px,11vw,150px) 0}
.cabeza{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.cabeza p:last-child{margin-bottom:0}
@media (max-width:820px){.cabeza{grid-template-columns:1fr}}

/* Cifras del centro: tarjetas de laboratorio */
.placa{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0}
.placa div{display:flex;flex-direction:column;background:var(--tarjeta);border-radius:var(--radio);padding:26px 24px 24px}
.placa dt{order:2;margin-top:14px;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t2);line-height:1.35}
.placa dd{margin:0;font-weight:900;font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:.82;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
@media (max-width:720px){.placa{grid-template-columns:1fr 1fr;gap:10px}.placa div{padding:20px 18px;border-radius:18px}}

/* Mosaico de la sala: galería a sangre */
.mosaico{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(170px,19vw,280px);gap:12px;margin-top:clamp(40px,6vw,72px)}
.mosaico figure{margin:0;position:relative;overflow:hidden;background:#111}
.mosaico img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.mosaico figure:hover img{transform:scale(1.04)}
.mosaico figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;font-size:1.05rem;font-weight:600;line-height:1.25;letter-spacing:-.01em}
.m1{grid-column:1/8;grid-row:1/3}
.m2{grid-column:8/13;grid-row:1/2}
.m3{grid-column:8/13;grid-row:2/3}
.m4{grid-column:1/5;grid-row:3/4}
.m5{grid-column:5/8;grid-row:3/4}
.m6{grid-column:8/13;grid-row:3/4}
@media (max-width:820px){
  .mosaico{grid-template-columns:repeat(2,1fr);grid-auto-rows:46vw;gap:8px;margin-left:calc(var(--gutter)*-1);margin-right:calc(var(--gutter)*-1)}
  .mosaico figure{grid-column:auto!important;grid-row:auto!important}
  .mosaico .m1{grid-column:1/3!important;grid-row:span 2!important}
  .mosaico .m6{grid-column:1/3!important}
  .mosaico figcaption{font-size:.92rem;padding:32px 12px 12px}
}

/* Las joyas: galería de producto */
.joyas{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr));gap:14px;align-items:start;margin-top:clamp(56px,8vw,104px)}
.joyas-texto{align-self:center;padding-right:16px}
.joyas-texto h3{font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:900;letter-spacing:-.04em;text-transform:uppercase;line-height:.9;margin-bottom:16px}
.joyas-texto p{color:var(--t2);margin:0}
.joya{margin:0}
.joya img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--niebla)}
.joya-alta img{object-position:50% 30%}
.joya figcaption{padding-top:12px;font-size:.95rem;color:var(--t2);line-height:1.35}
.joya figcaption strong{display:block;color:var(--t1);font-weight:600;font-size:1rem;margin-bottom:2px}
@media (max-width:900px){.joyas{grid-template-columns:1fr 1fr}.joyas-texto{grid-column:1/-1;padding:0}}
@media (max-width:520px){.joyas{grid-template-columns:1fr 1fr;gap:10px}.joya:first-of-type{grid-column:1/-1}.joya:first-of-type img{aspect-ratio:4/4}}

/* Zonas del centro */
.zonas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(48px,7vw,88px)}
.zonas article{background:var(--tarjeta);border-radius:var(--radio);padding:28px 26px}
.zonas h3{margin-bottom:12px}
.zonas p{color:var(--t2);margin:0}
@media (max-width:820px){.zonas{grid-template-columns:1fr;gap:10px}}

/* Marcas */
.marcas{margin-top:clamp(56px,8vw,104px);padding-top:28px;border-top:2px solid var(--t1);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:clamp(24px,4vw,64px);align-items:start}
.marcas ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 26px}
.marcas li{font-weight:900;font-size:clamp(1.6rem,3.4vw,2.8rem);line-height:1.05;letter-spacing:-.04em;text-transform:uppercase}
.marcas li:not(:last-child)::after{content:"·";margin-left:26px;color:var(--naranja)}
.marcas .cardio{margin-top:20px;color:var(--t2);font-size:1rem}
.marcas .cardio strong{color:var(--t1)}
@media (max-width:820px){.marcas{grid-template-columns:1fr}.marcas ul{gap:2px 16px}.marcas li:not(:last-child)::after{margin-left:16px}}

/* Visita: horario y mapa */
.visita{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.visita .entradilla{margin-top:20px}
.horario{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:1.1rem;margin-top:8px}
.horario th{text-align:left;font-weight:600;padding:16px 0;border-bottom:1px solid var(--linea)}
.horario td{text-align:right;padding:16px 0;border-bottom:1px solid var(--linea);font-weight:700;letter-spacing:-.01em}
.horario tr.hoy th,.horario tr.hoy td{color:var(--naranja)}
.datos{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}
.datos li{display:flex;gap:12px;align-items:flex-start}
.datos svg{width:22px;height:22px;flex:none;margin-top:3px;color:var(--naranja)}
.datos a{text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}
.aviso{font-size:.95rem;color:var(--t2);margin-top:18px}
.mapa{position:relative;aspect-ratio:4/3.6;background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.88)),url(img/ventilacion-800.webp) center/cover;border-radius:var(--radio);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:30px;color:#fff}
.mapa h3{font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:900;text-transform:uppercase;letter-spacing:-.04em;line-height:.9;margin-bottom:12px}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapa p{color:#d3d6da}
.mapa .boton-linea:hover{background:#fff;color:#000;border-color:#fff}
@media (max-width:820px){.visita{grid-template-columns:1fr}.mapa{aspect-ratio:auto;min-height:340px}}

/* Asesoría */
.pasos{list-style:none;margin:0;padding:0;counter-reset:paso;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.pasos li{counter-increment:paso;background:var(--tarjeta);border-radius:var(--radio);padding:24px 22px 24px}
.pasos li::before{content:counter(paso,decimal-leading-zero);display:block;font-weight:900;font-size:3rem;line-height:.85;letter-spacing:-.05em;color:var(--acento);margin-bottom:22px}
.pasos h3{font-size:1.25rem;margin-bottom:8px}
.pasos p{font-size:.96rem;color:var(--t2);margin:0}
@media (max-width:1000px){
  .pasos{grid-template-columns:1fr;gap:10px}
  .pasos li{display:grid;grid-template-columns:64px 1fr;padding:20px 20px;border-radius:18px}
  .pasos li::before{grid-row:span 2;margin:0;font-size:2.4rem}
}
.incluye{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);margin-top:clamp(64px,9vw,120px);align-items:start}
.lista-check{list-style:none;padding:0;margin:0}
.lista-check li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid var(--linea)}
.lista-check svg{width:22px;height:22px;color:var(--acento);margin-top:2px}
.lista-check strong{display:block;font-weight:700;letter-spacing:-.01em}
.lista-check span{color:var(--t2)}
.modalidades{display:grid;gap:12px}
.modalidad{background:var(--tarjeta);border-radius:var(--radio);padding:26px 26px 24px}
.modalidad h3{font-size:1.6rem;font-weight:900;text-transform:uppercase;letter-spacing:-.035em;margin-bottom:8px}
.modalidad p{margin:0;color:var(--t2)}
.modalidad.destacada{background:#000;color:#fff}
.modalidad.destacada h3{color:var(--naranja)}
.modalidad.destacada p{color:#d3d6da}
.nota-tarifas{margin:8px 0 6px;color:var(--t2)}
@media (max-width:820px){.incluye{grid-template-columns:1fr}}

/* Plataforma de asesoría */
.plataforma{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);align-items:center;margin-top:clamp(64px,9vw,120px)}
.plataforma-texto h3,.nutricion-texto h3{font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:900;text-transform:uppercase;letter-spacing:-.04em;line-height:.9;margin-bottom:16px}
.plataforma-texto>p,.nutricion-texto p{color:var(--t2)}
.plataforma-capturas{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;background:var(--tarjeta);border-radius:var(--radio);padding:clamp(18px,3vw,32px)}
.plataforma-capturas .captura:nth-child(2){margin-top:56px}
.captura{margin:0}
.captura img{width:100%;border-radius:14px;background:#fff;box-shadow:0 24px 44px -28px rgba(0,0,0,.45)}
.captura-movil img{border:7px solid #000;border-radius:24px}
.captura figcaption{font-size:.84rem;color:var(--t2);margin-top:10px;font-weight:600}
@media (max-width:900px){.plataforma{grid-template-columns:1fr}}

/* Nutrición */
.nutricion{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,.8fr);gap:clamp(18px,2.6vw,32px);align-items:center;margin-top:clamp(64px,9vw,120px)}
.nutricion-recetario,.nutricion-receta{background:var(--tarjeta);border-radius:var(--radio);padding:clamp(14px,2vw,22px)}
@media (max-width:1000px){.nutricion{grid-template-columns:1.6fr 1fr}.nutricion-texto{grid-column:1/-1}}
@media (max-width:560px){.nutricion{grid-template-columns:1fr}.nutricion-receta{max-width:360px}}

/* Resultados */
.destacados{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.destacado{background:var(--tarjeta);border-radius:var(--radio);overflow:hidden;display:flex;flex-direction:column}
.destacado figure{margin:0;aspect-ratio:1/1;overflow:hidden;background:#0a0a0a}
.destacado img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.destacado:hover img{transform:scale(1.03)}
.destacado-texto{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.destacado .quien,.caso .quien{font-weight:700;font-size:1.05rem;margin:0}
.destacado .tiempo,.caso .tiempo{color:var(--t2);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:2px 0 0}
.destacado .cifra,.caso .cifra{font-weight:900;font-size:clamp(2.6rem,4vw,3.6rem);line-height:.85;letter-spacing:-.05em;margin:16px 0 10px;font-variant-numeric:tabular-nums;color:var(--naranja)}
.destacado .detalle,.caso .detalle{color:var(--t2);font-size:.95rem;margin:0 0 14px}
.destacado a,.caso a{margin-top:auto;font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-underline-offset:4px;text-decoration-color:var(--naranja);text-decoration-thickness:2px}
@media (max-width:900px){.destacados{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media (max-width:440px){.destacados{grid-template-columns:1fr}}
.casos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.caso{background:var(--tarjeta);border-radius:var(--radio);padding:22px 22px 24px;display:flex;flex-direction:column}
@media (max-width:1000px){.casos{grid-template-columns:1fr 1fr;gap:10px}}
@media (max-width:560px){.casos{grid-template-columns:1fr}}
.pie-casos{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;margin-top:36px;color:var(--t2);font-size:.95rem}
.pie-casos p{margin:0}

/* Oposiciones: foto a sangre */
.oposiciones{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.oposiciones figure{margin:0;overflow:hidden;aspect-ratio:4/5}
.oposiciones figure img{width:100%;height:100%;object-fit:cover}
.oposiciones .entradilla{margin-top:20px}
.pruebas{list-style:none;padding:0;margin:24px 0 28px;display:flex;flex-wrap:wrap;gap:8px}
.pruebas li{background:var(--tarjeta);border-radius:999px;padding:9px 16px;font-weight:600;font-size:.95rem}
.oposiciones p{color:var(--t2)}
@media (max-width:820px){.oposiciones{grid-template-columns:1fr}.oposiciones figure{aspect-ratio:16/11;margin-left:calc(var(--gutter)*-1);margin-right:calc(var(--gutter)*-1)}}

/* Quiénes somos */
.nosotros{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.nosotros .entradilla{margin-top:20px}
.nosotros p{color:var(--t2)}
.firma{font-weight:900;font-size:2.2rem;letter-spacing:-.045em;text-transform:uppercase;margin-top:8px;color:var(--t1)!important}
.resenas{display:flex;gap:18px;align-items:center;margin-top:28px;padding:20px 24px;border-radius:var(--radio);background:var(--tarjeta);max-width:460px;text-decoration:none}
.resenas .nota-g{font-weight:900;font-size:3.2rem;line-height:.9;letter-spacing:-.05em}
.resenas .estrellas{color:var(--naranja);letter-spacing:2px;font-size:1.1rem}
.resenas small{display:block;color:var(--t2)}
.foto-nosotros{margin:0}
.foto-nosotros img{border-radius:var(--radio)}
.foto-nosotros figcaption{font-size:.84rem;font-weight:600;color:var(--t2);margin-top:10px}
@media (max-width:820px){.nosotros{grid-template-columns:1fr}}

/* Preguntas */
.preguntas{max-width:900px;border-top:2px solid var(--t1);margin-top:28px}
.preguntas details{border-bottom:1px solid var(--linea)}
.preguntas summary{list-style:none;cursor:pointer;padding:24px 48px 24px 0;font-weight:700;font-size:1.2rem;letter-spacing:-.015em;position:relative}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{content:"";position:absolute;right:6px;top:50%;width:13px;height:13px;margin-top:-9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.preguntas details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.preguntas details p{color:var(--t2);padding-bottom:22px;margin:0}
#t-preguntas{margin-bottom:0!important}

/* Contacto */
.contacto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start}
.contacto .entradilla{margin-top:20px}
.contacto a{overflow-wrap:anywhere}
.formulario{background:var(--tarjeta);border-radius:var(--radio);padding:clamp(22px,3vw,38px)}
.campo{display:grid;gap:8px;margin-bottom:20px}
.campo label,.opciones legend{font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#d3d6da}
.campo input,.campo select,.campo textarea{width:100%;font:inherit;color:#fff;background:#000;border:1px solid #3a3e44;border-radius:14px;padding:13px 16px;min-height:50px}
.campo textarea{min-height:110px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--naranja);outline:none;box-shadow:0 0 0 3px rgba(241,111,5,.3)}
.opciones{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0 0 20px}
.opciones legend{margin-bottom:10px}
.opciones label{position:relative}
.opciones input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opciones span{display:inline-block;border:1px solid #3a3e44;border-radius:999px;padding:10px 16px;font-weight:600;font-size:.95rem;cursor:pointer;transition:background-color .15s,border-color .15s}
.opciones label:hover span{border-color:#80868d}
.opciones input:checked+span{background:var(--naranja);border-color:var(--naranja);color:#000}
.opciones input:focus-visible+span{outline:3px solid var(--naranja);outline-offset:2px}
.vista-previa{white-space:pre-wrap;background:#000;border:1px dashed #4a5057;border-radius:14px;padding:16px;margin:0 0 16px;font-size:.98rem;color:#e2e4e6}
.letra-pequena{font-size:.86rem;color:var(--t2);margin-top:16px}
.error{color:#ffb27a;font-weight:600;margin:0}
@media (max-width:820px){.contacto{grid-template-columns:1fr}}

/* Pie */
.pie{background:#000;color:#c9cdd1;border-top:1px solid rgba(255,255,255,.12);padding:64px 0 40px;font-size:.96rem}
.pie .envoltura{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.pie h2{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:14px;line-height:1.3}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pie a{text-decoration:none}
.pie a:hover{text-decoration:underline;text-underline-offset:3px;color:#fff}
.pie .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;color:#8d949c;font-size:.88rem}
@media (max-width:820px){.pie .envoltura{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pie .envoltura{grid-template-columns:1fr}}

/* Barra fija en móvil */
.flotante{display:none}
@media (max-width:720px){
  .flotante{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;gap:8px}
  .flotante .boton{flex:1;box-shadow:0 12px 28px -10px rgba(0,0,0,.7)}
  .flotante .boton-linea{background:#000;color:#fff;border-color:#fff}
  body{padding-bottom:76px}
}

/* Páginas legales */
.legal-texto{max-width:760px;padding:clamp(48px,8vw,96px) var(--gutter);margin:0 auto}
.legal-texto h1{font-size:clamp(2.6rem,6vw,4.2rem);font-weight:900;letter-spacing:-.045em;line-height:.88;text-transform:uppercase;margin-bottom:28px}
.legal-texto h2{font-size:1.25rem;text-transform:none;font-weight:700;letter-spacing:-.015em;margin:32px 0 10px;line-height:1.3}
.legal-texto p,.legal-texto li{color:#d3d6da}
.pendiente{background:#3a2a10;border-left:3px solid var(--naranja);padding:2px 6px}

/* Ajustes */
.seccion .etiqueta{color:var(--acento)}
.visita h2,.oposiciones h2,.nosotros h2,.contacto h2{font-size:clamp(2.5rem,4.9vw,4.6rem)}
.cabeza h2{font-size:clamp(2.7rem,6vw,5.4rem)}
h2{overflow-wrap:break-word}
.resenas{transition:transform .2s,background-color .2s}
.resenas:hover{transform:translateY(-2px);background:#1d1d1d}
.ver-resenas{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:.8rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--naranja);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.ver-resenas svg{width:16px;height:16px;transition:transform .2s}
.resenas:hover .ver-resenas svg{transform:translateX(4px)}
.pie-casos .botones{display:flex;flex-wrap:wrap;gap:10px}

/* Marcas en cuadrícula (v8) */
.marcas ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:marca;border-top:1px solid var(--linea)}
.marcas li{counter-increment:marca;display:flex;flex-direction:column;gap:8px;padding:20px 16px 20px 0;border-bottom:1px solid var(--linea);font-weight:900;font-size:clamp(1.3rem,2.2vw,1.95rem);line-height:1;letter-spacing:-.035em;text-transform:uppercase}
.marcas li:not(:nth-child(4n+1)){padding-left:16px;border-left:1px solid var(--linea)}
.marcas li::before{content:counter(marca,decimal-leading-zero);font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--acento)}
.marcas li:not(:last-child)::after{content:none}
.marcas li.marca-cardio{background:#000;color:#fff;border-left:0;padding-left:16px}
.marcas li.marca-cardio::before{content:"Cardio";color:var(--naranja)}
@media (max-width:820px){
  .marcas ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .marcas li{font-size:1.3rem;padding:18px 12px 18px 0}
  .marcas li:not(:nth-child(4n+1)){padding-left:0;border-left:0}
  .marcas li:nth-child(2n){padding-left:14px;border-left:1px solid var(--linea)}
  .marcas li.marca-cardio{padding-left:14px;border-left:0}
}
@media (max-width:360px){.marcas li{font-size:1.12rem}}
@media (min-width:821px){.marcas li{font-size:clamp(1.2rem,1.75vw,1.6rem)}}
.ver-resenas{white-space:nowrap}
@media (max-width:520px){
  .horario th,.horario td{vertical-align:top}
  .horario td span{display:block}
  .horario td .sep{display:none}
  .resenas{padding:18px 18px;gap:14px}
  .resenas .nota-g{font-size:2.7rem}
}
.botones-asesoria{display:flex;flex-wrap:wrap;gap:10px}
.nota-cuestionario{margin:12px 0 0;font-size:.92rem;color:var(--t2)}
.caja-cuestionario{background:var(--carbon);border-radius:var(--radio);padding:24px 24px 26px;margin:28px 0}
.caja-cuestionario .etiqueta{margin-bottom:10px}
.caja-cuestionario p{color:#d3d6da}
.caja-cuestionario strong{color:#fff}
@media (max-width:520px){.botones-asesoria .boton{width:100%}.caja-cuestionario .boton{width:100%}}
