/* =========================================================
   Home – Fondo Conjunto de Cooperación Chile–México
   Paleta tomada del logotipo del Fondo y del Manual de Visibilidad
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root {
    /* Tonos tomados del diseño aprobado */
    --mc-navy: #0a2672;          /* títulos */
    --mc-eyebrow: #3d5480;
    --mc-text: #475c84;          /* párrafos */
    --mc-blue: #0467f0;          /* botón principal */
    --mc-blue-text: #256aea;     /* texto botón secundario */
    --mc-blue-border: #62a3fb;   /* borde botón secundario */
    --mc-blue-soft: #eaf3fe;
    --mc-stats-title: #11257a;
    --mc-stat-label: #445e8e;
    --mc-icon: #1266f9;
    --mc-flag-green: #04b32c;
    --mc-flag-lightblue: #2d95db;
    --mc-flag-navy: #062f7c;
    --mc-flag-red: #f5141b;
    --mc-green: #04b32c;
    --mc-red: #f5141b;
    --mc-muted: #6b778a;
    --mc-border: #d1d9e5;
    --mc-bg: #f6fafd;
    --mc-radius: 28px;
    --mc-font: 'Montserrat', 'Segoe UI', Arial, sans-serif;
}

.mc-home {
    font-family: var(--mc-font);
    color: var(--mc-text);
    background: linear-gradient(180deg, #fbfdff 0%, var(--mc-bg) 100%);
}
/* Ancho del diseño: conserva proporciones de texto */
.mc-home .container { max-width: 1200px; }
.mc-home p { font-family: var(--mc-font); }

/* ---------- Header ---------- */
.mc-header {
    background: #fbfdff;
    padding: 18px 0 0;
    position: relative;
    z-index: 20;
}
.mc-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(24px, 6vw, 72px);
}

.mc-nav {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    margin-top: 6px;
}
.mc-nav__list {
    display: flex;
    align-items: center;
    gap: clamp(20px, 4vw, 48px);
    list-style: none;
    margin: 0;
    padding: 0;
}
.mc-nav__link {
    position: relative;
    display: inline-block;
    padding: 14px 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--mc-navy);
    text-decoration: none;
    transition: color .2s;
}
.mc-nav__link:hover,
.mc-nav__link:focus-visible,
.mc-nav__link.show { color: var(--mc-blue); }
.mc-nav__link.dropdown-toggle::after { display: none; }
.mc-nav__link.is-active { color: var(--mc-blue); }
.mc-nav__link.is-active::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6px;
    height: 3px;
    border-radius: 3px;
    background: var(--mc-blue);
}
.mc-dropdown {
    border: 1px solid var(--mc-border);
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(15, 42, 107, .12);
    padding: 8px;
    font-family: var(--mc-font);
    min-width: 240px;
}
.mc-dropdown--wide { min-width: 320px; max-width: 380px; }
.mc-dropdown .dropdown-item {
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 14px;
    color: var(--mc-navy);
    white-space: normal;
}
.mc-dropdown .dropdown-item:hover,
.mc-dropdown .dropdown-item:focus { background: var(--mc-blue-soft); color: var(--mc-blue); }
.mc-dropdown .dropdown-header {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--mc-muted);
}

.mc-nav__toggle {
    display: none;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--mc-border);
    background: #fff;
    border-radius: 999px;
    padding: 8px 18px;
    font-weight: 700;
    font-size: 14px;
    color: var(--mc-navy);
}

/* Buscador */
.mc-search {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.mc-search__btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--mc-border);
    background: #fff;
    color: var(--mc-navy);
    box-shadow: 0 4px 12px rgba(15, 42, 107, .08);
    transition: color .2s, border-color .2s;
}
.mc-search__btn:hover { color: var(--mc-blue); border-color: var(--mc-blue); }
.mc-search__panel {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    width: min(340px, 86vw);
    background: #fff;
    border: 1px solid var(--mc-border);
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(15, 42, 107, .14);
    padding: 12px;
}
.mc-search__input {
    width: 100%;
    border: 1px solid var(--mc-border);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 14px;
    outline: none;
}
.mc-search__input:focus { border-color: var(--mc-blue); box-shadow: 0 0 0 3px rgba(11, 92, 214, .12); }
.mc-search__results {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    max-height: 280px;
    overflow-y: auto;
}
.mc-search__results a {
    display: block;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 14px;
    color: var(--mc-navy);
    text-decoration: none;
}
.mc-search__results a:hover { background: var(--mc-blue-soft); color: var(--mc-blue); }
.mc-search__empty { padding: 8px 10px; font-size: 14px; color: var(--mc-muted); }

/* ---------- Hero ----------
   Composición en capas sobre un lienzo de 1780x730 (proporción del diseño):
   1) panel de nubes (fondo izquierdo, se abre hacia abajo junto a la tarjeta)
   2) imagen de banderas enmascarada con esquinas curvas y hueco para la tarjeta
   3) contenido y tarjeta de cifras
   Los tamaños de texto usan cqw para conservar proporciones y saltos de línea. */
.mc-hero {
    padding: 6px 0 0;
}
.mc-hero__wrap {
    position: relative;
    aspect-ratio: 1780 / 730;
    container-type: inline-size;
}

.mc-hero__panel,
.mc-hero__media {
    position: absolute;
    inset: 0;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
}

