/* =========================================================================
   IAB MIXX 2026 — Sistema de diseño
   Referencia: new_/Sitio IAB MIXX 2026.dc.html
   Paleta: azul #000dff · amarillo #ffce00 · negro #0a0a0f · blanco #fff
   Tipografía: Archivo (variable: wdth 62..125 / wght 100..900)
   ========================================================================= */

:root {
    --mx-azul: #000dff;
    --mx-azul-hover: #0a0acc;
    --mx-amarillo: #ffce00;
    --mx-negro: #0a0a0f;
    --mx-blanco: #ffffff;
    --mx-ancho: 1360px;
    --mx-gutter: 32px;
    --mx-ease: cubic-bezier(.2, .7, .2, 1);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    background: #fff;
    font-family: Archivo, system-ui, -apple-system, "Segoe UI", sans-serif;
    color: var(--mx-negro);
    font-size: 16px;
    line-height: 1.5;
    overflow-x: hidden;
}

img {
    max-width: 100%;
}

a {
    color: var(--mx-azul);
}

a:hover {
    color: var(--mx-azul-hover);
}

.mx-site {
    width: 100%;
    overflow-x: hidden;
}

.mx-wrap {
    max-width: var(--mx-ancho);
    margin: 0 auto;
    padding-left: var(--mx-gutter);
    padding-right: var(--mx-gutter);
}

