/* =========================================================
   Páginas interiores – Fondo Conjunto de Cooperación Chile–México
   Reutiliza tokens, header, footer, botones y logos de home.css
   ========================================================= */

/* ---------- Banner interior ---------- */
.mc-pagehero { padding: 6px 0 0; }
.mc-pagehero__wrap {
    position: relative;
    min-height: 210px;
    border-radius: var(--mc-radius);
    overflow: hidden;
    background:
        radial-gradient(ellipse 45% 70% at 15% 20%, 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='300'%3E%3Cfilter id='c' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.004 0.012' 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%);
}
.mc-pagehero__content {
    position: relative;
    z-index: 2;
    width: 62%;
    padding: 26px 0 30px 34px;
}
.mc-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    font-size: 13.5px;
    color: var(--mc-text);
}
.mc-breadcrumb li + li::before { content: "/"; margin-right: 6px; color: #8fa2c2; }
.mc-breadcrumb a { color: var(--mc-text); text-decoration: none; }
.mc-breadcrumb a:hover { color: var(--mc-blue); }
.mc-breadcrumb [aria-current] { color: var(--mc-navy); }
.mc-pagehero__title {
    font-family: var(--mc-font);
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.015em;
    color: var(--mc-navy);
    margin: 0 0 14px;
}
.mc-pagehero .mc-flagbar { width: 180px; margin-bottom: 16px; }
.mc-pagehero__lead {
    font-size: 17px;
    color: var(--mc-text);
    margin: 0;
    text-align: left;
}
/* Banderas con borde izquierdo curvo */
.mc-pagehero__media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 42%;
    overflow: hidden;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 210' preserveAspectRatio='none'%3E%3Cpath d='M40 0H500V210H110C85 180 78 140 70 100C60 50 50 12 40 0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 210' preserveAspectRatio='none'%3E%3Cpath d='M40 0H500V210H110C85 180 78 140 70 100C60 50 50 12 40 0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
}
.mc-pagehero__media img {
    position: absolute;
    left: 0;
    top: -28.9%;
    width: 202.7%;
    max-width: none;
    height: auto;
}

/* ---------- Layout: contenido + barra lateral ---------- */
.mc-page { padding: 36px 0 64px; }
.mc-page p { text-align: left; }
.mc-page__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 40px;
    align-items: start;
}

/* Cita destacada */
.mc-pullquote {
    position: relative;
    margin: 6px 0 30px;
    padding: 0 56px 0 60px;
}
.mc-pullquote::before,
.mc-pullquote::after {
    position: absolute;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 84px;
    line-height: 1;
    font-weight: 700;
    color: #a9c9f5;
}
.mc-pullquote::before { content: "“"; left: 0; top: -12px; }
.mc-pullquote::after  { content: "”"; right: 6px; bottom: -44px; }
.mc-pullquote p {
    font-size: 21px;
    font-style: italic;
    font-weight: 500;
    line-height: 1.4;
    color: #1d4fb0;
    margin: 0;
}

/* Discurso + retrato */
.mc-speech {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}
.mc-speech__text p {
    font-size: 16px;
    line-height: 1.62;
    color: var(--mc-text);
    margin: 0 0 16px;
}
.mc-speech__text b { color: var(--mc-navy); font-weight: 600; }
.mc-speech__photo { margin: 0; position: sticky; top: 20px; }
.mc-speech__photo figcaption { padding: 14px 4px 0; }
.mc-speech__photo figcaption strong { display: block; font-size: 15.5px; color: var(--mc-navy); }
.mc-speech__photo figcaption span { font-size: 14px; color: var(--mc-stat-label); }
/* Retrato con esquinas redondeadas y escalón arriba a la izquierda */
.mc-shape--portrait {
    aspect-ratio: 454 / 606;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 454 606' preserveAspectRatio='none'%3E%3Cpath d='M0 78C0 58 12 46 32 46H40C54 46 62 38 64 24C66 10 76 0 92 0H426A28 28 0 0 1 454 28V578A28 28 0 0 1 426 606H28A28 28 0 0 1 0 578Z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 454 606' preserveAspectRatio='none'%3E%3Cpath d='M0 78C0 58 12 46 32 46H40C54 46 62 38 64 24C66 10 76 0 92 0H426A28 28 0 0 1 454 28V578A28 28 0 0 1 426 606H28A28 28 0 0 1 0 578Z'/%3E%3C/svg%3E");
}
.mc-shape--portrait img { object-position: center top; }

/* Tarjeta de cierre */
.mc-quotecard {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 24px;
    margin-top: 26px;
    padding: 30px 34px;
    border-radius: var(--mc-radius);
    background:
        radial-gradient(ellipse 40% 80% at 95% 60%, rgba(255,255,255,.7) 0%, rgba(255,255,255,0) 70%),
        linear-gradient(170deg, #eef6fe 0%, #e4f0fc 100%);
}
.mc-quotecard__icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--mc-navy);
    color: #fff;
    font-size: 24px;
}
.mc-quotecard .mc-accent { margin-bottom: 14px; }
.mc-quotecard__text {
    font-size: 19px;
    line-height: 1.45;
    color: var(--mc-navy);
    margin: 0 0 16px;
}
.mc-quotecard__text b { display: block; font-weight: 700; margin-bottom: 4px; }
.mc-quotecard__author { margin: 0; font-size: 14px; color: var(--mc-stat-label); }
.mc-quotecard__author strong { display: block; font-size: 15px; color: var(--mc-navy); }

/* ---------- Barra lateral ---------- */
.mc-page__aside { display: grid; gap: 20px; }
.mc-sidecard {
    padding: 22px 20px 20px;
    border-radius: 22px;
    background: #f1f7fe;
}
.mc-sidecard .mc-accent { width: 36px; margin-bottom: 12px; }
.mc-sidecard__title {
    font-family: var(--mc-font);
    font-size: 19px;
    font-weight: 700;
    color: var(--mc-navy);
    margin: 0 0 14px;
}
.mc-sidenav { list-style: none; margin: 0; padding: 0; }
.mc-sidenav li + li { border-top: 1px solid #dde7f3; }
.mc-sidenav a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    font-size: 14.5px;
    color: var(--mc-text);
    text-decoration: none;
    border-radius: 10px;
    transition: background .2s, color .2s;
}
.mc-sidenav a i { font-size: 11px; color: var(--mc-navy); }
.mc-sidenav a:hover { color: var(--mc-blue); }
.mc-sidenav a.is-active { background: #dfecfc; color: var(--mc-navy); font-weight: 600; }
.mc-sidenav li:has(a.is-active) + li { border-top-color: transparent; }

.mc-sidelinks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mc-sidelinks a {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 32px;
    align-items: center;
    gap: 12px;
    padding: 12px 12px 12px 14px;
    border-radius: 14px;
    background: #fff;
    text-decoration: none;
    transition: box-shadow .2s;
}
.mc-sidelinks a:hover { box-shadow: 0 8px 20px rgba(15, 42, 107, .08); }
.mc-sidelinks__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--mc-blue-soft);
    color: var(--mc-blue);
    font-size: 17px;
}
.mc-sidelinks strong { display: block; font-size: 14px; line-height: 1.3; color: var(--mc-navy); }
.mc-sidelinks small { display: block; font-size: 12.5px; color: var(--mc-stat-label); }
.mc-sidelinks__go {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1.5px solid var(--mc-blue-border);
    color: var(--mc-blue);
    font-size: 12px;
}

.mc-sidelogos {
    list-style: none;
    margin: 0;
    padding: 6px 16px;
    border-radius: 16px;
    background: #fff;
}
.mc-sidelogos li { display: flex; justify-content: center; padding: 16px 0; }
.mc-sidelogos li + li { border-top: 1px solid #e3eaf4; }

/* ---------- También te puede interesar ---------- */
.mc-related {
    margin-top: 44px;
    padding: 28px 28px 30px;
    border-radius: var(--mc-radius);
    background: #f1f7fe;
}
.mc-related__title {
    font-family: var(--mc-font);
    font-size: 22px;
    font-weight: 700;
    color: var(--mc-navy);
    margin: 0 0 18px;
}
.mc-related__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.mc-event--related img { aspect-ratio: 16 / 5; }
.mc-event--related .mc-event__body { padding: 14px 16px 16px 18px; }
.mc-event__desc { display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.35; color: var(--mc-stat-label); }

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
    .mc-page__grid { grid-template-columns: minmax(0, 1fr) 290px; gap: 32px; }
}
@media (max-width: 991.98px) {
    .mc-page__grid { grid-template-columns: 1fr; }
    .mc-page__aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mc-page__aside .mc-sidecard:last-child { grid-column: 1 / -1; }
    .mc-sidelogos { display: flex; justify-content: space-around; flex-wrap: wrap; }
    .mc-sidelogos li + li { border-top: 0; }
    .mc-related__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 767.98px) {
    .mc-pagehero__content { width: 100%; padding: 24px 22px 26px; }
    .mc-pagehero__media { display: none; }
    .mc-speech { grid-template-columns: 1fr; }
    .mc-speech__photo { position: static; max-width: 380px; }
    .mc-pullquote { padding: 0 34px 0 40px; }
    .mc-pullquote::before, .mc-pullquote::after { font-size: 64px; }
    .mc-pullquote p { font-size: 18px; }
    .mc-page__aside { grid-template-columns: 1fr; }
    .mc-related { padding: 24px 18px; }
    .mc-related__grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .mc-quotecard { grid-template-columns: 1fr; gap: 14px; padding: 24px 22px; }
    .mc-quotecard__icon { width: 52px; height: 52px; font-size: 20px; }
    .mc-quotecard__text { font-size: 17px; }
}

.mc-sidelogos { --s: 1; }
.mc-speech__photo figcaption strong,
.mc-quotecard__author strong,
.mc-sidelinks strong { font-weight: 700; }

/* =========================================================
   Instituciones involucradas
   ========================================================= */
.mc-inst { padding-bottom: 8px; scroll-margin-top: 20px; }
.mc-inst + .mc-coop,
.mc-coop + .mc-inst { margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--mc-border); }
.mc-inst__title,
.mc-coop__title {
    font-family: var(--mc-font);
    font-size: clamp(24px, 2.3vw, 28px);
    font-weight: 700;
    line-height: 1.2;
    color: var(--mc-navy);
    margin: 0 0 12px;
}
.mc-coop__title { font-size: 21px; margin-bottom: 18px; }
.mc-inst p {
    font-size: 16px;
    line-height: 1.62;
    color: var(--mc-text);
    margin: 0 0 14px;
}
.mc-inst__figure { margin: 20px 0 0; }
.mc-inst__figure figcaption { padding: 10px 4px 0; font-size: 13px; color: var(--mc-stat-label); }

/* Foto con esquinas redondeadas y escalón abajo a la derecha */
.mc-shape--inst {
    aspect-ratio: 540 / 245;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 540 245' preserveAspectRatio='none'%3E%3Cpath d='M26 0H514A26 26 0 0 1 540 26V186C540 200 531 208 517 208H506C492 208 485 216 482 228C479 239 472 245 460 245H26A26 26 0 0 1 0 219V26A26 26 0 0 1 26 0Z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 540 245' preserveAspectRatio='none'%3E%3Cpath d='M26 0H514A26 26 0 0 1 540 26V186C540 200 531 208 517 208H506C492 208 485 216 482 228C479 239 472 245 460 245H26A26 26 0 0 1 0 219V26A26 26 0 0 1 26 0Z'/%3E%3C/svg%3E");
}
/* insp_style.png es un montaje de 2 fotos: se encuadra la de la derecha (fachada con logotipo) */
.mc-shape--insp img {
    inset: auto;
    left: -179.2%;
    top: -37.8%;
    width: 279.2%;
    height: auto;
    max-width: none;
    object-fit: fill;
}
.mc-shape--minsal img { object-position: center 38%; }

/* Líneas de cooperación */
.mc-coop__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mc-coop__item { padding-right: 26px; }
.mc-coop__item + .mc-coop__item { padding: 0 0 0 26px; border-left: 1px solid var(--mc-border); }
.mc-coop__head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 12px; }
.mc-coop__icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #e3effd;
    color: var(--mc-icon);
}
.mc-coop__icon svg { width: 30px; height: 30px; }
.mc-coop__num { display: block; font-size: 22px; font-weight: 700; line-height: 1; color: var(--mc-navy); margin-bottom: 6px; }
.mc-coop__name { font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--mc-navy); margin: 0; }
.mc-coop__item p { font-size: 14.5px; line-height: 1.55; color: var(--mc-text); margin: 0; }

/* Barra lateral: instituciones */
.mc-instlist { list-style: none; margin: 0; padding: 0; }
.mc-instlist li { padding: 6px 4px 18px; }
.mc-instlist li + li { padding-top: 20px; border-top: 1px solid #dde7f3; }
.mc-instlist .mc-logo { margin-bottom: 12px; }
.mc-instlist__country { display: block; font-size: 14px; font-weight: 700; color: var(--mc-navy); margin-bottom: 4px; }
.mc-instlist p { font-size: 13.5px; line-height: 1.45; color: var(--mc-stat-label); margin: 0 0 10px; }
.mc-instlist a { font-size: 14px; font-weight: 600; color: var(--mc-blue); text-decoration: none; }
.mc-instlist a i { margin-left: 6px; font-size: 12px; transition: transform .2s; }
.mc-instlist a:hover i { transform: translateX(3px); }

/* Barra lateral: enlaces externos */
.mc-extlinks { list-style: none; margin: 0; padding: 0; }
.mc-extlinks li + li { border-top: 1px solid #dde7f3; }
.mc-extlinks a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 6px;
    font-size: 14px;
    line-height: 1.35;
    color: var(--mc-blue);
    text-decoration: none;
}
.mc-extlinks a:hover { color: var(--mc-navy); }
.mc-extlinks a i { flex: 0 0 auto; font-size: 13px; }

@media (max-width: 991.98px) {
    .mc-page__aside .mc-sidecard:first-child { grid-column: 1 / -1; }
    .mc-instlist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .mc-instlist li + li { padding-top: 6px; border-top: 0; }
}
@media (max-width: 767.98px) {
    .mc-coop__grid { grid-template-columns: 1fr; gap: 22px; }
    .mc-coop__item, .mc-coop__item + .mc-coop__item { padding: 0; border-left: 0; }
    .mc-coop__item + .mc-coop__item { padding-top: 22px; border-top: 1px solid var(--mc-border); }
}
@media (max-width: 575.98px) {
    .mc-instlist { grid-template-columns: 1fr; }
}

/* =========================================================
   Acerca del proyecto
   ========================================================= */
html { scroll-behavior: smooth; }
.mc-inst__title { text-wrap: balance; }
.mc-components__intro { font-weight: 600; color: var(--mc-navy) !important; margin-bottom: 0 !important; }

.mc-components { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 22px; }
.mc-component {
    scroll-margin-top: 20px;
    padding: 28px 30px 30px;
    border-radius: var(--mc-radius);
    background: #f1f7fe;
}
.mc-component p {
    font-size: 16px;
    line-height: 1.62;
    color: var(--mc-text);
    margin: 0 0 14px;
}
.mc-component > .mc-btn { margin-top: 6px; }
.mc-component__head { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 16px; }
.mc-component__num {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--mc-navy);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}
.mc-component__title {
    font-family: var(--mc-font);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--mc-navy);
    margin: 8px 0 0;
}
.mc-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}
.mc-badge--done     { background: #dcf5e3; color: #0b7a2c; }
.mc-badge--progress { background: #e1edfd; color: var(--mc-blue); }

.mc-component__split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

/* Encuadres de imágenes compuestas (sin alterar los archivos originales) */
.mc-gallery { display: flex; gap: 14px; margin: 6px 0 18px; }
.mc-gallery .mc-frame { flex: var(--ar) 1 0; }
.mc-frame {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    aspect-ratio: var(--ar);
}
.mc-frame img {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--iw);
    max-width: none;
    height: auto;
    display: block;
}
.mc-frame--p2a { --ar: 3.361; --iw: 160.69%; --x: -0.64%;   --y: -35.38%; border-bottom-left-radius: 60px; }
.mc-frame--p2b { --ar: 1.905; --iw: 286.59%; --x: -185.44%; --y: -6.57%; }
.mc-frame--p3  { --ar: 1.771; --iw: 101.99%; --x: -1%;      --y: -1.76%; border-top-right-radius: 60px; }
.mc-frame--p4a { --ar: 1.740; --iw: 227.27%; --x: -0.97%;   --y: -1.69%; border-bottom-left-radius: 60px; }
.mc-frame--p4b { --ar: 2.093; --iw: 188.93%; --x: -88.12%;  --y: -1.69%; }

/* Barra lateral: índice de componentes */
.mc-sidecard--sticky { position: sticky; top: 20px; }
.mc-steplist { list-style: none; margin: 0; padding: 0; }
.mc-steplist li + li { border-top: 1px solid #dde7f3; }
.mc-steplist a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 6px;
    font-size: 14.5px;
    color: var(--mc-text);
    text-decoration: none;
}
.mc-steplist a:hover { color: var(--mc-blue); }
.mc-steplist span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #dfecfc;
    color: var(--mc-navy);
    font-size: 12.5px;
    font-weight: 700;
}