/* Capa 1: panel de nubes */
.mc-hero__panel {
    z-index: 1;
    background:
        radial-gradient(ellipse 50% 40% at 20% 16%, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 70%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1100' height='730'%3E%3Cfilter id='c' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.0032 0.0085' numOctaves='5' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.9 -.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)'/%3E%3C/svg%3E") left center / cover no-repeat,
        linear-gradient(170deg, #eef7fe 0%, #e5f1fc 55%, #d9ebfa 100%);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1780 730' preserveAspectRatio='none'%3E%3Cpath d='M0 28A28 28 0 0 1 28 0H900L1113 505V650A80 80 0 0 1 1033 730H28A28 28 0 0 1 0 702Z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1780 730' preserveAspectRatio='none'%3E%3Cpath d='M0 28A28 28 0 0 1 28 0H900L1113 505V650A80 80 0 0 1 1033 730H28A28 28 0 0 1 0 702Z'/%3E%3C/svg%3E");
}

/* Capa 2: banderas (foto original, sin recortes: el encuadre se hace aquí) */
.mc-hero__media {
    z-index: 2;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1780 730' preserveAspectRatio='none'%3E%3Cpath d='M744 0H1721C1753 0 1780 26 1780 59V477C1780 499 1762 516 1739 516H1163C1135 516 1113 545 1113 580V609C1113 613 1110 615 1107 615H1085C1030 612 972 582 949 527L814 73C806 48 782 22 744 0Z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1780 730' preserveAspectRatio='none'%3E%3Cpath d='M744 0H1721C1753 0 1780 26 1780 59V477C1780 499 1762 516 1739 516H1163C1135 516 1113 545 1113 580V609C1113 613 1110 615 1107 615H1085C1030 612 972 582 949 527L814 73C806 48 782 22 744 0Z'/%3E%3C/svg%3E");
}
.mc-hero__media img {
    position: absolute;
    left: 41.01%;
    top: -16.71%;
    width: 99.44%;
    max-width: none;
    height: auto;
    display: block;
}

/* Capa 3: contenido */
.mc-hero__content {
    position: relative;
    z-index: 3;
    width: 54%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.6cqw 0 1.6cqw 4cqw;
}
.mc-hero__content > * { flex-shrink: 0; }
.mc-eyebrow {
    display: block;
    font-size: 1.2cqw;
    font-weight: 500;
    letter-spacing: .01em;
    text-transform: uppercase;
    color: var(--mc-eyebrow);
    margin: 0 0 1.1cqw;
}
/* Franja con los colores de ambas banderas */
.mc-flagbar {
    display: flex;
    width: 20.6cqw;
    height: 3px;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 2.6cqw;
}
.mc-flagbar span:nth-child(1) { flex: 23; background: var(--mc-flag-green); }
.mc-flagbar span:nth-child(2) { flex: 10; background: var(--mc-flag-lightblue); }
.mc-flagbar span:nth-child(3) { flex: 35; background: var(--mc-flag-navy); }
.mc-flagbar span:nth-child(4) { flex: 32; background: var(--mc-flag-red); }

.mc-hero__title {
    font-family: var(--mc-font);
    font-size: 3.95cqw;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: var(--mc-navy);
    margin: 0 0 1.2cqw;
}
.mc-hero__title span { display: block; white-space: nowrap; }
.mc-hero__lead {
    font-size: 1.6cqw;
    line-height: 1.45;
    color: var(--mc-text);
    margin: 0 0 2.5cqw;
}
.mc-hero__lead span { display: block; }
.mc-hero__actions { display: flex; flex-wrap: wrap; gap: 1.6cqw; }
.mc-hero__note {
    margin: 1.2cqw 0 0;
    font-size: 1.1cqw;
}
.mc-hero__note a { color: var(--mc-blue); font-weight: 600; text-decoration: none; }
.mc-hero__note a:hover { text-decoration: underline; }

.mc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.2cqw;
    min-width: 20.5cqw;
    padding: 1.1cqw 2.2cqw;
    border-radius: 10px;
    font-size: 1.3cqw;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid var(--mc-blue);
    transition: background .2s, color .2s, transform .2s, box-shadow .2s;
}
.mc-btn i { font-size: 1.15em; }
.mc-btn--primary { background: var(--mc-blue); color: #fff; box-shadow: 0 8px 20px rgba(4, 103, 240, .22); }
.mc-btn--primary:hover { background: #0357c9; border-color: #0357c9; color: #fff; transform: translateY(-1px); }
.mc-btn--outline { background: #fff; color: var(--mc-blue-text); border-color: var(--mc-blue-border); }
.mc-btn--outline:hover { background: var(--mc-blue-soft); color: var(--mc-blue-text); }

/* Tarjeta de cifras: ocupa el hueco que deja la máscara de la imagen */
.mc-stats {
    position: absolute;
    z-index: 3;
    left: 62.53%;
    top: 70.68%;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 0 .5cqw 1.9cqw;
}
.mc-stats__title {
    font-size: 1.5cqw;
    font-weight: 700;
    color: var(--mc-stats-title);
    margin: 0 0 1cqw .6cqw;
}
.mc-stats__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .7cqw;
}
.mc-stat {
    display: flex;
    align-items: center;
    gap: 1cqw;
    height: 6.7cqw;
    background: linear-gradient(180deg, #eef7fd 0%, #e6f3fd 100%);
    border-radius: 1.1cqw;
    padding: 0 1cqw;
    font-size: 1.2cqw;
    line-height: 1.2;
}
.mc-stat svg { flex: 0 0 auto; width: 2.5cqw; height: 2.5cqw; color: var(--mc-icon); }
.mc-stat strong { display: block; font-size: 1.45cqw; font-weight: 700; color: var(--mc-stats-title); }
.mc-stat span { display: block; color: var(--mc-stat-label); }

/* ---------- Instituciones participantes ---------- */
.mc-partners { padding: 22px 0 30px; }
.mc-partners__list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}
.mc-partners__list li {
    position: relative;
    padding: 4px clamp(24px, 5vw, 62px);
}
.mc-partners__list li + li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    height: 48px;
    transform: translateY(-50%);
    border-left: 2px solid var(--mc-border);
}

/* =========================================================
   Responsive
   ≥1600 widescreen · 1200–1599 laptop · 992–1199 laptop chica / tablet horizontal
   768–991 tablet · ≤767 móvil grande · ≤575 móvil
   ========================================================= */

/* El sitio justifica todos los <p>; en el home se alinea a la izquierda */
.mc-home .mc-hero p,
.mc-home .mc-stats p { text-align: left; }

/* ---------- Widescreen ---------- */
@media (min-width: 1600px) {
    .mc-home .container { max-width: 1320px; }
    .mc-nav__link { font-size: 16px; }
}

/* ---------- Menú: base ---------- */
.mc-nav__link:focus { outline: none; box-shadow: none; }
.mc-nav__link:focus-visible,
.mc-nav__toggle:focus-visible,
.mc-search__btn:focus-visible,
.mc-dropdown .dropdown-item:focus-visible {
    outline: 2px solid var(--mc-blue-border);
    outline-offset: 3px;
    border-radius: 6px;
}
.mc-nav__chev { display: none; font-size: 11px; transition: transform .2s; }

/* ---------- Menú horizontal (tablet en adelante) ---------- */
@media (min-width: 768px) {
    .mc-nav__collapse { display: block !important; height: auto !important; }
    .mc-nav__item { position: relative; }
    /* Submenú centrado bajo cada opción (sin Popper: data-bs-display="static") */
    .mc-nav__item > .mc-dropdown {
        top: 100%;
        left: 50%;
        right: auto;
        margin-top: 4px;
        transform: translateX(-50%);
    }
    /* Puente invisible para no perder el hover entre el enlace y el submenú */
    .mc-nav__item > .mc-dropdown::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -12px;
        height: 12px;
    }
    /* Los submenús de los extremos no se salen de la pantalla */
    .mc-nav__item:last-child > .mc-dropdown { left: auto; right: -40px; transform: none; }
    @media (hover: hover) {
        .mc-nav__item.dropdown:hover > .mc-dropdown { display: block; }
        .mc-nav__item.dropdown:hover > .mc-nav__link { color: var(--mc-blue); }
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .mc-nav__list { gap: 28px; }
    .mc-nav__link { font-size: 14.5px; }
}

/* ---------- Hero apilado (tablet y móvil) ---------- */
@media (max-width: 991.98px) {

    /* Las capas se apilan sin máscaras */
    .mc-hero__wrap { aspect-ratio: auto; display: flex; flex-direction: column; gap: 16px; }
    .mc-hero__panel { display: none; }
    .mc-hero__content {
        order: 1;
        width: 100%;
        height: auto;
        padding: 44px 40px;
        border-radius: var(--mc-radius);
        background:
            radial-gradient(ellipse 70% 50% at 20% 15%, rgba(255,255,255,.85) 0%, rgba(255,255,255,0) 70%),
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='700'%3E%3Cfilter id='c' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.005 0.011' numOctaves='5' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.9 -.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)'/%3E%3C/svg%3E") center / cover no-repeat,
            linear-gradient(170deg, #eef7fe 0%, #e5f1fc 55%, #d9ebfa 100%);
    }
    .mc-eyebrow { font-size: 12.5px; margin-bottom: 12px; }
    .mc-flagbar { width: 240px; margin-bottom: 22px; }
    .mc-hero__title { font-size: 44px; margin-bottom: 16px; }
    .mc-hero__lead { font-size: 17px; margin-bottom: 26px; }
    .mc-hero__actions { gap: 14px; }
    .mc-btn { font-size: 15px; padding: 13px 26px; min-width: 0; gap: 12px; }
    .mc-hero__note { font-size: 14px; margin-top: 16px; }

    .mc-hero__media {
        position: relative;
        order: 2;
        inset: auto;
        aspect-ratio: 740 / 420;
        border-radius: var(--mc-radius);
        overflow: hidden;
        -webkit-mask-image: none;
                mask-image: none;
    }
    /* Encuadre de la foto original: zona de banderas con el escudo completo */
    .mc-hero__media img { left: 0; top: -14.3%; width: 202.7%; }

    .mc-stats {
        position: relative;
        order: 3;
        inset: auto;
        padding: 4px 0 0;
    }
    .mc-stats__title { font-size: 17px; margin: 0 0 12px; }
    .mc-stats__grid { gap: 12px; }
    .mc-stat { height: auto; min-height: 84px; padding: 14px 16px; gap: 12px; border-radius: 14px; font-size: 14px; }
    .mc-stat svg { width: 30px; height: 30px; }
    .mc-stat strong { font-size: 18px; }

    .mc-partners { padding-top: 28px; }
}

/* ---------- Menú hamburguesa (móvil) ---------- */
@media (max-width: 767.98px) {
    .mc-nav {
        flex-wrap: wrap;
        justify-content: space-between;
        min-height: 0;
        margin-top: 14px;
        padding-bottom: 12px;
    }
    .mc-nav__toggle { display: inline-flex; order: 1; }
    .mc-search {
        order: 2;
        position: relative;
        top: auto;
        right: auto;
        transform: none;
    }
    .mc-nav__collapse {
        order: 3;
        flex-basis: 100%;
        margin-top: 12px;
        background: #fff;
        border: 1px solid var(--mc-border);
        border-radius: 16px;
        box-shadow: 0 16px 40px rgba(15, 42, 107, .10);
    }
    .mc-nav__collapse:not(.show) { display: none; }
    .mc-nav__list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 6px 16px;
    }
    .mc-nav__link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 2px;
        border-bottom: 1px solid var(--mc-border);
    }
    .mc-nav__item:last-child > .mc-nav__link { border-bottom: 0; }
    .mc-nav__link.is-active::before { display: none; }
    .mc-nav__chev { display: inline-block; }
    .mc-nav__link.show .mc-nav__chev { transform: rotate(180deg); }
    .mc-dropdown,
    .mc-dropdown--wide {
        position: static !important;
        transform: none !important;
        min-width: 0;
        max-width: none;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 0 0 8px 10px;
        margin: 0;
        background: transparent;
    }
    .mc-dropdown .dropdown-item { padding: 9px 10px; }

    .mc-hero__content { padding: 36px 28px; }
    .mc-hero__title { font-size: clamp(30px, 7vw, 40px); }
    .mc-hero__lead { font-size: 16px; }
}