.mx-sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* --------------------------------------------------------------- Animaciones */
@keyframes mx-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@keyframes mx-rise {
    from { opacity: 0; transform: translateY(120%); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes mx-fade {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.mx-rv {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .75s var(--mx-ease), transform .75s var(--mx-ease);
}

.mx-rv.mx-in {
    opacity: 1;
    transform: none;
}

.mx-line {
    display: block;
    overflow: hidden;
}

.mx-line > span {
    display: block;
    animation: mx-rise .9s cubic-bezier(.2, .8, .2, 1) both;
}

.mx-fade {
    animation: mx-fade 1s both;
}

@media (prefers-reduced-motion: reduce) {
    .mx-rv { opacity: 1; transform: none; transition: none; }
    .mx-line > span,
    .mx-fade { animation: none; }
    .mx-ticker__track { animation: none; }
}

/* ------------------------------------------------------------- Tipografía */
.mx-eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--mx-amarillo);
    margin: 0 0 26px;
}

.mx-kicker {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.mx-kicker--amarillo { color: var(--mx-amarillo); }

.mx-h1 {
    margin: 0;
    font-size: clamp(44px, 7.2vw, 96px);
    line-height: .88;
    font-weight: 800;
    font-stretch: 118%;
    letter-spacing: -.03em;
    text-transform: uppercase;
}

.mx-h1--interno {
    font-size: clamp(44px, 8vw, 92px);
    line-height: .9;
}

.mx-h1--corto {
    font-size: clamp(38px, 6.6vw, 76px);
    line-height: .92;
}

.mx-h2 {
    margin: 0;
    font-size: clamp(30px, 4.4vw, 52px);
    font-weight: 800;
    font-stretch: 112%;
    line-height: .98;
    letter-spacing: -.025em;
    text-transform: uppercase;
}

.mx-amarillo { color: var(--mx-amarillo); }
.mx-azul     { color: var(--mx-azul); }

.mx-lead {
    margin: 0;
    font-size: 17px;
    line-height: 1.45;
    color: rgba(255, 255, 255, .85);
    max-width: 420px;
    text-wrap: pretty;
}

.mx-bajada {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .85);
    max-width: 440px;
    text-wrap: pretty;
}

.mx-parrafo {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(0, 0, 0, .6);
    max-width: 420px;
}

/* ------------------------------------------------------------------ Botones */
.mx-btn {
    display: inline-block;
    border: 0;
    font-family: inherit;
    text-decoration: none;
    text-align: center;
    transition: transform .3s var(--mx-ease), background .3s, color .3s;
    cursor: pointer;
}

.mx-btn:hover {
    transform: translateY(-3px);
    text-decoration: none;
}

.mx-btn--primario {
    background: var(--mx-amarillo);
    color: var(--mx-azul);
    padding: 17px 34px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mx-btn--primario:hover { color: var(--mx-azul); }

.mx-btn--ghost {
    border: 1.5px solid rgba(255, 255, 255, .6);
    color: #fff;
    padding: 17px 34px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mx-btn--ghost:hover { color: #fff; }

.mx-btn--ghost-oscuro {
    border: 1.5px solid var(--mx-negro);
    color: var(--mx-negro);
    padding: 17px 34px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mx-btn--ghost-oscuro:hover { color: var(--mx-negro); }

.mx-btn--azul {
    background: var(--mx-azul);
    color: #fff;
    padding: 16px 34px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mx-btn--azul:hover { color: #fff; }

/* Fila azul de inscripción */
.mx-btn--fila {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: var(--mx-azul);
    color: #fff;
    padding: 20px 24px;
    font-size: 15px;
    font-weight: 700;
    text-align: left;
}

.mx-btn--fila:hover { color: #fff; }
.mx-btn--fila .mx-btn__flecha { color: var(--mx-amarillo); flex: none; }

/* Botón único de inscripción: es la acción principal del bloque */
.mx-btn--fila-unica {
    background: var(--mx-amarillo);
    color: var(--mx-azul);
    padding: 30px 32px;
    font-size: clamp(20px, 2.2vw, 28px);
    font-weight: 800;
    font-stretch: 110%;
    letter-spacing: -.01em;
    text-transform: uppercase;
    line-height: 1.05;
}

.mx-btn--fila-unica:hover { color: var(--mx-azul); }

.mx-btn--fila-unica .mx-btn__flecha {
    color: var(--mx-azul);
    font-size: 28px;
    transition: transform .4s var(--mx-ease);
}

.mx-btn--fila-unica:hover .mx-btn__flecha { transform: translateX(8px); }

/* Descarga en caja outline */
.mx-btn--descarga {
    border: 1px solid rgba(255, 255, 255, .3);
    color: #fff;
    padding: 14px 12px;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-align: left;
}

.mx-btn--descarga:hover { color: #fff; }

/* ------------------------------------------------------------------- Header */
.mx-header {
    background: var(--mx-azul);
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 50;
}

.mx-header__barra {
    max-width: var(--mx-ancho);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 10px var(--mx-gutter);
    border-bottom: 1px solid rgba(255, 255, 255, .25);
}

.mx-header__logo img {
    height: 120px;
    width: auto;
    max-width: 100%;
    display: block;
    object-fit: contain;
}

.mx-header__acciones {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: none;
}

.mx-header__cta {
    background: var(--mx-amarillo);
    color: var(--mx-azul);
    padding: 11px 20px;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    text-decoration: none;
}

.mx-header__cta:hover { color: var(--mx-azul); }

/* Navegación principal */
.mx-nav ul,
.mx-nav ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mx-nav--principal > ul {
    display: flex;
    align-items: center;
    gap: 28px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mx-nav a {
    position: relative;
    text-decoration: none;
    color: inherit;
    white-space: nowrap;
}

.mx-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -6px;
    height: 2px;
    background: var(--mx-amarillo);
    transition: right .35s var(--mx-ease);
}

.mx-nav a:hover::after,
.mx-nav .current-menu-item > a::after,
.mx-nav .current_page_item > a::after,
.mx-nav .current-menu-ancestor > a::after {
    right: 0;
}

.mx-nav .current-menu-item > a,
.mx-nav .current_page_item > a,
.mx-nav .current-menu-ancestor > a {
    color: var(--mx-amarillo);
}

.mx-nav--principal .sub-menu,
.mx-nav--principal .dropdown-menu {
    display: none;
}

/* Burger + drawer */
.mx-burger {
    display: none;
    width: 38px;
    height: 38px;
    border: 1.5px solid rgba(255, 255, 255, .6);
    background: transparent;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
    padding: 0;
}

.mx-burger span {
    display: block;
    width: 18px;
    height: 2px;
    background: #fff;
}

.mx-drawer {
    background: var(--mx-azul);
    padding: 8px var(--mx-gutter) 24px;
    border-bottom: 1px solid rgba(255, 255, 255, .25);
    display: none;
}

.mx-drawer.mx-abierto { display: block; }

.mx-drawer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mx-drawer a {
    display: block;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .25);
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mx-drawer li:last-child a { border-bottom: 0; }

/* Ticker / marquee */
.mx-ticker {
    overflow: hidden;
    background: rgba(255, 255, 255, .12);
    padding: 8px 0;
}

.mx-ticker__track {
    display: flex;
    width: max-content;
    animation: mx-marquee 26s linear infinite;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--mx-amarillo);
}

.mx-ticker__track span { padding-right: 44px; }
.mx-ticker__sep { color: rgba(255, 255, 255, .45); }

/* --------------------------------------------------------------- Hero Home */
.mx-hero {
    background: var(--mx-azul);
    color: #fff;
}

.mx-hero__inner {
    max-width: var(--mx-ancho);
    margin: 0 auto;
    padding: 76px var(--mx-gutter) 0;
}

.mx-hero__acciones {
    padding: 44px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: end;
    justify-content: space-between;
    animation: mx-fade 1s .55s both;
}

.mx-hero__botones {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.mx-datos {
    margin-top: 64px;
    border-top: 1px solid rgba(255, 255, 255, .25);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.mx-dato {
    padding: 22px 24px;
    border-right: 1px solid rgba(255, 255, 255, .25);
}

.mx-dato:first-child { padding-left: 0; }
.mx-dato:last-child { border-right: 0; }

.mx-dato__label {
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--mx-amarillo);
    margin-bottom: 6px;
}

.mx-dato__valor {
    font-size: 22px;
    font-weight: 700;
}

/* --------------------------------------------------- Hero páginas internas */
.mx-hero-interno {
    background: var(--mx-azul);
    color: #fff;
}

.mx-hero-interno__inner {
    max-width: var(--mx-ancho);
    margin: 0 auto;
    padding: 70px var(--mx-gutter) 56px;
    display: flex;
    flex-wrap: wrap;
    gap: 44px;
    align-items: end;
    justify-content: space-between;
}

.mx-hero-interno__col { min-width: 0; }

/* Chips de edición (años) */
.mx-chips {
    display: flex;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    flex-wrap: wrap;
}

.mx-chip {
    border: 1.5px solid rgba(255, 255, 255, .5);
    padding: 10px 16px;
    color: #fff;
    text-decoration: none;
}

.mx-chip:hover { color: #fff; }

.mx-chip--activo {
    background: var(--mx-amarillo);
    color: var(--mx-azul);
    border-color: var(--mx-amarillo);
}

.mx-chip--activo:hover { color: var(--mx-azul); }

/* ---------------------------------------------------------- Bloque IAB MIXX */
.mx-seccion {
    max-width: var(--mx-ancho);
    margin: 0 auto;
    padding: 80px var(--mx-gutter);
}

.mx-seccion--sin-top { padding-top: 0; }
.mx-seccion--sin-bottom { padding-bottom: 0; }

.mx-intro {
    display: grid;
    grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
    gap: 64px;
    align-items: start;
    border-top: 1.5px solid var(--mx-negro);
    padding-top: 44px;
}

.mx-intro__texto {
    min-width: 0;
    padding-top: 4px;
}

.mx-intro__entrada {
    margin: 0;
    font-size: clamp(22px, 2.5vw, 34px);
    line-height: 1.22;
    font-weight: 600;
    font-stretch: 105%;
    letter-spacing: -.015em;
    text-wrap: pretty;
    max-width: 22em;
}

.mx-intro__resto {
    margin: 30px 0 0;
    padding-top: 26px;
    border-top: 1px solid rgba(10, 10, 15, .25);
    font-size: 16.5px;
    line-height: 1.62;
    color: rgba(10, 10, 15, .62);
    max-width: 60ch;
    text-wrap: pretty;
}

/* Enlace de texto con flecha, mismo gesto que las filas de categorías */
.mx-enlace {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 34px;
    padding-bottom: 6px;
    border-bottom: 1.5px solid var(--mx-negro);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mx-negro);
    text-decoration: none;
    transition: color .3s, border-color .3s;
}

.mx-enlace:hover {
    color: var(--mx-azul);
    border-color: var(--mx-azul);
}

.mx-enlace__flecha {
    font-size: 18px;
    line-height: 1;
    color: var(--mx-azul);
    transition: transform .4s var(--mx-ease);
}

.mx-enlace:hover .mx-enlace__flecha { transform: translateX(8px); }

/* Marco de imagen 3:4 */
.mx-figura {
    aspect-ratio: 3/4;
    max-width: 340px;
    border: 1.5px solid var(--mx-negro);
    background: repeating-linear-gradient(135deg, rgba(10, 10, 15, .06) 0 8px, transparent 8px 16px);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 16px;
    overflow: hidden;
}

.mx-figura img {
    width: 100%;
    height: 100%;
    /* La copa viene recortada en alfa: se muestra entera, apoyada abajo. */
    object-fit: contain;
    object-position: center bottom;
    display: block;
}

.mx-figura__nota {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(10, 10, 15, .55);
    text-align: center;
}

/*  Panel azul del trofeo: el amarillo de la copa contra el azul de marca,
    que es como el diseño pide el render (recorte alfa sobre fondo pleno). */
.mx-figura--destacada {
    position: relative;
    max-width: 100%;
    margin: 0;
    border: 0;
    background: var(--mx-azul);
    padding: 40px 32px 34px;
    align-items: center;
}

.mx-figura--destacada::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(120% 80% at 50% 100%, rgba(255, 206, 0, .22), transparent 62%);
    pointer-events: none;
}

.mx-figura--destacada img {
    position: relative;
    object-position: center;
    filter: drop-shadow(0 26px 44px rgba(0, 0, 0, .32));
}

.mx-figura__pie {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 10px 16px;
    background: var(--mx-amarillo);
    color: var(--mx-azul);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

/* --------------------------------------------------------------- Categorías */
.mx-titulo-fila {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 34px;
    flex-wrap: wrap;
}

.mx-titulo-fila__nota {
    font-size: 13px;
    color: rgba(0, 0, 0, .5);
}

.mx-cat {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr) minmax(0, 280px) 40px;
    align-items: center;
    gap: 24px;
    padding: 30px 16px 30px 0;
    border-top: 1.5px solid var(--mx-negro);
    text-decoration: none;
    color: inherit;
    transition: background .4s var(--mx-ease), color .4s, padding .4s;
}

.mx-cat:hover {
    background: var(--mx-amarillo);
    color: inherit;
}

.mx-cat__n {
    font-size: clamp(34px, 3.4vw, 52px);
    line-height: .9;
    font-weight: 800;
    font-stretch: 112%;
    letter-spacing: -.03em;
    font-variant-numeric: tabular-nums;
    color: var(--mx-azul);
    transition: transform .4s var(--mx-ease);
}

.mx-cat:hover .mx-cat__n { transform: translateX(6px); }

/* Índice chico, para listados donde el dato es una fecha */
.mx-cat__n--dato {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: normal;
    font-stretch: 100%;
    line-height: 1.2;
}

.mx-cat__titulo {
    font-size: clamp(24px, 3.4vw, 44px);
    font-weight: 800;
    font-stretch: 112%;
    letter-spacing: -.02em;
    text-transform: uppercase;
}

.mx-cat__desc {
    font-size: 14px;
    line-height: 1.4;
    color: rgba(0, 0, 0, .55);
}

.mx-cat__flecha {
    font-size: 26px;
    color: var(--mx-azul);
    text-align: right;
    transition: transform .4s var(--mx-ease);
}

.mx-cat:hover .mx-cat__flecha { transform: translateX(10px); }

.mx-cat-cierre { border-top: 1.5px solid var(--mx-negro); }

/* ------------------------------------------------------------------ Jurado */
.mx-jurado-head {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 34px;
}

.mx-jurado-head__col { min-width: 0; }
.mx-jurado-head__col .mx-kicker { margin-bottom: 18px; }

.mx-grid-jurado {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    border-top: 1.5px solid var(--mx-negro);
    border-left: 1px solid rgba(10, 10, 15, .25);
}

.mx-grid-jurado--pagina {
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    border-top: 0;
    margin-top: 48px;
}

.mx-tile {
    border-right: 1px solid rgba(10, 10, 15, .25);
    border-bottom: 1px solid rgba(10, 10, 15, .25);
    color: inherit;
    text-decoration: none;
    display: block;
    transition: transform .45s var(--mx-ease), background .35s;
}

.mx-tile:hover {
    transform: translateY(-6px);
    color: inherit;
}

.mx-grid-jurado--pagina .mx-tile { border-top: 1px solid rgba(10, 10, 15, .25); }

/*  Retratos del jurado: blanco y negro para unificar fotos tomadas en
    condiciones muy distintas, y color al pasar por encima. */
.mx-ph {
    aspect-ratio: 4/5;
    background: repeating-linear-gradient(135deg, rgba(10, 10, 15, .07) 0 8px, transparent 8px 16px);
    background-size: cover;
    background-position: center top;
    filter: grayscale(1) contrast(1.04);
    transition: filter .45s var(--mx-ease);
}

.mx-tile:hover .mx-ph { filter: grayscale(0) contrast(1); }

/* El marcador rayado no tiene foto que desaturar: conserva su inversión. */
.mx-ph--vacia { filter: none; }
.mx-tile:hover .mx-ph--vacia { filter: invert(1); }

/* Sin hover (táctil) las fotos van directamente a color. */
@media (hover: none) {
    .mx-ph { filter: none; }
}

.mx-tile__cuerpo { padding: 14px; }
.mx-grid-jurado--pagina .mx-tile__cuerpo { padding: 16px; }

.mx-tile__nombre {
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.2;
}

.mx-grid-jurado--pagina .mx-tile__nombre { font-size: 14px; }

.mx-tile__rol {
    font-size: 11.5px;
    color: rgba(0, 0, 0, .5);
    margin-top: 5px;
}

.mx-tile--vertodos {
    border-right: 1px solid rgba(10, 10, 15, .25);
    border-bottom: 1px solid rgba(10, 10, 15, .25);
    background: var(--mx-azul);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 160px;
    text-decoration: none;
    text-align: center;
    padding: 16px;
}

.mx-tile--vertodos:hover { color: #fff; }

.mx-tile--vertodos strong {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mx-tile--vertodos span {
    font-size: 11px;
    color: var(--mx-amarillo);
}

/* Ficha destacada del jurado */
.mx-jurado-destacado {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 44px;
    align-items: center;
    padding: 48px 0;
    border-bottom: 1.5px solid var(--mx-negro);
}

.mx-jurado-destacado__media {
    aspect-ratio: 4/5;
    max-width: 340px;
    width: 100%;
    border: 1.5px solid var(--mx-negro);
    background: repeating-linear-gradient(135deg, rgba(10, 10, 15, .06) 0 8px, transparent 8px 16px);
    background-size: cover;
    background-position: center top;
    filter: grayscale(1) contrast(1.04);
    transition: filter .45s var(--mx-ease);
}

.mx-jurado-destacado__media:hover { filter: grayscale(0) contrast(1); }

@media (hover: none) {
    .mx-jurado-destacado__media { filter: none; }
}

.mx-jurado-destacado__col { min-width: 0; }

.mx-badge {
    display: inline-block;
    background: var(--mx-amarillo);
    color: var(--mx-azul);
    padding: 8px 16px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.mx-jurado-destacado__nombre {
    font-size: clamp(34px, 4.6vw, 56px);
    font-weight: 800;
    font-stretch: 112%;
    line-height: .98;
    letter-spacing: -.025em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.mx-jurado-destacado__bio {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(10, 10, 15, .62);
    max-width: 560px;
    text-wrap: pretty;
}

/* ------------------------------------------ Ficha ampliada del jurado */
@keyframes mx-ficha-entra {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: none; }
}

.mx-tile--boton {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    font: inherit;
    color: inherit;
    text-align: left;
    padding: 0;
    width: 100%;
    border-left: 0;
    cursor: pointer;
}

.mx-tile--boton:focus-visible {
    outline: 3px solid var(--mx-azul);
    outline-offset: -3px;
}

/* Pista de que la ficha se abre */
.mx-ph { position: relative; }

.mx-tile__mas {
    position: absolute;
    left: 0;
    bottom: 0;
    background: var(--mx-azul);
    color: #fff;
    padding: 7px 14px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(100%);
    transition: opacity .35s var(--mx-ease), transform .35s var(--mx-ease);
}

.mx-tile--boton:hover .mx-tile__mas,
.mx-tile--boton:focus-visible .mx-tile__mas {
    opacity: 1;
    transform: none;
}

.mx-ficha {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.mx-ficha[hidden] { display: none; }

.mx-ficha__fondo {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 15, .55);
    backdrop-filter: blur(3px);
    border: 0;
    animation: mx-fade .3s both;
}

.mx-ficha__panel {
    position: relative;
    width: 100%;
    max-width: 1180px;
    margin: auto;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--mx-azul);
    color: #fff;
    animation: mx-ficha-entra .5s var(--mx-ease) both;
}

.mx-ficha__barra {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 24px 18px 32px;
    border-bottom: 1px solid rgba(255, 255, 255, .28);
    flex: none;
}

.mx-ficha__contador {
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--mx-amarillo);
    font-variant-numeric: tabular-nums;
}

.mx-ficha__cerrar {
    -webkit-appearance: none;
    appearance: none;
    width: 42px;
    height: 42px;
    border: 1.5px solid rgba(255, 255, 255, .5);
    background: transparent;
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    flex: none;
    transition: background .3s, color .3s, border-color .3s;
}

.mx-ficha__cerrar:hover {
    background: var(--mx-amarillo);
    border-color: var(--mx-amarillo);
    color: var(--mx-azul);
}

.mx-ficha__cuerpo {
    display: grid;
    grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
    gap: 40px;
    padding: 36px 32px 40px;
    overflow-y: auto;
    flex: 1 1 auto;
}

.mx-ficha__col-media { min-width: 0; }

.mx-ficha__media {
    aspect-ratio: 4/5;
    background-color: rgba(255, 255, 255, .1);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}

.mx-ficha__col-texto { min-width: 0; }

.mx-ficha__panel .mx-badge { margin-bottom: 18px; }

.mx-ficha__nombre {
    margin: 0 0 10px;
    font-size: clamp(34px, 4.6vw, 62px);
    line-height: .94;
    font-weight: 800;
    font-stretch: 114%;
    letter-spacing: -.03em;
    text-transform: uppercase;
}

.mx-ficha__empresa {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--mx-amarillo);
    margin-bottom: 26px;
}

.mx-ficha__empresa:empty { display: none; }

.mx-ficha__bio {
    font-size: 16.5px;
    line-height: 1.68;
    color: rgba(255, 255, 255, .82);
    max-width: 62ch;
    text-wrap: pretty;
}

.mx-ficha__bio p { margin: 0 0 15px; }
.mx-ficha__bio p:last-child { margin-bottom: 0; }

.mx-ficha__nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgba(255, 255, 255, .28);
    flex: none;
}

.mx-ficha__paso {
    -webkit-appearance: none;
    appearance: none;
    display: flex;
    align-items: center;
    gap: 14px;
    background: transparent;
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, .28);
    color: #fff;
    font: inherit;
    text-align: left;
    padding: 18px 24px;
    cursor: pointer;
    min-width: 0;
    transition: background .3s, color .3s;
}

.mx-ficha__paso--siguiente {
    border-right: 0;
    justify-content: flex-end;
    text-align: right;
}

.mx-ficha__paso:hover {
    background: var(--mx-amarillo);
    color: var(--mx-azul);
}

.mx-ficha__paso-flecha {
    font-size: 22px;
    line-height: 1;
    color: var(--mx-amarillo);
    flex: none;
    transition: color .3s, transform .4s var(--mx-ease);
}

.mx-ficha__paso:hover .mx-ficha__paso-flecha { color: var(--mx-azul); }
.mx-ficha__paso:hover .mx-ficha__paso-flecha { transform: translateX(-6px); }
.mx-ficha__paso--siguiente:hover .mx-ficha__paso-flecha { transform: translateX(6px); }

.mx-ficha__paso-texto {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    font-size: 14px;
    font-weight: 700;
}

.mx-ficha__paso-texto > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx-ficha__paso-label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--mx-amarillo);
    transition: color .3s;
}

.mx-ficha__paso:hover .mx-ficha__paso-label { color: var(--mx-azul); }

.mx-abierto-ficha { overflow: hidden; }

/* Variante clara del enlace con flecha, para fondos oscuros o botón */
.mx-enlace--claro {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
}

@media (max-width: 900px) {
    .mx-ficha__panel { max-width: none; min-height: 100%; }

    .mx-ficha__cuerpo {
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 26px 20px 32px;
    }

    .mx-ficha__media { max-width: 240px; }
    .mx-ficha__barra { padding: 14px 16px 14px 20px; }
    .mx-ficha__paso { padding: 14px 16px; }
    .mx-ficha__paso-texto > span:last-child { display: none; }
}

/* ------------------------------------------------------- Premios especiales */
.mx-oscuro {
    background: var(--mx-negro);
    color: #fff;
}

.mx-grid-premios {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    border-top: 1px solid rgba(255, 255, 255, .28);
    border-left: 1px solid rgba(255, 255, 255, .28);
}

.mx-premio {
    border-right: 1px solid rgba(255, 255, 255, .28);
    border-bottom: 1px solid rgba(255, 255, 255, .28);
    padding: 32px;
}

.mx-premio__titulo {
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 800;
    font-stretch: 110%;
    text-transform: uppercase;
    letter-spacing: -.01em;
    margin-bottom: 14px;
}

.mx-premio__desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: rgba(255, 255, 255, .6);
}

.mx-premio__desc p { margin: 0 0 10px; }
.mx-premio__desc p:last-child { margin-bottom: 0; }

/* ----------------------------------------------------------- Inscripciones */
.mx-inscripciones {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 56px;
    padding-top: 60px;
    border-top: 1px solid rgba(255, 255, 255, .28);
}

.mx-inscripciones__col { min-width: 0; }

.mx-inscripciones__titulo {
    margin: 0 0 22px;
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 800;
    font-stretch: 112%;
    line-height: 1;
    text-transform: uppercase;
}

.mx-inscripciones__texto {
    margin: 0 0 26px;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .6);
    max-width: 420px;
}

.mx-inscripciones__texto p { margin: 0 0 10px; }

.mx-fechas {
    display: flex;
    gap: 36px;
    flex-wrap: wrap;
}

.mx-fecha__label {
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--mx-amarillo);
    margin-bottom: 6px;
}

.mx-fecha__valor {
    font-size: 24px;
    font-weight: 700;
}

.mx-inscripciones__botones {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.mx-descargas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 8px;
    margin-top: 8px;
}

/* ---------------------------------------------------------------- Ganadores */
.mx-podio {
    display: grid;
    grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
    align-items: center;
    gap: 32px;
    padding: 34px 0;
    border-bottom: 1.5px solid var(--mx-negro);
}

.mx-podio--destacado {
    background: var(--mx-amarillo);
    padding: 34px;
    margin-left: calc(var(--mx-gutter) * -1);
    margin-right: calc(var(--mx-gutter) * -1);
}

.mx-podio__label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--mx-azul);
}

