/* ==========================================================================
   Portada «WEB MMC 2026»

   Reproduce la maqueta de diseño (WEB MMC 2026.pdf, lienzo de 1920 px).

   En escritorio cada bloque se coloca con las coordenadas de la maqueta,
   expresadas en la unidad --u (1/1920 del ancho de la ventana): así, a 1920 px
   queda tal cual el diseño y en pantallas más estrechas o más anchas se escala
   en proporción, sin que se rompa ningún salto de línea.

   Debajo de 1024 px esa maqueta no cabe y se pasa a una composición apilada.

   Las cifras de --x, --y, --w, --h y --s salen de la maqueta: posición, ancho,
   alto y tamaño de letra, todas en píxeles del lienzo.
   ========================================================================== */

.mmc {
  --u: calc(100vw / 1920);
  --azul: #09356e;
  --azul-fondo: #08356d;
  --marino: #041b3a;
  --celeste: #69c8f3;
  --cian: #29abe2;
  --amarillo: #ffd500;
  --gris-texto: #3c4759;

  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-weight: 300;
  letter-spacing: -.063em;
  color: var(--azul);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
.mmc *, .mmc *::before, .mmc *::after { box-sizing: border-box; }
.mmc h1, .mmc h2, .mmc h3, .mmc p, .mmc dl, .mmc dd, .mmc dt { margin: 0; padding: 0; }
.mmc a { color: inherit; }

/* ---- utilidades de lienzo ---- */
.mmc section.mmc-sec { position: relative; height: calc(var(--H) * var(--u)); padding: 0; border: 0; }

.mmc .a {
  position: absolute;
  left: calc(var(--x, 0) * var(--u));
  top: calc(var(--y, 0) * var(--u));
  width: calc(var(--w, 0) * var(--u));
  height: calc(var(--h, 0) * var(--u));
}
.mmc .t {
  font-size: calc(var(--s) * var(--u));
  line-height: calc(var(--lh, var(--h)) * var(--u));
  white-space: nowrap;
  text-align: center;
  letter-spacing: -.063em;
  transform: translateY(calc(3 * var(--u)));
}
.mmc .l { text-align: left; }

/* Tipografías. RC = Roboto Condensed. */
.mmc .rc-b { font-weight: 700; }
.mmc .rc-l { font-weight: 300; }

/* Anton: la caja de la maqueta es más alta que la del navegador; se compensa. */
.mmc .ant {
  font-family: "Anton", "Oswald", Impact, sans-serif;
  font-weight: 400;
  letter-spacing: -.02em;
  transform: translateY(calc(var(--aj-ant, .1345) * 1em));
}

/* Títulos: Oswald Bold, con la inclinación (5,6°) y el espaciado (-0,05 em) de la maqueta. */
.mmc .osw {
  font-family: "Oswald", "Anton", Impact, sans-serif;
  font-weight: 700;
  letter-spacing: -.064em;
  transform: translateY(calc(var(--aj-osw, -.081) * 1em)) skewX(-5.58deg);
  transform-origin: 50% 80%;
}

/* Rótulos con separación entre letras (BIENVENIDOS A LA…). */
.mmc .rot {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .5em;
  text-indent: 0;
}

/* ==========================================================================
   Imagen principal
   ========================================================================== */
.mmc-hero { position: relative; background: #7fc4ee; line-height: 0; }
.mmc-hero:not(.mmc-hero--animado) img { display: block; width: 100%; height: auto; }

/* ---- Hero animado ----
   Capas de la maqueta sobre transparente, colocadas en porcentaje del lienzo de
   1920 x 1224. La entrada usa `transform` y `opacity`; el movimiento lento de
   reposo usa las propiedades `translate` y `rotate`, y el efecto de profundidad
   con el ratón va en los contenedores .mh-prof: así no se pisan. */
.mmc-hero--animado { aspect-ratio: 1920 / 1224; overflow: hidden; }
.mh-escena { position: absolute; inset: 0; --mx: 0; --my: 0; --sy: 0; }
.mh-prof { position: absolute; inset: 0; transition: translate .35s ease-out; }
.mh-prof-0 { translate: calc(var(--mx) * -.5vw) calc(var(--my) * -.35vw + var(--sy) * 1px); }
.mh-prof-1 { translate: calc(var(--mx) * .3vw) calc(var(--my) * .2vw + var(--sy) * .5px); }
.mh-prof-2 { translate: calc(var(--mx) * .7vw) calc(var(--my) * .45vw); }
.mh-escena img { display: block; max-width: none; }
.mh-capa { position: absolute; }
img.mh-capa { height: auto; }

.mh-fondo {
  position: absolute; left: -9.42%; top: -.03%; width: 118.8%; height: auto;
  transform-origin: 55% 62%;
  animation: mh-aparece .8s ease-out both, mh-zoom 26s ease-in-out .3s infinite alternate;
  will-change: transform;
}
.mh-lineas { animation: mh-desde-izq 1.4s cubic-bezier(.2, .8, .25, 1) .2s both, mh-deriva 16s ease-in-out 1.6s infinite alternate; }
.mh-olas { transform-origin: 50% 100%; animation: mh-desde-abajo 1.2s cubic-bezier(.2, .8, .25, 1) .45s both, mh-ola 8s ease-in-out 1.7s infinite alternate; }
.mh-mango { transform-origin: 50% 60%; animation: mh-pop .9s cubic-bezier(.3, 1.5, .5, 1) 1.15s both, mh-mece 5s ease-in-out 2.1s infinite alternate; }
.mh-base { transform-origin: 50% 40%; animation: mh-sube 1.1s cubic-bezier(.2, .9, .25, 1) .35s both, mh-flota 7s ease-in-out 1.5s infinite alternate; }
.mh-linea21 { animation: mh-abre .9s cubic-bezier(.2, .8, .2, 1) 1.1s both; }
.mh-fecha { animation: mh-sube-corto .8s cubic-bezier(.2, .9, .25, 1) 1.4s both; }
.mh-anapoima { transform-origin: 50% 60%; animation: mh-crece .9s cubic-bezier(.2, 1.2, .3, 1) 1.65s both; }
.mh-anapoima img { width: 100%; height: auto; }
/* Un destello que recorre la palabra ANAPOIMA de vez en cuando, recortado por su propia forma. */
.mh-anapoima::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, .8) 50%, transparent 62%) no-repeat;
  background-size: 300% 100%; background-position: 130% 0;
  -webkit-mask: url("/assets/img/mmc/hero/anapoima.webp") center / 100% 100% no-repeat;
  mask: url("/assets/img/mmc/hero/anapoima.webp") center / 100% 100% no-repeat;
  animation: mh-destello 6s ease-in-out 3.2s infinite;
}
/* Un barrido de luz muy suave, como el sol asomando entre las nubes. */
.mh-luz {
  position: absolute; inset: 0; pointer-events: none; mix-blend-mode: soft-light; opacity: .55;
  background: linear-gradient(110deg, transparent 40%, rgba(255, 255, 255, .85) 50%, transparent 60%) no-repeat;
  background-size: 260% 100%; background-position: 160% 0;
  animation: mh-barrido 11s ease-in-out 2.5s infinite;
}
.mmc-hero--animado.mh-fuera * { animation-play-state: paused !important; }