@media (max-width: 991.98px) {
    .mc-sidecard--sticky { position: static; }
}
@media (max-width: 767.98px) {
    .mc-component { padding: 22px 18px 24px; }
    .mc-component__split { grid-template-columns: 1fr; }
    .mc-gallery { flex-direction: column; }
    .mc-gallery .mc-frame { flex: none; }
}
@media (max-width: 575.98px) {
    .mc-component__head { gap: 14px; }
    .mc-component__num { width: 42px; height: 42px; font-size: 15px; }
    .mc-component__title { font-size: 17px; }
    .mc-component > .mc-btn { width: 100%; justify-content: center; }
}

/* ---------- Banner con fotografía ---------- */
.mc-pagehero--photo .mc-pagehero__media { width: 44%; }
.mc-pagehero--photo .mc-pagehero__media img {
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
}

/* ---------- Datos clave ---------- */
.mc-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.mc-facts li { display: flex; align-items: center; gap: 14px; }
.mc-facts__icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #dfecfc;
    color: var(--mc-blue);
    font-size: 18px;
}
.mc-facts strong { display: block; font-size: 15.5px; color: var(--mc-navy); font-weight: 700; }
.mc-facts small { display: block; font-size: 13px; line-height: 1.35; color: var(--mc-stat-label); }

/* =========================================================
   Componente 1
   ========================================================= */
.mc-page__grid--left { grid-template-columns: 250px minmax(0, 1fr); }
.mc-page__grid--left .mc-page__aside { position: sticky; top: 20px; }
.mc-pagenav { list-style: none; margin: 0; padding: 0; }
.mc-pagenav a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    border-radius: 10px;
    border-left: 3px solid transparent;
    font-size: 14px;
    color: var(--mc-text);
    text-decoration: none;
    transition: background .2s, color .2s;
}
.mc-pagenav a i { width: 18px; text-align: center; color: var(--mc-blue); font-size: 15px; }
.mc-pagenav a:hover { color: var(--mc-blue); }
.mc-pagenav a.is-active { background: #dfecfc; border-left-color: var(--mc-blue); color: var(--mc-navy); font-weight: 600; }

.mc-timeline { list-style: none; margin: 22px 0 0; padding: 0; position: relative; }
.mc-timeline::before {
    content: "";
    position: absolute;
    left: 19px;
    top: 20px;
    bottom: 20px;
    border-left: 2px dashed #b9cfee;
}
.mc-tstep { position: relative; padding-left: 62px; scroll-margin-top: 20px; }
.mc-tstep + .mc-tstep { margin-top: 24px; }
.mc-tstep__num {
    position: absolute;
    left: 0;
    top: 22px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--mc-navy);
    color: #fff;
    font-weight: 700;
    box-shadow: 0 0 0 6px var(--mc-bg);
}
.mc-tstep:nth-child(even) .mc-tstep__num { background: #0b7a2c; }
.mc-tstep__card {
    padding: 26px 28px 28px;
    border-radius: var(--mc-radius);
    background: #f1f7fe;
}
.mc-tstep__card p {
    font-size: 16px;
    line-height: 1.62;
    color: var(--mc-text);
    margin: 0 0 14px;
}
.mc-tstep__title {
    font-family: var(--mc-font);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--mc-navy);
    margin: 8px 0 12px;
}
.mc-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px;
    border-radius: 999px;
    background: #dfecfc;
    color: var(--mc-navy);
    font-size: 12.5px;
    font-weight: 600;
}
.mc-chip i { color: var(--mc-blue); }

/* Revisión: texto + portada del informe */
.mc-docsplit { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 26px; align-items: center; }
.mc-doccover {
    margin: 0;
    padding: 8px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 42, 107, .12);
    transform: rotate(2deg);
}
.mc-doccover img { display: block; width: 100%; border-radius: 6px; }

/* Fotografías del sitio (el archivo ya trae esquinas y márgenes blancos) */
.mc-photo { margin: 4px 0 18px; }
.mc-photo img { display: block; width: 100%; height: auto; }

/* Actividades de la visita a Chile */
.mc-activities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
}
.mc-activity {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(15, 42, 107, .06);
}
.mc-activity--wide { grid-column: 1 / -1; background: transparent; box-shadow: none; }
.mc-activity__img { overflow: hidden; aspect-ratio: 16 / 10; }
.mc-activity--wide .mc-activity__img { aspect-ratio: auto; }
.mc-activity__img img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.05); }
.mc-activity--wide .mc-activity__img img { height: auto; transform: none; }
.mc-activity p { margin: 0 !important; padding: 14px 16px 16px; font-size: 14.5px !important; line-height: 1.5 !important; }
.mc-activity--wide p { padding: 10px 2px 4px; }

/* Bloque de resultados */
.mc-resultcta {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 28px;
    padding: 26px 30px;
    border-radius: var(--mc-radius);
    background: linear-gradient(170deg, #eaf8ef 0%, #dff3e6 100%);
    scroll-margin-top: 20px;
}
.mc-resultcta__icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #0b7a2c;
    color: #fff;
    font-size: 22px;
}
.mc-resultcta__label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #0b7a2c; }
.mc-resultcta__title { font-size: 21px; font-weight: 700; color: var(--mc-navy); margin: 2px 0 0; }
.mc-resultcta .mc-btn { margin-left: auto; }

@media (max-width: 991.98px) {
    .mc-page__grid--left { grid-template-columns: 1fr; }
    .mc-page__grid--left .mc-page__aside { position: static; }
    .mc-pagenav { display: flex; flex-wrap: wrap; gap: 6px; }
    .mc-pagenav a { border-left: 0; background: #fff; }
}
@media (max-width: 767.98px) {
    .mc-pagehero--photo .mc-pagehero__media { display: none; }
    .mc-docsplit { grid-template-columns: 1fr; }
    .mc-doccover { max-width: 190px; }
    .mc-activities { grid-template-columns: 1fr; }
    .mc-resultcta { flex-wrap: wrap; }
    .mc-resultcta .mc-btn { margin-left: 0; }
}
@media (max-width: 575.98px) {
    .mc-timeline::before { left: 15px; }
    .mc-tstep { padding-left: 44px; }
    .mc-tstep__num { width: 32px; height: 32px; font-size: 14px; }
    .mc-tstep__card { padding: 22px 18px; }
}
.mc-activity--span { grid-column: 1 / -1; }
.mc-activity--span .mc-activity__img { aspect-ratio: 21 / 9; }

/* ---------- Portada ampliable y visor de imagen ---------- */
button.mc-doccover {
    position: relative;
    display: block;
    width: 100%;
    border: 0;
    cursor: zoom-in;
    transition: transform .25s, box-shadow .25s;
}
button.mc-doccover:hover,
button.mc-doccover:focus-visible { transform: rotate(0deg) scale(1.03); box-shadow: 0 18px 40px rgba(15, 42, 107, .18); }
button.mc-doccover:focus-visible { outline: 2px solid var(--mc-blue-border); outline-offset: 4px; }
.mc-doccover__zoom {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--mc-blue);
    color: #fff;
    font-size: 15px;
    box-shadow: 0 6px 14px rgba(4, 103, 240, .3);
}
.mc-zoom .modal-dialog { max-width: min(760px, 94vw); }
.mc-zoom__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    background: linear-gradient(170deg, #eef7fe 0%, #e5f1fc 100%);
}
.mc-zoom__title { margin: 0; font-size: 17px; font-weight: 700; color: var(--mc-navy); }
.mc-zoom__body { padding: 22px; background: #f6fafd; text-align: center; }
.mc-zoom__body img {
    max-width: 100%;
    max-height: 78vh;
    width: auto;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(15, 42, 107, .12);
}
.mc-zoom__actions { display: flex; gap: 10px; flex-shrink: 0; }
.mc-zoom--pdf .modal-dialog { max-width: min(1100px, 96vw); }
.mc-zoom--pdf .mc-zoom__body { padding: 0; }
.mc-zoom--pdf .mc-zoom__body iframe {
    display: block;
    width: 100%;
    height: 80vh;
    border: 0;
}

/* =========================================================
   Próximamente
   ========================================================= */
.mc-soon {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 300px;
    border-radius: var(--mc-radius);
    overflow: hidden;
    background:
        radial-gradient(ellipse 45% 70% at 15% 20%, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 70%),
        linear-gradient(170deg, #eef7fe 0%, #e5f1fc 55%, #d9ebfa 100%);
}
.mc-soon__content { position: relative; z-index: 2; padding: 26px 30px 34px 34px; }
.mc-soon__content .mc-accent { margin: 18px 0 14px; }
.mc-soon__eyebrow { font-size: 17px; font-weight: 600; color: var(--mc-navy); margin: 0 0 6px; text-align: left; }
/* Panel azul con borde curvo */
.mc-soon__panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px 44px 34px 22%;
    color: #fff;
    background:
        radial-gradient(ellipse 60% 50% at 80% 10%, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 70%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
        linear-gradient(145deg, #1f4fc0 0%, #0a2672 60%, #071b55 100%);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 300' preserveAspectRatio='none'%3E%3Cpath d='M20 0H600V300H150C110 300 95 270 85 230L20 30C15 12 12 0 20 0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 300' preserveAspectRatio='none'%3E%3Cpath d='M20 0H600V300H150C110 300 95 270 85 230L20 30C15 12 12 0 20 0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
}
.mc-soon__label { font-size: 20px; font-weight: 700; margin: 0 0 10px; text-align: left; color: #fff; }
.mc-soon__quote { font-size: 18px; line-height: 1.45; margin: 0; text-align: left; color: #e6efff; }

/* Estado de los componentes */
.mc-status { display: grid; gap: 16px; margin-top: 6px; }
.mc-status__card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 250px;
    gap: 22px;
    align-items: center;
    padding: 22px 26px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid var(--mc-border);
}
.mc-status__icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #e3effd;
    color: var(--mc-icon);
    font-size: 24px;
}
.mc-status__icon svg { width: 32px; height: 32px; }
.mc-status__kicker { font-size: 15px; font-weight: 600; color: var(--mc-navy); margin: 0; }
.mc-status__title { font-size: 19px; font-weight: 700; color: var(--mc-navy); margin: 0 0 6px; }
.mc-status__body p:last-child { font-size: 14.5px; line-height: 1.5; color: var(--mc-text); margin: 0; }
.mc-status__state { display: grid; gap: 10px; justify-items: start; }
.mc-status__state small { font-size: 12.5px; color: var(--mc-stat-label); }
.mc-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px;
    border-radius: 999px;
    background: #e1edfd;
    color: var(--mc-blue);
    font-size: 14px;
    font-weight: 700;
}
/* Barra sin porcentaje: indica trabajo en curso */
.mc-status__bar {
    position: relative;
    display: block;
    width: 100%;
    height: 8px;
    border-radius: 8px;
    overflow: hidden;
    background: #dfe8f4;
}
.mc-status__bar span {
    position: absolute;
    inset: 0 auto 0 0;
    width: 40%;
    border-radius: 8px;
    background: var(--mc-blue);
    animation: mc-progress 2.4s ease-in-out infinite alternate;
}
@keyframes mc-progress { from { transform: translateX(-10%); } to { transform: translateX(160%); } }
@media (prefers-reduced-motion: reduce) { .mc-status__bar span { animation: none; } }

/* Ruta del proyecto */
.mc-route {
    margin-top: 32px;
    padding: 28px 32px 32px;
    border-radius: var(--mc-radius);
    background: #f1f7fe;
}
.mc-route__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
}
.mc-route__steps li { position: relative; padding-right: 24px; }
.mc-route__steps li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 40px;
    right: 0;
    top: 16px;
    border-top: 2px solid #c9d8ec;
}
.mc-route__steps li.is-done::after { border-top-color: var(--mc-navy); }
.mc-route__dot {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 3px solid #b3bfd0;
    background: #fff;
    color: #fff;
    font-size: 14px;
    margin-bottom: 12px;
}
.is-done .mc-route__dot { background: var(--mc-navy); border-color: var(--mc-navy); }
.is-current .mc-route__dot { border-color: var(--mc-blue); box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 12px var(--mc-blue); }
.mc-route__steps h3 { font-size: 17px; font-weight: 700; color: var(--mc-navy); margin: 0; }
.mc-route__steps p { font-size: 14px; line-height: 1.5; color: var(--mc-text); margin: 0; text-align: left; }
.mc-route__steps .mc-route__state { font-weight: 600; color: var(--mc-stat-label); margin-bottom: 8px; }
.is-current .mc-route__state { color: var(--mc-blue); }

.mc-soon__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 26px; }
.mc-soon__actions .mc-btn { min-width: 260px; justify-content: center; }

@media (max-width: 991.98px) {
    .mc-status__card { grid-template-columns: 56px minmax(0, 1fr); }
    .mc-status__icon { width: 56px; height: 56px; }
    .mc-status__state { grid-column: 2; }
}
@media (max-width: 767.98px) {
    .mc-soon { grid-template-columns: 1fr; }
    .mc-soon__panel { -webkit-mask: none; mask: none; padding: 26px 30px; border-radius: 0 0 var(--mc-radius) var(--mc-radius); }
    .mc-route__steps { grid-template-columns: 1fr; gap: 20px; }
    .mc-route__steps li { padding: 0 0 0 50px; }
    .mc-route__steps li::after { display: none; }
    .mc-route__dot { position: absolute; left: 0; top: 0; }
}
@media (max-width: 575.98px) {
    .mc-status__card { grid-template-columns: 1fr; padding: 20px; }
    .mc-status__state { grid-column: auto; }
    .mc-route { padding: 24px 20px; }
    .mc-soon__actions .mc-btn { min-width: 0; width: 100%; }
}

/* =========================================================
   Reportes
   ========================================================= */