.mx-podio__nombre {
    font-size: clamp(38px, 6vw, 64px);
    font-weight: 800;
    font-stretch: 112%;
    line-height: .95;
    letter-spacing: -.03em;
    text-transform: uppercase;
}

.mx-podio__nombre--chico {
    font-size: clamp(28px, 4.4vw, 48px);
    line-height: 1;
    letter-spacing: -.025em;
}

.mx-podio__desc {
    margin: 10px 0 0;
    font-size: 15px;
    color: rgba(10, 10, 15, .6);
}

.mx-podio--destacado .mx-podio__desc { color: rgba(10, 10, 15, .66); }

.mx-podio__media {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    display: block;
    margin-top: 16px;
}

.mx-grid-casos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    border-left: 1px solid rgba(10, 10, 15, .25);
    margin-top: 48px;
}

.mx-caso {
    border-right: 1px solid rgba(10, 10, 15, .25);
    border-bottom: 1px solid rgba(10, 10, 15, .25);
    border-top: 1px solid rgba(10, 10, 15, .25);
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform .45s var(--mx-ease), background .35s;
}

.mx-caso:hover { transform: translateY(-6px); color: inherit; }

.mx-caso__media {
    aspect-ratio: 16/10;
    background: repeating-linear-gradient(135deg, rgba(10, 10, 15, .07) 0 8px, transparent 8px 16px);
    background-size: cover;
    background-position: center;
    position: relative;
}