/* ---------- Móvil ---------- */
@media (max-width: 575.98px) {
    .mc-brand { gap: 16px; }

    .mc-hero__content { padding: 28px 22px; }
    .mc-eyebrow { font-size: 11px; letter-spacing: 0; }
    .mc-flagbar { width: 200px; margin-bottom: 18px; }
    .mc-hero__title { font-size: clamp(25px, 7.3vw, 32px); }
    .mc-hero__title span { white-space: normal; }
    .mc-hero__lead { font-size: 15.5px; margin-bottom: 22px; }
    .mc-hero__lead span { display: inline; }
    .mc-btn { width: 100%; }

    .mc-hero__media { aspect-ratio: 740 / 520; }
    .mc-hero__media img { top: -9.5%; }

    /* Cifras en 3 columnas compactas: icono arriba, texto abajo */
    .mc-stats__grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .mc-stat {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 8px;
        min-height: 0;
        padding: 12px 10px;
        font-size: 12.5px;
    }
    .mc-stat svg { width: 24px; height: 24px; }
    .mc-stat strong { font-size: 16px; }

    .mc-partners__list li { padding: 8px 14px; }
    .mc-partners__list li + li::before { height: 36px; }
}

/* ---------- Logos homologados ----------
   Cada JPG trae márgenes blancos distintos. .mc-logo es una caja del tamaño
   del área real del logo (medida en píxeles) y la imagen se desplaza para
   descartar el margen. Los tamaños equilibran el peso visual y respetan el
   Manual: el Fondo al centro y los logos ejecutores nunca más grandes que
   los del Fondo, AGCID y AMEXCID. --s escala todo por breakpoint. */