.mc-page__grid--reports { grid-template-columns: minmax(0, 1fr) 280px; }
.mc-reports { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.mc-report {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--mc-border);
    box-shadow: 0 6px 18px rgba(15, 42, 107, .05);
    transition: transform .2s, box-shadow .2s;
}
.mc-report:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(15, 42, 107, .1); }
.mc-report__img { aspect-ratio: 16 / 9; overflow: hidden; }
.mc-report__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mc-report__body { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 18px 20px 20px; }
.mc-report__title { font-size: 19px; font-weight: 700; line-height: 1.3; color: var(--mc-navy); margin: 12px 0 8px; }
.mc-report__meta { font-size: 14px; color: var(--mc-stat-label); margin: 0 0 18px !important; }
.mc-report__meta i { color: var(--mc-blue); margin-right: 6px; }
.mc-report__btn { width: 100%; justify-content: center; margin-top: auto; }
.mc-report__btn--soon { background: #eef2f7; border-color: #eef2f7; color: #7a879b; }
.mc-report__btn--soon:hover { background: #e3e9f1; border-color: #e3e9f1; color: #5d6b80; }
.mc-badge--soon { background: #eef2f7; color: #6b778a; }

.mc-sidecard--info p { font-size: 14px; line-height: 1.5; color: var(--mc-text); margin: 0 0 8px; }
.mc-sidecard--info hr { border-color: #d3dfee; opacity: 1; margin: 16px 0; }
.mc-sidecard__bigicon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #dfecfc;
    color: var(--mc-blue);
    font-size: 28px;
    margin-bottom: 14px;
}

/* Modal próximamente */
.mc-soonmodal { padding: 30px 26px 30px; text-align: center; }
.mc-soonmodal__icon {
    display: inline-grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #e1edfd;
    color: var(--mc-blue);
    font-size: 28px;
    margin-bottom: 12px;
}
.mc-soonmodal__title { font-size: 22px; font-weight: 700; color: var(--mc-navy); margin: 0 0 4px; text-align: center !important; }
.mc-soonmodal__report { font-size: 15px; color: var(--mc-stat-label); margin: 0 0 20px; text-align: center !important; }

@media (max-width: 991.98px) {
    .mc-page__grid--reports { grid-template-columns: 1fr; }
    .mc-page__grid--reports .mc-page__aside { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .mc-reports { grid-template-columns: 1fr; }
}

/* =========================================================
   Galería
   ========================================================= */
.mc-gallerypage { padding-top: 26px; }
.mc-pagehero__title--album { font-size: clamp(26px, 3vw, 38px); }
.mc-album-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; font-size: 15px; color: var(--mc-text); }
.mc-album-meta i { color: var(--mc-blue); margin-right: 6px; }

/* Búsqueda y filtros */
.mc-gtools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 22px;
}
.mc-gsearch {
    flex: 1 1 360px;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 560px;
    padding: 0 18px;
    height: 50px;
    border-radius: 14px;
    border: 1px solid var(--mc-border);
    background: #fff;
    color: var(--mc-navy);
    margin: 0;
}
.mc-gsearch:focus-within { border-color: var(--mc-blue); box-shadow: 0 0 0 3px rgba(4, 103, 240, .12); }
.mc-gsearch input { flex: 1; border: 0; outline: none; background: transparent; font-size: 15px; color: var(--mc-navy); }
.mc-gchips {
    display: flex;
    gap: 6px;
    padding: 5px;
    border-radius: 14px;
    border: 1px solid var(--mc-border);
    background: #fff;
}
.mc-gchip {
    min-width: 110px;
    padding: 9px 18px;
    border: 0;
    border-radius: 10px;
    background: #eef4fc;
    color: var(--mc-navy);
    font-size: 14px;
    font-weight: 600;
    transition: background .2s, color .2s;
}
.mc-gchip:hover { background: #e1ecfb; }
.mc-gchip.is-active { background: var(--mc-navy); color: #fff; }

/* Carrusel destacado */
.mc-featured {
    position: relative;
    aspect-ratio: 16 / 6;
    border-radius: var(--mc-radius);
    overflow: hidden;
    background: var(--mc-navy);
}
.mc-featured__slide {
    position: absolute;
    inset: 0;
    display: block;
    color: #fff;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .7s ease, visibility .7s;
}
.mc-featured__slide.is-active { opacity: 1; visibility: visible; }
.mc-featured__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.04);
    transition: transform 7s ease;
}
.mc-featured__slide.is-active img { transform: scale(1); }
.mc-featured__slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 27, 85, 0) 45%, rgba(7, 27, 85, .82) 100%);
}
.mc-featured__info {
    position: absolute;
    z-index: 2;
    left: 30px;
    right: 110px;
    bottom: 26px;
}
.mc-featured__info strong { display: block; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.25; margin-bottom: 8px; }
.mc-featured__info > span { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 14.5px; opacity: .92; }
.mc-featured__info i { margin-right: 6px; }
.mc-featured__go {
    position: absolute;
    z-index: 2;
    right: 30px;
    bottom: 30px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.85);
    font-size: 17px;
    transition: background .2s, color .2s;
}
.mc-featured__slide:hover .mc-featured__go { background: #fff; color: var(--mc-navy); }
.mc-featured__count {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 18px;
    padding: 5px 14px;
    border-radius: 999px;
    background: rgba(7, 27, 85, .7);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}
.mc-featured__arrow {
    position: absolute;
    z-index: 3;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    color: var(--mc-navy);
    opacity: 0;
    transition: opacity .2s, background .2s;
}
.mc-featured:hover .mc-featured__arrow,
.mc-featured__arrow:focus-visible { opacity: 1; }
.mc-featured__arrow:hover { background: #fff; }
.mc-featured__arrow--prev { left: 16px; }
.mc-featured__arrow--next { right: 16px; }

/* Todos los eventos */
.mc-ghead { margin: 38px 0 18px; }
.mc-ghead .mc-inst__title { display: flex; align-items: baseline; flex-wrap: wrap; gap: 14px; margin: 0; }
.mc-ghead small { font-size: 14px; font-weight: 500; color: var(--mc-stat-label); }
.mc-albums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.mc-album {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--mc-border);
    text-decoration: none;
    transition: transform .2s, box-shadow .2s;
}
.mc-album[hidden] { display: none; }
.mc-album:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(15, 42, 107, .12); }
.mc-album__img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.mc-album__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.mc-album:hover .mc-album__img img { transform: scale(1.06); }
.mc-album__count {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(7, 27, 85, .75);
    color: #fff;
    font-size: 12.5px;
    font-weight: 700;
}
.mc-album__count i { margin-right: 4px; }
.mc-album__body { flex: 1; display: flex; flex-direction: column; padding: 16px 18px 18px; }
.mc-album__title { font-size: 16.5px; font-weight: 700; line-height: 1.35; color: var(--mc-navy); margin-bottom: 8px; }
.mc-album__place { font-size: 13.5px; color: var(--mc-stat-label); margin-bottom: 14px; }
.mc-album__place i { color: var(--mc-blue); margin-right: 6px; }
.mc-album__link { margin-top: auto; font-size: 14px; font-weight: 700; color: var(--mc-blue); }
.mc-album__link i { margin-left: 6px; transition: transform .2s; }
.mc-album:hover .mc-album__link i { transform: translateX(4px); }
.mc-gempty { padding: 40px 0; text-align: center !important; color: var(--mc-stat-label); }

/* Vista de álbum */
.mc-albumbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 22px;
}
.mc-albumbar__nav { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--mc-stat-label); }
.mc-masonry { column-count: 3; column-gap: 16px; }
.mc-masonry__item {
    display: block;
    width: 100%;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #e8eef6;
    break-inside: avoid;
    cursor: zoom-in;
}
.mc-masonry__item img { display: block; width: 100%; height: auto; transition: transform .4s, filter .4s; }
.mc-masonry__item:hover img { transform: scale(1.04); filter: brightness(1.05); }
.mc-masonry__item:focus-visible { outline: 3px solid var(--mc-blue-border); outline-offset: 3px; }

.mc-nextalbum {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 30px;
    padding: 14px 18px 14px 14px;
    border-radius: 22px;
    background: #f1f7fe;
    text-decoration: none;
    transition: box-shadow .2s;
}
.mc-nextalbum:hover { box-shadow: 0 12px 28px rgba(15, 42, 107, .1); }
.mc-nextalbum img { width: 120px; height: 76px; object-fit: cover; border-radius: 14px; flex: 0 0 auto; }
.mc-nextalbum__text { flex: 1; }
.mc-nextalbum__text small { display: block; font-size: 13px; color: var(--mc-stat-label); }
.mc-nextalbum__text strong { display: block; font-size: 17px; color: var(--mc-navy); }

/* Visor */
.mc-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 24px;
    background: rgba(6, 18, 52, .94);
}
.mc-lightbox[hidden] { display: none; }
.mc-lightbox__figure { margin: 0; max-width: min(1200px, 100%); text-align: center; }
.mc-lightbox__figure img {
    max-width: 100%;
    max-height: calc(100vh - 120px);
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0,0,0,.4);
}
.mc-lightbox__figure figcaption {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 4px 0;
    color: #dbe6f7;
    font-size: 14px;
}
.mc-lightbox__arrow,
.mc-lightbox__close {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 18px;
    transition: background .2s;
}
.mc-lightbox__arrow:hover,
.mc-lightbox__close:hover { background: rgba(255,255,255,.25); }
.mc-lightbox__close { position: absolute; top: 18px; right: 18px; }

@media (max-width: 991.98px) {
    .mc-albums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mc-masonry { column-count: 2; }
    .mc-featured { aspect-ratio: 16 / 8; }
    .mc-featured__arrow { opacity: 1; }
}
@media (max-width: 767.98px) {
    .mc-gsearch { max-width: none; }
    .mc-gchips { width: 100%; }
    .mc-gchip { flex: 1; min-width: 0; padding: 9px 8px; }
}
@media (max-width: 575.98px) {
    .mc-albums { grid-template-columns: 1fr; }
    .mc-masonry { column-count: 1; }
    .mc-featured { aspect-ratio: 4 / 3; }
    .mc-featured__info { left: 18px; right: 18px; bottom: 18px; }
    .mc-featured__go { display: none; }
    .mc-lightbox { padding: 12px; gap: 0; }
    .mc-lightbox__arrow { position: absolute; bottom: 20px; }
    .mc-lightbox__arrow--prev { left: 20px; }
    .mc-lightbox__arrow--next { right: 20px; }
    .mc-lightbox__figure img { max-height: calc(100vh - 170px); }
}
.mc-featured__info strong, .mc-nextalbum__text strong { font-weight: 700; }

/* =========================================================
   Resultados del componente 1 (página sin enlaces en el menú)
   ========================================================= */