.mx-caso__metal {
    position: absolute;
    top: 0;
    left: 0;
    padding: 6px 14px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.mx-caso__play {
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(10, 10, 15, .75);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.mx-caso__cuerpo { padding: 20px; }

.mx-caso__cat {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mx-azul);
    margin-bottom: 10px;
}

.mx-caso__nombre {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}

.mx-caso__meta {
    font-size: 13px;
    color: rgba(10, 10, 15, .55);
    margin-top: 6px;
}

/* --------------------------------------------------------------------- CTA */
.mx-cta {
    margin-top: 56px;
    padding: 40px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
}

.mx-cta--azul { background: var(--mx-azul); color: #fff; }
.mx-cta--negro { background: var(--mx-negro); color: #fff; }

.mx-cta__col { min-width: 0; }

.mx-cta__titulo {
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    font-stretch: 112%;
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 10px;
}

.mx-cta__nota {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mx-amarillo);
}

/* ---------------------------------------------------------------- Contacto */
.mx-contacto {
    background: var(--mx-amarillo);
    color: var(--mx-negro);
}

.mx-contacto__inner {
    max-width: var(--mx-ancho);
    margin: 0 auto;
    padding: 60px var(--mx-gutter);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 56px;
    align-items: start;
}

.mx-datos-contacto {
    display: flex;
    flex-direction: column;
    border-top: 1.5px solid var(--mx-negro);
    min-width: 0;
}

.mx-dato-contacto {
    padding: 20px 0;
    border-bottom: 1px solid rgba(10, 10, 15, .3);
}

.mx-dato-contacto:last-child { border-bottom: 0; }

.mx-dato-contacto__label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--mx-azul);
    margin-bottom: 8px;
}