.mc-brand,
.mc-partners,
.mc-footer { --s: 1; }

.mc-logo {
    position: relative;
    display: block;
    flex: 0 0 auto;
    overflow: hidden;
    width: calc(var(--w) * var(--s, 1) * 1px);
    height: calc(var(--h) * var(--s, 1) * 1px);
}
.mc-logo img {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--iw);
    max-width: none;
    height: auto !important;
    mix-blend-mode: multiply;
}
/* Logotipo del Fondo (AGCID – Fondo – AMEXCID) */
.mc-logo--agcid   { --w: 100; --h: 60; --iw: 125.12%; --x: -18.60%; --y: -18.60%; }
.mc-logo--fondo   { --w: 133; --h: 64; --iw: 118.08%; --x: -5.77%;  --y: -23.20%; }
.mc-logo--amexcid { --w: 135; --h: 44; --iw: 103.16%; --x: -1.05%;  --y: -45.16%; }
/* Instituciones ejecutoras */
.mc-logo--ssa     { --w: 117; --h: 40; --iw: 100%;    --x: 0%;      --y: -17.04%; }
.mc-logo--insp    { --w: 117; --h: 40; --iw: 100%;    --x: 0%;      --y: -33.03%; }
.mc-logo--minsal  { --w: 62;  --h: 56; --iw: 105.82%; --x: -2.91%;  --y: -8.45%; }

@media (min-width: 1600px) {
    .mc-brand, .mc-partners, .mc-footer { --s: 1.12; }
}
@media (max-width: 991.98px) {
    .mc-brand, .mc-partners, .mc-footer { --s: .9; }
}
@media (max-width: 575.98px) {
    .mc-brand, .mc-partners, .mc-footer { --s: .66; }
}

/* =========================================================
   Secciones del home
   ========================================================= */
.mc-section { padding: 72px 0; }
.mc-section p { text-align: left; }

/* Acento superior de cada título (colores de las banderas) */
.mc-accent {
    display: block;
    width: 52px;
    height: 4px;
    border-radius: 2px;
    margin-bottom: 18px;
    background: var(--mc-blue);
}
.mc-accent--mx    { background: linear-gradient(90deg, var(--mc-flag-green) 0 50%, var(--mc-flag-red) 50% 100%); }
.mc-accent--blue  { background: var(--mc-blue); }
.mc-accent--red   { background: var(--mc-flag-red); }
.mc-accent--green { background: var(--mc-flag-green); }