.mc-method { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.mc-method__card { padding: 26px 24px; border-radius: 22px; background: #f1f7fe; }
.mc-method__icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #dfecfc;
    color: var(--mc-blue);
    font-size: 22px;
    margin-bottom: 14px;
}
.mc-method__title { font-size: 19px; font-weight: 700; color: var(--mc-navy); margin: 0 0 10px; }
.mc-method__card p { font-size: 15px; line-height: 1.6; color: var(--mc-text); margin: 0; }

.mc-findings { margin-top: 44px; scroll-margin-top: 20px; }
.mc-findings__head { margin-bottom: 18px; }
.mc-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.mc-chart {
    position: relative;
    margin: 0;
    padding: 18px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid var(--mc-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.mc-chart button {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    border-radius: 12px;
}
.mc-chart button:focus-visible { outline: 3px solid var(--mc-blue-border); outline-offset: 4px; }
.mc-chart img { display: block; width: 100%; max-height: 460px; object-fit: contain; transition: transform .3s; }
.mc-chart button:hover img { transform: scale(1.02); }
.mc-chart figcaption { position: absolute; top: 14px; left: 14px; }
.mc-flagtag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px 5px 8px;
    border-radius: 999px;
    background: #eef4fc;
    color: var(--mc-navy);
    font-size: 12.5px;
    font-weight: 700;
}
.mc-flagtag::before { content: ""; width: 18px; height: 12px; border-radius: 3px; }
.mc-flagtag--mx::before { background: linear-gradient(90deg, #006847 0 33.3%, #fff 33.3% 66.6%, #ce1126 66.6%); box-shadow: 0 0 0 1px #d8dee8; }
.mc-flagtag--cl::before { background: linear-gradient(180deg, transparent 0 50%, #d52b1e 50%), linear-gradient(90deg, #0039a6 0 38%, #fff 38%); box-shadow: 0 0 0 1px #d8dee8; }

@media (max-width: 991.98px) {
    .mc-method { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .mc-charts { grid-template-columns: 1fr; }
    .mc-chart figcaption { position: static; order: -1; align-self: flex-start; margin-bottom: 10px; }
}
.mc-chart figcaption { position: static; order: -1; align-self: flex-start; margin-bottom: 10px; }

/* =========================================================
   Nota: Reunión de cierre
   ========================================================= */
.mc-news__intro {
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: var(--mc-navy) !important;
    margin: 0 0 8px !important;
    padding-left: 18px;
    border-left: 4px solid var(--mc-blue);
}
.mc-news__block { margin-top: 36px; scroll-margin-top: 20px; }
.mc-news p { font-size: 16px; line-height: 1.65; color: var(--mc-text); margin: 0 0 14px; }
.mc-news__sub { font-size: 17px; font-weight: 700; color: var(--mc-blue); margin: 22px 0 10px; }
.mc-news__aside { position: sticky; top: 20px; }
.mc-news__album { margin-top: 0; }

.mc-people { display: grid; gap: 16px; }
.mc-people__group { padding: 20px 22px; border-radius: 20px; background: #f1f7fe; }
.mc-people__org { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 16.5px; font-weight: 700; color: var(--mc-navy); margin: 0 0 12px; }
.mc-people__group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.mc-people__group li {
    position: relative;
    padding-left: 22px;
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--mc-text);
}
.mc-people__group li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 8px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--mc-blue);
}

/* Puntos destacados de la discusión */
.mc-agreements { list-style: none; margin: 4px 0 20px; padding: 0; display: grid; gap: 10px; }
.mc-agreements li {
    position: relative;
    padding: 14px 18px 14px 52px;
    border-radius: 16px;
    background: #eef8f1;
    font-size: 15px;
    line-height: 1.55;
    color: var(--mc-navy);
}
.mc-agreements li::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 16px;
    top: 14px;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #0b7a2c;
    color: #fff;
    font-size: 11px;
}

/* =========================================================
   Convocatoria del diplomado
   ========================================================= */
.mc-conv__intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.mc-conv__intro p, .mc-conv p { font-size: 16px; line-height: 1.65; color: var(--mc-text); margin: 0 0 14px; }
.mc-conv__photo { border-radius: var(--mc-radius); overflow: hidden; aspect-ratio: 4 / 3; }
.mc-conv__photo img { width: 100%; height: 100%; object-fit: cover; }
.mc-conv__block { margin-top: 40px; }
.mc-conv__sub { font-size: 18px; font-weight: 700; color: var(--mc-navy); margin: 0 0 8px; }

.mc-highlights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.mc-highlight { padding: 18px; border-radius: 18px; background: #f1f7fe; }
.mc-highlight i { font-size: 22px; color: var(--mc-blue); margin-bottom: 10px; }
.mc-highlight strong { display: block; font-size: 17px; color: var(--mc-navy); font-weight: 700; }
.mc-highlight span { font-size: 13.5px; color: var(--mc-stat-label); }

.mc-schedule { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.mc-schedule > li {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 16px 20px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--mc-border);
}
.mc-schedule__tag {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 10px;
    background: var(--mc-navy);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}
.mc-schedule__tag--soft { background: #dfecfc; color: var(--mc-navy); }
.mc-schedule strong { display: block; font-size: 16px; color: var(--mc-navy); }
.mc-schedule small { font-size: 14px; color: var(--mc-stat-label); }
.mc-schedule ul { margin: 8px 0 0; padding-left: 18px; font-size: 14.5px; color: var(--mc-text); }

.mc-checklist { list-style: none; margin: 10px 0 18px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mc-checklist li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: #f1f7fe; font-size: 15px; color: var(--mc-navy); }
.mc-checklist i { color: var(--mc-blue); margin-top: 3px; }

.mc-steps-req { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 14px; counter-reset: req; }
.mc-steps-req > li {
    counter-increment: req;
    position: relative;
    padding: 20px 22px 20px 74px;
    border-radius: 20px;
    background: #f1f7fe;
}
.mc-steps-req > li::before {
    content: counter(req);
    position: absolute;
    left: 20px;
    top: 18px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--mc-navy);
    color: #fff;
    font-weight: 700;
}
.mc-steps-req p:last-child { margin-bottom: 0; }
.mc-download {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 6px;
    padding: 12px 18px 12px 12px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--mc-border);
    text-decoration: none;
    transition: box-shadow .2s;
}
.mc-download:hover { box-shadow: 0 10px 24px rgba(15, 42, 107, .1); }
.mc-download img { width: 46px; height: auto; }
.mc-download strong { display: block; color: var(--mc-navy); font-size: 15px; }
.mc-download small { color: var(--mc-stat-label); font-size: 13px; }

.mc-notice {
    display: flex;
    gap: 16px;
    margin-top: 26px;
    padding: 20px 22px;
    border-radius: 20px;
    background: #fff6e0;
    border: 1px solid #f3dca0;
    color: #6b4e00;
}
.mc-notice i { font-size: 22px; margin-top: 2px; color: #c48a00; }
.mc-notice p { color: #6b4e00 !important; font-size: 15px !important; margin: 0 0 6px !important; }

/* =========================================================
   Participación (confirmación / declinación)
   ========================================================= */
.mc-response { max-width: 760px; margin: 0 auto; padding: 36px 40px; border-radius: var(--mc-radius); background: #f1f7fe; text-align: center; }
.mc-response p { font-size: 16px; line-height: 1.65; color: var(--mc-text); text-align: center !important; margin: 0 0 14px; }
.mc-response__icon {
    display: inline-grid;
    place-items: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    font-size: 30px;
    margin-bottom: 16px;
}
.mc-response__icon--ok { background: #dcf5e3; color: #0b7a2c; }
.mc-response__icon--no { background: #fde6e6; color: #c62828; }
.mc-response__name { font-size: 20px !important; font-weight: 700; color: var(--mc-navy) !important; }
.mc-response textarea {
    width: 100%;
    min-height: 120px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid var(--mc-border);
    font-size: 15px;
    text-align: left;
}
.mc-response textarea:focus { outline: none; border-color: var(--mc-blue); box-shadow: 0 0 0 3px rgba(4, 103, 240, .12); }
.mc-response label { display: block; text-align: left; font-weight: 600; color: var(--mc-navy); margin-bottom: 8px; }
.mc-btn--success { background: #0b7a2c; border-color: #0b7a2c; color: #fff; }
.mc-btn--success:hover { background: #09652a; color: #fff; }
.mc-btn--danger { background: #c62828; border-color: #c62828; color: #fff; }
.mc-btn--danger:hover { background: #a82121; color: #fff; }

/* =========================================================
   Páginas administrativas (reportes con Kendo)
   ========================================================= */
.mc-admin { padding: 30px 0 60px; }
.mc-admin__card { padding: 26px 28px; border-radius: var(--mc-radius); background: #fff; border: 1px solid var(--mc-border); }
.mc-admin__filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0 20px; }
.mc-admin__filters .form-control,
.mc-admin__filters select { max-width: 280px; border-radius: 12px; border-color: var(--mc-border); }

@media (max-width: 991.98px) {
    .mc-news__aside { position: static; }
    .mc-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .mc-conv__intro { grid-template-columns: 1fr; }
    .mc-checklist { grid-template-columns: 1fr; }
    .mc-schedule > li { grid-template-columns: 1fr; gap: 8px; }
    .mc-response { padding: 28px 22px; }
}
@media (max-width: 575.98px) {
    .mc-highlights { grid-template-columns: 1fr 1fr; }
    .mc-steps-req > li { padding: 64px 18px 18px; }
}

/* Negritas consistentes en las páginas nuevas */
.mc-home strong, .mc-home b { font-weight: 700; }


/* =========================================================
   Componente 2 – Diplomado "Migración: Salud y Derechos en Movimiento"
   ========================================================= */
.mc-c2 { --c2-soft: #f1f7fe; --c2-line: #e3eaf4; }
.mc-c2-module--blue   { --tone: #1f4fc0; --tint: #eaf1fd; }
.mc-c2-module--teal   { --tone: #0e7f9c; --tint: #e5f5f8; }
.mc-c2-module--green  { --tone: #0b7a2c; --tint: #e7f6ec; }
.mc-c2-module--violet { --tone: #5b3fb8; --tint: #f0edfb; }

/* ---------- Banner con ilustración ---------- */
.mc-pagehero--c2 { min-height: 380px; }
.mc-pagehero--c2 .mc-pagehero__content { width: 52%; padding-bottom: 36px; }
.mc-pagehero--c2 .mc-pagehero__title span { display: block; color: var(--mc-blue); }
.mc-c2-eyebrow {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mc-eyebrow);
}
.mc-c2-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }

.mc-c2art {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 48%;
    animation: mc-fade .9s ease .2s both;
}
.mc-c2art::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 70% 30%, rgba(4, 103, 240, .16) 0, rgba(4, 103, 240, 0) 45%),
        radial-gradient(circle at 30% 85%, rgba(4, 179, 44, .12) 0, rgba(4, 179, 44, 0) 40%),
        radial-gradient(circle at 92% 88%, rgba(245, 20, 27, .1) 0, rgba(245, 20, 27, 0) 35%);
}
.mc-c2art__route { position: absolute; inset: 8% 4% 6% 2%; width: 94%; height: 86%; overflow: visible; }
.mc-c2art__route path {
    fill: none;
    stroke: #8fb6ee;
    stroke-width: 2;
    stroke-dasharray: 6 8;
    stroke-linecap: round;
    animation: mc-c2-dash 18s linear infinite;
}
@keyframes mc-c2-dash { to { stroke-dashoffset: -280; } }
.mc-c2art__pin {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px 6px 6px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(10, 38, 114, .14);
    font-size: 13px;
    font-weight: 700;
    color: var(--mc-navy);
}
.mc-c2art__pin .mc-c2-flag { width: 24px; height: 24px; }
.mc-c2art__pin::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 6px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(4, 103, 240, .45);
    animation: mc-c2-ping 2.4s ease-out infinite;
}
.mc-c2art__pin--mx { top: 9%; left: 4%; animation: mc-zoom-in .6s var(--mc-ease) .5s both; }
.mc-c2art__pin--cl { right: 4%; bottom: 7%; animation: mc-zoom-in .6s var(--mc-ease) .7s both; }
.mc-c2art__pin--cl::after { animation-delay: 1.2s; }
@keyframes mc-c2-ping { 0% { box-shadow: 0 0 0 0 rgba(4, 103, 240, .45); } 80%, 100% { box-shadow: 0 0 0 14px rgba(4, 103, 240, 0); } }

.mc-c2art__win {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    width: min(330px, 74%);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 50px rgba(10, 38, 114, .18);
    overflow: hidden;
    transform: translate(-50%, -50%);
    animation: mc-c2-win .9s var(--mc-ease) .3s both, mc-c2-float 7s ease-in-out 1.4s infinite;
}
@keyframes mc-c2-win { from { opacity: 0; transform: translate(-50%, -40%); } to { opacity: 1; transform: translate(-50%, -50%); } }
@keyframes mc-c2-float { 0%, 100% { transform: translate(-50%, -50%); } 50% { transform: translate(-50%, calc(-50% - 8px)); } }
.mc-c2art__bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: var(--mc-navy); }
.mc-c2art__bar > i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .35); }
.mc-c2art__bar > i:nth-child(1) { background: var(--mc-flag-red); }
.mc-c2art__bar > i:nth-child(2) { background: #f5b301; }
.mc-c2art__bar > i:nth-child(3) { background: var(--mc-flag-green); }
.mc-c2art__bar span { margin-left: 8px; font-size: 11.5px; font-weight: 600; color: #d4e2ff; }
.mc-c2art__bar span i { margin-right: 4px; }
.mc-c2art__body { padding: 16px 18px 18px; }
.mc-c2art__body > small { display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mc-eyebrow); }
.mc-c2art__body > strong { display: block; margin-bottom: 12px; font-size: 18px; line-height: 1.2; color: var(--mc-navy); }
.mc-c2art__body ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.mc-c2art__body li { display: grid; grid-template-columns: 26px 70px minmax(0, 1fr) 34px; gap: 8px; align-items: center; font-size: 12px; color: var(--mc-text); }
.mc-c2art__num { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--tint); color: var(--tone); font-weight: 700; }
.mc-c2art__name { font-weight: 600; color: var(--mc-navy); }
.mc-c2art__body b { text-align: right; color: var(--mc-navy); font-variant-numeric: tabular-nums; }
.mc-c2art__track { height: 7px; border-radius: 7px; background: #edf2f9; overflow: hidden; }
.mc-c2art__track span {
    display: block;
    width: var(--w);
    height: 100%;
    border-radius: inherit;
    background: var(--tone);
    transform-origin: left;
    animation: mc-draw .9s var(--mc-ease) both;
    animation-delay: calc(1s + var(--i) * .15s);
}
.mc-c2art__chip,
.mc-c2art__badge {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(10, 38, 114, .16);
    font-size: 12.5px;
    color: var(--mc-text);
}
.mc-c2art__chip { top: 14%; right: 3%; padding: 9px 14px 9px 10px; animation: mc-fade-left .8s var(--mc-ease) 1s both; }
.mc-c2art__chip b { font-size: 16px; color: var(--mc-navy); }
.mc-c2art__flags { display: inline-flex; }
.mc-c2art__flags .mc-c2-flag { width: 24px; height: 24px; box-shadow: 0 0 0 2px #fff; }
.mc-c2art__flags .mc-c2-flag + .mc-c2-flag { margin-left: -8px; }
.mc-c2art__badge { left: 3%; bottom: 5%; max-width: 230px; padding: 10px 14px 10px 10px; line-height: 1.3; animation: mc-fade-right .8s var(--mc-ease) 1.2s both; }
.mc-c2art__badge b { display: block; font-size: 13px; color: var(--mc-navy); }
.mc-c2art__badgeicon { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 12px; background: linear-gradient(135deg, var(--mc-blue), var(--mc-navy)); color: #fff; font-size: 16px; }

/* ---------- Índice de secciones ---------- */
.mc-c2nav {
    position: sticky;
    top: var(--mc-header-h, 0px);
    z-index: 15;
    margin-top: 18px;
    background: rgba(251, 253, 255, .92);
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--c2-line);
}
.mc-c2nav__list { display: flex; gap: 4px; list-style: none; margin: 0; padding: 10px 0; overflow-x: auto; scrollbar-width: none; }
.mc-c2nav__list::-webkit-scrollbar { display: none; }
.mc-c2nav__list a {
    display: block;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    color: var(--mc-text);
    text-decoration: none;
    transition: background .2s, color .2s;
}
.mc-c2nav__list a:hover { color: var(--mc-blue); background: var(--mc-blue-soft); }
.mc-c2nav__list a.is-active { background: var(--mc-navy); color: #fff; }

/* ---------- Estructura general ---------- */
.mc-c2-page { padding-top: 28px; }
.mc-c2-page p { font-size: 16px; line-height: 1.62; color: var(--mc-text); }
.mc-c2-page a:not(.mc-btn):not(.mc-nextalbum) { color: var(--mc-blue); font-weight: 600; }
.mc-c2-sec { scroll-margin-top: calc(var(--mc-header-h, 0px) + 70px); margin-top: 72px; }
.mc-c2-head { max-width: 860px; margin-bottom: 26px; }
.mc-c2-head .mc-inst__title { margin-bottom: 12px; }
.mc-c2-head .mc-sec-lead { font-weight: 500; font-size: 16.5px; line-height: 1.6; color: var(--mc-text); }
.mc-c2-head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; max-width: none; }
.mc-c2-secnum {
    display: block;
    margin-bottom: 4px;
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
    color: #d3e2f6;
}
.mc-c2-secnum--light { color: rgba(255, 255, 255, .16); }
.mc-c2-h3 { margin: 36px 0 16px; font-size: 20px; font-weight: 700; color: var(--mc-navy); }
.mc-c2-kicker { margin: 0 0 14px !important; font-size: 18px !important; font-weight: 700; color: var(--mc-stats-title) !important; }

.mc-c2-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 26px 28px 28px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--c2-line);
    box-shadow: 0 10px 30px rgba(15, 42, 107, .05);
    transition: transform .3s var(--mc-ease), box-shadow .3s;
}
.mc-c2-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(15, 42, 107, .1); }
.mc-c2-card p { margin: 0 0 14px; }
.mc-c2-card__title { margin: 0 0 14px; font-size: 20px; font-weight: 700; line-height: 1.25; color: var(--mc-navy); }
.mc-c2-card__icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 16px; border-radius: 16px; background: var(--mc-blue-soft); color: var(--mc-icon); font-size: 22px; }
.mc-c2-card--navy { background: linear-gradient(150deg, #0b2f8a 0%, var(--mc-navy) 60%, #071b55 100%); border-color: transparent; }
.mc-c2-card--navy .mc-c2-card__title { color: #fff; }
.mc-c2-card--navy p { color: #d4e2ff; }
.mc-c2-card--navy b { color: #fff; }
.mc-c2-card--navy .mc-c2-card__icon { background: rgba(255, 255, 255, .12); color: #9cc3ff; }
.mc-c2-card--navy::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 160px;
    height: 6px;
    border-radius: 6px 0 0 0;
    background: linear-gradient(90deg, var(--mc-flag-green) 0 25%, var(--mc-flag-lightblue) 25% 50%, var(--mc-flag-navy) 50% 75%, var(--mc-flag-red) 75%);
}

/* ---------- Cifras clave ---------- */
.mc-c2-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 22px 10px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--c2-line);
    box-shadow: 0 10px 30px rgba(15, 42, 107, .05);
}
.mc-c2-kpis li { display: flex; align-items: center; gap: 14px; padding: 4px 18px; min-width: 0; }
.mc-c2-kpis li + li { border-left: 1px solid var(--c2-line); }
.mc-c2-kpis strong { display: block; font-size: 30px; line-height: 1; font-weight: 700; color: var(--mc-stats-title); font-variant-numeric: tabular-nums; }
.mc-c2-kpis div > span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.3; color: var(--mc-stat-label); }
.mc-c2-stats__icon { display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; background: #e3effd; color: var(--mc-icon); font-size: 19px; }

/* Banderas circulares */
.mc-c2-flag { display: inline-block; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; box-shadow: 0 0 0 1px #d8dee8, 0 4px 10px rgba(15, 42, 107, .1); }
.mc-c2-flag--mx { background: linear-gradient(90deg, #006847 0 33.3%, #fff 33.3% 66.6%, #ce1126 66.6%); }
.mc-c2-flag--cl { background: linear-gradient(180deg, transparent 0 50%, #d52b1e 50%), linear-gradient(90deg, #0039a6 0 45%, #fff 45%); }

/* ---------- 1. El diplomado ---------- */
.mc-c2-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.mc-c2-intro__text p:not(.mc-c2-kicker) { margin: 0 0 14px; }
.mc-c2-goal {
    position: relative;
    padding: 30px 30px 28px;
    border-radius: 28px;
    background: linear-gradient(150deg, #0b2f8a 0%, var(--mc-navy) 60%, #071b55 100%);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 24px 50px rgba(10, 38, 114, .22);
}
.mc-c2-goal::before {
    content: "";
    position: absolute;
    right: -70px;
    top: -70px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 34px solid rgba(255, 255, 255, .05);
}
.mc-c2-goal__icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 14px; border-radius: 16px; background: rgba(255, 255, 255, .12); color: #9cc3ff; font-size: 22px; }
.mc-c2-goal__title { margin: 0 0 10px; font-size: 22px; font-weight: 700; color: #fff; }
.mc-c2-goal p { margin: 0 0 18px; font-size: 15.5px !important; color: #d4e2ff !important; }
.mc-c2-goal__tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.mc-c2-goal__tags li { padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); font-size: 12.5px; font-weight: 600; }

.mc-c2-skills { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.mc-c2-skills li {
    position: relative;
    padding: 24px 24px 22px;
    border-radius: 22px;
    background: var(--c2-soft);
    overflow: hidden;
    transition: background .3s, transform .3s var(--mc-ease), box-shadow .3s;
}
.mc-c2-skills li:hover { background: #fff; transform: translateY(-4px); box-shadow: 0 16px 34px rgba(15, 42, 107, .1); }
.mc-c2-skills__icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 14px; border-radius: 50%; background: #fff; color: var(--mc-icon); font-size: 20px; box-shadow: 0 6px 16px rgba(15, 42, 107, .08); transition: background .3s, color .3s; }
.mc-c2-skills li:hover .mc-c2-skills__icon { background: var(--mc-blue); color: #fff; }
.mc-c2-skills__num { position: absolute; right: 18px; top: 12px; font-size: 44px; font-weight: 800; line-height: 1; color: rgba(10, 38, 114, .07); }
.mc-c2-skills p { margin: 0 !important; font-size: 15px !important; font-weight: 500; color: var(--mc-navy) !important; }

.mc-c2-audience {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 32px;
    align-items: center;
    margin-top: 24px;
    padding: 26px 30px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--c2-line);
    border-left: 5px solid var(--mc-flag-green);
}
.mc-c2-audience .mc-c2-h3 { margin-top: 0; margin-bottom: 8px; }
.mc-c2-audience p { margin: 0; }
.mc-c2-audience__list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.mc-c2-audience__list li { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 14px; background: var(--c2-soft); font-size: 14.5px; font-weight: 600; color: var(--mc-navy); }
.mc-c2-audience__list i { width: 22px; text-align: center; color: var(--mc-icon); }

/* ---------- 2. Ruta de formación ---------- */
.mc-c2-path { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; list-style: none; margin: 0; padding: 0; }
.mc-c2-path::before,
.mc-c2-path::after {
    content: "";
    position: absolute;
    top: 33px;
    left: 10%;
    right: 10%;
    height: 3px;
    border-radius: 3px;
    background: #dbe6f5;
}
.mc-c2-path::after {
    background: linear-gradient(90deg, var(--mc-flag-green), var(--mc-flag-lightblue), var(--mc-blue), var(--mc-flag-navy), var(--mc-flag-red));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 1.6s var(--mc-ease) .2s;
}
.mc-c2-path.is-drawn::after { transform: scaleX(1); }
.mc-c2-path__step { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; }
.mc-c2-path__dot {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #fff;
    color: var(--mc-icon);
    font-size: 24px;
    box-shadow: 0 0 0 6px var(--mc-bg), 0 10px 24px rgba(15, 42, 107, .12);
    transition: background .3s, color .3s, transform .3s var(--mc-ease);
}
.mc-c2-path.is-drawn .mc-c2-path__dot { animation: mc-c2-pop .5s var(--mc-ease) both; animation-delay: calc(.25s + var(--i) * .3s); }
@keyframes mc-c2-pop { 0% { transform: scale(1); } 50% { transform: scale(1.14); background: var(--mc-blue); color: #fff; } 100% { transform: scale(1); } }
.mc-c2-path__step:hover .mc-c2-path__dot { background: var(--mc-blue); color: #fff; transform: translateY(-4px); }
.mc-c2-path__step:last-child .mc-c2-path__dot { background: linear-gradient(135deg, var(--mc-blue), var(--mc-navy)); color: #fff; }
.mc-c2-path__title { margin: 0 0 8px; font-size: 17px; font-weight: 700; color: var(--mc-navy); }
.mc-c2-path__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; list-style: none; margin: 0 0 10px; padding: 0; }
.mc-c2-path__chips li { padding: 4px 10px; border-radius: 999px; background: var(--mc-blue-soft); font-size: 12px; font-weight: 600; color: var(--mc-blue-text); }
.mc-c2-path__step p { margin: 0 !important; font-size: 14px !important; line-height: 1.5 !important; text-align: center !important; }

.mc-c2-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 40px; }
.mc-c2-pills { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: auto 0 0; padding: 0; }
.mc-c2-pills li { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; background: var(--c2-soft); font-size: 12.5px; font-weight: 600; color: var(--mc-navy); }
.mc-c2-pills i { color: var(--mc-icon); }

/* ---------- Estructura modular (pestañas) ---------- */
.mc-c2-mods { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; align-items: start; }
.mc-c2-mods__tabs { display: grid; gap: 10px; }
.mc-c2-mods__tab {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--c2-line);
    border-radius: 18px;
    background: #fff;
    text-align: left;
    font-family: var(--mc-font);
    transition: background .25s, border-color .25s, box-shadow .25s, transform .25s var(--mc-ease);
}
.mc-c2-mods__tab:hover { transform: translateX(4px); border-color: rgba(15, 42, 107, .14); }
.mc-c2-mods__tab:focus-visible { outline: 2px solid var(--mc-blue-border); outline-offset: 3px; }
.mc-c2-mods__tab[aria-selected="true"] { background: var(--tint); border-color: transparent; box-shadow: inset 4px 0 0 var(--tone), 0 12px 26px rgba(15, 42, 107, .08); transform: none; }
.mc-c2-mods__num { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--tint); color: var(--tone); font-size: 20px; font-weight: 800; transition: background .25s, color .25s; }
.mc-c2-mods__tab[aria-selected="true"] .mc-c2-mods__num { background: var(--tone); color: #fff; }
.mc-c2-mods__label small { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tone); }
.mc-c2-mods__label strong { display: block; margin: 2px 0 8px; font-size: 14.5px; line-height: 1.3; color: var(--mc-navy); }
.mc-c2-mods__meter { display: block; height: 5px; border-radius: 5px; background: #e8eef7; overflow: hidden; }
.mc-c2-mods__meter span { display: block; width: var(--w); height: 100%; border-radius: inherit; background: var(--tone); opacity: .75; }
.mc-c2-mods__hours { font-size: 13px; font-weight: 700; color: var(--mc-stat-label); font-variant-numeric: tabular-nums; }

.mc-c2-mods__panel {
    padding: 30px 32px 26px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--c2-line);
    border-top: 5px solid var(--tone);
    box-shadow: 0 16px 40px rgba(15, 42, 107, .08);
    animation: mc-fade-up .5s var(--mc-ease) both;
}
.mc-c2-mods__panel:focus-visible { outline: 2px solid var(--mc-blue-border); outline-offset: 3px; }
.mc-c2-mods__head { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.mc-c2-mods__icon { display: grid; place-items: center; flex: 0 0 auto; width: 56px; height: 56px; border-radius: 18px; background: var(--tint); color: var(--tone); font-size: 24px; }
.mc-c2-mods__kicker { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tone); }
.mc-c2-mods__head h3 { margin: 2px 0 0; font-size: 22px; font-weight: 700; line-height: 1.25; color: var(--mc-navy); }
.mc-c2-mods__panel p { margin: 0 0 12px; }
.mc-c2-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; list-style: none; margin: 0 0 8px; padding: 0; }
.mc-c2-checks li { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--c2-soft); font-size: 14.5px; line-height: 1.4; color: var(--mc-navy); }
.mc-c2-checks i { margin-top: 2px; color: var(--tone, var(--mc-blue)); }
.mc-c2-options { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 4px 0 8px; }
.mc-c2-options article { padding: 18px 18px 16px; border-radius: 18px; background: var(--tint); }
.mc-c2-options__tag { display: inline-flex; align-items: center; gap: 7px; padding: 4px 12px; border-radius: 999px; background: #fff; font-size: 12.5px; font-weight: 700; color: var(--tone); }
.mc-c2-options h4 { margin: 12px 0 8px; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--mc-navy); }
.mc-c2-options p { margin: 0 !important; font-size: 14.5px !important; line-height: 1.55 !important; }
.mc-c2-mods__time { display: flex; align-items: center; gap: 10px; margin: 18px 0 0 !important; padding-top: 16px; border-top: 1px solid var(--c2-line); color: var(--mc-navy) !important; }
.mc-c2-mods__time i { color: var(--tone); }

/* ---------- 3. Participantes ---------- */
.mc-c2-people { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 20px; align-items: stretch; }
.mc-c2-binational { background: linear-gradient(170deg, #eef7fe 0%, #e5f1fc 100%); border-color: transparent; overflow: hidden; }
.mc-c2-binational > p:last-of-type { margin: auto 0 0; }
.mc-c2-binational__globe { position: absolute; right: -40px; bottom: -50px; font-size: 220px; line-height: 1; color: rgba(4, 103, 240, .06); pointer-events: none; }
.mc-c2-binational > :not(.mc-c2-binational__globe) { position: relative; }
.mc-c2-binational__lead { font-size: 18px !important; color: var(--mc-navy) !important; }
.mc-c2-stack { display: flex; gap: 4px; height: 14px; margin: 6px 0 18px; border-radius: 10px; overflow: hidden; }
.mc-c2-stack span { border-radius: 10px; transform-origin: left; }
.mc-c2-stack__mx { background: var(--mc-flag-green); }
.mc-c2-stack__cl { background: var(--mc-flag-navy); }
.mc-js [data-mc-reveal]:not(.is-in) .mc-c2-stack span { transform: scaleX(0); }
[data-mc-reveal].is-in .mc-c2-stack span { transition: transform 1.2s var(--mc-ease) .3s; }
.mc-c2-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.mc-c2-split > div { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; padding: 14px; border-radius: 18px; background: #fff; }
.mc-c2-split .mc-c2-flag { grid-row: span 3; width: 40px; height: 40px; }
.mc-c2-split strong { font-size: 28px; line-height: 1; color: var(--mc-navy); font-variant-numeric: tabular-nums; }
.mc-c2-split small { font-size: 12.5px; color: var(--mc-stat-label); }
.mc-c2-split small:first-of-type { font-weight: 700; color: var(--mc-navy); }

.mc-c2-disc { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 4px 0 18px; }
.mc-c2-disc__head { margin: 0 0 8px !important; }
.mc-c2-disc__intro { margin: 0 0 12px !important; font-size: 14px !important; line-height: 1.45 !important; }
.mc-c2-tags { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin: 0; padding: 0; }
.mc-c2-tags li { padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; transition: transform .2s, background .2s, color .2s; }
.mc-c2-tags--mx li { background: #e7f6ec; color: #0b5e24; }
.mc-c2-tags--cl li { background: #e8eefb; color: var(--mc-flag-navy); }
.mc-c2-tags li:hover { transform: translateY(-2px); }
.mc-c2-tags--mx li:hover { background: #0b7a2c; color: #fff; }
.mc-c2-tags--cl li:hover { background: var(--mc-flag-navy); color: #fff; }
.mc-c2-tags .mc-c2-tags__more { background: none !important; color: var(--mc-stat-label) !important; font-style: italic; font-weight: 500; transform: none !important; }
.mc-c2-note { display: flex; gap: 12px; align-items: flex-start; margin: auto 0 0 !important; padding: 14px 16px; border-radius: 16px; background: var(--c2-soft); font-size: 15px !important; font-weight: 600; color: var(--mc-navy) !important; }
.mc-c2-note i { margin-top: 4px; color: var(--mc-icon); }

/* ---------- 4. Resultados ---------- */
.mc-c2-results {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) 180px minmax(0, 1fr);
    gap: 36px;
    align-items: center;
    padding: 34px 36px 30px;
    border-radius: 28px;
    background: linear-gradient(150deg, #0b2f8a 0%, var(--mc-navy) 55%, #071b55 100%);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 24px 50px rgba(10, 38, 114, .22);
}
.mc-c2-results::before {
    content: "";
    position: absolute;
    left: -90px;
    bottom: -120px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    border: 44px solid rgba(255, 255, 255, .04);
}
.mc-c2-results > * { position: relative; }
.mc-c2-results p { margin: 0; color: #d4e2ff; }
.mc-c2-results b { color: #fff; }
.mc-c2-results__big { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 12px !important; }
.mc-c2-results__big strong { font-size: clamp(54px, 6vw, 76px); line-height: .95; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
.mc-c2-results__big span { max-width: 200px; font-size: 17px; font-weight: 700; line-height: 1.3; color: #fff; }
.mc-c2-results__foot { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 15.5px !important; }

.mc-c2-donut { position: relative; margin: 0; text-align: center; }
.mc-c2-donut svg { display: block; width: 170px; height: 170px; margin: 0 auto; transform: rotate(-90deg); }
.mc-c2-donut circle { fill: none; stroke-width: 11; }
.mc-c2-donut__track { stroke: rgba(255, 255, 255, .14); }
.mc-c2-donut__bar { stroke: #5fa8ff; stroke-linecap: round; stroke-dasharray: var(--p) 100; transition: stroke-dasharray 1.6s var(--mc-ease) .3s; }
@media (prefers-reduced-motion: no-preference) { .mc-js [data-mc-reveal]:not(.is-in) .mc-c2-donut__bar { stroke-dasharray: 0 100; } }
.mc-c2-donut strong { position: absolute; top: 85px; left: 0; right: 0; transform: translateY(-50%); font-size: 34px; line-height: 1; color: #fff; }
.mc-c2-donut figcaption { margin-top: 10px; font-size: 13px; line-height: 1.3; color: #d4e2ff; }

.mc-c2-gender { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mc-c2-gender > div { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; padding: 14px; border-radius: 18px; background: rgba(255, 255, 255, .08); }
.mc-c2-gender i { grid-row: span 2; font-size: 28px; color: #9cc3ff; }
.mc-c2-gender > div + div i { color: #7fe0a0; }
.mc-c2-gender strong { font-size: 28px; line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.mc-c2-gender small { font-size: 13px; color: #d4e2ff; }
.mc-c2-genderbar { display: flex; gap: 4px; height: 10px; margin-top: 14px; border-radius: 10px; overflow: hidden; }
.mc-c2-genderbar span { border-radius: 10px; background: #5fa8ff; transform-origin: left; }
.mc-c2-genderbar span + span { background: #7fe0a0; }
.mc-js [data-mc-reveal]:not(.is-in) .mc-c2-genderbar span { transform: scaleX(0); }
[data-mc-reveal].is-in .mc-c2-genderbar span { transition: transform 1.2s var(--mc-ease) .5s; }

.mc-c2-countries { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.mc-c2-country { padding: 22px 26px 24px; border-radius: 24px; background: #fff; border: 1px solid var(--c2-line); box-shadow: 0 10px 30px rgba(15, 42, 107, .05); }
.mc-c2-country header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.mc-c2-country header .mc-c2-flag { width: 36px; height: 36px; }
.mc-c2-country h4 { margin: 0; font-size: 20px; font-weight: 700; color: var(--mc-navy); }
.mc-c2-country dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.mc-c2-country dl > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; padding: 0 14px; }
.mc-c2-country dl > div:first-child { padding-left: 0; }
.mc-c2-country dl > div + div { border-left: 1px solid var(--c2-line); }
.mc-c2-country dd { margin: 0 0 4px; font-size: 30px; font-weight: 700; line-height: 1; color: var(--mc-stats-title); font-variant-numeric: tabular-nums; }
.mc-c2-country dt { font-size: 13px; font-weight: 500; line-height: 1.3; color: var(--mc-stat-label); }
.mc-c2-meter { display: block; height: 8px; margin-top: 18px; border-radius: 8px; background: #e6eef8; overflow: hidden; }
.mc-c2-meter span { display: block; width: var(--p); height: 100%; border-radius: inherit; background: var(--mc-flag-green); transition: width 1.3s var(--mc-ease) .3s; }
.mc-c2-country--cl .mc-c2-meter span { background: var(--mc-flag-navy); }
@media (prefers-reduced-motion: no-preference) { .mc-js [data-mc-reveal]:not(.is-in) .mc-c2-meter span { width: 0; } }

/* ---------- 5. La experiencia ---------- */
.mc-c2-next {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    gap: 40px;
    padding: 40px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 0% 100%, rgba(4, 179, 44, .18) 0, rgba(4, 179, 44, 0) 40%),
        radial-gradient(circle at 100% 0%, rgba(45, 149, 219, .22) 0, rgba(45, 149, 219, 0) 45%),
        linear-gradient(150deg, #0b2f8a 0%, var(--mc-navy) 60%, #071b55 100%);
}
.mc-c2-next__intro { align-self: start; position: sticky; top: calc(var(--mc-header-h, 0px) + 80px); }
.mc-c2-next__eyebrow { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9cc3ff; }
.mc-c2-next__title { margin: 0 0 16px; font-size: clamp(26px, 2.6vw, 34px); font-weight: 700; line-height: 1.15; color: #fff; }
.mc-c2-next__intro p { margin: 0 0 10px; color: #d4e2ff; }
.mc-c2-next__list { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; counter-reset: next; }
.mc-c2-next__list li {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
    transition: background .3s, transform .3s var(--mc-ease);
}
.mc-c2-next__list li:hover { background: rgba(255, 255, 255, .13); transform: translateX(6px); }
.mc-c2-next__icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: #fff; color: var(--mc-icon); font-size: 21px; }
.mc-c2-next__list h3 { margin: 0 0 4px; font-size: 17px; font-weight: 700; color: #fff; }
.mc-c2-next__list p { margin: 0 !important; font-size: 14.5px !important; line-height: 1.5 !important; color: #d4e2ff !important; }

/* ---------- 6. Voces ---------- */
.mc-c2-voices {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 40px) / 3);
    gap: 20px;
    padding: 6px 2px 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.mc-c2-voices::-webkit-scrollbar { display: none; }
.mc-c2-voices:focus-visible { outline: 2px solid var(--mc-blue-border); outline-offset: 4px; border-radius: 20px; }
.mc-c2-voice {
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 26px 24px 22px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid var(--c2-line);
    box-shadow: 0 10px 26px rgba(15, 42, 107, .05);
    scroll-snap-align: start;
    transition: transform .3s var(--mc-ease), box-shadow .3s;
}
.mc-c2-voice:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(15, 42, 107, .1); }
.mc-c2-voice__mark { font-size: 28px; color: #c9dcf6; margin-bottom: 12px; }
.mc-c2-voice blockquote { flex: 1; margin: 0 0 20px; font-size: 15.5px; line-height: 1.6; font-style: italic; color: var(--mc-navy); }
.mc-c2-voice figcaption { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--c2-line); }
.mc-c2-voice figcaption strong { font-size: 14px; color: var(--mc-navy); }
.mc-c2-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, var(--mc-blue), var(--mc-navy)); color: #fff; font-size: 14px; font-weight: 700; }
.mc-c2-dotsnav { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.mc-c2-dotsnav span { width: 8px; height: 8px; border-radius: 8px; background: #c9d8ee; cursor: pointer; transition: width .3s, background .3s; }
.mc-c2-dotsnav span.is-on { width: 26px; background: var(--mc-blue); }

/* ---------- Navegación entre componentes ---------- */
.mc-c2-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 64px; }
.mc-c2-pager .mc-nextalbum { margin-top: 0; padding: 16px 20px; }
.mc-c2-pager__next { justify-content: flex-end; text-align: right; }
.mc-c2-pager__icon { display: grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--mc-blue-border); color: var(--mc-blue); transition: background .2s, color .2s; }
.mc-c2-pager .mc-nextalbum:hover .mc-c2-pager__icon { background: var(--mc-blue); border-color: var(--mc-blue); color: #fff; }

@media (prefers-reduced-motion: reduce) {
    .mc-c2art__route path, .mc-c2art__pin::after, .mc-c2art__win { animation: none; }
    .mc-c2-path::after { transition: none; transform: scaleX(1); }
    .mc-c2-donut__bar, .mc-c2-meter span { transition: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
    .mc-c2-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 20px; }
    .mc-c2-kpis li:nth-child(4) { border-left: 0; }
    .mc-c2-results { grid-template-columns: minmax(0, 1fr) 180px; }
    .mc-c2-results__gender { grid-column: 1 / -1; }
    .mc-c2-voices { grid-auto-columns: calc((100% - 20px) / 2); }
}
@media (max-width: 991.98px) {
    .mc-pagehero--c2 .mc-pagehero__content { width: 55%; }
    .mc-c2art { width: 45%; }
    .mc-c2art__chip, .mc-c2art__badge { display: none; }
    .mc-c2-intro, .mc-c2-people, .mc-c2-mods, .mc-c2-next { grid-template-columns: 1fr; }
    .mc-c2-intro { gap: 28px; }
    .mc-c2-next { gap: 24px; padding: 30px 24px; }
    .mc-c2-next__intro { position: static; }
    .mc-c2-skills { grid-template-columns: 1fr; }
    .mc-c2-audience { grid-template-columns: 1fr; gap: 18px; }
    .mc-c2-path { grid-template-columns: 1fr; gap: 0; }
    .mc-c2-path::before, .mc-c2-path::after { top: 34px; bottom: 34px; left: 33px; right: auto; width: 3px; height: auto; }
    .mc-c2-path::after { transform: scaleY(0); transform-origin: top; background: linear-gradient(180deg, var(--mc-flag-green), var(--mc-flag-lightblue), var(--mc-blue), var(--mc-flag-navy), var(--mc-flag-red)); }
    .mc-c2-path.is-drawn::after { transform: scaleY(1); }
    .mc-c2-path__step { display: grid; grid-template-columns: 68px minmax(0, 1fr); column-gap: 18px; align-items: start; padding-bottom: 22px; text-align: left; }
    .mc-c2-path__dot { grid-row: span 3; margin: 0; }
    .mc-c2-path__title { margin-top: 8px; }
    .mc-c2-path__chips { justify-content: flex-start; }
    .mc-c2-path__step p { text-align: left !important; }
    .mc-c2-mods__tabs { display: flex; gap: 10px; overflow-x: auto; padding: 4px 2px 8px; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .mc-c2-mods__tabs::-webkit-scrollbar { display: none; }
    .mc-c2-mods__tab { flex: 0 0 260px; scroll-snap-align: start; }
    .mc-c2-mods__tab:hover { transform: none; }
}
@media (max-width: 767.98px) {
    .mc-pagehero--c2 { min-height: 0; }
    .mc-pagehero--c2 .mc-pagehero__content { width: 100%; padding-bottom: 10px; }
    .mc-c2art { position: relative; width: auto; height: 340px; margin: 0 12px 16px; }
    .mc-c2art__pin { display: none; }
    .mc-c2art__chip, .mc-c2art__badge { display: inline-flex; }
    .mc-c2art__chip { top: 0; left: 2%; right: auto; }
    .mc-c2art__badge { bottom: 0; left: auto; right: 2%; }
    .mc-c2-pair, .mc-c2-countries, .mc-c2-disc { grid-template-columns: 1fr; }
    .mc-c2-results { grid-template-columns: 1fr; padding: 28px 22px 24px; gap: 26px; }
    .mc-c2-pager { grid-template-columns: 1fr; }
    .mc-c2-voices { grid-auto-columns: 88%; }
    .mc-c2-secnum { font-size: 40px; }
}
@media (max-width: 575.98px) {
    .mc-c2-sec { margin-top: 56px; }
    .mc-c2-kpis { grid-template-columns: 1fr 1fr; padding: 18px 6px; }
    .mc-c2-kpis li { flex-direction: column; align-items: flex-start; gap: 10px; padding: 4px 14px; border-left: 0 !important; }
    .mc-c2-kpis li:last-child { grid-column: 1 / -1; flex-direction: row; align-items: center; }
    .mc-c2-card, .mc-c2-goal, .mc-c2-mods__panel, .mc-c2-country, .mc-c2-audience { padding: 22px 20px; }
    .mc-c2-checks, .mc-c2-options, .mc-c2-split { grid-template-columns: 1fr; }
    .mc-c2-mods__head h3 { font-size: 19px; }
    .mc-c2-country dl > div { padding: 0 8px; }
    .mc-c2-country dd { font-size: 24px; }
    .mc-c2art { height: 330px; margin: 0 4px 14px; }
    .mc-c2art__win { width: 82%; }
    .mc-c2art__body li { grid-template-columns: 24px 62px minmax(0, 1fr) 32px; }
    .mc-c2art__badge { max-width: 200px; }
    .mc-c2-next { padding: 26px 18px; }
    .mc-c2-next__list li { grid-template-columns: 1fr; gap: 12px; padding: 18px; align-items: start; }
    .mc-c2-next__list li:hover { transform: none; }
    .mc-c2-next__icon { width: 46px; height: 46px; font-size: 18px; border-radius: 14px; }
}


/* =========================================================
   Componente 3 – "Del proyecto al conocimiento" (próximamente)
   Banner oficial en escritorio; versión HTML con el mismo estilo en móvil
   ========================================================= */
.mc-c3 { --c3-pill: #f2475a; --c3-title: #0b2a78; }
.mc-c3-crumbs .mc-breadcrumb { margin: 4px 0 14px; animation: mc-fade-down .6s var(--mc-ease) both; }

/* Banner */
.mc-c3-banner {
    position: relative;
    border-radius: var(--mc-radius);
    overflow: hidden;
    background: linear-gradient(100deg, #f4f9fe 0%, #e8f2fc 45%, #dbe9f7 100%);
    box-shadow: 0 18px 40px rgba(10, 38, 114, .1);
    animation: mc-zoom-in .8s var(--mc-ease) .1s both;
}
.mc-c3-banner__img { display: block; width: 100%; height: auto; }
/* Destello que recorre el banner al cargar */
.mc-c3-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(255, 255, 255, 0) 35%, rgba(255, 255, 255, .45) 50%, rgba(255, 255, 255, 0) 65%);
    transform: translateX(-110%);
    animation: mc-c3-shine 1.6s ease-in-out .9s both;
    pointer-events: none;
}
@keyframes mc-c3-shine { to { transform: translateX(110%); } }
/* En escritorio el texto existe para lectores de pantalla y buscadores; la imagen lo muestra */
.mc-c3-banner__text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
.mc-c3-banner__cards, .mc-c3-banner__photo { display: none; }

/* Tarjeta tipo banner: icono en degradado azul y píldora roja sobre el borde */
.mc-c3-tile {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    padding: 18px 10px 26px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 10px 24px rgba(10, 38, 114, .08);
}
.mc-c3-tile > i {
    font-size: 40px;
    background: linear-gradient(160deg, #3a8bff 0%, #0b46c9 55%, var(--c3-title) 100%);
    -webkit-background-clip: text;
            background-clip: text;
    color: transparent;
}
.mc-c3-tile .mc-c3-soon { position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 50%); white-space: nowrap; }
.mc-c3-soon {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 16px;
    border-radius: 999px;
    background: var(--c3-pill);
    box-shadow: 0 6px 14px rgba(242, 71, 90, .3);
    color: #fff;
    font-size: 12.5px;
    font-weight: 700;
    font-style: italic;
}

/* Secciones */
.mc-c3-sec { margin-top: 56px; }
.mc-c3-sec:first-child { margin-top: 8px; }
.mc-c3-products { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.mc-c3-product {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 30px 30px 26px;
    border-radius: 24px;
    background: linear-gradient(170deg, #f4f9fe 0%, #e5f1fc 100%);
    text-align: center;
    overflow: hidden;
    transition: transform .3s var(--mc-ease), box-shadow .3s;
}
.mc-c3-product:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(15, 42, 107, .1); }
.mc-c3-tile--lg { width: 190px; padding: 26px 10px 34px; background: #fff; transition: transform .4s var(--mc-ease); }
.mc-c3-tile--lg > i { font-size: 58px; }
.mc-c3-tile--lg .mc-c3-soon { padding: 7px 20px; font-size: 14px; animation: mc-c3-beat 2.6s ease-in-out 1.5s infinite; }
@keyframes mc-c3-beat { 0%, 100% { box-shadow: 0 6px 14px rgba(242, 71, 90, .3); } 50% { box-shadow: 0 6px 14px rgba(242, 71, 90, .3), 0 0 0 7px rgba(242, 71, 90, .14); } }
.mc-c3-product:hover .mc-c3-tile--lg { transform: translateY(-4px) rotate(-2deg); }
.mc-c3-product__title { margin: 16px 0 0; font-size: 21px; font-weight: 800; line-height: 1.25; color: var(--c3-title); }
.mc-c3-product .mc-status__bar { max-width: 320px; margin-top: auto; }
.mc-c3-product__state { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--mc-stat-label); }

.mc-c3-about { padding: 30px 32px 20px; border-radius: 24px; background: #fff; border: 1px solid var(--c2-line); box-shadow: 0 10px 30px rgba(15, 42, 107, .05); }
.mc-c3-about__head { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 16px; }
.mc-c3-about__title { margin: 8px 0 0; font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--mc-navy); }
.mc-c3-about p { margin: 0 0 14px; }
.mc-c3 .mc-route { margin-top: 0; }
.mc-c3 .mc-route__steps h3 a { color: var(--mc-navy) !important; text-decoration: none; }
.mc-c3 .mc-route__steps h3 a:hover { color: var(--mc-blue) !important; }
.mc-c3-doc { text-decoration: none; background: linear-gradient(170deg, #eef7fe 0%, #e5f1fc 100%); }
.mc-c3-doc .mc-resultcta__icon { background: var(--mc-blue); }
.mc-c3-doc .mc-resultcta__label { color: var(--mc-blue); }
.mc-c3-doc strong { display: block; font-size: 19px; color: var(--mc-navy); }
.mc-c3-doc .mc-c2-pager__icon { margin-left: auto; }

@media (prefers-reduced-motion: reduce) {
    .mc-c3-banner::after { display: none; }
    .mc-c3-tile--lg .mc-c3-soon, .mc-c3-card { animation: none; }
}

/* Móvil: el banner se arma con HTML (mismo diseño, texto legible) */
@media (max-width: 767.98px) {
    .mc-c3-banner { padding: 26px 22px 0; }
    .mc-c3-banner__img { display: none; }
    .mc-c3-banner::after { z-index: 3; }
    .mc-c3-banner__text { position: relative !important; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
    .mc-c3-banner__title { margin: 0 0 10px; font-size: clamp(26px, 8vw, 36px); font-weight: 800; line-height: 1.05; letter-spacing: -.01em; color: var(--c3-title); animation: mc-fade-up .7s var(--mc-ease) .2s both; }
    .mc-c3-banner__title span { display: block; }
    .mc-c3-banner__lead { margin: 0 0 22px; text-align: left !important; font-size: 16px; line-height: 1.45; color: #1d3f8f; animation: mc-fade-up .7s var(--mc-ease) .3s both; }
    .mc-c3-banner__cards { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .mc-c3-card { display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; animation: mc-fade-up .7s var(--mc-ease) both; animation-delay: calc(.45s + var(--i) * .12s); }
    .mc-c3-card .mc-c3-soon { padding: 4px 11px; font-size: 11.5px; }
    .mc-c3-card__title { font-size: 12.5px; font-weight: 600; line-height: 1.3; color: var(--c3-title); }
    .mc-c3-banner__photo {
        display: block;
        width: calc(100% + 44px);
        max-width: none;
        height: 210px;
        margin: 10px -22px 0;
        object-fit: cover;
        object-position: center 30%;
        -webkit-mask: linear-gradient(180deg, transparent 0%, #000 30%);
                mask: linear-gradient(180deg, transparent 0%, #000 30%);
    }
    .mc-c3-products { grid-template-columns: 1fr; }
    .mc-c3-about { padding: 22px 20px 12px; }
}
@media (max-width: 575.98px) {
    .mc-c3-product { padding: 26px 20px 22px; }
    .mc-c3-about__head { flex-direction: column; gap: 12px; }
    .mc-c3-doc { flex-wrap: wrap; }
}

/* =========================================================
   Reportes por componente (submenú lateral + tarjetas con vista previa)
   ========================================================= */
.mc-repgrid { grid-template-columns: 280px minmax(0, 1fr); }
.mc-repgrid .mc-page__aside { position: sticky; top: calc(var(--mc-header-h, 0px) + 20px); }
.mc-repnav { padding: 20px 14px 14px; }
.mc-repnav .mc-sidecard__title { padding: 0 8px; }
.mc-repnav__list { display: grid; gap: 6px; }
.mc-repnav__tab {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 16px;
    background: transparent;
    text-align: left;
    font-family: var(--mc-font);
    transition: background .2s, box-shadow .2s;
}
.mc-repnav__tab:hover { background: rgba(255, 255, 255, .7); }
.mc-repnav__tab:focus-visible { outline: 2px solid var(--mc-blue-border); outline-offset: 2px; }
.mc-repnav__tab[aria-selected="true"] { background: #fff; box-shadow: 0 8px 20px rgba(15, 42, 107, .08), inset 3px 0 0 var(--mc-blue); }
.mc-repnav__num { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #dfecfc; color: var(--mc-navy); font-size: 16px; font-weight: 800; transition: background .2s, color .2s; }
.mc-repnav__tab[aria-selected="true"] .mc-repnav__num { background: var(--mc-blue); color: #fff; }
.mc-repnav__text strong { display: block; font-size: 14.5px; color: var(--mc-navy); }
.mc-repnav__text small { display: block; margin-top: 1px; font-size: 12.5px; line-height: 1.3; color: var(--mc-stat-label); }
.mc-repnav__count { display: grid; place-items: center; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; background: #e7eef8; font-size: 12.5px; font-weight: 700; color: var(--mc-navy); }
.mc-repnav__tab[aria-selected="true"] .mc-repnav__count { background: var(--mc-blue-soft); color: var(--mc-blue); }
.mc-repinfo p { margin-bottom: 0 !important; }

.mc-reppanel:focus { outline: none; }
.mc-reppanel.is-entering { animation: mc-fade-up .5s var(--mc-ease) backwards; }
.mc-reppanel__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid #e3eaf4; }
.mc-reppanel__kicker { display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mc-eyebrow); }
.mc-reppanel__title { margin: 4px 0 8px; font-size: clamp(22px, 2.2vw, 28px); font-weight: 700; line-height: 1.2; color: var(--mc-navy); }
.mc-reppanel__count { margin: 0 !important; font-size: 14px; font-weight: 600; color: var(--mc-stat-label); }
.mc-reppanel__count i { margin-right: 4px; color: var(--mc-blue); }
.mc-reppanel__head .mc-btn { flex: 0 0 auto; }
.mc-reppanel.is-entering .mc-report { animation: mc-fade-up .55s var(--mc-ease) backwards; animation-delay: calc(.08s + var(--mc-delay, 0s)); }

/* Tarjeta con vista previa */
.mc-report__preview { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #e8eef6; cursor: zoom-in; }
.mc-report__preview img { transition: transform .6s var(--mc-ease); }
.mc-report__preview:hover img, .mc-report__preview:focus-visible img { transform: scale(1.05); }
.mc-report__preview:focus-visible { outline: 3px solid var(--mc-blue-border); outline-offset: -3px; }
.mc-report__pdf {
    position: absolute;
    left: 14px;
    top: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
    color: #c8202f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    box-shadow: 0 4px 12px rgba(10, 38, 114, .15);
}
.mc-report__hover {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(180deg, rgba(10, 38, 114, .25), rgba(10, 38, 114, .72));
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    opacity: 0;
    transition: opacity .3s;
}
.mc-report__eye { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #fff; color: var(--mc-blue); font-size: 20px; transform: scale(.7); transition: transform .35s var(--mc-ease); }
.mc-report__preview:hover .mc-report__hover, .mc-report__preview:focus-visible .mc-report__hover { opacity: 1; }
.mc-report__preview:hover .mc-report__eye, .mc-report__preview:focus-visible .mc-report__eye { transform: scale(1); }
.mc-report__file { display: inline-flex; align-items: center; gap: 7px; margin: -8px 0 18px !important; font-size: 13px; font-weight: 600; color: var(--mc-stat-label); }
.mc-report__file i { color: #c8202f; }
.mc-report__actions { display: flex; gap: 10px; width: 100%; margin-top: auto; }
.mc-report__actions .mc-btn { flex: 1; justify-content: center; }
.mc-report__dl {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 48px;
    border-radius: 12px;
    border: 1.5px solid var(--mc-blue-border);
    color: var(--mc-blue);
    font-size: 16px;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}
.mc-report__dl:hover { background: var(--mc-blue); border-color: var(--mc-blue); color: #fff; }

/* Productos en elaboración (componente 3) */
.mc-report--upcoming .mc-report__tile {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 16 / 9;
    background:
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .9) 0, rgba(255, 255, 255, 0) 45%),
        linear-gradient(160deg, #eef6fe 0%, #dbe9f7 100%);
}
.mc-report__tileicon {
    display: grid;
    place-items: center;
    width: 110px;
    height: 96px;
    padding-bottom: 8px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 12px 26px rgba(10, 38, 114, .1);
    font-size: 46px;
    transition: transform .4s var(--mc-ease);
}
.mc-report__tileicon i { background: linear-gradient(160deg, #3a8bff 0%, #0b46c9 55%, #0b2a78 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mc-report--upcoming:hover .mc-report__tileicon { transform: translateY(-4px) rotate(-3deg); }
.mc-report__pill {
    position: absolute;
    left: 50%;
    top: calc(50% + 36px);
    transform: translateX(-50%);
    padding: 5px 16px;
    border-radius: 999px;
    background: #f2475a;
    box-shadow: 0 6px 14px rgba(242, 71, 90, .3);
    color: #fff;
    font-size: 12.5px;
    font-weight: 700;
    font-style: italic;
    white-space: nowrap;
}
.mc-report__desc { margin: 0 0 18px !important; font-size: 14.5px; line-height: 1.5; color: var(--mc-text); }

@media (max-width: 1199.98px) {
    .mc-repgrid { grid-template-columns: 250px minmax(0, 1fr); gap: 28px; }
    .mc-repgrid .mc-reports { grid-template-columns: 1fr; }
}
@media (max-width: 991.98px) {
    .mc-repgrid { grid-template-columns: minmax(0, 1fr); }
    .mc-repgrid .mc-page__aside { position: static; display: block; }
    .mc-repinfo { display: none; }
    .mc-repnav { padding: 6px; border-radius: 20px; }
    .mc-repnav .mc-sidecard__title { display: none; }
    .mc-repnav__list { grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr); overflow-x: auto; scrollbar-width: none; }
    .mc-repnav__list::-webkit-scrollbar { display: none; }
    .mc-repgrid .mc-reports { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .mc-reppanel__head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 575.98px) {
    .mc-repgrid .mc-reports { grid-template-columns: 1fr; }
    .mc-repnav__list { grid-auto-columns: minmax(200px, 78%); }
    .mc-reppanel__head .mc-btn { width: 100%; justify-content: center; }
}

/* =========================================================
   Visor de PDF (snippets/pdf-viewer.php)
   ========================================================= */
.mc-pdfv-lock, .mc-pdfv-lock body { overflow: hidden; }
.mc-pdfv { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 18px; font-family: var(--mc-font); }
.mc-pdfv[hidden] { display: none; }
.mc-pdfv__backdrop { position: absolute; inset: 0; background: rgba(6, 20, 60, .62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .28s; }
.mc-pdfv__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: min(1280px, 100%);
    height: 100%;
    max-height: 980px;
    border-radius: 22px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 40px 90px rgba(4, 14, 48, .45);
    opacity: 0;
    transform: translateY(18px) scale(.985);
    transition: opacity .28s, transform .35s var(--mc-ease);
}
.mc-pdfv.is-open .mc-pdfv__backdrop { opacity: 1; }
.mc-pdfv.is-open .mc-pdfv__panel { opacity: 1; transform: none; }
.mc-pdfv.is-fullscreen .mc-pdfv__panel, .mc-pdfv__panel:fullscreen { max-height: none; border-radius: 0; }

/* Encabezado */
.mc-pdfv__head { display: flex; align-items: center; gap: 14px; padding: 14px 16px 14px 20px; border-bottom: 1px solid #e3eaf4; }
.mc-pdfv__fileicon { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px; background: #fdecee; color: #c8202f; font-size: 22px; }
.mc-pdfv__fileicon b { position: absolute; left: 50%; bottom: 7px; transform: translateX(-50%); padding: 1px 3px; border-radius: 3px; background: #c8202f; color: #fff; font-size: 8.5px; font-weight: 800; line-height: 1.2; letter-spacing: .04em; }
.mc-pdfv__heading { min-width: 0; flex: 1; }
.mc-pdfv__title { margin: 0; overflow: hidden; font-size: 17px; font-weight: 700; line-height: 1.25; color: var(--mc-navy); white-space: nowrap; text-overflow: ellipsis; }
.mc-pdfv__meta { margin: 2px 0 0; font-size: 13px; color: var(--mc-stat-label); text-align: left; }
.mc-pdfv__headactions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.mc-pdfv__iconbtn {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #dfe7f2;
    border-radius: 12px;
    background: #fff;
    color: var(--mc-navy);
    font-size: 15px;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}
.mc-pdfv__iconbtn:hover { background: var(--mc-blue-soft); border-color: var(--mc-blue-soft); color: var(--mc-blue); }
.mc-pdfv__iconbtn:focus-visible, .mc-pdfv__tool:focus-visible, .mc-pdfv__thumb:focus-visible { outline: 2px solid var(--mc-blue-border); outline-offset: 2px; }
.mc-pdfv__iconbtn .fa-compress, .mc-pdfv.is-fullscreen .mc-pdfv__iconbtn .fa-expand { display: none; }
.mc-pdfv.is-fullscreen .mc-pdfv__iconbtn .fa-compress { display: inline-block; }
.mc-pdfv__close { background: var(--mc-navy); border-color: var(--mc-navy); color: #fff; }
.mc-pdfv__close:hover { background: #071b55; border-color: #071b55; color: #fff; }
.mc-pdfv__download { padding: 10px 18px; gap: 10px; }

/* Barra de herramientas */
.mc-pdfv__toolbar { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 14px; background: #f5f8fc; border-bottom: 1px solid #e3eaf4; }
.mc-pdfv__toolbar > [data-pdfv="sidebar"] { margin-right: auto; }
.mc-pdfv__toolbar::after { content: ""; width: 38px; margin-left: auto; }
.mc-pdfv__tool {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--mc-navy);
    font-size: 14px;
    transition: background .2s, color .2s;
}
.mc-pdfv__tool:hover:not(:disabled) { background: #e3ecf8; color: var(--mc-blue); }
.mc-pdfv__tool:disabled { opacity: .35; cursor: default; }
.mc-pdfv__tool[aria-pressed="true"] { background: #e3ecf8; color: var(--mc-blue); }
.mc-pdfv__sep { width: 1px; height: 24px; margin: 0 6px; background: #d9e3f0; }
.mc-pdfv__pagebox { display: inline-flex; align-items: center; gap: 8px; margin: 0; white-space: nowrap; font-size: 13.5px; color: var(--mc-stat-label); }
.mc-pdfv__pagebox input { width: 52px; height: 34px; border: 1px solid #d3deec; border-radius: 9px; background: #fff; font: 600 14px var(--mc-font); color: var(--mc-navy); text-align: center; }
.mc-pdfv__pagebox input:focus, .mc-pdfv__zoom select:focus { outline: 2px solid var(--mc-blue-border); outline-offset: 0; border-color: transparent; }
.mc-pdfv__pagetotal b { color: var(--mc-navy); }
.mc-pdfv__zoom { margin: 0; }
.mc-pdfv__zoom select { height: 34px; padding: 0 30px 0 12px; border: 1px solid #d3deec; border-radius: 9px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230a2672' stroke-width='1.6'/%3E%3C/svg%3E") right 11px center no-repeat; -webkit-appearance: none; appearance: none; font: 600 13.5px var(--mc-font); color: var(--mc-navy); cursor: pointer; }

.mc-pdfv__progress { position: relative; height: 3px; background: #e3ecf8; overflow: hidden; }
.mc-pdfv__progress[hidden] { display: none; }
.mc-pdfv__progress span { position: absolute; inset: 0 auto 0 0; width: 0; background: linear-gradient(90deg, var(--mc-flag-green), var(--mc-blue), var(--mc-flag-red)); transition: width .25s; }
.mc-pdfv__progress.is-indeterminate span { width: 35%; animation: mc-pdfv-indet 1.2s ease-in-out infinite; }
@keyframes mc-pdfv-indet { from { transform: translateX(-100%); } to { transform: translateX(300%); } }

/* Cuerpo: miniaturas + páginas */
.mc-pdfv__body { position: relative; display: flex; flex: 1; min-height: 0; background: #e9eef5; }
.mc-pdfv__thumbs {
    flex: 0 0 auto;
    width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: #f5f8fc;
    border-right: 1px solid transparent;
    transition: width .25s var(--mc-ease), border-color .25s;
    scrollbar-width: thin;
}
.mc-pdfv.is-thumbs .mc-pdfv__thumbs { width: 172px; border-right-color: #e3eaf4; }
.mc-pdfv__thumb { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 172px; padding: 12px 0 6px; border: 0; background: none; }
.mc-pdfv__thumbimg { display: block; width: 112px; border-radius: 4px; background: #fff; box-shadow: 0 2px 8px rgba(15, 42, 107, .12); outline: 3px solid transparent; outline-offset: 2px; overflow: hidden; transition: outline-color .2s; }
.mc-pdfv__thumbimg canvas { display: block; width: 100%; height: auto; }
.mc-pdfv__thumb:not(.is-rendered) .mc-pdfv__thumbimg { background: linear-gradient(90deg, #fff 0%, #eef3fa 50%, #fff 100%) 0 0 / 200% 100%; animation: mc-pdfv-skel 1.4s linear infinite; }
.mc-pdfv__thumbnum { font-size: 12px; font-weight: 600; color: var(--mc-stat-label); }
.mc-pdfv__thumb:hover .mc-pdfv__thumbimg { outline-color: #c7d9f3; }
.mc-pdfv__thumb.is-active .mc-pdfv__thumbimg { outline-color: var(--mc-blue); }
.mc-pdfv__thumb.is-active .mc-pdfv__thumbnum { color: var(--mc-blue); }

.mc-pdfv__viewport { position: relative; flex: 1; min-width: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.mc-pdfv__viewport:focus { outline: none; }
.mc-pdfv__pages { display: flex; flex-direction: column; align-items: center; gap: 16px; min-width: min-content; padding: 20px 28px 28px; }
.mc-pdfv__page { position: relative; flex: 0 0 auto; background: #fff; box-shadow: 0 2px 4px rgba(15, 42, 107, .08), 0 10px 26px rgba(15, 42, 107, .1); }
.mc-pdfv__page:not(.is-rendered) { background: linear-gradient(90deg, #fff 0%, #f1f5fb 50%, #fff 100%) 0 0 / 200% 100%; animation: mc-pdfv-skel 1.4s linear infinite; }
.mc-pdfv__page canvas { display: block; animation: mc-fade .35s ease both; }
@keyframes mc-pdfv-skel { to { background-position: -200% 0; } }

/* Estados */
.mc-pdfv__state { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; background: #e9eef5; text-align: center; }
.mc-pdfv__state[hidden] { display: none; }
.mc-pdfv__statetext { max-width: 380px; margin: 0; font-size: 15px; font-weight: 600; color: var(--mc-navy); text-align: center !important; }
.mc-pdfv__spinner { width: 46px; height: 46px; border-radius: 50%; border: 4px solid #d3e1f4; border-top-color: var(--mc-blue); animation: mc-pdfv-spin .8s linear infinite; }
@keyframes mc-pdfv-spin { to { transform: rotate(360deg); } }
.mc-pdfv__erricon { display: none; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #fdecee; color: #c8202f; font-size: 26px; }
.mc-pdfv__errdl { display: none; }
.mc-pdfv__state.is-error .mc-pdfv__spinner { display: none; }
.mc-pdfv__state.is-error .mc-pdfv__erricon { display: grid; }
.mc-pdfv__state.is-error .mc-pdfv__errdl { display: inline-flex; }

@media (prefers-reduced-motion: reduce) {
    .mc-pdfv__panel, .mc-pdfv__backdrop, .mc-pdfv__thumbs { transition: none; }
    .mc-pdfv__page:not(.is-rendered), .mc-pdfv__thumb:not(.is-rendered) .mc-pdfv__thumbimg { animation: none; }
}
@media (max-width: 991.98px) {
    /* Miniaturas sobre el documento en pantallas medianas */
    .mc-pdfv__thumbs { position: absolute; left: 0; top: 0; bottom: 0; z-index: 3; box-shadow: 12px 0 30px rgba(10, 38, 114, .15); }
}
@media (max-width: 767.98px) {
    .mc-pdfv { padding: 0; }
    .mc-pdfv__panel { max-height: none; border-radius: 0; }
    .mc-pdfv__head { gap: 10px; padding: 10px 10px 10px 14px; }
    .mc-pdfv__fileicon { width: 36px; height: 36px; font-size: 16px; border-radius: 10px; }
    .mc-pdfv__title { font-size: 15px; }
    .mc-pdfv__meta { font-size: 12px; }
    .mc-pdfv__hide-sm { display: none; }
    .mc-pdfv__download { width: 42px; height: 42px; padding: 0; justify-content: center; }
    .mc-pdfv__download span { display: none; }
    .mc-pdfv__toolbar { gap: 2px; padding: 6px 8px; }
    .mc-pdfv__toolbar::after { display: none; }
    .mc-pdfv__toolbar > [data-pdfv="sidebar"] { margin-right: 0; }
    .mc-pdfv__sep { margin: 0 2px; }
    .mc-pdfv__zoom select { width: 92px; padding-right: 24px; background-position: right 8px center; }
    .mc-pdfv__pages { gap: 10px; padding: 12px 10px 20px; }
}
@media (max-width: 379.98px) {
    .mc-pdfv__pagetotal { display: none; }
    .mc-pdfv__zoom select { width: 74px; font-size: 12.5px; }
}

/* =========================================================
   Galería por componente (submenú con tarjetas fotográficas,
   resumen con mosaico y álbumes tipo hoja de contactos)
   ========================================================= */
.mc-gal { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 34px; align-items: start; }
.mc-gal__aside { position: sticky; top: calc(var(--mc-header-h, 0px) + 20px); }
.mc-gal__label { margin: 0 0 12px !important; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mc-eyebrow); }
.mc-gal__comps { display: grid; gap: 12px; }

/* Tarjeta de componente con foto de fondo */
.mc-gcomp {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 132px;
    padding: 16px 18px;
    border-radius: 22px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
    box-shadow: 0 10px 24px rgba(10, 38, 114, .12);
    transition: transform .3s var(--mc-ease), box-shadow .3s, min-height .4s var(--mc-ease);
}
.mc-gcomp__bg { position: absolute; inset: 0; z-index: -2; background: var(--mc-navy); }
.mc-gcomp__bg img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.55); transform: scale(1.04); transition: transform .8s var(--mc-ease), filter .5s; }
.mc-gcomp::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7, 27, 85, .2) 0%, rgba(7, 27, 85, .9) 100%); transition: background .4s; }
.mc-gcomp:hover { transform: translateY(-3px); color: #fff; }
.mc-gcomp:hover .mc-gcomp__bg img { transform: scale(1.1); }
.mc-gcomp:focus-visible { outline: 3px solid var(--mc-blue-border); outline-offset: 3px; }
.mc-gcomp[aria-selected="true"] { min-height: 172px; box-shadow: 0 18px 38px rgba(10, 38, 114, .25); }
.mc-gcomp[aria-selected="true"] .mc-gcomp__bg img { filter: none; }
.mc-gcomp[aria-selected="true"]::before { background: linear-gradient(180deg, rgba(4, 103, 240, .05) 0%, rgba(7, 27, 85, .92) 100%); }
.mc-gcomp__num { position: absolute; top: 10px; left: 16px; font-size: 44px; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: rgba(255, 255, 255, .3); }
.mc-gcomp[aria-selected="true"] .mc-gcomp__num { color: #fff; }
.mc-gcomp__text small { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #bcd3ff; }
.mc-gcomp__text strong { display: block; margin: 3px 0 4px; font-size: 16.5px; line-height: 1.25; }
.mc-gcomp__text > span { font-size: 12.5px; color: #d4e2ff; }
.mc-gcomp__check {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #fff;
    color: var(--mc-blue);
    font-size: 12px;
    opacity: 0;
    transform: scale(.5);
    transition: opacity .3s, transform .35s var(--mc-ease);
}
.mc-gcomp[aria-selected="true"] .mc-gcomp__check { opacity: 1; transform: none; }

/* Índice de álbumes del componente activo */
.mc-gindex { margin-top: 16px; padding: 16px 10px 10px; border-radius: 22px; background: #f1f7fe; }
.mc-gindex:not([hidden]) { animation: mc-fade-up .45s var(--mc-ease) backwards; }
.mc-gindex__title { margin: 0 8px 10px !important; font-size: 14px; font-weight: 700; color: var(--mc-navy); }
.mc-gindex ol { max-height: min(52vh, 460px); margin: 0; padding: 0 2px 0 0; list-style: none; overflow-y: auto; scrollbar-width: thin; }
.mc-gindex a, .mc-gindex__soon { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 12px; text-decoration: none; transition: background .2s; }
.mc-gindex a:hover { background: #fff; }
.mc-gindex__thumb { display: grid; place-items: center; flex: 0 0 auto; width: 46px; height: 34px; border-radius: 8px; overflow: hidden; background: #dfe8f4; color: #8aa0c2; }
.mc-gindex__thumb img { width: 100%; height: 100%; object-fit: cover; }
.mc-gindex__name { font-size: 13px; line-height: 1.3; color: var(--mc-navy); }
.mc-gindex__name b { margin-right: 6px; color: var(--mc-blue); }
.mc-gindex__name em { display: block; font-size: 11.5px; font-style: normal; color: var(--mc-stat-label); }
.mc-gindex__soon .mc-gindex__name { color: var(--mc-stat-label); }

/* Panel */
.mc-gpanel.is-entering { animation: mc-fade-up .5s var(--mc-ease) backwards; }
.mc-gpanel.is-entering .mc-gsheet { animation: mc-fade-up .55s var(--mc-ease) backwards; animation-delay: calc(.12s + var(--k, 0) * .05s); }
.mc-gpanel .mc-gtools { margin: 26px 0 20px; }

/* Resumen con mosaico */
.mc-gsum {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    border-radius: 28px;
    overflow: hidden;
    background: linear-gradient(150deg, #0b2f8a 0%, var(--mc-navy) 60%, #071b55 100%);
    color: #fff;
    box-shadow: 0 24px 50px rgba(10, 38, 114, .2);
}
.mc-gsum__text { display: flex; flex-direction: column; padding: 30px 30px 26px; }
.mc-gsum__kicker { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9cc3ff; }
.mc-gsum__title { margin: 6px 0 10px; font-size: clamp(22px, 2.3vw, 30px); font-weight: 700; line-height: 1.15; color: #fff; }
.mc-gsum__lead { margin: 0 0 20px !important; font-size: 15.5px !important; line-height: 1.55 !important; color: #d4e2ff !important; }
.mc-gsum__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 20px; padding: 0; list-style: none; }
.mc-gsum__stats li { padding: 12px 12px 10px; border-radius: 16px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); }
.mc-gsum__stats strong { display: block; font-size: 28px; line-height: 1; font-weight: 800; font-variant-numeric: tabular-nums; }
.mc-gsum__stats span { font-size: 12.5px; color: #d4e2ff; }
.mc-gsum__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.mc-gsum__flags { display: flex; gap: 8px; }
.mc-gsum .mc-c2-link { color: #fff; }
.mc-gsum__mosaic { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr 1fr; gap: 6px; min-height: 320px; padding: 6px; }
.mc-gsum__tile { position: relative; overflow: hidden; border-radius: 18px; background: #1b3a8f; }
.mc-gsum__tile:nth-child(1) { grid-row: span 2; }
.mc-gsum__tile:nth-child(2) { grid-row: span 1; }
.mc-gsum__tile:nth-child(3) { grid-row: span 2; }
.mc-gsum__tile:nth-child(4) { grid-row: span 1; }
.mc-gsum__tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: mc-ken 8s ease-out both; }
.mc-gsum__tile img.is-new { animation: mc-gal-in .9s ease both, mc-ken 8s ease-out both; }
@keyframes mc-gal-in { from { opacity: 0; } to { opacity: 1; } }

/* Álbum tipo hoja de contactos */
.mc-gsheets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.mc-gsheet {
    display: flex;
    flex-direction: column;
    border-radius: 22px;
    background: #fff;
    border: 1px solid var(--c2-line, #e3eaf4);
    box-shadow: 0 8px 22px rgba(15, 42, 107, .05);
    overflow: hidden;
    text-decoration: none;
    transition: transform .3s var(--mc-ease), box-shadow .3s;
}
.mc-gsheet[hidden] { display: none; }
a.mc-gsheet:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(15, 42, 107, .12); }
a.mc-gsheet:focus-visible { outline: 3px solid var(--mc-blue-border); outline-offset: 3px; }
.mc-gsheet__photos { position: relative; display: grid; grid-template-columns: 2fr 1fr; gap: 4px; aspect-ratio: 16 / 9; padding: 6px 6px 0; }
.mc-gsheet__main, .mc-gsheet__side > span { position: relative; overflow: hidden; border-radius: 16px; background: #e8eef6; }
.mc-gsheet__main:only-child { grid-column: 1 / -1; }
.mc-gsheet__side { display: grid; grid-template-rows: 1fr 1fr; gap: 4px; }
.mc-gsheet__side > span:first-child { border-radius: 16px 16px 8px 8px; }
.mc-gsheet__side > span:nth-child(2) { border-radius: 8px 8px 16px 16px; }
.mc-gsheet__main img, .mc-gsheet__side img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--mc-ease); }
a.mc-gsheet:hover .mc-gsheet__main img { transform: scale(1.06); }
a.mc-gsheet:hover .mc-gsheet__side img { transform: scale(1.1); }
.mc-gsheet__more {
    position: absolute;
    inset: 0;
    font-style: normal;
    display: grid;
    place-items: center;
    background: rgba(7, 27, 85, .62);
    color: #fff;
    font-size: 20px;
    font-weight: 800;
}
.mc-gsheet__num {
    position: absolute;
    left: 16px;
    top: 16px;
    display: grid;
    place-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 8px;
    border-radius: 12px;
    background: #fff;
    color: var(--mc-navy);
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(10, 38, 114, .2);
}
.mc-gsheet__body { flex: 1; display: flex; flex-direction: column; padding: 14px 18px 18px; }
.mc-gsheet__title { font-size: 16.5px; font-weight: 700; line-height: 1.35; color: var(--mc-navy); }
.mc-gsheet__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 8px 0 14px; font-size: 13.5px; color: var(--mc-stat-label); }
.mc-gsheet__meta i { margin-right: 5px; color: var(--mc-blue); }
.mc-gsheet__go { margin-top: auto; font-size: 14px; font-weight: 700; color: var(--mc-blue); }
.mc-gsheet__go i { margin-left: 6px; transition: transform .2s; }
a.mc-gsheet:hover .mc-gsheet__go i { transform: translateX(4px); }
.mc-gsheet__go--soon { color: var(--mc-stat-label); }
.mc-gsheet__go--soon i { margin: 0 6px 0 0; }
.mc-gsheet--soon .mc-gsheet__photos { grid-template-columns: 1fr; }
.mc-gsheet__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 16px;
    border: 2px dashed #c9d8ee;
    background: repeating-linear-gradient(135deg, #f4f8fd 0 14px, #eef3fa 14px 28px);
    color: var(--mc-stat-label);
    font-size: 13.5px;
    font-weight: 600;
}
.mc-gsheet__empty i { font-size: 30px; color: #9fb4d4; }

@media (prefers-reduced-motion: reduce) {
    .mc-gsum__tile img, .mc-gsum__tile img.is-new { animation: none; }
}
@media (max-width: 1199.98px) {
    .mc-gal { grid-template-columns: 260px minmax(0, 1fr); gap: 26px; }
    .mc-gsum { grid-template-columns: 1fr; }
    .mc-gsum__mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: 150px; min-height: 0; padding: 0 6px 6px; order: -1; padding-top: 6px; }
    .mc-gsum__tile:nth-child(n) { grid-row: auto; }
}
@media (max-width: 991.98px) {
    .mc-gal { grid-template-columns: minmax(0, 1fr); }
    .mc-gal__aside { position: static; }
    .mc-gal__comps { grid-template-columns: 1fr 1fr; }
    .mc-gcomp, .mc-gcomp[aria-selected="true"] { min-height: 132px; }
    .mc-gindex { display: none; }
}
@media (max-width: 767.98px) {
    .mc-gsheets { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .mc-gal__comps { gap: 8px; }
    .mc-gcomp { padding: 12px 12px; min-height: 120px; border-radius: 18px; }
    .mc-gcomp__num { font-size: 32px; left: 12px; }
    .mc-gcomp__text strong { font-size: 14px; }
    .mc-gcomp__text > span { font-size: 11.5px; }
    .mc-gcomp__check { top: 10px; right: 10px; width: 24px; height: 24px; }
    .mc-gsum__text { padding: 22px 20px 20px; }
    .mc-gsum__mosaic { grid-template-columns: 1.4fr 1fr; grid-template-rows: 110px 110px; }
    .mc-gsum__tile:nth-child(1) { grid-row: span 2; }
    .mc-gsum__tile:nth-child(4) { display: none; }
    .mc-gsum__stats strong { font-size: 24px; }
}
/* Ajustes de la galería */
.mc-gsheet__side > span:only-child { grid-row: 1 / -1; border-radius: 16px; }
.mc-gsum .mc-c2-link, .mc-gsum .mc-c2-link:hover { text-decoration: none; }
.mc-gcomp { min-height: 140px; }
.mc-gcomp:not([aria-selected="true"]) .mc-gcomp__num { font-size: 30px; color: rgba(255, 255, 255, .22); }
.mc-gindex ol { -webkit-mask: linear-gradient(180deg, #000 85%, transparent); mask: linear-gradient(180deg, #000 85%, transparent); padding-bottom: 24px; }
@media (max-width: 575.98px) { .mc-gcomp__num { display: none; } }

/* Resumen de la galería en tono claro (blanco en ambos componentes) */
.mc-gsum--c1, .mc-gsum--c2 { color: var(--mc-navy); box-shadow: 0 12px 32px rgba(15, 42, 107, .07); }
.mc-gsum--c1 { background: #fff; border: 1px solid #e3eaf4; }
.mc-gsum--c2 { background: #fff; border: 1px solid #e3eaf4; }
.mc-gsum--c1 .mc-gsum__kicker, .mc-gsum--c2 .mc-gsum__kicker { color: var(--mc-eyebrow); }
.mc-gsum--c1 .mc-gsum__title, .mc-gsum--c2 .mc-gsum__title { color: var(--mc-navy); }
.mc-gsum--c1 .mc-gsum__lead, .mc-gsum--c2 .mc-gsum__lead { color: var(--mc-text) !important; }
.mc-gsum--c1 .mc-gsum__stats li { background: #f1f7fe; border-color: #e3eaf4; }
.mc-gsum--c2 .mc-gsum__stats li { background: #f1f7fe; border-color: #e3eaf4; }
.mc-gsum--c1 .mc-gsum__stats strong, .mc-gsum--c2 .mc-gsum__stats strong { color: var(--mc-stats-title); }
.mc-gsum--c1 .mc-gsum__stats span, .mc-gsum--c2 .mc-gsum__stats span { color: var(--mc-stat-label); }
.mc-gsum--c1 .mc-c2-link, .mc-gsum--c2 .mc-c2-link { color: var(--mc-blue); }
.mc-gsum--c1 .mc-gsum__tile { background: #e8eef6; }
.mc-gsum--c2 .mc-gsum__tile { background: #e8eef6; }
.mc-gsum--c1 .mc-flagtag { background: #eef4fc; }
.mc-gsum--c2 .mc-flagtag { background: #eef4fc; }