.mx-dato-contacto__valor {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
}

.mx-dato-contacto__valor a {
    color: inherit;
    text-decoration: none;
}

.mx-dato-contacto__valor a:hover { color: var(--mx-azul); }

.mx-redes {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.mx-red {
    width: 36px;
    height: 36px;
    border: 1.5px solid var(--mx-negro);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--mx-negro);
    text-decoration: none;
    font-size: 18px;
    transition: transform .3s var(--mx-ease), background .3s, color .3s;
}

.mx-red:hover {
    transform: translateY(-3px);
    background: var(--mx-azul);
    border-color: var(--mx-azul);
    color: #fff;
}

.mx-red--claro {
    border-color: rgba(255, 255, 255, .6);
    color: #fff;
}

.mx-red--claro:hover {
    background: var(--mx-amarillo);
    border-color: var(--mx-amarillo);
    color: var(--mx-azul);
}

.mx-mapa {
    aspect-ratio: 16/5;
    min-height: 220px;
    background: repeating-linear-gradient(135deg, rgba(10, 10, 15, .06) 0 8px, transparent 8px 16px);
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1.5px solid var(--mx-negro);
}

.mx-mapa iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.mx-mapa__nota {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(10, 10, 15, .5);
}

/* Formulario (Contact Form 7) */
.mx-form {
    min-width: 0;
}