.mc-sec-title {
    font-family: var(--mc-font);
    font-size: clamp(28px, 2.7vw, 36px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.01em;
    color: var(--mc-navy);
    margin: 0 0 16px;
}
.mc-sec-lead {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--mc-stats-title);
    margin: 0 0 14px;
}
.mc-split__text p:not(.mc-sec-lead) {
    font-size: 16px;
    line-height: 1.62;
    color: var(--mc-text);
    margin: 0 0 14px;
}
.mc-split__text .mc-btn { margin-top: 12px; }
.mc-btn--sm { padding: 12px 22px; font-size: 15px; min-width: 0; gap: 14px; }

/* Texto + imagen */
.mc-split {
    display: grid;
    grid-template-columns: minmax(0, 37fr) minmax(0, 61fr);
    gap: 5%;
    align-items: center;
}
.mc-split__media { margin: 0; }

/* Imágenes con máscara (formas del diseño) */
.mc-shape {
    position: relative;
    overflow: hidden;
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
}
.mc-shape img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Esquinas redondeadas con escalón suave abajo a la izquierda */
.mc-shape--about {
    aspect-ratio: 1005 / 450;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1005 450' preserveAspectRatio='none'%3E%3Cpath d='M45 0H960A45 45 0 0 1 1005 45V410A40 40 0 0 1 965 450H200C178 450 170 440 165 428C158 414 150 410 130 410H40A40 40 0 0 1 0 370V45A45 45 0 0 1 45 0Z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1005 450' preserveAspectRatio='none'%3E%3Cpath d='M45 0H960A45 45 0 0 1 1005 45V410A40 40 0 0 1 965 450H200C178 450 170 440 165 428C158 414 150 410 130 410H40A40 40 0 0 1 0 370V45A45 45 0 0 1 45 0Z'/%3E%3C/svg%3E");
}
.mc-shape--about img { object-position: 45% 60%; }
/* Esquinas redondeadas con escalón suave abajo a la derecha */
.mc-shape--training {
    aspect-ratio: 870 / 620;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 870 620' preserveAspectRatio='none'%3E%3Cpath d='M45 0H825A45 45 0 0 1 870 45V540A40 40 0 0 1 830 580H740C720 580 712 584 705 598C700 610 692 620 670 620H40A40 40 0 0 1 0 580V45A45 45 0 0 1 45 0Z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 870 620' preserveAspectRatio='none'%3E%3Cpath d='M45 0H825A45 45 0 0 1 870 45V540A40 40 0 0 1 830 580H740C720 580 712 584 705 598C700 610 692 620 670 620H40A40 40 0 0 1 0 580V45A45 45 0 0 1 45 0Z'/%3E%3C/svg%3E");
}
.mc-shape--training img { object-position: center; }
/* Esquinas redondeadas con escalón arriba a la derecha */
.mc-shape--results {
    aspect-ratio: 870 / 385;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 870 385' preserveAspectRatio='none'%3E%3Cpath d='M40 0H680C705 0 715 10 725 25C735 38 745 40 765 40H830A40 40 0 0 1 870 80V345A40 40 0 0 1 830 385H40A40 40 0 0 1 0 345V40A40 40 0 0 1 40 0Z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 870 385' preserveAspectRatio='none'%3E%3Cpath d='M40 0H680C705 0 715 10 725 25C735 38 745 40 765 40H830A40 40 0 0 1 870 80V345A40 40 0 0 1 830 385H40A40 40 0 0 1 0 345V40A40 40 0 0 1 40 0Z'/%3E%3C/svg%3E");
}
.mc-shape--results img { object-position: center 30%; }

/* Pie de foto y crédito (obligatorios por Manual, punto 12.1) */
.mc-caption {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 6px 0 23%;
    font-size: 13px;
    color: var(--mc-stat-label);
}
.mc-caption__credit { white-space: nowrap; }