@keyframes mh-aparece { from { opacity: 0; } to { opacity: 1; } }
@keyframes mh-zoom { from { transform: scale(1) translate3d(0, 0, 0); } to { transform: scale(1.07) translate3d(-1.6%, -1%, 0); } }
@keyframes mh-desde-izq { from { opacity: 0; transform: translate3d(-6%, -3%, 0); } to { opacity: 1; transform: none; } }
@keyframes mh-deriva { from { translate: 0 0; } to { translate: 1.4% .9%; } }
@keyframes mh-desde-abajo { from { opacity: 0; transform: translate3d(0, 14%, 0) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes mh-ola { from { translate: 0 0; } to { translate: 0 -1.6%; } }
@keyframes mh-pop { from { opacity: 0; transform: scale(.3) rotate(-25deg); } to { opacity: 1; transform: none; } }
@keyframes mh-mece { from { rotate: -3.5deg; translate: 0 0; } to { rotate: 3.5deg; translate: 0 -3%; } }
@keyframes mh-sube { from { opacity: 0; transform: translate3d(0, 5%, 0) scale(.92); } to { opacity: 1; transform: none; } }
@keyframes mh-flota { from { translate: 0 0; } to { translate: 0 -.9%; } }
@keyframes mh-abre { from { opacity: 0; clip-path: inset(0 50% 0 50%); } to { opacity: 1; clip-path: inset(0 0 0 0); } }
@keyframes mh-sube-corto { from { opacity: 0; transform: translate3d(0, 60%, 0); } to { opacity: 1; transform: none; } }
@keyframes mh-crece { from { opacity: 0; transform: scale(.86); } to { opacity: 1; transform: none; } }
@keyframes mh-destello { 0%, 55% { background-position: 130% 0; } 85%, 100% { background-position: -30% 0; } }
@keyframes mh-barrido { 0%, 20% { background-position: 160% 0; } 70%, 100% { background-position: -60% 0; } }

/* Sin movimiento: se ve exactamente como la imagen estática. */
@media (prefers-reduced-motion: reduce) {
  .mmc-hero--animado *, .mmc-hero--animado *::after { animation: none !important; transition: none !important; }
  .mmc-hero--animado .mh-prof, .mmc-hero--animado .mh-capa, .mmc-hero--animado .mh-fondo { translate: none !important; }
  .mh-luz { display: none; }
}

/* ==========================================================================
   Bloque azul: tercera edición y cuenta atrás
   ========================================================================== */
.mmc section.mmc-azul {
  --H: 833;
  background: var(--azul-fondo) url("/assets/img/mmc/azul-1920.webp") center top / 100% 100% no-repeat !important;
  color: #fff !important;
  z-index: 2;
}
.mmc-azul .rot { color: var(--amarillo); }
.mmc-azul h2 { color: #fff; }
.mmc-azul .p { color: #fff; }
.mmc-azul .p a { text-decoration: none; }

.mmc-crono {
  position: absolute;
  left: calc(558 * var(--u)); top: calc(703 * var(--u));
  width: calc(804 * var(--u)); height: calc(256 * var(--u));
  background: var(--amarillo);
  border-radius: calc(20 * var(--u));
  color: var(--azul);
  z-index: 5;
  box-shadow: 0 calc(6 * var(--u)) calc(18 * var(--u)) rgba(0, 0, 0, .18);
}
.mmc-crono .rot { color: var(--azul); letter-spacing: .6em; text-indent: .6em; }
.mmc-crono .cols { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.mmc-crono .num { font-weight: 700; }
.mmc-crono .sep {
  width: calc(2 * var(--u)); background: var(--azul); opacity: .55;
}

/* Marquesina: la franja azul oscura entre el bloque azul y las distancias. */
.mmc-franja {
  position: relative;
  height: calc(52 * var(--u));
  background: #083267;
  overflow: hidden;
  z-index: 1;
  display: flex;
  align-items: center;
}
.mmc-franja .pista {
  display: flex;
  white-space: nowrap;
  animation: mmc-desliza 60s linear infinite;
  will-change: transform;
}
.mmc-franja span {
  font-family: "Oswald", "Anton", Impact, sans-serif;
  font-weight: 700;
  font-size: calc(21 * var(--u));
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
  padding: 0 calc(46 * var(--u));
  position: relative;
}
.mmc-franja span::after {
  content: "";
  position: absolute; right: calc(-6 * var(--u)); top: 50%;
  width: calc(9 * var(--u)); height: calc(9 * var(--u));
  border-radius: 50%;
  background: #ffd400;
  transform: translateY(-50%);
}
@keyframes mmc-desliza { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .mmc-franja .pista { animation: none; } }

/* ==========================================================================
   Cuatro carreras, dos días
   ========================================================================== */
.mmc section.mmc-cuatro { --H: 1509; background: #fff !important; color: var(--azul) !important; }
.mmc-cuatro h2 { color: var(--azul); }
.mmc-cuatro .celeste { color: var(--celeste); }
.mmc-mango {
  position: absolute; left: 0; top: calc(1101 * var(--u));
  width: calc(360 * var(--u)); height: calc(370 * var(--u));
  mix-blend-mode: multiply; pointer-events: none;
}

.mmc-dist {
  position: absolute;
  border: 0; padding: 0; background: none; cursor: pointer;
  font: inherit; color: inherit;
}
.mmc-dist .aro {
  position: absolute; inset: 0;
  border-radius: 50%;
  transition: transform .18s ease;
}
.mmc-dist .aro img { display: block; width: 100%; height: 100%; }
.mmc-dist:hover .aro, .mmc-dist:focus-visible .aro { transform: scale(1.04); }
.mmc-dist:focus-visible { outline: calc(3 * var(--u)) solid var(--azul); outline-offset: calc(6 * var(--u)); border-radius: 50%; }

.mmc .mmc-etq {
  position: absolute; margin: 0; padding: 0; background: none; border: 0; cursor: pointer;
  color: var(--azul); font-family: "Anton", "Oswald", Impact, sans-serif; font-weight: 400; letter-spacing: -.02em;
  transform: translateY(calc(var(--aj-ant, .1345) * 1em));
}

.mmc-ficha {
  position: absolute;
  left: calc(240 * var(--u)); top: calc(798 * var(--u));
  width: calc(1440 * var(--u)); height: calc(576 * var(--u));
  background: #fff;
  border: calc(1.5 * var(--u)) solid #9aa5b8;
  border-radius: calc(38 * var(--u));
  box-shadow: 0 calc(2 * var(--u)) calc(6 * var(--u)) rgba(9, 53, 110, .10);
  overflow: hidden;
}
.mmc-ficha .foto { position: absolute; left: 0; top: 0; width: calc(620 * var(--u)); height: 100%; }
.mmc-ficha .foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mmc-ficha .foto::after {
  content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: calc(46 * var(--u));
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(233, 236, 241, .85));
}
.mmc-ficha .cuerpo { position: absolute; left: calc(703 * var(--u)); top: 0; right: calc(36 * var(--u)); bottom: 0; }
.mmc-ficha .titulo {
  position: absolute; left: 0; top: calc(25 * var(--u));
  font-family: "Anton", "Oswald", Impact, sans-serif; font-weight: 400;
  font-size: calc(66 * var(--u)); line-height: calc(114 * var(--u)); color: var(--azul);
  white-space: nowrap; transform: translateY(calc(.1345 * 1em)); letter-spacing: -.02em;
}
.mmc-ficha .sub, .mmc-ficha .nota, .mmc-ficha .datos, .mmc-ficha .boton { letter-spacing: -.063em; }
.mmc-ficha .sub { position: absolute; left: 0; top: calc(118 * var(--u)); font-size: calc(28 * var(--u)); line-height: calc(37 * var(--u)); white-space: nowrap; }
.mmc-ficha .nota { position: absolute; left: 0; top: calc(167 * var(--u)); font-size: calc(41 * var(--u)); line-height: calc(41 * var(--u)); white-space: nowrap; }
.mmc-ficha .nota span { display: block; height: calc(41 * var(--u)); line-height: calc(41 * var(--u)); }
.mmc-ficha .datos { position: absolute; left: 0; top: calc(292 * var(--u)); font-size: calc(41 * var(--u)); }
.mmc-ficha .datos div { height: calc(43 * var(--u)); line-height: calc(43 * var(--u)); white-space: nowrap; }
.mmc-ficha .datos dt { display: inline; font-weight: 700; }
.mmc-ficha .datos dt::after { content: " "; }
.mmc-ficha .datos dd { display: inline; font-weight: 300; }
.mmc-ficha .boton {
  position: absolute; left: calc(437 * var(--u)); top: calc(460 * var(--u));
  width: calc(234 * var(--u)); height: calc(65 * var(--u));
  display: flex; align-items: center; justify-content: center;
  background: var(--amarillo); color: var(--gris-texto);
  border-radius: calc(12 * var(--u));
  font-size: calc(38.4 * var(--u)); font-weight: 300; text-decoration: none; line-height: 1;
}
.mmc-ficha .boton:hover { filter: brightness(.96); }
.mmc-nota { color: var(--cian); }
.mmc-nota a { text-decoration: underline; text-underline-offset: .15em; }

/* ==========================================================================
   Todo lo que necesitas saber
   ========================================================================== */
.mmc section.mmc-todo { --H: 784; background: #f1f1f1 !important; color: var(--azul) !important; box-shadow: 0 calc(-4 * var(--u)) calc(6 * var(--u)) rgba(0,0,0,.10); }
.mmc-todo h2 { color: var(--azul); }
.mmc a.mmc-tarj {
  color: #fff;
  letter-spacing: -.063em;
  position: absolute;
  top: calc(276 * var(--u));
  width: calc(250 * var(--u)); height: calc(349 * var(--u));
  background: var(--azul);
  border-radius: calc(24 * var(--u));
  text-decoration: none; text-align: center;
  display: block;
  transition: transform .18s ease;
}
.mmc-tarj:hover, .mmc-tarj:focus-visible { transform: translateY(calc(-6 * var(--u))); }
.mmc-tarj:focus-visible { outline: calc(3 * var(--u)) solid var(--amarillo); outline-offset: calc(4 * var(--u)); }
.mmc-tarj .tt {
  position: absolute; left: 0; right: 0; top: calc(var(--ty) * var(--u));
  font-family: "Anton", "Oswald", Impact, sans-serif; font-weight: 400;
  font-size: calc(48.6 * var(--u)); line-height: calc(53 * var(--u)); letter-spacing: -.02em;
  transform: translateY(calc(.06 * 1em));
}
.mmc-tarj .tt span { display: block; white-space: nowrap; }
.mmc-tarj .dd, .mmc-tarj .ver { letter-spacing: -.063em; }
.mmc-tarj .dd {
  position: absolute; left: 0; right: 0; top: calc(var(--dy) * var(--u));
  font-size: calc(36 * var(--u)); line-height: calc(36 * var(--u)); font-weight: 300;
}
.mmc-tarj .dd span { display: block; white-space: nowrap; }
.mmc-tarj .ver {
  position: absolute; left: 0; right: 0; top: calc(273 * var(--u));
  font-size: calc(31 * var(--u)); line-height: calc(37 * var(--u)); font-weight: 700;
  color: var(--amarillo); text-decoration: underline; text-underline-offset: .12em;
}

/* ==========================================================================
   Inscripción
   ========================================================================== */
.mmc section.mmc-naranja {
  --H: 706;
  background: #f9a11b url("/assets/img/mmc/naranja-1920.webp") center top / 100% 100% no-repeat !important;
  color: var(--marino) !important;
}
.mmc-naranja h2 { color: #fff; }
.mmc-naranja .rot { color: var(--marino); }
.mmc-naranja .precio {
  font-family: "Anton", "Oswald", Impact, sans-serif; color: var(--marino); letter-spacing: -.02em;
  transform: translateY(calc(.1345 * 1em)); white-space: nowrap;
}
.mmc-naranja .etq {
  background: var(--marino); color: #fff; border-radius: 0;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; white-space: nowrap;
}
.mmc-naranja .boton {
  background: #f1f1f1; border-radius: calc(22 * var(--u));
  display: flex; align-items: center; justify-content: center;
  color: var(--cian); font-weight: 700; text-decoration: none; line-height: 1; white-space: nowrap;
  box-shadow: 0 calc(3 * var(--u)) calc(10 * var(--u)) rgba(0, 0, 0, .12);
}
.mmc-naranja .boton:hover { filter: brightness(1.04); }
.mmc-naranja .p b { font-weight: 700; }

.mmc-fuera { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Ocultar lo que hoy compartía la portada antigua. */
.mmc-oculto { display: none !important; }

/* ==========================================================================
   Móvil y tableta (hasta 1080 px): composición apilada
   La maqueta de 1920 px no cabe: los bloques pasan a flujo normal, con tamaños
   de letra propios, y desaparecen los saltos de línea forzados.
   ========================================================================== */
@media (max-width: 1080.98px) {
  .mmc { --u: 1px; }
  .mmc br { display: none; }

  /* Todo lo que en escritorio era «posición absoluta» pasa a flujo normal. */
  .mmc .a, .mmc .t {
    position: static; width: auto; height: auto; left: auto; top: auto;
    font-size: var(--fs, 18px); line-height: 1.3; white-space: normal;
    transform: none; letter-spacing: -.02em; text-indent: 0;
  }
  .mmc .ant, .mmc .precio { transform: none; }
  .mmc .osw { font-size: var(--fs, 44px); line-height: 1.05; letter-spacing: -.03em; transform: skewX(-5.58deg); text-align: center; }
  .mmc .rot { letter-spacing: .35em; text-indent: .35em; text-align: center; }
  .mmc section.mmc-sec { height: auto; }
  .mmc .p span { display: inline; white-space: normal; }

  /* ---- Bloque azul ---- */
  .mmc section.mmc-azul { padding: 36px 18px 30px; text-align: center; background-size: cover !important; }
  .mmc-azul .rot { --fs: 14px; margin-bottom: 8px; }
  .mmc-azul .osw { --fs: 52px; margin-bottom: 16px; }
  .mmc-azul .p { --fs: 17px; line-height: 1.45; margin-bottom: 14px; }
  .mmc-crono {
    position: relative; left: auto; top: auto; margin: 22px auto 0;
    width: min(94%, 420px); height: auto; padding: 14px 8px 12px;
  }
  .mmc-crono .rot { --fs: 12px; letter-spacing: .28em; text-indent: .28em; margin-bottom: 4px; display: block; }
  .mmc-crono .cols { position: static; display: grid; grid-template-columns: repeat(4, 1fr); width: auto; height: auto; }
  .mmc-crono .col.a { display: block; text-align: center; border-left: 1px solid rgba(9, 53, 110, .35); }
  .mmc-crono .col.a:first-child { border-left: 0; }
  .mmc-crono .num.a { display: block; --fs: 40px; line-height: 1.05; letter-spacing: -.03em; }
  .mmc-crono .lab.a { display: block; --fs: 15px; letter-spacing: -.02em; }
  .mmc-crono .sep { display: none; }
  .mmc-franja { height: 40px; }
  .mmc-franja span { font-size: 14px; padding: 0 26px; }
  .mmc-franja span::after { width: 7px; height: 7px; right: -4px; }

  /* ---- Cinco carreras ---- */
  .mmc section.mmc-cuatro { padding: 34px 16px 40px; text-align: center; }
  .mmc-cuatro h2 { margin-bottom: 4px; }
  .mmc-cuatro .osw { --fs: 40px; display: inline; }
  .mmc-cuatro .sub-cuatro { --fs: 16px; margin: 4px 0 20px; }
  .mmc-mango { display: none; }
  .mmc-cuatro .dists { display: grid; grid-template-columns: repeat(5, 1fr); grid-auto-flow: row dense; gap: 4px 6px; margin: 0 0 22px; align-items: start; }
  .mmc .mmc-dist.a { position: relative; width: 100%; height: auto; aspect-ratio: 1 / 1; }
  .mmc .mmc-etq.a.t { display: block; --fs: 30px; line-height: 1.1; text-align: center; transform: none; letter-spacing: -.02em; }
  .mmc-cuatro .dists > p.a { --fs: 13px; line-height: 1.15; text-align: center; margin-top: -6px; }
  .mmc-cuatro .dists > p.a.sub-col-2 { grid-column: 2; }
  .mmc-cuatro .dists > p.a.sub-col-5 { grid-column: 5; }

  .mmc-ficha {
    position: static; width: auto; height: auto; border-radius: 22px; overflow: hidden;
    box-shadow: 0 2px 8px rgba(9, 53, 110, .12);
  }
  .mmc-ficha .foto { position: static; width: auto; height: 210px; }
  .mmc-ficha .foto::after { display: none; }
  .mmc-ficha .cuerpo { position: static; padding: 16px 18px 20px; text-align: left; }
  .mmc-ficha .titulo, .mmc-ficha .sub, .mmc-ficha .nota, .mmc-ficha .datos, .mmc-ficha .boton { position: static; transform: none; height: auto; width: auto; }
  .mmc-ficha .titulo { font-size: 36px; line-height: 1.1; white-space: normal; }
  .mmc-ficha .sub { font-size: 15px; line-height: 1.3; white-space: normal; margin: 4px 0 8px; }
  .mmc-ficha .nota { font-size: 18px; line-height: 1.3; white-space: normal; margin-bottom: 10px; }
  .mmc-ficha .nota span { display: inline; height: auto; }
  .mmc-ficha .datos { font-size: 17px; }
  .mmc-ficha .datos div { height: auto; line-height: 1.5; white-space: normal; }
  .mmc-ficha .boton { display: inline-flex; margin-top: 14px; padding: 12px 34px; font-size: 19px; }
  .mmc-nota.a { --fs: 14px; margin-top: 16px; }

  /* ---- Todo lo que necesitas saber ---- */
  .mmc section.mmc-todo { padding: 30px 14px 34px; text-align: center; }
  .mmc-todo .osw { --fs: 36px; margin-bottom: 18px; }
  .mmc-todo .grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .mmc a.mmc-tarj {
    position: relative; left: auto !important; top: auto; width: auto; height: auto; min-height: 170px;
    padding: 18px 10px 14px; display: flex; flex-direction: column; align-items: center; transform: none;
  }
  .mmc-tarj .tt, .mmc-tarj .dd, .mmc-tarj .ver { position: static; transform: none; }
  .mmc-tarj .tt { font-size: 26px; line-height: 1.1; }
  .mmc-tarj .dd { font-size: 16px; line-height: 1.25; margin: 8px 0 10px; flex: 1; }
  .mmc-tarj .dd span, .mmc-tarj .tt span { display: inline; white-space: normal; }
  .mmc-tarj .dd span:not(:last-child)::after, .mmc-tarj .tt span:not(:last-child)::after { content: " "; }
  .mmc-ficha .nota span:not(:last-child)::after { content: " "; }
  .mmc-tarj .ver { font-size: 15px; }

  /* ---- Inscripción ---- */
  .mmc section.mmc-naranja { padding: 34px 16px 38px; text-align: center; background-size: cover !important; }
  .mmc-naranja .osw { --fs: 48px; color: #fff; }
  .mmc-naranja .rot { --fs: 13px; margin: 4px 0 12px; }
  .mmc-naranja .p { --fs: 17px; line-height: 1.4; margin-bottom: 8px; }
  .mmc-naranja .precio.a { display: block; --fs: 84px; line-height: 1.1; }
  .mmc-naranja .etq.a { display: inline-flex; --fs: 18px; padding: 8px 16px; line-height: 1.2; }
  .mmc-naranja .boton.a { display: flex; margin: 18px auto 12px; width: min(80%, 280px); padding: 12px; --fs: 30px; line-height: 1.1; }
  .mmc-naranja .pie.a { --fs: 14px; }
}