.mx-form .wpcf7-form > p:empty { display: none; }

.mx-form .row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 22px;
    margin-bottom: 22px;
}

.mx-form .col { min-width: 0; }

.mx-form .form-group label,
.mx-form .mx-field__label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(10, 10, 15, .55);
    margin-bottom: 4px;
}

.mx-form input[type="text"],
.mx-form input[type="email"],
.mx-form input[type="tel"],
.mx-form input[type="url"],
.mx-form input[type="date"],
.mx-form select,
.mx-form textarea {
    width: 100%;
    border: 0;
    border-bottom: 1.5px solid var(--mx-negro);
    background: transparent;
    font: 600 16px Archivo, system-ui, sans-serif;
    color: var(--mx-negro);
    padding: 10px 0;
    outline: none;
    border-radius: 0;
    transition: border-color .3s;
}

.mx-form input:focus,
.mx-form select:focus,
.mx-form textarea:focus { border-color: var(--mx-azul); }

.mx-form input::placeholder,
.mx-form textarea::placeholder { color: rgba(10, 10, 15, .38); }

.mx-form textarea {
    resize: vertical;
    min-height: 110px;
}

.mx-form__pie {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.mx-form__nota {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(10, 10, 15, .5);
}

.mx-form input[type="submit"],
.mx-form .wpcf7-submit {
    width: auto;
    background: var(--mx-azul);
    color: #fff;
    border: 0;
    padding: 16px 34px;
    font: 800 13px Archivo, system-ui, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .3s var(--mx-ease);
}

.mx-form input[type="submit"]:hover { transform: translateY(-3px); }

.mx-form .wpcf7-spinner { margin: 0 0 0 10px; }

.mx-form .wpcf7-not-valid-tip {
    font-size: 12px;
    font-weight: 700;
    color: #b00020;
    margin-top: 6px;
}

.mx-form .wpcf7-response-output {
    margin: 20px 0 0 !important;
    border: 1.5px solid var(--mx-negro) !important;
    padding: 12px 16px !important;
    font-size: 13px;
    font-weight: 600;
}

/* ----------------------------------------------- Representa y organiza */
.mx-partners {
    background: #fff;
    border-top: 1.5px solid var(--mx-negro);
}

.mx-partners__inner {
    max-width: var(--mx-ancho);
    margin: 0 auto;
    padding: 64px var(--mx-gutter) 70px;
}

.mx-partners__head {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.mx-partners__logo {
    border: 1.5px solid var(--mx-negro);
    padding: 14px 28px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
}

.mx-partners__logo img {
    height: 120px;
    width: auto;
    max-width: 100%;
    display: block;
    object-fit: contain;
}

.mx-grupo { margin-bottom: 40px; }
.mx-grupo:last-child { margin-bottom: 0; }

.mx-grupo__titulo {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--mx-azul);
    margin-bottom: 14px;
}

.mx-grupo__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    border-top: 1px solid var(--mx-negro);
    border-left: 1px solid var(--mx-negro);
}