/* ---------- Formación: banda celeste ---------- */
.mc-training { padding: 8px 0; }
.mc-band {
    position: relative;
    border-radius: 40px;
    padding: 56px 56px 44px;
    background:
        radial-gradient(ellipse 45% 60% at 10% 10%, rgba(255,255,255,.7) 0%, rgba(255,255,255,0) 70%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='600'%3E%3Cfilter id='c' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.003 0.008' numOctaves='5' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 -.72'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)'/%3E%3C/svg%3E") center / cover no-repeat,
        linear-gradient(180deg, #edf6fe 0%, #e4f0fc 100%);
}
.mc-split--training {
    grid-template-columns: minmax(0, 44fr) minmax(0, 52fr);
    gap: 4%;
    align-items: end;
}
.mc-split--training .mc-split__text { padding-bottom: 8px; }

.mc-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    list-style: none;
    margin: 28px 0 0;
    padding: 0;
}
.mc-step {
    display: flex;
    gap: 22px;
    padding: 4px 24px 4px 0;
}
.mc-step + .mc-step { padding-left: 26px; border-left: 1.5px solid #c9d8ec; }
.mc-step__num {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #d6e7fb;
    color: var(--mc-navy);
    font-size: 14px;
    font-weight: 700;
}
.mc-step__icon { width: 30px; height: 30px; color: var(--mc-icon); margin-bottom: 8px; }
.mc-step__title { font-size: 17px; font-weight: 700; margin: 0 0 4px; }
.mc-step__title a { color: var(--mc-navy); text-decoration: none; }
.mc-step__title a:hover { color: var(--mc-blue); }
.mc-step__text { font-size: 15px; line-height: 1.4; color: var(--mc-text); margin: 0; }

/* ---------- Resultados ---------- */
.mc-split--results { grid-template-columns: minmax(0, 40fr) minmax(0, 54fr); }

/* ---------- Eventos ---------- */
.mc-events {
    padding: 44px 0 56px;
    background: linear-gradient(180deg, #eef6fd 0%, #e9f3fc 100%);
}
.mc-events__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}
.mc-events__head .mc-sec-title { margin: 0; }
.mc-events__nav { display: flex; gap: 10px; }

.mc-circle-btn {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1.5px solid var(--mc-blue-border);
    background: #fff;
    color: var(--mc-blue);
    font-size: 15px;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}
.mc-circle-btn:hover { background: var(--mc-blue); border-color: var(--mc-blue); color: #fff; }

.mc-events__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 2 * 24px) / 3);
    column-gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 4px 2px 10px;
    margin: -4px -2px 0;
}
.mc-events__track::-webkit-scrollbar { display: none; }
.mc-event {
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(15, 42, 107, .07);
    transition: transform .2s, box-shadow .2s;
}
.mc-event:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(15, 42, 107, .12); }
.mc-event img {
    width: 100%;
    aspect-ratio: 510 / 175;
    object-fit: cover;
    display: block;
}
.mc-event__body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 20px 20px 24px;
}
.mc-event__title { font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--mc-navy); }
.mc-event__go {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1.5px solid var(--mc-blue-border);
    color: var(--mc-blue);
    font-size: 14px;
    transition: background .2s, color .2s;
}
.mc-event:hover .mc-event__go { background: var(--mc-blue); border-color: var(--mc-blue); color: #fff; }

/* ---------- Footer ---------- */
.mc-footer {
    font-family: var(--mc-font);
    background: #fff;
    border-top: 2px solid var(--mc-navy);
    padding: 0;
    color: var(--mc-text);
}
.mc-footer p { text-align: left; color: inherit; }
.mc-footer__main { padding: 30px 0 22px; }
.mc-footer__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(28px, 6vw, 72px);
    padding-bottom: 22px;
    border-bottom: 1px solid var(--mc-border);
}
.mc-footer__partners { padding-top: 18px; }
.mc-footer__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
}
.mc-footer__links { display: flex; flex-wrap: wrap; gap: 36px; margin-left: 17%; }
.mc-footer__links a {
    font-size: 15px;
    font-weight: 700;
    color: var(--mc-blue);
    text-decoration: none;
}
.mc-footer__links a i { margin-left: 8px; font-size: 13px; transition: transform .2s; }
.mc-footer__links a:hover i { transform: translateX(3px); }
.mc-footer__social { display: flex; gap: 12px; }
.mc-footer__social .mc-circle-btn { width: 44px; height: 44px; font-size: 17px; }

.mc-footer__bottom { background: #eaf4fd; padding: 20px 0; }
.mc-footer__legal {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    gap: 32px;
    align-items: start;
}
.mc-footer__copy p,
.mc-footer__disclaimer {
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
    color: var(--mc-stat-label);
}
.mc-footer__disclaimer { padding-left: 32px; border-left: 1.5px solid #b9cbe3; }
.mc-footer__visits {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    font-size: 12px;
    color: var(--mc-stat-label);
}

/* ---------- Responsive de secciones ---------- */
@media (min-width: 1200px) {
    .mc-band { margin-inline: -24px; }
}
@media (max-width: 1199.98px) {
    .mc-band { padding: 44px 36px 36px; }
    .mc-footer__links { margin-left: 0; }
}
@media (max-width: 991.98px) {
    .mc-section { padding: 56px 0; }
    .mc-split,
    .mc-split--training,
    .mc-split--results { grid-template-columns: 1fr; gap: 28px; }
    .mc-split--training .mc-split__media { max-width: 620px; justify-self: center; width: 100%; }
    .mc-caption { padding-left: 6px; }
    .mc-steps { grid-template-columns: 1fr; gap: 18px; margin-top: 24px; }
    .mc-step,
    .mc-step + .mc-step { padding: 0; border-left: 0; }
    .mc-step + .mc-step { padding-top: 18px; border-top: 1.5px solid #c9d8ec; }
    .mc-events__track { grid-auto-columns: calc((100% - 20px) / 2); column-gap: 20px; }
    .mc-footer__legal { grid-template-columns: 1fr; gap: 16px; }
    .mc-footer__disclaimer { padding-left: 0; padding-top: 16px; border-left: 0; border-top: 1.5px solid #b9cbe3; }
}
@media (max-width: 575.98px) {
    .mc-section { padding: 44px 0; }
    .mc-band { padding: 34px 22px 28px; border-radius: 28px; }
    .mc-sec-title { font-size: 26px; }
    .mc-split__text .mc-btn { width: 100%; justify-content: center; }
    .mc-caption { flex-direction: column; gap: 2px; }
    .mc-events__track { grid-auto-columns: 86%; column-gap: 14px; }
    .mc-events__nav { display: none; }
    .mc-footer__brand { gap: 18px; }
    .mc-footer__row { flex-direction: column; align-items: flex-start; gap: 18px; }
    .mc-footer__links { gap: 20px; }
}

/* ---------- Ventana de detalle (modal) ---------- */
.mc-modal .modal-content {
    font-family: var(--mc-font);
    border: 0;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(10, 38, 114, .25);
}
.mc-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 36px 40px 18px;
    background: linear-gradient(170deg, #eef7fe 0%, #e5f1fc 100%);
}
.mc-modal__head .mc-sec-lead { margin: 0; }
.mc-modal__body { padding: 26px 40px 10px; overflow-y: auto; }
.mc-modal__body p {
    font-size: 16px;
    line-height: 1.65;
    color: var(--mc-text);
    text-align: left;
    margin: 0 0 14px;
}
.mc-modal__foot {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 18px 40px 32px;
}
@media (max-width: 575.98px) {
    .mc-modal__head { padding: 28px 22px 16px; }
    .mc-modal__body { padding: 20px 22px 6px; }
    .mc-modal__foot { padding: 16px 22px 24px; }
    .mc-modal__foot .mc-btn { width: 100%; justify-content: center; }
}

/* ---------- Ajustes de balance ---------- */
@media (min-width: 992px) {
    .mc-split--training { grid-template-columns: minmax(0, 48fr) minmax(0, 48fr); align-items: center; }
}
.mc-logo--ssa    { --w: 121; --h: 41; }
.mc-logo--insp   { --w: 131; --h: 45; }
.mc-logo--minsal { --w: 55;  --h: 50; }

.mc-sec-lead, .mc-modal p { text-align: left; }
.mc-footer__visits { justify-content: flex-start; }
.mc-footer__visits .odometer { margin: 0 !important; width: auto !important; font-size: 15px; }

/* Opción activa dentro de los submenús */
.mc-dropdown .dropdown-item.active,
.mc-dropdown .dropdown-item:active { background: var(--mc-blue-soft); color: var(--mc-blue); font-weight: 600; }

/* =========================================================
   Animaciones
   Sutiles, con la paleta del Fondo. Se desactivan con
   "reducir movimiento" del sistema operativo.
   ========================================================= */
:root {
    --mc-ease: cubic-bezier(.22, .8, .24, 1);
    --mc-dur: .75s;
}

/* ---------- Transición entre páginas (Chrome / Edge / Safari recientes) ---------- */
@view-transition { navigation: auto; }
.mc-header { view-transition-name: mc-header; }
::view-transition-old(root) { animation: mc-page-out .28s ease both; }
::view-transition-new(root) { animation: mc-page-in .5s var(--mc-ease) both; }
@keyframes mc-page-out { to { opacity: 0; transform: translateY(-8px); } }
@keyframes mc-page-in { from { opacity: 0; transform: translateY(14px); } }

/* ---------- Keyframes base ---------- */
@keyframes mc-fade-up    { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes mc-fade-down  { from { opacity: 0; transform: translateY(-18px); } to { opacity: 1; transform: none; } }
@keyframes mc-fade-left  { from { opacity: 0; transform: translateX(-34px); } to { opacity: 1; transform: none; } }
@keyframes mc-fade-right { from { opacity: 0; transform: translateX(34px); } to { opacity: 1; transform: none; } }
@keyframes mc-zoom-in    { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes mc-fade       { from { opacity: 0; } to { opacity: 1; } }
@keyframes mc-draw       { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes mc-ken        { from { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes mc-failsafe   { to { opacity: 1; transform: none; } }

/* ---------- Banners: entrada escalonada ---------- */
.mc-hero__content > *,
.mc-pagehero__content > *,
.mc-soon__content > * {
    animation: mc-fade-up var(--mc-dur) var(--mc-ease) both;
}
.mc-hero__content > :nth-child(1), .mc-pagehero__content > :nth-child(1), .mc-soon__content > :nth-child(1) { animation-name: mc-fade-down; animation-delay: .05s; }
.mc-hero__content > :nth-child(2), .mc-pagehero__content > :nth-child(2), .mc-soon__content > :nth-child(2) { animation-delay: .15s; }
.mc-hero__content > :nth-child(3), .mc-pagehero__content > :nth-child(3), .mc-soon__content > :nth-child(3) { animation-delay: .25s; }
.mc-hero__content > :nth-child(4), .mc-pagehero__content > :nth-child(4), .mc-soon__content > :nth-child(4) { animation-delay: .35s; }
.mc-hero__content > :nth-child(5), .mc-pagehero__content > :nth-child(5), .mc-soon__content > :nth-child(5) { animation-delay: .45s; }
.mc-hero__content > :nth-child(n+6), .mc-pagehero__content > :nth-child(n+6), .mc-soon__content > :nth-child(n+6) { animation-delay: .55s; }

/* Franja de colores: se dibuja de izquierda a derecha */
.mc-hero .mc-flagbar,
.mc-pagehero .mc-flagbar {
    transform-origin: left center;
    animation: mc-draw .9s var(--mc-ease) .35s both !important;
}
/* Imagen del banner: zoom suave */
.mc-hero__media img,
.mc-pagehero__media img { animation: mc-ken 1.6s var(--mc-ease) both; }
.mc-hero__media, .mc-pagehero__media { animation: mc-fade .9s ease both; }
.mc-soon__panel { animation: mc-fade-right var(--mc-dur) var(--mc-ease) .2s both; }
/* Tarjeta de cifras del home */
.mc-stats__title { animation: mc-fade-up var(--mc-dur) var(--mc-ease) .45s both; }
.mc-stat { animation: mc-zoom-in .6s var(--mc-ease) both; }
.mc-stat:nth-child(1) { animation-delay: .55s; }
.mc-stat:nth-child(2) { animation-delay: .65s; }
.mc-stat:nth-child(3) { animation-delay: .75s; }

/* ---------- Aparición al hacer scroll ---------- */
.mc-js [data-mc-reveal]:not(.is-in) {
    opacity: 0;
    /* Respaldo: si el script no carga, el contenido aparece igual */
    animation: mc-failsafe .01s linear 2.5s forwards;
}
.mc-js [data-mc-reveal="up"]:not(.is-in)    { transform: translateY(28px); }
.mc-js [data-mc-reveal="left"]:not(.is-in)  { transform: translateX(-34px); }
.mc-js [data-mc-reveal="right"]:not(.is-in) { transform: translateX(34px); }
.mc-js [data-mc-reveal="zoom"]:not(.is-in)  { transform: scale(.94); }
[data-mc-reveal].is-in {
    animation: none;
    opacity: 1;
    transform: none;
    transition: opacity var(--mc-dur) var(--mc-ease), transform var(--mc-dur) var(--mc-ease);
    transition-delay: var(--mc-delay, 0s);
}
/* Barra de acento de los títulos: crece al aparecer */
.mc-js .mc-accent[data-mc-reveal] { transform-origin: left center; }
.mc-js .mc-accent[data-mc-reveal]:not(.is-in) { transform: scaleX(0); opacity: 1; }

/* ---------- Pulso en botones principales ---------- */
.mc-pulse { position: relative; }
.mc-pulse::after {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    box-shadow: 0 0 0 0 rgba(4, 103, 240, .45);
    animation: mc-pulse 2.6s ease-out 1.4s infinite;
    pointer-events: none;
}
.mc-pulse:hover::after { animation-play-state: paused; opacity: 0; }
@keyframes mc-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(4, 103, 240, .45); }
    70%  { box-shadow: 0 0 0 14px rgba(4, 103, 240, 0); }
    100% { box-shadow: 0 0 0 0 rgba(4, 103, 240, 0); }
}
/* Brillo que cruza el botón al pasar el mouse */
.mc-btn--primary { overflow: hidden; }
.mc-btn--primary.mc-pulse { overflow: visible; }
.mc-btn--primary::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -60%;
    width: 40%;
    background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-18deg);
    transition: left .7s var(--mc-ease);
    pointer-events: none;
}
.mc-btn--primary { position: relative; }
.mc-btn--primary:hover::before { left: 130%; }
.mc-btn i.fa-arrow-right { transition: transform .25s var(--mc-ease); }
.mc-btn:hover i.fa-arrow-right { transform: translateX(4px); }

/* ---------- Borde animado con los colores de las banderas ---------- */
@property --mc-angle {
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}
.mc-event, .mc-album, .mc-report, .mc-sidelinks a, .mc-nextalbum { position: relative; }
.mc-event::after,
.mc-album::after,
.mc-report::after,
.mc-nextalbum::after {
    content: "";
    position: absolute;
    inset: 0;
    padding: 2px;
    border-radius: inherit;
    background: conic-gradient(from var(--mc-angle), #04b32c, #2d95db, #062f7c, #f5141b, #04b32c);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
    z-index: 3;
}
.mc-event:hover::after,
.mc-album:hover::after,
.mc-report:hover::after,
.mc-nextalbum:hover::after,
.mc-event:focus-visible::after,
.mc-album:focus-visible::after {
    opacity: 1;
    animation: mc-spin 3s linear infinite;
}
@keyframes mc-spin { to { --mc-angle: 360deg; } }

/* ---------- Menú ---------- */
@media (min-width: 768px) {
    .mc-nav__link::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 6px;
        height: 3px;
        border-radius: 3px;
        background: var(--mc-blue);
        transform: scaleX(0);
        transform-origin: center;
        transition: transform .3s var(--mc-ease);
    }
    .mc-nav__link:hover::after,
    .mc-nav__item.dropdown:hover > .mc-nav__link::after { transform: scaleX(1); }
    .mc-nav__link.dropdown-toggle::after { display: block; margin: 0; border: 0; vertical-align: initial; }
    .mc-nav__link.is-active::after { display: none; }
    .mc-nav__item > .mc-dropdown.show,
    .mc-nav__item.dropdown:hover > .mc-dropdown { animation: mc-drop .25s var(--mc-ease) both; }
}
@keyframes mc-drop { from { opacity: 0; margin-top: -6px; } to { opacity: 1; margin-top: 4px; } }

/* Logos del header: entrada suave */
.mc-brand > * { animation: mc-fade-down .7s var(--mc-ease) both; }
.mc-brand > :nth-child(2) { animation-delay: .08s; }
.mc-brand > :nth-child(3) { animation-delay: .16s; }

/* Imágenes al pasar el mouse */
.mc-shape img, .mc-conv__photo img { transition: transform .8s var(--mc-ease); }
.mc-split__media:hover .mc-shape img,
.mc-inst__figure:hover .mc-shape img,
.mc-conv__photo:hover img { transform: scale(1.04); }

/* Íconos de las cifras y pasos: pequeño salto al pasar el mouse */
.mc-stat svg, .mc-step__icon, .mc-coop__icon, .mc-method__icon, .mc-facts__icon, .mc-status__icon { transition: transform .35s var(--mc-ease); }
.mc-stat:hover svg, .mc-step:hover .mc-step__icon, .mc-coop__item:hover .mc-coop__icon,
.mc-method__card:hover .mc-method__icon, .mc-facts li:hover .mc-facts__icon, .mc-status__card:hover .mc-status__icon { transform: translateY(-4px) rotate(-4deg); }

/* ---------- Reducir movimiento ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        animation-delay: 0s !important;
        transition-duration: .01ms !important;
        transition-delay: 0s !important;
    }
    .mc-js [data-mc-reveal]:not(.is-in) { opacity: 1; transform: none; }
    ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