.mx-logo-item {
    border-right: 1px solid var(--mx-negro);
    border-bottom: 1px solid var(--mx-negro);
    height: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    color: rgba(10, 10, 15, .6);
    text-align: center;
    padding: 8px;
    text-decoration: none;
    transition: transform .45s var(--mx-ease), background .35s;
}

.mx-logo-item:hover {
    transform: translateY(-6px);
    color: rgba(10, 10, 15, .6);
}

.mx-logo-item img {
    max-width: 100%;
    max-height: 54px;
    width: auto;
    object-fit: contain;
    display: block;
    transition: filter .35s;
}

/* ------------------------------------------------------------------ Footer */
.mx-footer {
    background: var(--mx-azul);
    color: #fff;
}

.mx-footer__inner {
    max-width: var(--mx-ancho);
    margin: 0 auto;
    padding: 56px var(--mx-gutter) 26px;
}

.mx-footer__cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 40px;
}

.mx-footer__col { min-width: 0; }

.mx-footer__logo {
    height: 120px;
    width: auto;
    max-width: 100%;
    display: block;
    margin-bottom: 24px;
    object-fit: contain;
}

.mx-footer__titulo {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--mx-amarillo);
    margin-bottom: 16px;
}

.mx-footer__lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
    align-items: flex-start;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mx-footer__lista a {
    color: #fff;
    text-decoration: none;
}

.mx-footer__lista a:hover { color: var(--mx-amarillo); }

.mx-footer .mx-nav a::after { bottom: -4px; }

.mx-footer__legal {
    margin-top: 48px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .35);
    font-size: 12px;
    color: rgba(255, 255, 255, .75);
}

.mx-footer__legal a {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

/* ------------------------------------------- Contenido de página genérica */
.mx-prosa {
    max-width: 68ch;
    font-size: 17px;
    line-height: 1.65;
    color: rgba(10, 10, 15, .78);
}

.mx-prosa > *:first-child { margin-top: 0; }

.mx-prosa h2,
.mx-prosa h3 {
    font-weight: 800;
    font-stretch: 110%;
    text-transform: uppercase;
    letter-spacing: -.01em;
    margin: 40px 0 14px;
    color: var(--mx-negro);
}

.mx-prosa h2 { font-size: clamp(24px, 2.6vw, 32px); }
.mx-prosa h3 { font-size: clamp(19px, 2vw, 24px); }

.mx-prosa ul,
.mx-prosa ol { padding-left: 20px; }

.mx-prosa img { height: auto; }

/* --------------------------------------------------- Sub categorías (cat) */
.mx-subcats {
    display: grid;
    grid-template-columns: 1fr;
    border-top: 1.5px solid var(--mx-negro);
}

.mx-subcat {
    display: grid;
    grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
    gap: 40px;
    align-items: center;
    padding: 34px 0;
    border-bottom: 1px solid rgba(10, 10, 15, .25);
}

.mx-subcat__media {
    aspect-ratio: 4/3;
    background: repeating-linear-gradient(135deg, rgba(10, 10, 15, .07) 0 8px, transparent 8px 16px);
    background-size: cover;
    background-position: center;
}

.mx-subcat__col { min-width: 0; }

.mx-subcat__titulo {
    margin: 0 0 12px;
    font-size: clamp(22px, 2.6vw, 32px);
    font-weight: 800;
    font-stretch: 110%;
    text-transform: uppercase;
    letter-spacing: -.01em;
}

.mx-subcat__texto {
    font-size: 15px;
    line-height: 1.55;
    color: rgba(10, 10, 15, .62);
}

.mx-subcat__texto p { margin: 0 0 10px; }
.mx-subcat__texto p:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------- Responsive */
@media (max-width: 1180px) {
    .mx-hide-sm { display: none !important; }
    .mx-burger { display: flex !important; }
}

@media (max-width: 900px) {
    :root { --mx-gutter: 20px; }

    .mx-hero__inner { padding-top: 56px; }
    .mx-seccion { padding-top: 56px; padding-bottom: 56px; }

    .mx-cat {
        grid-template-columns: 66px minmax(0, 1fr) 30px;
        gap: 14px;
        padding: 22px 12px 22px 0;
    }

    .mx-cat__n { font-size: clamp(28px, 6vw, 40px); }
    .mx-cat__n--dato { font-size: 13px; }

    .mx-cat__desc { display: none; }

    .mx-podio,
    .mx-subcat {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .mx-intro {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-top: 34px;
    }

    .mx-figura--destacada {
        max-width: 340px;
        padding: 30px 24px 26px;
    }

    .mx-podio--destacado {
        margin-left: calc(var(--mx-gutter) * -1);
        margin-right: calc(var(--mx-gutter) * -1);
        padding: 26px var(--mx-gutter);
    }

    .mx-dato { padding: 18px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .25); }
    .mx-dato:last-child { border-bottom: 0; }

    .mx-cta { padding: 28px; }
    .mx-contacto__inner { gap: 34px; }
    .mx-partners__inner { padding-top: 46px; padding-bottom: 50px; }
    .mx-footer__inner { padding-top: 42px; }
}

@media (max-width: 620px) {
    .mx-header__cta { padding: 10px 14px; font-size: 11px; }
    .mx-header__logo img { height: 72px; }
    .mx-footer__logo { height: 96px; }
    .mx-btn--primario,
    .mx-btn--ghost,
    .mx-btn--ghost-oscuro { padding: 15px 24px; font-size: 13px; }
    .mx-hero__botones { width: 100%; }
    .mx-hero__botones .mx-btn { flex: 1 1 100%; }
    .mx-figura { max-width: 100%; }
    .mx-grid-jurado { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}
