:root {
    --navy-950: #03152d;
    --navy-900: #082b52;
    --navy-800: #0e4676;
    --blue-700: #176aa1;
    --blue-500: #38a0cf;
    --sky-300: #82d5ed;
    --sky-100: #d8f1f8;
    --cream: #eaf6fa;
    --surface: #e4f0f5;
    --surface-strong: #d2e7ef;
    --card: #edf6f8;
    --ink: #09233d;
    --muted: #536f80;
    --line: #b9d5e1;
    --gold: #d2b36c;
    --shadow: 0 18px 45px rgba(6, 25, 48, .13);
    --radius: 20px;
}

/* INSCRIPCIONES 2026 - flujo guiado */
.registration-page-hero--compact {
    padding: 34px 20px 30px;
    background: linear-gradient(110deg, #062747 0%, #0b4f7b 58%, #147ca8 100%);
}

.registration-page-hero--compact .container { max-width: 1180px; }
.registration-page-hero--compact h1 { margin: 5px 0 10px; color: #fff; }
.registration-page-hero--compact p { max-width: 780px; color: #dceef7; }
.registration-hero-actions { display: flex; gap: 12px; margin-top: 18px; flex-wrap: wrap; }
.registration-hero-actions .button { border-radius: 4px; }
.registration-hero-actions .button--ghost { border: 1px solid #93d7ee; color: #fff; background: rgba(0, 28, 55, .32); }

.registration-flow-section {
    padding: 30px 20px 54px;
    background: linear-gradient(180deg, #dceef4 0%, #eef7f9 100%);
}

.registration-process { max-width: 980px; margin: 0 auto; display: flex; flex-direction: column; }
.registration-flow-intro {
    margin-bottom: 16px;
    padding: 18px 22px;
    border-left: 4px solid #4ba8c8;
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 10px 28px rgba(15, 69, 94, .06);
}
.registration-flow-intro .eyebrow { margin-bottom: 5px; color: #21789d; }
.registration-flow-intro h2 { margin: 0 0 7px; color: #103f5b; font-size: clamp(1.35rem, 2.4vw, 1.85rem); }
.registration-flow-intro p:last-child { max-width: 850px; margin: 0; color: #547482; line-height: 1.58; }
.registration-whatsapp-block { order: 3; }
.registration-review-grid { order: 4; }
.registration-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 18px;
    background: transparent;
    border: 0;
}
.registration-steps span { min-height: 74px; padding: 11px 12px; border: 1px solid rgba(119, 173, 195, .42); border-radius: 15px; background: rgba(255, 255, 255, .72); color: #245a72; text-align: left; box-shadow: 0 7px 18px rgba(7, 54, 84, .045); }
.registration-steps strong { display: block; margin-bottom: 4px; font-size: .94rem; }
.registration-steps small { display: block; color: #64828f; font-size: .75rem; font-weight: 600; line-height: 1.3; }
.registration-steps span.is-active { border-color: rgba(52, 137, 172, .55); background: #e5f3f7; color: #0c5274; }
.registration-steps span.is-active small { color: #477688; }

.registration-block {
    margin-bottom: 12px;
    padding: 18px;
    border: 1px solid rgba(135, 182, 199, .38);
    border-radius: 17px;
    background: rgba(252, 254, 254, .84);
    box-shadow: 0 13px 32px rgba(5, 45, 73, .055);
}
.registration-block-title { margin-bottom: 13px; }
.registration-block-title h2 { margin: 3px 0 5px; color: #062b4d; font-size: clamp(1.45rem, 2.5vw, 1.95rem); }
.registration-block-title p:last-child { max-width: 820px; color: #496c7d; }

.registration-mode-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.registration-mode-card {
    position: relative;
    padding: 14px;
    border: 1px solid #bfd9e2;
    border-radius: 14px;
    background: rgba(241, 248, 250, .88);
    color: #0b3858;
    text-align: left;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.registration-mode-card:hover { transform: translateY(-2px); border-color: #1977a6; }
.registration-mode-card.is-active { border-color: #6ba9c1; background: #e3f1f5; box-shadow: 0 8px 20px rgba(7, 94, 145, .075); }
.registration-mode-card strong { display: block; margin-bottom: 5px; font-size: 1.18rem; }
.registration-mode-card span { color: #4b6c7b; line-height: 1.45; }

.registration-dynamic-form[hidden] { display: none !important; }
.registration-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 13px; }
.registration-field { display: flex; flex-direction: column; gap: 5px; color: #123e5a; font-weight: 750; }
.registration-field--wide { grid-column: 1 / -1; }
.registration-field input,
.registration-field select {
    width: 100%; min-height: 42px; padding: 8px 10px;
    border: 1px solid #b7d1db; border-radius: 10px;
    background: rgba(255, 255, 255, .82); color: #0b2e48; font: inherit;
}
.registration-field input:focus,
.registration-field select:focus { outline: 3px solid rgba(24, 143, 190, .16); border-color: #167dad; }
.registration-field .is-invalid { border-color: #b52f3c; background: #fff7f7; }
.registration-field small { min-height: 1em; color: #a92132; font-size: .82rem; font-weight: 650; }
.registration-level-checks { margin: 0; padding: 14px; border: 1px solid #a8cad7; border-radius: 12px; }
.registration-level-checks legend { padding: 0 7px; color: #123e5a; font-weight: 800; }
.registration-level-checks label { display: inline-flex; align-items: center; gap: 7px; margin: 5px 18px 5px 0; }
.registration-level-checks input { width: 18px; min-height: 18px; }

.registration-template-card {
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    margin-top: 14px; padding: 14px 16px; border: 1px solid #b8d8e3; border-radius: 14px; background: #e9f4f7;
}
.registration-template-card p { margin: 5px 0 0; color: #456978; }
.registration-template-card .button { flex: 0 0 auto; border-radius: 10px; background: #176b94; box-shadow: 0 6px 14px rgba(12, 82, 116, .14); }

.registration-review-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 16px; }
.registration-summary-card { padding: 14px; border: 1px solid #b8d5df; border-radius: 16px; background: #e4f1f5; }
.registration-summary-card h3 { margin: 0 0 12px; color: #062b4d; }
.registration-summary-card dl { margin: 0; }
.registration-summary-card dl div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 9px 0; border-bottom: 1px solid #bdd6df; }
.registration-summary-card dt { color: #527180; }
.registration-summary-card dd { margin: 0; color: #073b60; font-weight: 850; text-align: right; }

.registration-payment-panel { padding: 14px; border-radius: 16px; background: linear-gradient(145deg, #0b385c, #14577b); color: #fff; }
.registration-payment-panel .eyebrow { color: #86d7ee; }
.registration-payment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.payment-method-card { padding: 11px; border: 1px solid #5b8299; border-radius: 13px; background: rgba(18, 63, 97, .86); }
.payment-method-card h3 { margin: 0 0 8px; color: #fff; }
.payment-method-card p { margin: 4px 0; color: #dceaf0; overflow-wrap: anywhere; }
.payment-method-card button { margin-top: 10px; padding: 8px 14px; border: 1px solid #83cae2; border-radius: 999px; background: transparent; color: #fff; font-weight: 800; cursor: pointer; }
.payment-method-card--qr { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 14px; }
.payment-method-card--qr img { width: 260px; height: 260px; object-fit: contain; border-radius: 14px; background: #fff; padding: 5px; box-shadow: 0 10px 24px rgba(0, 15, 30, .2); }
.account-holder { margin: 14px 0; padding: 12px; border: 1px solid #4e7994; color: #dbeaf0; }
.payment-status-choice { display: grid; gap: 8px; padding: 0; border: 0; }
.payment-status-choice legend { margin-bottom: 6px; color: #fff; font-weight: 850; }
.payment-status-choice label { display: flex; align-items: center; gap: 9px; padding: 10px; border-radius: 10px; background: #174866; }
.payment-status-choice input { width: 18px; height: 18px; }
.payment-status-choice small { color: #ffd5d9; }

.registration-whatsapp-block { text-align: center; background: #f8fcfd; }
.registration-whatsapp-block .registration-block-title { max-width: 680px; margin: 0 auto 12px; }
.whatsapp-submit { min-width: min(100%, 420px); padding: 14px 26px; border: 0; border-radius: 999px; background: #087c50; color: #fff; font-size: 1.05rem; font-weight: 900; cursor: pointer; box-shadow: 0 8px 18px rgba(0, 80, 50, .18); }
.whatsapp-submit:hover { background: #066842; transform: translateY(-1px); }
.registration-whatsapp-note { margin: 12px auto 0; max-width: 760px; color: #526f7d; }
.registration-final { margin-top: 16px; padding: 15px; border-left: 5px solid #0b80ae; background: #e2f3f7; color: #123f59; }

@media (max-width: 900px) {
    .registration-steps { grid-template-columns: 1fr 1fr; }
    .registration-review-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .registration-flow-section { padding-inline: 10px; }
    .registration-block { padding: 14px 11px; }
    .registration-mode-grid,
    .registration-form-grid,
    .registration-payment-grid { grid-template-columns: 1fr; }
    .registration-template-card { align-items: stretch; flex-direction: column; }
    .payment-method-card--qr { grid-column: auto; align-items: flex-start; flex-direction: column; }
    .payment-method-card--qr img { width: min(100%, 280px); height: auto; align-self: center; }
}

/* ==========================================================
   PORTADA - FONDO UNIFICADO Y HOVER SOLO CON SOMBRA
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 18% 24%, rgba(3, 77, 135, .20), transparent 27%),
            radial-gradient(circle at 86% 48%, rgba(3, 77, 135, .28), transparent 38%),
            linear-gradient(112deg, #000914 0%, #001a35 38%, #034d87 100%) !important;
    }

    .is-cover-page .poster-copy {
        background: transparent !important;
    }

    .is-cover-page .poster-collage {
        background: transparent !important;
        border-color: rgba(88, 158, 198, .22) !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage .poster-photo {
        outline: none !important;
        border: 0 !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover {
        outline: none !important;
        border: 0 !important;
        transform: translateY(-8px) scale(1.045) !important;
        box-shadow:
            0 22px 36px rgba(0, 6, 18, .58),
            0 10px 18px rgba(0, 20, 44, .38) !important;
    }
}

/* ==========================================================
   PORTADA - RECTÁNGULOS LIMPIOS DEFINITIVOS
   Se apagan por completo paneles, laterales diagonales y cortes.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage .poster-photo,
    .is-cover-page .poster-collage .poster-photo-1,
    .is-cover-page .poster-collage .poster-photo-2,
    .is-cover-page .poster-collage .poster-photo-3,
    .is-cover-page .poster-collage .poster-photo-4,
    .is-cover-page .poster-collage .poster-photo-5,
    .is-cover-page .poster-collage .poster-photo-6,
    .is-cover-page .poster-collage .poster-photo-7,
    .is-cover-page .poster-collage .poster-photo-8 {
        clip-path: none !important;
        transform: none !important;
        rotate: 0deg !important;
        overflow: hidden !important;
        border-radius: 0 !important;
        background: #001022 !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage .poster-photo::before,
    .is-cover-page .poster-collage .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-collage .poster-photo img {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: block !important;
        object-fit: cover !important;
        transform: scale(1) translate3d(0, 0, 0) !important;
        scale: 1 !important;
        translate: 0 0 !important;
        rotate: 0deg !important;
        animation: none !important;
        transition:
            transform .38s cubic-bezier(.16, .9, .24, 1),
            filter .38s ease !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover img {
        animation: posterCleanHover .55s cubic-bezier(.16, .9, .24, 1) both !important;
        filter: saturate(1.22) contrast(1.08) brightness(1.05) !important;
    }
}

@keyframes posterCleanHover {
    0% {
        transform: scale(1) translate3d(0, 0, 0);
    }
    42% {
        transform: scale(1.16) translate3d(-1.8%, -1.2%, 0);
    }
    100% {
        transform: scale(1.12) translate3d(0, 0, 0);
    }
}

/* ==========================================================
   PORTADA - FOTOS RECTAS CON MARCO DE PANEL INCLINADO
   La foto NO se deforma; solo se dibujan laterales diagonales
   paralelos como margen de competencia.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        gap: 10px !important;
        padding: 10px !important;
    }

    .is-cover-page .poster-collage .poster-photo,
    .is-cover-page .poster-collage .poster-photo-1,
    .is-cover-page .poster-collage .poster-photo-2,
    .is-cover-page .poster-collage .poster-photo-3,
    .is-cover-page .poster-collage .poster-photo-4,
    .is-cover-page .poster-collage .poster-photo-5,
    .is-cover-page .poster-collage .poster-photo-6,
    .is-cover-page .poster-collage .poster-photo-7,
    .is-cover-page .poster-collage .poster-photo-8 {
        clip-path: none !important;
        transform: none !important;
        rotate: 0deg !important;
        overflow: hidden !important;
        border-radius: 0 !important;
        background: #001022 !important;
    }

    .is-cover-page .poster-collage .poster-photo img {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: block !important;
        object-fit: cover !important;
        transform: scale(1) translate3d(0, 0, 0) !important;
        scale: 1 !important;
        translate: 0 0 !important;
        rotate: 0deg !important;
        animation: none !important;
        transition:
            transform .42s cubic-bezier(.16, .9, .24, 1),
            filter .42s ease !important;
    }

    .is-cover-page .poster-collage .poster-photo::before,
    .is-cover-page .poster-collage .poster-photo::after {
        content: "" !important;
        position: absolute !important;
        top: -7% !important;
        bottom: -7% !important;
        width: 10px !important;
        display: block !important;
        z-index: 2 !important;
        pointer-events: none !important;
        background: #06182d !important;
        transform: skewX(-7deg) !important;
        opacity: 1 !important;
    }

    .is-cover-page .poster-collage .poster-photo::before {
        left: -3px !important;
    }

    .is-cover-page .poster-collage .poster-photo::after {
        right: -3px !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover img {
        animation: posterFrameHover .62s cubic-bezier(.16, .9, .24, 1) both !important;
        filter: saturate(1.24) contrast(1.1) brightness(1.05) !important;
    }
}

@keyframes posterFrameHover {
    0% {
        transform: scale(1) translate3d(0, 0, 0);
    }
    35% {
        transform: scale(1.18) translate3d(-2.3%, -1.6%, 0);
    }
    62% {
        transform: scale(1.11) translate3d(1.5%, 1%, 0);
    }
    100% {
        transform: scale(1.15) translate3d(0, 0, 0);
    }
}

/* ==========================================================
   PORTADA - FOTOS LLENANDO COMPLETAMENTE CADA PANEL
   La imagen se agranda por dentro para cubrir todo el
   paralelogramo sin dejar huecos oscuros.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage .poster-photo {
        position: relative !important;
        overflow: hidden !important;
        background: transparent !important;
    }

    .is-cover-page .poster-collage .poster-photo img {
        position: absolute !important;
        inset: -14% -20% !important;
        width: 140% !important;
        height: 128% !important;
        max-width: none !important;
        margin: 0 !important;
        display: block !important;
        object-fit: cover !important;
        transform: skewX(7deg) scale(1.08) translate3d(0, 0, 0) !important;
        transform-origin: center center !important;
        animation: none !important;
        transition:
            transform .42s cubic-bezier(.16, .9, .24, 1),
            filter .42s ease !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover img {
        animation: posterPanelFillHover .62s cubic-bezier(.16, .9, .24, 1) both !important;
        filter: saturate(1.28) contrast(1.12) brightness(1.06) !important;
    }
}

@keyframes posterPanelFillHover {
    0% {
        transform: skewX(7deg) scale(1.08) translate3d(0, 0, 0);
    }
    35% {
        transform: skewX(7deg) scale(1.25) translate3d(-2.8%, -1.9%, 0);
    }
    62% {
        transform: skewX(7deg) scale(1.18) translate3d(1.8%, 1.3%, 0);
    }
    100% {
        transform: skewX(7deg) scale(1.21) translate3d(0, 0, 0);
    }
}

/* ==========================================================
   PORTADA - PANELES CON ÁNGULO REALMENTE PARALELO
   Usa skewX con el mismo grado para todos los paneles.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        --panel-angle: -7deg;
        --panel-angle-fix: 7deg;
        gap: 13px !important;
        padding: 12px 16px !important;
    }

    .is-cover-page .poster-collage .poster-photo,
    .is-cover-page .poster-collage .poster-photo-1,
    .is-cover-page .poster-collage .poster-photo-2,
    .is-cover-page .poster-collage .poster-photo-3,
    .is-cover-page .poster-collage .poster-photo-4,
    .is-cover-page .poster-collage .poster-photo-5,
    .is-cover-page .poster-collage .poster-photo-6,
    .is-cover-page .poster-collage .poster-photo-7,
    .is-cover-page .poster-collage .poster-photo-8 {
        clip-path: none !important;
        transform: skewX(var(--panel-angle)) !important;
        rotate: 0deg !important;
        overflow: hidden !important;
        transform-origin: center center !important;
    }

    .is-cover-page .poster-collage .poster-photo img {
        width: 132% !important;
        height: 116% !important;
        margin-left: -16% !important;
        margin-top: -8% !important;
        animation: none !important;
        scale: 1 !important;
        translate: 0 0 !important;
        rotate: 0deg !important;
        object-fit: cover !important;
        transform: skewX(var(--panel-angle-fix)) scale(1.08) translate3d(0, 0, 0) !important;
        transform-origin: center center !important;
        transition:
            transform .42s cubic-bezier(.16, .9, .24, 1),
            filter .42s ease !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover img {
        animation: posterParallelHoverStrong .62s cubic-bezier(.16, .9, .24, 1) both !important;
        filter: saturate(1.28) contrast(1.12) brightness(1.06) !important;
    }
}

@keyframes posterParallelHoverStrong {
    0% {
        transform: skewX(7deg) scale(1.08) translate3d(0, 0, 0);
    }
    35% {
        transform: skewX(7deg) scale(1.26) translate3d(-3.2%, -2.1%, 0);
    }
    62% {
        transform: skewX(7deg) scale(1.19) translate3d(2%, 1.4%, 0);
    }
    100% {
        transform: skewX(7deg) scale(1.22) translate3d(0, 0, 0);
    }
}

/* ==========================================================
   PORTADA - FOTOS QUIETAS, MOVIMIENTO INTENSO SOLO EN HOVER
   Anula cualquier animación automática previa del collage.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage .poster-photo img {
        animation: none !important;
        transform: scale(1) translate3d(0, 0, 0) !important;
        scale: 1 !important;
        translate: 0 0 !important;
        rotate: 0deg !important;
        object-position: inherit !important;
        transition:
            transform .42s cubic-bezier(.18, .85, .28, 1),
            filter .42s ease !important;
        will-change: transform !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover img {
        animation: posterHoverCompetition .62s cubic-bezier(.16, .9, .24, 1) both !important;
        filter: saturate(1.26) contrast(1.12) brightness(1.06) !important;
    }
}

@keyframes posterHoverCompetition {
    0% {
        transform: scale(1) translate3d(0, 0, 0);
    }
    35% {
        transform: scale(1.22) translate3d(-3.2%, -2.2%, 0);
    }
    62% {
        transform: scale(1.16) translate3d(2.2%, 1.5%, 0);
    }
    100% {
        transform: scale(1.19) translate3d(0, 0, 0);
    }
}

/* ==========================================================
   PORTADA - ANIMACIÓN RÁPIDA FINAL PARA TODO EL COLLAGE
   Se aplica a TODAS las imágenes y queda al final para ganar
   sobre reglas anteriores.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage .poster-photo img {
        transform: none !important;
        rotate: 0deg !important;
        scale: 1.12;
        translate: -1.8% -1%;
        object-position: 50% 50%;
        transform-origin: center center !important;
        animation: collageFastCompetition 2.25s cubic-bezier(.2, .86, .34, 1) infinite !important;
        will-change: scale, translate, object-position !important;
    }

    .is-cover-page .poster-collage .poster-photo:nth-child(2n) img {
        animation-name: collageFastCompetitionAlt !important;
        animation-duration: 2.45s !important;
    }

    .is-cover-page .poster-collage .poster-photo:nth-child(3n) img {
        animation-duration: 2.05s !important;
        animation-delay: -.65s !important;
    }

    .is-cover-page .poster-collage .poster-photo:nth-child(4n) img {
        animation-duration: 2.65s !important;
        animation-delay: -1s !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover img {
        animation-play-state: paused !important;
        scale: 1.16;
        translate: 0 0;
    }
}

@keyframes collageFastCompetition {
    0% {
        scale: 1.10;
        translate: -2.2% -1.2%;
        object-position: 44% 42%;
    }
    22% {
        scale: 1.17;
        translate: 1.7% -2%;
        object-position: 58% 39%;
    }
    48% {
        scale: 1.13;
        translate: 2.1% 1.5%;
        object-position: 61% 56%;
    }
    74% {
        scale: 1.18;
        translate: -1.4% 2.1%;
        object-position: 43% 60%;
    }
    100% {
        scale: 1.10;
        translate: -2.2% -1.2%;
        object-position: 44% 42%;
    }
}

@keyframes collageFastCompetitionAlt {
    0% {
        scale: 1.11;
        translate: 2% -1.4%;
        object-position: 59% 41%;
    }
    24% {
        scale: 1.18;
        translate: -1.9% -1.8%;
        object-position: 42% 39%;
    }
    52% {
        scale: 1.13;
        translate: -2.2% 1.7%;
        object-position: 40% 58%;
    }
    78% {
        scale: 1.18;
        translate: 1.5% 2%;
        object-position: 60% 61%;
    }
    100% {
        scale: 1.11;
        translate: 2% -1.4%;
        object-position: 59% 41%;
    }
}

/* ==========================================================
   PORTADA - ANIMACIÓN FINAL MÁS NOTORIA DEL COLLAGE
   Mueve el encuadre de las fotos automáticamente, sin depender
   de transform, porque reglas anteriores lo bloqueaban.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-photo img {
        animation: posterObjectMove 9s ease-in-out infinite alternate !important;
    }

    .is-cover-page .poster-photo-2 img,
    .is-cover-page .poster-photo-5 img,
    .is-cover-page .poster-photo-7 img {
        animation-name: posterObjectMoveAlt !important;
        animation-duration: 10s !important;
    }

    .is-cover-page .poster-photo-3 img,
    .is-cover-page .poster-photo-6 img,
    .is-cover-page .poster-photo-8 img {
        animation-duration: 11s !important;
        animation-delay: -3s !important;
    }

    .is-cover-page .poster-photo:hover img {
        animation-play-state: paused !important;
    }
}

@keyframes posterObjectMove {
    0% {
        object-position: 42% 38%;
    }
    50% {
        object-position: 58% 48%;
    }
    100% {
        object-position: 48% 58%;
    }
}

@keyframes posterObjectMoveAlt {
    0% {
        object-position: 60% 38%;
    }
    50% {
        object-position: 44% 52%;
    }
    100% {
        object-position: 56% 60%;
    }
}

/* ==========================================================
   PORTADA - COLLAGE RECTANGULAR FINAL
   Se elimina la inclinación y se conserva el orden actual.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        --panel-gap: 10px;
        justify-self: end !important;
        width: calc(100% - clamp(18px, 2vw, 34px)) !important;
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr 1.12fr 1fr !important;
        gap: var(--panel-gap) !important;
        padding: var(--panel-gap) !important;
        box-sizing: border-box !important;
        background:
            radial-gradient(circle at 18% 20%, rgba(3, 77, 135, .16), transparent 30%),
            radial-gradient(circle at 92% 54%, rgba(4, 91, 151, .20), transparent 38%),
            linear-gradient(112deg, rgba(0, 8, 21, .93) 0%, rgba(0, 25, 54, .91) 47%, rgba(3, 77, 135, .74) 100%) !important;
        border: 1px solid rgba(44, 130, 183, .24) !important;
        border-radius: 6px !important;
        box-shadow: inset 0 0 28px rgba(0, 6, 18, .38) !important;
    }

    .is-cover-page .poster-photo {
        display: block !important;
        position: relative !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        clip-path: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #001022 !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-photo::before,
    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }
}

/* ==========================================================
   PORTADA - PANELES INCLINADOS ORDENADOS Y PARALELOS
   Separación uniforme y bloque de fotos desplazado a la derecha.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        --panel-gap: 12px;
        --panel-slant: 6.5%;
        justify-self: end !important;
        width: calc(100% - clamp(18px, 2vw, 34px)) !important;
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr 1.12fr 1fr !important;
        gap: var(--panel-gap) !important;
        padding: var(--panel-gap) !important;
        box-sizing: border-box !important;
        background:
            radial-gradient(circle at 18% 20%, rgba(3, 77, 135, .16), transparent 30%),
            radial-gradient(circle at 92% 54%, rgba(4, 91, 151, .20), transparent 38%),
            linear-gradient(112deg, rgba(0, 8, 21, .93) 0%, rgba(0, 25, 54, .91) 47%, rgba(3, 77, 135, .74) 100%) !important;
        border: 1px solid rgba(44, 130, 183, .24) !important;
        border-radius: 6px !important;
        box-shadow: inset 0 0 28px rgba(0, 6, 18, .38) !important;
    }

    .is-cover-page .poster-photo {
        display: block !important;
        position: relative !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #001022 !important;
        box-shadow: none !important;
        clip-path: polygon(var(--panel-slant) 0, 100% 0, calc(100% - var(--panel-slant)) 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo::before,
    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-photo img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        transform: scale(1) !important;
        transition: transform .28s ease, filter .28s ease !important;
        filter: saturate(1.08) contrast(1.03) brightness(1.01) !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.035) !important;
    }

    .is-cover-page .poster-photo-1 {
        grid-column: 1 / 4 !important;
        grid-row: 1 / 2 !important;
    }

    .is-cover-page .poster-photo-2 {
        grid-column: 4 / 8 !important;
        grid-row: 1 / 2 !important;
    }

    .is-cover-page .poster-photo-3 {
        grid-column: 8 / 13 !important;
        grid-row: 1 / 2 !important;
    }

    .is-cover-page .poster-photo-4 {
        grid-column: 1 / 7 !important;
        grid-row: 2 / 3 !important;
    }

    .is-cover-page .poster-photo-5 {
        grid-column: 7 / 13 !important;
        grid-row: 2 / 3 !important;
    }

    .is-cover-page .poster-photo-6 {
        grid-column: 1 / 4 !important;
        grid-row: 3 / 4 !important;
    }

    .is-cover-page .poster-photo-7 {
        grid-column: 4 / 10 !important;
        grid-row: 3 / 4 !important;
    }

    .is-cover-page .poster-photo-8 {
        grid-column: 10 / 13 !important;
        grid-row: 3 / 4 !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: 55% 35% !important; }
    .is-cover-page .poster-photo-2 img { object-position: 50% 43% !important; }
    .is-cover-page .poster-photo-3 img { object-position: 50% 42% !important; }
    .is-cover-page .poster-photo-4 img { object-position: 50% 47% !important; }
    .is-cover-page .poster-photo-5 img { object-position: 57% 46% !important; }
    .is-cover-page .poster-photo-6 img { object-position: 54% 45% !important; }
    .is-cover-page .poster-photo-7 img { object-position: 50% 46% !important; }
    .is-cover-page .poster-photo-8 img { object-position: 50% 45% !important; }
}

/* ==========================================================
   PORTADA - RECTÁNGULOS REALES, SIN PANELES INCLINADOS
   Este bloque está al final para anular definitivamente
   cualquier clip-path diagonal anterior.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        justify-self: end !important;
        width: calc(100% - clamp(14px, 1.6vw, 26px)) !important;
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr 1.12fr 1fr !important;
        gap: 10px !important;
        padding: 10px !important;
        box-sizing: border-box !important;
        background:
            linear-gradient(112deg, rgba(0, 9, 23, .94) 0%, rgba(0, 31, 63, .92) 48%, rgba(3, 77, 135, .72) 100%) !important;
        border: 1px solid rgba(54, 139, 190, .22) !important;
        border-radius: 6px !important;
        box-shadow: inset 0 0 24px rgba(0, 8, 20, .34) !important;
    }

    .is-cover-page .poster-photo,
    .is-cover-page .poster-photo-1,
    .is-cover-page .poster-photo-2,
    .is-cover-page .poster-photo-3,
    .is-cover-page .poster-photo-4,
    .is-cover-page .poster-photo-5,
    .is-cover-page .poster-photo-6,
    .is-cover-page .poster-photo-7,
    .is-cover-page .poster-photo-8 {
        clip-path: none !important;
        transform: none !important;
        rotate: 0deg !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-photo img {
        transform: scale(1.09) translate3d(-1.2%, -.8%, 0) !important;
        rotate: 0deg !important;
        transform-origin: center center !important;
        animation: posterSprintMove 3.2s cubic-bezier(.22, .9, .32, 1) infinite !important;
        will-change: transform !important;
    }

    .is-cover-page .poster-photo:nth-child(even) img {
        animation-name: posterSprintMoveAlt !important;
        animation-duration: 3.7s !important;
    }

    .is-cover-page .poster-photo:nth-child(3n) img {
        animation-duration: 2.9s !important;
        animation-delay: -.8s !important;
    }

    .is-cover-page .poster-photo:hover img {
        animation-play-state: paused !important;
        transform: scale(1.12) translate3d(0, 0, 0) !important;
    }
}

@keyframes posterCompetitionMove {
    0% {
        transform: scale(1.075) translate3d(-1.8%, -1%, 0);
    }
    28% {
        transform: scale(1.11) translate3d(.9%, -1.8%, 0);
    }
    62% {
        transform: scale(1.095) translate3d(1.7%, 1.2%, 0);
    }
    100% {
        transform: scale(1.12) translate3d(-.8%, 1.8%, 0);
    }
}

@keyframes posterCompetitionMoveAlt {
    0% {
        transform: scale(1.08) translate3d(1.6%, -1.2%, 0);
    }
    32% {
        transform: scale(1.115) translate3d(-1.3%, .8%, 0);
    }
    68% {
        transform: scale(1.095) translate3d(.7%, 1.9%, 0);
    }
    100% {
        transform: scale(1.12) translate3d(-1.9%, -.8%, 0);
    }
}

@keyframes posterSprintMove {
    0% {
        transform: scale(1.08) translate3d(-1.5%, -.8%, 0);
    }
    18% {
        transform: scale(1.15) translate3d(1.2%, -1.7%, 0);
    }
    36% {
        transform: scale(1.10) translate3d(2%, .9%, 0);
    }
    58% {
        transform: scale(1.16) translate3d(-.9%, 1.7%, 0);
    }
    78% {
        transform: scale(1.11) translate3d(-1.8%, .2%, 0);
    }
    100% {
        transform: scale(1.08) translate3d(-1.5%, -.8%, 0);
    }
}

@keyframes posterSprintMoveAlt {
    0% {
        transform: scale(1.09) translate3d(1.4%, -.9%, 0);
    }
    20% {
        transform: scale(1.15) translate3d(-1.5%, -1.2%, 0);
    }
    42% {
        transform: scale(1.11) translate3d(-2%, 1%, 0);
    }
    64% {
        transform: scale(1.16) translate3d(.8%, 1.8%, 0);
    }
    82% {
        transform: scale(1.12) translate3d(1.9%, .1%, 0);
    }
    100% {
        transform: scale(1.09) translate3d(1.4%, -.9%, 0);
    }
}

/* ==========================================================
   PORTADA - MOVIMIENTO SUAVE AUTOMÁTICO EN EL COLLAGE
   Las imágenes se mueven solas dentro de cada rectángulo,
   sin cambiar la estructura ni el orden.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-photo img {
        transform-origin: center center !important;
        scale: 1.045;
        translate: -1% -1%;
        animation: posterPhotoDrift 14s ease-in-out infinite alternate !important;
        will-change: transform !important;
    }

    .is-cover-page .poster-photo-2 img,
    .is-cover-page .poster-photo-5 img,
    .is-cover-page .poster-photo-7 img {
        animation-name: posterPhotoDriftAlt !important;
        animation-duration: 16s !important;
    }

    .is-cover-page .poster-photo-3 img,
    .is-cover-page .poster-photo-6 img,
    .is-cover-page .poster-photo-8 img {
        animation-duration: 18s !important;
        animation-delay: -4s !important;
    }

    .is-cover-page .poster-photo:hover img {
        animation-play-state: paused !important;
        scale: 1.065;
        translate: 0 0;
    }
}

@keyframes posterPhotoDrift {
    0% {
        scale: 1.045;
        translate: -1.2% -1%;
    }
    50% {
        scale: 1.075;
        translate: 1% .7%;
    }
    100% {
        scale: 1.05;
        translate: 1.4% -1.1%;
    }
}

@keyframes posterPhotoDriftAlt {
    0% {
        scale: 1.05;
        translate: 1.2% -1%;
    }
    50% {
        scale: 1.075;
        translate: -1.1% .8%;
    }
    100% {
        scale: 1.05;
        translate: -1.4% -1%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .is-cover-page .poster-photo img {
        animation: none !important;
    }
}

/* ==========================================================
   PORTADA - RESET RECTANGULAR LIMPIO DEFINITIVO
   Corrige reglas anteriores: sin inclinación, sin rotación,
   con separación uniforme y orden visual estable.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        justify-self: end !important;
        width: calc(100% - clamp(14px, 1.6vw, 26px)) !important;
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr 1.12fr 1fr !important;
        gap: 10px !important;
        padding: 10px !important;
        box-sizing: border-box !important;
        background:
            linear-gradient(112deg, rgba(0, 9, 23, .94) 0%, rgba(0, 31, 63, .92) 48%, rgba(3, 77, 135, .72) 100%) !important;
        border: 1px solid rgba(54, 139, 190, .22) !important;
        border-radius: 6px !important;
        box-shadow: inset 0 0 24px rgba(0, 8, 20, .34) !important;
    }

    .is-cover-page .poster-photo,
    .is-cover-page .poster-photo-1,
    .is-cover-page .poster-photo-2,
    .is-cover-page .poster-photo-3,
    .is-cover-page .poster-photo-4,
    .is-cover-page .poster-photo-5,
    .is-cover-page .poster-photo-6,
    .is-cover-page .poster-photo-7,
    .is-cover-page .poster-photo-8 {
        display: block !important;
        position: relative !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        clip-path: none !important;
        transform: none !important;
        rotate: 0deg !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #001022 !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-photo::before,
    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-photo img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        transform: scale(1) !important;
        rotate: 0deg !important;
        filter: saturate(1.08) contrast(1.03) brightness(1.01) !important;
        transition: transform .28s ease, filter .28s ease !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.03) !important;
    }

    .is-cover-page .poster-photo-1 {
        grid-column: 1 / 4 !important;
        grid-row: 1 / 2 !important;
    }

    .is-cover-page .poster-photo-2 {
        grid-column: 4 / 8 !important;
        grid-row: 1 / 2 !important;
    }

    .is-cover-page .poster-photo-3 {
        grid-column: 8 / 13 !important;
        grid-row: 1 / 2 !important;
    }

    .is-cover-page .poster-photo-4 {
        grid-column: 1 / 7 !important;
        grid-row: 2 / 3 !important;
    }

    .is-cover-page .poster-photo-5 {
        grid-column: 7 / 13 !important;
        grid-row: 2 / 3 !important;
    }

    .is-cover-page .poster-photo-6 {
        grid-column: 1 / 4 !important;
        grid-row: 3 / 4 !important;
    }

    .is-cover-page .poster-photo-7 {
        grid-column: 4 / 10 !important;
        grid-row: 3 / 4 !important;
    }

    .is-cover-page .poster-photo-8 {
        grid-column: 10 / 13 !important;
        grid-row: 3 / 4 !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: 55% 35% !important; }
    .is-cover-page .poster-photo-2 img { object-position: 50% 43% !important; }
    .is-cover-page .poster-photo-3 img { object-position: 50% 42% !important; }
    .is-cover-page .poster-photo-4 img { object-position: 50% 47% !important; }
    .is-cover-page .poster-photo-5 img { object-position: 57% 46% !important; }
    .is-cover-page .poster-photo-6 img { object-position: 54% 45% !important; }
    .is-cover-page .poster-photo-7 img { object-position: 50% 46% !important; }
    .is-cover-page .poster-photo-8 img { object-position: 50% 45% !important; }
}

/* ==========================================================
   PORTADA - collage definitivo guiado por referencia
   Orden visual: rostro / acción / grupo, luego dos fotos amplias,
   luego concentración / delegación / bienvenida.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(9, minmax(0, 1fr)) !important;
        gap: 10px !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        background:
            radial-gradient(circle at 18% 20%, rgba(3, 77, 135, .18), transparent 30%),
            radial-gradient(circle at 92% 54%, rgba(4, 91, 151, .22), transparent 38%),
            linear-gradient(112deg, rgba(0, 8, 21, .92) 0%, rgba(0, 25, 54, .90) 47%, rgba(3, 77, 135, .72) 100%) !important;
        border: 1px solid rgba(44, 130, 183, .26) !important;
        border-radius: 6px !important;
        box-shadow: inset 0 0 28px rgba(0, 6, 18, .38) !important;
    }

    .is-cover-page .poster-photo {
        position: relative !important;
        display: block !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        clip-path: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #001022 !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-photo::before,
    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-photo img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        transform: scale(1) !important;
        transition: transform .28s ease, filter .28s ease !important;
        filter: saturate(1.08) contrast(1.03) brightness(1.01) !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.035) !important;
        filter: saturate(1.12) contrast(1.04) brightness(1.02) !important;
    }

    .is-cover-page .poster-photo-1 {
        grid-column: 1 / 4 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-2 {
        grid-column: 4 / 8 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-3 {
        grid-column: 8 / 13 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-4 {
        grid-column: 1 / 7 !important;
        grid-row: 4 / 7 !important;
    }

    .is-cover-page .poster-photo-5 {
        grid-column: 7 / 13 !important;
        grid-row: 4 / 7 !important;
    }

    .is-cover-page .poster-photo-6 {
        grid-column: 1 / 4 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-7 {
        grid-column: 4 / 10 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-8 {
        grid-column: 10 / 13 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: 54% 36% !important; }
    .is-cover-page .poster-photo-2 img { object-position: 50% 43% !important; }
    .is-cover-page .poster-photo-3 img { object-position: 50% 42% !important; }
    .is-cover-page .poster-photo-4 img { object-position: 50% 47% !important; }
    .is-cover-page .poster-photo-5 img { object-position: 58% 47% !important; }
    .is-cover-page .poster-photo-6 img { object-position: 54% 45% !important; }
    .is-cover-page .poster-photo-7 img { object-position: 50% 46% !important; }
    .is-cover-page .poster-photo-8 img { object-position: 50% 45% !important; }
}

/* ==========================================================
   AJUSTE FINAL COLLAGE PORTADA
   Misma diagonal, mismo margen y separación uniforme.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        display: grid !important;
        grid-template-columns: repeat(14, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
        padding: 12px 15px 12px 30px !important;
        box-sizing: border-box !important;
    }

    .is-cover-page .poster-photo {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        border: 0 !important;
        background: #031734 !important;
        box-shadow: 0 14px 28px rgba(0, 0, 0, .28) !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-1 {
        grid-column: 2 / 5 !important;
        grid-row: 1 !important;
    }

    .is-cover-page .poster-photo-2 {
        grid-column: 5 / 9 !important;
        grid-row: 1 !important;
    }

    .is-cover-page .poster-photo-3 {
        grid-column: 9 / 15 !important;
        grid-row: 1 !important;
    }

    .is-cover-page .poster-photo-4 {
        grid-column: 1 / 6 !important;
        grid-row: 2 !important;
    }

    .is-cover-page .poster-photo-5 {
        grid-column: 6 / 9 !important;
        grid-row: 2 !important;
    }

    .is-cover-page .poster-photo-6 {
        grid-column: 9 / 15 !important;
        grid-row: 2 !important;
    }

    .is-cover-page .poster-photo-7 {
        grid-column: 1 / 8 !important;
        grid-row: 3 !important;
    }

    .is-cover-page .poster-photo-8 {
        grid-column: 8 / 15 !important;
        grid-row: 3 !important;
    }
}

/* Portada final tipo afiche: usar composición modelo exacta */
.cover-poster-hotspot {
    display: none;
}

@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-gate {
        box-sizing: border-box !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 18px !important;
        background: #020814 !important;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border-radius: 8px !important;
        background:
            url("../images/portada-afiche-modelo.png") center center / 100% 100% no-repeat,
            linear-gradient(135deg, #020814 0%, #073d73 100%) !important;
        box-shadow: 0 22px 54px rgba(0, 8, 24, .36) !important;
    }

    .is-cover-page .cover-only-main .cover-main,
    .is-cover-page .cover-only-main .cover-collage,
    .is-cover-page .cover-only-main .cover-geometry {
        display: none !important;
    }

    .is-cover-page .cover-poster-hotspot {
        position: absolute !important;
        display: block !important;
        left: 3.4% !important;
        top: 68.8% !important;
        width: 22.2% !important;
        height: 8.5% !important;
        z-index: 5 !important;
        border-radius: 12px !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
    }

    .is-cover-page .cover-poster-hotspot:focus-visible {
        outline: 4px solid rgba(255, 255, 255, .85) !important;
        outline-offset: 4px !important;
    }
}

/* ==========================================================
   POSTER COLLAGE - agrupación compacta final
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        position: relative !important;
        display: block !important;
        height: 100% !important;
        overflow: hidden !important;
        --photo-slant: clamp(24px, 2.25vw, 33px);
        --photo-shape: polygon(var(--photo-slant) 0, 100% 0, calc(100% - var(--photo-slant)) 100%, 0 100%);
    }

    .is-cover-page .poster-photo {
        position: absolute !important;
        display: block !important;
        inset: auto !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #031734 !important;
        box-shadow: 0 14px 28px rgba(0, 0, 0, .28) !important;
        clip-path: var(--photo-shape) !important;
    }

    .is-cover-page .poster-photo-1 {
        top: 2.7% !important;
        left: 10.4% !important;
        width: 24.8% !important;
        height: 29.8% !important;
    }

    .is-cover-page .poster-photo-2 {
        top: 2.7% !important;
        left: 32.6% !important;
        width: 30.2% !important;
        height: 29.8% !important;
    }

    .is-cover-page .poster-photo-3 {
        top: 2.7% !important;
        left: 60.2% !important;
        right: auto !important;
        width: 37.8% !important;
        height: 29.8% !important;
    }

    .is-cover-page .poster-photo-4 {
        top: 32.9% !important;
        left: 6.2% !important;
        width: 33.9% !important;
        height: 31.8% !important;
    }

    .is-cover-page .poster-photo-5 {
        top: 32.9% !important;
        left: 37.4% !important;
        width: 29.2% !important;
        height: 31.8% !important;
    }

    .is-cover-page .poster-photo-6 {
        top: 32.9% !important;
        left: 64% !important;
        right: auto !important;
        width: 34% !important;
        height: 31.8% !important;
    }

    .is-cover-page .poster-photo-7 {
        left: 5.4% !important;
        bottom: 2.3% !important;
        width: 51.5% !important;
        height: 32.4% !important;
    }

    .is-cover-page .poster-photo-8 {
        left: 54.2% !important;
        right: auto !important;
        bottom: 2.3% !important;
        width: 43.8% !important;
        height: 32.4% !important;
    }
}

/* ==========================================================
   PORTADA - degradado total del fondo
   ========================================================== */
@media (min-width: 921px) {
    html:has(body.is-cover-page),
    body.is-cover-page,
    .is-cover-page .cover-only-main,
    .is-cover-page .poster-shell {
        background:
            radial-gradient(circle at 18% 18%, rgba(8, 207, 255, .14), transparent 24%),
            radial-gradient(circle at 78% 16%, rgba(10, 120, 200, .30), transparent 28%),
            radial-gradient(circle at 86% 82%, rgba(3, 82, 150, .30), transparent 34%),
            linear-gradient(118deg, #000813 0%, #00152f 32%, #003768 66%, #066fa7 100%) !important;
    }

    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 11% 24%, rgba(8, 207, 255, .16) 0 1px, transparent 2px) 0 0 / 18px 18px,
            radial-gradient(circle at 33% 31%, rgba(12, 190, 245, .18), transparent 18%),
            radial-gradient(circle at 76% 8%, rgba(20, 137, 213, .42), transparent 28%),
            radial-gradient(circle at 84% 80%, rgba(6, 105, 178, .34), transparent 32%),
            linear-gradient(118deg, #000915 0%, #001432 31%, #003a72 68%, #066ea5 100%) !important;
    }

    .is-cover-page .poster-copy {
        background:
            linear-gradient(90deg, rgba(0, 9, 21, .90) 0%, rgba(0, 22, 52, .82) 72%, rgba(0, 52, 102, .42) 100%) !important;
    }

    .is-cover-page .poster-collage {
        background:
            linear-gradient(90deg, rgba(0, 9, 21, .40) 0%, rgba(0, 30, 67, .24) 48%, rgba(6, 110, 165, .16) 100%) !important;
    }
}

/* ==========================================================
   PORTADA - degradado azul profundo para todo el box
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 11% 24%, rgba(8, 207, 255, .16) 0 1px, transparent 2px) 0 0 / 18px 18px,
            radial-gradient(circle at 33% 31%, rgba(12, 190, 245, .18), transparent 18%),
            radial-gradient(circle at 76% 8%, rgba(20, 137, 213, .42), transparent 28%),
            radial-gradient(circle at 84% 80%, rgba(6, 105, 178, .34), transparent 32%),
            linear-gradient(118deg, #000915 0%, #001432 31%, #003a72 68%, #066ea5 100%) !important;
        border: 1px solid rgba(35, 188, 235, .22) !important;
        box-shadow:
            inset 0 1px 0 rgba(97, 220, 255, .16),
            0 24px 54px rgba(0, 8, 24, .40) !important;
    }

    .is-cover-page .poster-card::before {
        border-color: rgba(115, 220, 250, .17) !important;
    }

    .is-cover-page .poster-card::after {
        background: radial-gradient(circle, rgba(8, 207, 255, .24) 0 1px, transparent 1.8px) 0 0 / 17px 17px !important;
    }

    .is-cover-page .poster-copy {
        background:
            linear-gradient(90deg, rgba(0, 9, 21, .88) 0%, rgba(0, 22, 52, .82) 72%, rgba(0, 52, 102, .42) 100%) !important;
    }

    .is-cover-page .poster-collage {
        background:
            linear-gradient(90deg, rgba(0, 9, 21, .46) 0%, rgba(0, 30, 67, .26) 48%, rgba(6, 110, 165, .16) 100%) !important;
    }
}

/* ==========================================================
   CORRECCIÓN DEFINITIVA POSTER COLLAGE
   Bordes paralelos: mismo corte en px + separación visual uniforme.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        position: relative !important;
        display: block !important;
        height: 100% !important;
        overflow: hidden !important;
        --photo-slant: clamp(22px, 2.35vw, 34px);
        --photo-shape: polygon(var(--photo-slant) 0, 100% 0, calc(100% - var(--photo-slant)) 100%, 0 100%);
    }

    .is-cover-page .poster-photo {
        position: absolute !important;
        display: block !important;
        inset: auto !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #031734 !important;
        box-shadow: 0 14px 28px rgba(0, 0, 0, .28) !important;
        clip-path: var(--photo-shape) !important;
    }

    .is-cover-page .poster-photo-1 {
        top: 3.1% !important;
        left: 12.1% !important;
        width: 23.4% !important;
        height: 29.6% !important;
    }

    .is-cover-page .poster-photo-2 {
        top: 3.1% !important;
        left: 33.1% !important;
        width: 29.4% !important;
        height: 29.6% !important;
    }

    .is-cover-page .poster-photo-3 {
        top: 3.1% !important;
        left: 60.1% !important;
        right: auto !important;
        width: 37.2% !important;
        height: 29.6% !important;
    }

    .is-cover-page .poster-photo-4 {
        top: 34.4% !important;
        left: 7.2% !important;
        width: 32.9% !important;
        height: 30.5% !important;
    }

    .is-cover-page .poster-photo-5 {
        top: 34.4% !important;
        left: 37.7% !important;
        width: 28.9% !important;
        height: 30.5% !important;
    }

    .is-cover-page .poster-photo-6 {
        top: 34.4% !important;
        left: 64.2% !important;
        right: auto !important;
        width: 33.1% !important;
        height: 30.5% !important;
    }

    .is-cover-page .poster-photo-7 {
        left: 6.4% !important;
        bottom: 2.7% !important;
        width: 50.2% !important;
        height: 31.4% !important;
    }

    .is-cover-page .poster-photo-8 {
        left: 54.2% !important;
        right: auto !important;
        bottom: 2.7% !important;
        width: 43.1% !important;
        height: 31.4% !important;
    }
}

/* ==========================================================
   OVERRIDE REAL: collage de portada con ángulo y separación uniforme
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        display: grid !important;
        grid-template-columns: repeat(14, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
        padding: 12px 15px 12px 30px !important;
        box-sizing: border-box !important;
    }

    .is-cover-page .poster-photo {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        margin: 0 !important;
        background: #031734 !important;
        box-shadow: 0 14px 28px rgba(0, 0, 0, .28) !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-1 {
        grid-column: 2 / 5 !important;
        grid-row: 1 !important;
    }

    .is-cover-page .poster-photo-2 {
        grid-column: 5 / 9 !important;
        grid-row: 1 !important;
    }

    .is-cover-page .poster-photo-3 {
        grid-column: 9 / 15 !important;
        grid-row: 1 !important;
    }

    .is-cover-page .poster-photo-4 {
        grid-column: 1 / 6 !important;
        grid-row: 2 !important;
    }

    .is-cover-page .poster-photo-5 {
        grid-column: 6 / 9 !important;
        grid-row: 2 !important;
    }

    .is-cover-page .poster-photo-6 {
        grid-column: 9 / 15 !important;
        grid-row: 2 !important;
    }

    .is-cover-page .poster-photo-7 {
        grid-column: 1 / 8 !important;
        grid-row: 3 !important;
    }

    .is-cover-page .poster-photo-8 {
        grid-column: 8 / 15 !important;
        grid-row: 3 !important;
    }
}

/* ==========================================================
   PORTADA 2026 RECONSTRUIDA DESDE CERO
   Afiche responsive dentro del box disponible bajo el header.
   ========================================================== */
@media (min-width: 921px) {
    html:has(body.is-cover-page),
    body.is-cover-page {
        width: 100vw !important;
        height: 100dvh !important;
        overflow: hidden !important;
    }

    body.is-cover-page {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        background: #020916 !important;
    }

    .is-cover-page .cover-only-main {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .is-cover-page .poster-shell {
        box-sizing: border-box !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 16px !important;
        background:
            radial-gradient(circle at 78% 8%, rgba(38, 136, 207, .18), transparent 31%),
            linear-gradient(118deg, #000815 0%, #001a3e 42%, #003f7a 100%) !important;
    }

    .is-cover-page .poster-card {
        position: relative !important;
        display: grid !important;
        grid-template-columns: minmax(380px, 39.8vw) minmax(0, 1fr) !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border-radius: 9px !important;
        isolation: isolate !important;
        background:
            radial-gradient(circle at 18% 11%, rgba(113, 198, 235, .18) 0 1.1px, transparent 1.9px) 0 0 / 18px 18px,
            radial-gradient(circle at 31% 30%, transparent 0 18%, rgba(105, 189, 232, .10) 18.3%, transparent 18.8%),
            radial-gradient(circle at 92% 16%, rgba(35, 126, 202, .22), transparent 25%),
            linear-gradient(116deg, #000714 0%, #001a3d 45%, #00437e 100%) !important;
        box-shadow: 0 24px 58px rgba(0, 8, 25, .38) !important;
    }

    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 72% 16%, rgba(49, 157, 222, .28), transparent 28%),
            radial-gradient(circle at 42% 74%, rgba(31, 135, 209, .18), transparent 30%),
            linear-gradient(118deg, #001025 0%, #002b5b 48%, #0a69a7 100%) !important;
    }

    .is-cover-page .poster-shapes {
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }

    .is-cover-page .poster-shapes span {
        position: absolute !important;
        display: block !important;
        width: var(--shape-size, 120px) !important;
        height: var(--shape-size, 120px) !important;
        opacity: .18 !important;
        border: 2px solid rgba(165, 233, 255, .54) !important;
        filter: drop-shadow(0 0 18px rgba(8, 204, 255, .10)) !important;
        animation: posterFloat var(--shape-speed, 14s) ease-in-out infinite alternate !important;
    }

    .is-cover-page .poster-shapes span:nth-child(1) {
        --shape-size: 170px;
        --shape-speed: 16s;
        left: 24%;
        top: 7%;
        border-radius: 50%;
    }

    .is-cover-page .poster-shapes span:nth-child(2) {
        --shape-size: 130px;
        --shape-speed: 13s;
        left: 7%;
        bottom: 8%;
        transform: rotate(34deg);
        clip-path: polygon(50% 0, 100% 86%, 0 86%);
    }

    .is-cover-page .poster-shapes span:nth-child(3) {
        --shape-size: 150px;
        --shape-speed: 18s;
        right: 13%;
        top: 9%;
        transform: rotate(18deg);
    }

    .is-cover-page .poster-shapes span:nth-child(4) {
        --shape-size: 110px;
        --shape-speed: 12s;
        right: 28%;
        bottom: 13%;
        border-radius: 50%;
    }

    .is-cover-page .poster-shapes span:nth-child(5) {
        --shape-size: 95px;
        --shape-speed: 15s;
        left: 43%;
        top: 42%;
        transform: rotate(45deg);
    }

    .is-cover-page .poster-shapes span:nth-child(6) {
        --shape-size: 210px;
        --shape-speed: 20s;
        right: -2%;
        bottom: -8%;
        border-radius: 50%;
        opacity: .12 !important;
    }

    .is-cover-page .poster-card::before,
    .is-cover-page .poster-card::after {
        content: "" !important;
        position: absolute !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }

    .is-cover-page .poster-card::before {
        left: 25% !important;
        top: -10% !important;
        width: 24% !important;
        height: 36% !important;
        border: 1px solid rgba(152, 226, 247, .18) !important;
        border-radius: 50% !important;
    }

    .is-cover-page .poster-card::after {
        left: 27% !important;
        bottom: 3% !important;
        width: 16% !important;
        height: 22% !important;
        background: radial-gradient(circle, rgba(139, 223, 242, .25) 0 1px, transparent 1.8px) 0 0 / 17px 17px !important;
        opacity: .55 !important;
    }

    .is-cover-page .poster-copy {
        position: relative !important;
        z-index: 4 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        min-width: 0 !important;
        padding: clamp(24px, 4vh, 46px) clamp(38px, 4.4vw, 70px) !important;
        background:
            radial-gradient(circle at 78% 31%, transparent 0 19%, rgba(95, 180, 228, .10) 19.4%, transparent 20%),
            linear-gradient(90deg, rgba(0, 7, 18, .99) 0%, rgba(0, 24, 58, .98) 74%, rgba(0, 57, 111, .62) 100%) !important;
        clip-path: polygon(0 0, 91% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-kicker {
        margin: 0 0 clamp(8px, 1.2vh, 14px) !important;
        color: #8ee9ff !important;
        font: 900 clamp(.62rem, .82vw, .82rem)/1 "Manrope", Arial, sans-serif !important;
        letter-spacing: .18em !important;
        text-transform: uppercase !important;
    }

    .is-cover-page .poster-copy h1 {
        max-width: 590px !important;
        margin: 0 0 clamp(13px, 2vh, 20px) !important;
        color: #ffffff !important;
        font: 950 clamp(2.2rem, 3.75vw, 4.45rem)/.98 "Outfit", Arial, sans-serif !important;
        letter-spacing: -.06em !important;
        text-shadow: 0 14px 28px rgba(0, 0, 0, .40) !important;
    }

    .is-cover-page .poster-copy h1 span {
        display: block !important;
        color: #09ccff !important;
        text-shadow: 0 12px 25px rgba(9, 204, 255, .22) !important;
    }

    .is-cover-page .poster-lead {
        max-width: 510px !important;
        margin: 0 0 clamp(16px, 2.5vh, 25px) !important;
        color: rgba(255, 255, 255, .94) !important;
        font: 760 clamp(.88rem, 1.08vw, 1.08rem)/1.28 "Manrope", Arial, sans-serif !important;
    }

    .is-cover-page .poster-lead::before {
        content: "" !important;
        display: block !important;
        width: min(390px, 84%) !important;
        height: 3px !important;
        margin-bottom: clamp(12px, 1.8vh, 18px) !important;
        background: linear-gradient(90deg, #09ccff 0 16%, rgba(9, 204, 255, .68) 16% 100%) !important;
    }

    .is-cover-page .poster-cta {
        display: inline-flex !important;
        width: min(330px, 92%) !important;
        min-height: clamp(47px, 6.4vh, 58px) !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 0 clamp(13px, 2.2vh, 20px) !important;
        border-radius: 9px !important;
        color: #021226 !important;
        background: linear-gradient(90deg, #08c9ff 0%, #6ee6ff 100%) !important;
        box-shadow: 0 18px 36px rgba(8, 201, 255, .26) !important;
        font: 950 clamp(.98rem, 1.16vw, 1.13rem) "Outfit", Arial, sans-serif !important;
        text-decoration: none !important;
    }

    .is-cover-page .poster-tags {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(8px, .8vw, 12px) !important;
        width: min(510px, 98%) !important;
    }

    .is-cover-page .poster-tags span {
        position: relative !important;
        display: flex !important;
        min-height: clamp(40px, 5.8vh, 54px) !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 8px 10px 8px 34px !important;
        border: 1px solid rgba(9, 204, 255, .42) !important;
        border-radius: 12px !important;
        color: #ffffff !important;
        background: rgba(1, 18, 43, .68) !important;
        font: 850 clamp(.58rem, .74vw, .78rem)/1.16 "Manrope", Arial, sans-serif !important;
        text-align: left !important;
    }

    .is-cover-page .poster-tags span::before {
        position: absolute !important;
        left: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        color: #ffffff !important;
        font-size: clamp(1.1rem, 1.4vw, 1.45rem) !important;
        line-height: 1 !important;
    }

    .is-cover-page .tag-exam::before { content: "△" !important; }
    .is-cover-page .tag-medal::before { content: "◉" !important; }
    .is-cover-page .tag-map::before { content: "◎" !important; }

    .is-cover-page .poster-collage {
        display: block !important;
        position: relative !important;
        z-index: 2 !important;
        min-width: 0 !important;
        height: 100% !important;
        overflow: hidden !important;
        background:
            linear-gradient(90deg, rgba(0, 8, 20, .62) 0%, rgba(0, 50, 103, .25) 100%) !important;
    }

    .is-cover-page .poster-photo {
        position: absolute !important;
        display: block !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #031734 !important;
        box-shadow: 0 18px 35px rgba(0, 0, 0, .36) !important;
    }

    .is-cover-page .poster-photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        filter: saturate(1.2) contrast(1.08) brightness(1.03) !important;
        transform: scale(1) !important;
        transition: transform .55s ease, filter .55s ease !important;
        will-change: transform !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.075) !important;
        filter: saturate(1.28) contrast(1.12) brightness(1.08) !important;
    }

    .is-cover-page .poster-photo-1 {
        top: 2.4% !important;
        left: 13.8% !important;
        width: 23.6% !important;
        height: 29.6% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-2 {
        top: 2.4% !important;
        left: 36.4% !important;
        width: 28.2% !important;
        height: 29.6% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-3 {
        top: 2.4% !important;
        right: 1.8% !important;
        width: 33.4% !important;
        height: 29.6% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-4 {
        top: 33.3% !important;
        left: 10.2% !important;
        width: 29.4% !important;
        height: 32.4% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-5 {
        top: 33.3% !important;
        left: 38.4% !important;
        width: 26.4% !important;
        height: 32.4% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-6 {
        top: 33.3% !important;
        right: 1.8% !important;
        width: 33.4% !important;
        height: 32.4% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-7 {
        left: 8.8% !important;
        bottom: 2.4% !important;
        width: 49.4% !important;
        height: 31.6% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-8 {
        right: 1.8% !important;
        bottom: 2.4% !important;
        width: 45.8% !important;
        height: 31.6% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: center center !important; }
    .is-cover-page .poster-photo-2 img { object-position: center center !important; }
    .is-cover-page .poster-photo-3 img { object-position: center 31% !important; }
    .is-cover-page .poster-photo-4 img { object-position: center 43% !important; }
    .is-cover-page .poster-photo-5 img { object-position: center center !important; }
    .is-cover-page .poster-photo-6 img { object-position: center center !important; }
    .is-cover-page .poster-photo-7 img { object-position: center center !important; }
    .is-cover-page .poster-photo-8 img { object-position: center center !important; }
}

@media (max-width: 920px) {
    .is-cover-page .poster-shell {
        min-height: 100svh;
        padding: 18px;
        background: linear-gradient(135deg, #020916, #075f9d);
    }

    .is-cover-page .poster-card {
        display: grid;
        gap: 18px;
    }

    .is-cover-page .poster-copy {
        padding: 28px 22px;
        border-radius: 18px;
        color: #fff;
        background: #031733;
    }

    .is-cover-page .poster-copy h1 {
        font: 900 clamp(2.4rem, 10vw, 4rem)/.98 "Outfit", Arial, sans-serif;
    }

    .is-cover-page .poster-copy h1 span {
        color: #09ccff;
    }

    .is-cover-page .poster-collage {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .is-cover-page .poster-photo {
        margin: 0;
        overflow: hidden;
        border-radius: 12px;
    }

    .is-cover-page .poster-photo img {
        width: 100%;
        height: 190px;
        object-fit: cover;
        display: block;
    }
}

@keyframes posterFloat {
    0% {
        translate: 0 0;
        rotate: 0deg;
    }

    50% {
        translate: 12px -16px;
        rotate: 4deg;
    }

    100% {
        translate: -10px 12px;
        rotate: -3deg;
    }
}

/* ==========================================================
   PORTADA CONSTRUIDA EN HTML/CSS - estilo afiche de olimpiada
   Reemplaza el uso del afiche como imagen y reconstruye la
   composición con fotos reales, proporciones y colores del modelo.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .cover-poster-hotspot {
        display: none !important;
    }

    .is-cover-page .cover-only-main .cover-gate {
        box-sizing: border-box !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 16px !important;
        background:
            radial-gradient(circle at 72% 12%, rgba(0, 184, 255, .18), transparent 28%),
            linear-gradient(135deg, #020714 0%, #041632 48%, #064f88 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        position: relative !important;
        display: grid !important;
        grid-template-columns: minmax(390px, 40.2vw) minmax(0, 1fr) !important;
        gap: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-width: none !important;
        overflow: hidden !important;
        border-radius: 8px !important;
        background:
            radial-gradient(circle at 16% 12%, rgba(135, 225, 250, .20) 0 1.1px, transparent 1.8px) 0 0 / 18px 18px,
            radial-gradient(circle at 28% 28%, transparent 0 17%, rgba(92, 211, 247, .12) 17.3%, transparent 17.7%),
            linear-gradient(118deg, #020916 0%, #031936 43%, #075f9d 100%) !important;
        box-shadow: 0 22px 52px rgba(0, 8, 25, .38) !important;
    }

    .is-cover-page .cover-only-main .cover-main {
        position: relative !important;
        z-index: 3 !important;
        display: flex !important;
        height: 100% !important;
        min-height: 0 !important;
        max-width: none !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding: clamp(22px, 3.2vh, 38px) clamp(36px, 4.4vw, 68px) !important;
        background:
            radial-gradient(circle at 80% 28%, transparent 0 20%, rgba(105, 217, 249, .12) 20.3%, transparent 20.8%),
            radial-gradient(circle at 86% 78%, transparent 0 12%, rgba(105, 217, 249, .10) 12.3%, transparent 12.8%),
            linear-gradient(90deg, rgba(1, 8, 22, .99) 0%, rgba(3, 24, 57, .97) 72%, rgba(5, 38, 87, .64) 100%) !important;
        clip-path: polygon(0 0, 91% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        pointer-events: none !important;
        background:
            linear-gradient(135deg, transparent 0 45%, rgba(69, 202, 244, .08) 45.4%, transparent 46%),
            radial-gradient(circle at 18% 87%, rgba(129, 222, 248, .22) 0 1.1px, transparent 1.9px) 0 0 / 18px 18px !important;
    }

    .is-cover-page .cover-only-main .cover-kicker,
    .is-cover-page .cover-only-main .cover-logo {
        display: none !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        position: relative !important;
        z-index: 1 !important;
        max-width: 560px !important;
        margin: 0 0 clamp(12px, 1.8vh, 18px) !important;
        color: #ffffff !important;
        font: 950 clamp(2.15rem, 3.55vw, 4.15rem)/.99 "Outfit", Arial, sans-serif !important;
        letter-spacing: -.055em !important;
        text-shadow: 0 14px 26px rgba(0, 0, 0, .38) !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 span {
        display: block !important;
        color: #08ccff !important;
        text-shadow: 0 10px 22px rgba(8, 204, 255, .20) !important;
    }

    .is-cover-page .cover-only-main .cover-lead {
        position: relative !important;
        z-index: 1 !important;
        max-width: 500px !important;
        margin: 0 0 clamp(16px, 2.5vh, 24px) !important;
        color: rgba(255, 255, 255, .95) !important;
        font: 760 clamp(.88rem, 1.08vw, 1.08rem)/1.28 "Manrope", Arial, sans-serif !important;
    }

    .is-cover-page .cover-only-main .cover-lead::before {
        content: "" !important;
        display: block !important;
        width: min(390px, 82%) !important;
        height: 3px !important;
        margin-bottom: clamp(12px, 1.8vh, 18px) !important;
        background: linear-gradient(90deg, #08ccff 0 16%, rgba(8, 204, 255, .68) 16% 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main-cta {
        position: relative !important;
        z-index: 1 !important;
        width: min(330px, 92%) !important;
        min-height: clamp(46px, 6.4vh, 58px) !important;
        margin: 0 0 clamp(12px, 2vh, 18px) !important;
        border: 0 !important;
        border-radius: 9px !important;
        background: linear-gradient(90deg, #08c9ff 0%, #68e5ff 100%) !important;
        color: #021226 !important;
        box-shadow: 0 18px 34px rgba(8, 201, 255, .25) !important;
        font: 950 clamp(.94rem, 1.14vw, 1.12rem) "Outfit", Arial, sans-serif !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single {
        position: relative !important;
        z-index: 1 !important;
        display: block !important;
        width: min(282px, 92%) !important;
        margin: 0 !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single span {
        display: inline-flex !important;
        width: 100% !important;
        min-height: clamp(42px, 5.4vh, 52px) !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        padding: 8px 18px !important;
        border-radius: 11px !important;
        border: 1px solid rgba(8, 204, 255, .42) !important;
        background: rgba(1, 18, 43, .72) !important;
        color: #ffffff !important;
        font: 900 clamp(.72rem, .86vw, .84rem)/1.05 "Manrope", Arial, sans-serif !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single span::before {
        content: none !important;
    }

    .is-cover-page .cover-collage {
        position: relative !important;
        z-index: 1 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background:
            linear-gradient(90deg, rgba(2, 10, 24, .72) 0%, rgba(5, 36, 82, .44) 50%, rgba(7, 95, 157, .22) 100%) !important;
    }

    .is-cover-page .cover-collage .cover-menu,
    .is-cover-page .cover-collage .cover-countdown-card {
        display: none !important;
    }

    .is-cover-page .collage-tile,
    .is-cover-page .collage-tile-8 {
        position: absolute !important;
        display: block !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 4px solid #031734 !important;
        border-radius: 0 !important;
        background: #031734 !important;
        box-shadow: 0 18px 35px rgba(0, 0, 0, .38) !important;
    }

    .is-cover-page .collage-tile img,
    .is-cover-page .collage-tile-8 img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        filter: saturate(1.2) contrast(1.08) brightness(1.03) !important;
    }

    .is-cover-page .collage-tile-1 {
        top: 0 !important;
        left: 6.5% !important;
        width: 27.4% !important;
        height: 32.4% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-2 {
        top: 0 !important;
        left: 31.4% !important;
        width: 32.2% !important;
        height: 32.4% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-3 {
        top: 0 !important;
        right: -1.1% !important;
        width: 38% !important;
        height: 32.4% !important;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-4 {
        top: 30.8% !important;
        left: -1.1% !important;
        width: 36.3% !important;
        height: 36.2% !important;
        clip-path: polygon(15% 0, 100% 0, 89% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-5 {
        top: 30.8% !important;
        left: 31.4% !important;
        width: 31.8% !important;
        height: 36.2% !important;
        clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-6 {
        top: 30.8% !important;
        right: -1.1% !important;
        width: 41% !important;
        height: 36.2% !important;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-7 {
        left: -1.1% !important;
        bottom: 0 !important;
        width: 55.4% !important;
        height: 36.2% !important;
        clip-path: polygon(10% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-8 {
        right: -1.1% !important;
        bottom: 0 !important;
        width: 51.8% !important;
        height: 36.2% !important;
        clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-1 img { object-position: center center !important; }
    .is-cover-page .collage-tile-2 img { object-position: center center !important; }
    .is-cover-page .collage-tile-3 img { object-position: center 32% !important; }
    .is-cover-page .collage-tile-4 img { object-position: center 42% !important; }
    .is-cover-page .collage-tile-5 img { object-position: center center !important; }
    .is-cover-page .collage-tile-6 img { object-position: center center !important; }
    .is-cover-page .collage-tile-7 img { object-position: center center !important; }
    .is-cover-page .collage-tile-8 img { object-position: center center !important; }
}

/* Margen interior definitivo para la portada tipo afiche */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        box-sizing: border-box !important;
        padding: 16px 18px !important;
        gap: 14px !important;
    }

    .is-cover-page .cover-collage {
        border-radius: 10px !important;
        overflow: hidden !important;
        box-shadow: inset 0 0 0 1px rgba(126, 224, 249, .16) !important;
    }

    .is-cover-page .collage-tile {
        border-width: 3px !important;
    }

    .is-cover-page .collage-tile-1 {
        top: 2.2% !important;
        left: 3.2% !important;
        width: 30% !important;
        height: 33.5% !important;
    }

    .is-cover-page .collage-tile-2 {
        top: 2.2% !important;
        left: 31.8% !important;
        width: 33% !important;
        height: 33.5% !important;
    }

    .is-cover-page .collage-tile-3 {
        top: 2.2% !important;
        right: 2.2% !important;
        width: 37.2% !important;
        height: 50% !important;
    }

    .is-cover-page .collage-tile-4 {
        top: 33.8% !important;
        left: 2.2% !important;
        width: 34.6% !important;
        height: 34.5% !important;
    }

    .is-cover-page .collage-tile-5 {
        top: 33.8% !important;
        left: 30.8% !important;
        width: 35% !important;
        height: 34.5% !important;
    }

    .is-cover-page .collage-tile-6 {
        left: 2.2% !important;
        bottom: 2.2% !important;
        width: 53% !important;
        height: 37% !important;
    }

    .is-cover-page .collage-tile-7 {
        display: block !important;
        right: 2.2% !important;
        bottom: 2.2% !important;
        width: 49.8% !important;
        height: 37% !important;
    }
}

/* Restaurar portada con todas las fotos del collage */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        gap: clamp(8px, 1vw, 14px) !important;
        padding: clamp(10px, 1.4vh, 15px) clamp(12px, 1.25vw, 20px) !important;
    }

    .is-cover-page .collage-tile-1 {
        display: block !important;
        top: 2% !important;
        left: 4% !important;
        width: 30% !important;
        height: 34% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-2 {
        display: block !important;
        top: 2% !important;
        left: 31.5% !important;
        width: 33.5% !important;
        height: 34% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-3 {
        display: block !important;
        top: 2% !important;
        right: 1.5% !important;
        width: 38% !important;
        height: 51% !important;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-4 {
        display: block !important;
        top: 34% !important;
        left: 1.5% !important;
        width: 35% !important;
        height: 35% !important;
        clip-path: polygon(14% 0, 100% 0, 89% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-5 {
        display: block !important;
        top: 34% !important;
        left: 30.5% !important;
        width: 35.5% !important;
        height: 35% !important;
        clip-path: polygon(11% 0, 100% 0, 89% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-6 {
        display: block !important;
        left: 1.5% !important;
        bottom: 2% !important;
        width: 54% !important;
        height: 35% !important;
        clip-path: polygon(11% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-7 {
        display: block !important;
        right: 1.5% !important;
        bottom: 2% !important;
        width: 51% !important;
        height: 35% !important;
        clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%) !important;
    }
}

/* ==========================================================
   AJUSTE FINAL PORTADA: fotos alegres + marco de aire
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        box-sizing: border-box !important;
        grid-template-columns: minmax(360px, 39vw) minmax(0, 1fr) !important;
        gap: clamp(8px, 1vw, 14px) !important;
        padding: clamp(10px, 1.4vh, 15px) clamp(12px, 1.25vw, 20px) !important;
        background:
            radial-gradient(circle at 62% 34%, rgba(15, 153, 205, .26), transparent 44%),
            linear-gradient(90deg, #020b18 0%, #052449 49%, #0b78a3 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main {
        border-radius: 12px 0 0 12px !important;
        clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%) !important;
        box-shadow: inset 0 0 0 1px rgba(127, 221, 246, .12) !important;
    }

    .is-cover-page .cover-collage {
        border-radius: 12px !important;
        background:
            linear-gradient(135deg, rgba(2, 11, 24, .92), rgba(4, 30, 66, .88)),
            #061427 !important;
        box-shadow:
            inset 0 0 0 1px rgba(143, 226, 248, .18),
            0 18px 36px rgba(0, 0, 0, .22) !important;
    }

    .is-cover-page .collage-tile {
        border: 3px solid #061c38 !important;
        border-radius: 0 !important;
        box-shadow: 0 14px 24px rgba(0, 0, 0, .22) !important;
    }

    .is-cover-page .collage-tile img {
        filter: saturate(1.2) contrast(1.05) brightness(1.02) !important;
    }

    .is-cover-page .collage-tile-1 {
        top: 2% !important;
        left: 4% !important;
        width: 31% !important;
        height: 36% !important;
        clip-path: polygon(7% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-2 {
        top: 2% !important;
        left: 33% !important;
        width: 32% !important;
        height: 36% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-3 {
        top: 2% !important;
        right: 1.5% !important;
        width: 38% !important;
        height: 51% !important;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-4 {
        top: 36% !important;
        left: 1.5% !important;
        width: 36% !important;
        height: 32% !important;
        clip-path: polygon(10% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-5 {
        top: 36% !important;
        left: 34% !important;
        width: 34% !important;
        height: 32% !important;
        clip-path: polygon(10% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-6 {
        left: 1.5% !important;
        bottom: 2% !important;
        width: 66.5% !important;
        height: 34% !important;
        clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-7 {
        display: none !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single {
        display: block !important;
        width: min(265px, 100%) !important;
        margin-top: 0 !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single span {
        min-height: clamp(40px, 5.4vh, 50px) !important;
        display: inline-flex !important;
        width: 100% !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        padding: 8px 16px !important;
        border-radius: 10px !important;
        border-color: rgba(126, 224, 249, .45) !important;
        background: rgba(2, 18, 42, .58) !important;
        color: #f7fdff !important;
        font: 900 clamp(.72rem, .9vw, .84rem)/1.05 "Manrope", Arial, sans-serif !important;
        letter-spacing: .01em !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single span::before {
        content: none !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single small {
        display: inline-grid !important;
        width: 24px !important;
        height: 24px !important;
        place-items: center !important;
        border-radius: 50% !important;
        background: linear-gradient(180deg, #ccf7ff, #6eddf7) !important;
        box-shadow: 0 0 18px rgba(8, 200, 255, .42) !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }
}

/* ==========================================================
   FIX FINAL PORTADA COLLAGE
   Respeta el tamaño: header arriba + afiche completo debajo,
   sin scroll y sin espacio vacío inferior.
   ========================================================== */
@media (min-width: 921px) {
    html:has(body.is-cover-page),
    body.is-cover-page {
        width: 100vw !important;
        height: 100dvh !important;
        overflow: hidden !important;
    }

    body.is-cover-page {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        background: #020b18 !important;
    }

    .is-cover-page .site-header {
        display: block !important;
        min-height: 0 !important;
    }

    .is-cover-page .cover-only-main {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .is-cover-page .cover-only-main .cover-gate {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        background:
            radial-gradient(circle at 24% 42%, rgba(0, 170, 232, .28), transparent 29%),
            linear-gradient(112deg, #031126 0%, #052b62 48%, #086a9d 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        display: grid !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
        grid-template-columns: minmax(360px, 40vw) minmax(0, 1fr) !important;
        gap: 0 !important;
        padding: 16px 18px !important;
        align-items: stretch !important;
    }

    .is-cover-page .cover-only-main .cover-main {
        height: 100% !important;
        min-height: 0 !important;
        max-width: none !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding: clamp(22px, 3.2vh, 38px) clamp(36px, 4.2vw, 62px) !important;
        background:
            radial-gradient(circle at 70% 28%, rgba(13, 119, 174, .25) 0 16%, transparent 17%),
            radial-gradient(circle at 20% 16%, rgba(139, 223, 242, .18) 0 1px, transparent 2px) 0 0 / 18px 18px,
            linear-gradient(90deg, rgba(2, 12, 29, 1) 0%, rgba(3, 26, 62, .98) 76%, rgba(4, 32, 76, .74) 100%) !important;
        clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-kicker,
    .is-cover-page .cover-only-main .cover-logo {
        display: none !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        max-width: 580px !important;
        margin: 0 0 clamp(10px, 1.8vh, 18px) !important;
        color: #fff !important;
        font: 950 clamp(2.35rem, 4.15vw, 4.75rem)/.96 "Outfit", Arial, sans-serif !important;
        letter-spacing: -.06em !important;
        text-shadow: 0 16px 28px rgba(0,0,0,.34) !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 span {
        display: block !important;
        color: #08c8ff !important;
    }

    .is-cover-page .cover-only-main .cover-lead {
        max-width: 490px !important;
        margin: 0 0 clamp(12px, 2.1vh, 20px) !important;
        color: #fff !important;
        font: 650 clamp(.86rem, 1.12vw, 1.08rem)/1.25 "Manrope", Arial, sans-serif !important;
    }

    .is-cover-page .cover-only-main .cover-lead::before {
        content: "" !important;
        display: block !important;
        width: min(360px, 72%) !important;
        height: 2px !important;
        margin-bottom: clamp(9px, 1.6vh, 15px) !important;
        background: linear-gradient(90deg, #08c8ff 0 18%, rgba(8,200,255,.35) 18% 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main-cta {
        width: min(330px, 100%) !important;
        min-height: clamp(42px, 5.8vh, 54px) !important;
        margin: 0 0 clamp(10px, 1.8vh, 17px) !important;
        border: 0 !important;
        border-radius: 10px !important;
        color: #031126 !important;
        background: linear-gradient(90deg, #08c8ff 0%, #77e5ff 100%) !important;
        box-shadow: 0 16px 30px rgba(8, 200, 255, .25) !important;
        font: 950 clamp(.92rem, 1.2vw, 1.12rem) "Outfit", Arial, sans-serif !important;
    }

    .is-cover-page .cover-only-main .cover-badges {
        display: grid !important;
        width: min(500px, 100%) !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    .is-cover-page .cover-only-main .cover-badges span {
        display: grid !important;
        min-height: clamp(36px, 5.5vh, 48px) !important;
        padding: 7px 9px !important;
        place-items: center !important;
        border: 1px solid rgba(8,200,255,.38) !important;
        border-radius: 14px !important;
        color: #fff !important;
        background: rgba(1, 18, 42, .46) !important;
        font: 850 clamp(.6rem, .78vw, .74rem)/1.12 "Manrope", Arial, sans-serif !important;
        text-align: center !important;
    }

    .is-cover-page .cover-only-main .cover-badges span::before {
        width: 14px !important;
        height: 14px !important;
        margin: 0 0 4px !important;
        border-radius: 50% !important;
        background: radial-gradient(circle, #fff 0 18%, #08c8ff 20% 100%) !important;
        box-shadow: 0 0 16px rgba(8,200,255,.65) !important;
    }

    .is-cover-page .cover-collage {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        align-self: stretch !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background:
            radial-gradient(circle at 85% 20%, rgba(8, 200, 255, .14), transparent 24%),
            linear-gradient(135deg, #061427 0%, #041025 100%) !important;
    }

    .is-cover-page .cover-collage .cover-menu,
    .is-cover-page .cover-collage .cover-countdown-card {
        display: none !important;
    }

    .is-cover-page .collage-tile {
        position: absolute !important;
        margin: 0 !important;
        overflow: hidden !important;
        display: block !important;
        border: 4px solid #061b3b !important;
        background: #0a2548 !important;
        box-shadow: 0 18px 32px rgba(0,0,0,.34) !important;
    }

    .is-cover-page .collage-tile img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
        filter: saturate(1.16) contrast(1.08) !important;
    }

    .is-cover-page .collage-tile-1 {
        top: 2.2% !important;
        left: 3.2% !important;
        width: 30% !important;
        height: 33.5% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-2 {
        top: 2.2% !important;
        left: 31.8% !important;
        width: 33% !important;
        height: 33.5% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-3 {
        top: 2.2% !important;
        right: 2.2% !important;
        width: 37.2% !important;
        height: 50% !important;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-4 {
        top: 33.8% !important;
        left: 2.2% !important;
        width: 34.6% !important;
        height: 34.5% !important;
        clip-path: polygon(14% 0, 100% 0, 89% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-5 {
        top: 33.8% !important;
        left: 30.8% !important;
        width: 35% !important;
        height: 34.5% !important;
        clip-path: polygon(11% 0, 100% 0, 89% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-6 {
        left: 2.2% !important;
        bottom: 2.2% !important;
        width: 53% !important;
        height: 37% !important;
        clip-path: polygon(11% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-7 {
        right: 2.2% !important;
        bottom: 2.2% !important;
        width: 49.8% !important;
        height: 37% !important;
        clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%) !important;
    }
}

/* Margen real visible de la portada: marco interior 18px */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-gate {
        box-sizing: border-box !important;
        padding: 18px !important;
        background: #020b18 !important;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        height: 100% !important;
        padding: 0 !important;
        gap: 14px !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    .is-cover-page .cover-collage {
        box-sizing: border-box !important;
        border: 1px solid rgba(128, 222, 248, .28) !important;
        background: #061427 !important;
    }

    .is-cover-page .collage-tile {
        border-width: 3px !important;
    }

    .is-cover-page .collage-tile-1 {
        top: 18px !important;
        left: 18px !important;
        width: calc(30% - 6px) !important;
        height: calc(34% - 12px) !important;
    }

    .is-cover-page .collage-tile-2 {
        top: 18px !important;
        left: 31.5% !important;
        width: calc(33.5% - 8px) !important;
        height: calc(34% - 12px) !important;
    }

    .is-cover-page .collage-tile-3 {
        top: 18px !important;
        right: 18px !important;
        width: calc(38% - 18px) !important;
        height: calc(51% - 18px) !important;
    }

    .is-cover-page .collage-tile-4 {
        top: 32.5% !important;
        left: 18px !important;
        width: calc(35% - 14px) !important;
        height: calc(35% - 8px) !important;
    }

    .is-cover-page .collage-tile-5 {
        top: 32.5% !important;
        left: 30.5% !important;
        width: calc(35.5% - 8px) !important;
        height: calc(35% - 8px) !important;
    }

    .is-cover-page .collage-tile-6 {
        left: 18px !important;
        bottom: 18px !important;
        width: calc(54% - 18px) !important;
        height: calc(39% - 18px) !important;
    }

    .is-cover-page .collage-tile-7 {
        right: 18px !important;
        bottom: 18px !important;
        width: calc(51% - 18px) !important;
        height: calc(39% - 18px) !important;
    }
}

/* ==========================================================
   AJUSTE FINAL PORTADA: fotos alegres + marco de aire
   Debe quedar al final para dominar parches previos.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        box-sizing: border-box !important;
        grid-template-columns: minmax(360px, 39vw) minmax(0, 1fr) !important;
        gap: clamp(8px, 1vw, 14px) !important;
        padding: clamp(10px, 1.4vh, 15px) clamp(12px, 1.25vw, 20px) !important;
        background:
            radial-gradient(circle at 62% 34%, rgba(15, 153, 205, .26), transparent 44%),
            linear-gradient(90deg, #020b18 0%, #052449 49%, #0b78a3 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main {
        border-radius: 12px 0 0 12px !important;
        clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%) !important;
        box-shadow: inset 0 0 0 1px rgba(127, 221, 246, .12) !important;
    }

    .is-cover-page .cover-collage {
        border-radius: 12px !important;
        background:
            linear-gradient(135deg, rgba(2, 11, 24, .92), rgba(4, 30, 66, .88)),
            #061427 !important;
        box-shadow:
            inset 0 0 0 1px rgba(143, 226, 248, .18),
            0 18px 36px rgba(0, 0, 0, .22) !important;
    }

    .is-cover-page .collage-tile {
        border: 3px solid #061c38 !important;
        border-radius: 0 !important;
        box-shadow: 0 14px 24px rgba(0, 0, 0, .22) !important;
    }

    .is-cover-page .collage-tile img {
        filter: saturate(1.2) contrast(1.05) brightness(1.02) !important;
    }

    .is-cover-page .collage-tile-1 {
        top: 2% !important;
        left: 4% !important;
        width: 31% !important;
        height: 36% !important;
        clip-path: polygon(7% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-2 {
        top: 2% !important;
        left: 33% !important;
        width: 32% !important;
        height: 36% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-3 {
        top: 2% !important;
        right: 1.5% !important;
        width: 38% !important;
        height: 51% !important;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-4 {
        top: 36% !important;
        left: 1.5% !important;
        width: 36% !important;
        height: 32% !important;
        clip-path: polygon(10% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-5 {
        top: 36% !important;
        left: 34% !important;
        width: 34% !important;
        height: 32% !important;
        clip-path: polygon(10% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-6 {
        left: 1.5% !important;
        bottom: 2% !important;
        width: 66.5% !important;
        height: 34% !important;
        clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-7 {
        display: none !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single {
        display: block !important;
        width: min(265px, 100%) !important;
        margin-top: 0 !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single span {
        min-height: clamp(40px, 5.4vh, 50px) !important;
        display: inline-flex !important;
        width: 100% !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        padding: 8px 16px !important;
        border-radius: 10px !important;
        border-color: rgba(126, 224, 249, .45) !important;
        background: rgba(2, 18, 42, .58) !important;
        color: #f7fdff !important;
        font: 900 clamp(.72rem, .9vw, .84rem)/1.05 "Manrope", Arial, sans-serif !important;
        letter-spacing: .01em !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single span::before {
        content: none !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single small {
        display: inline-grid !important;
        width: 24px !important;
        height: 24px !important;
        place-items: center !important;
        border-radius: 50% !important;
        background: linear-gradient(180deg, #ccf7ff, #6eddf7) !important;
        box-shadow: 0 0 18px rgba(8, 200, 255, .42) !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    overflow-x: hidden;
    color: var(--ink);
    background: var(--surface);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
p { max-width: 68ch; margin: 0 0 16px; }
h1, h2, h3 {
    margin: 0 0 16px;
    color: var(--navy-950);
    font-family: "Cormorant Garamond", Georgia, serif;
    line-height: 1.08;
    letter-spacing: -.025em;
}
h1 { font-size: clamp(2.5rem, 4vw, 4.2rem); }
h2 { font-size: clamp(1.85rem, 2.8vw, 3rem); }
h3 { font-size: clamp(1.4rem, 2vw, 2rem); }

.container { width: min(1220px, calc(100% - 48px)); margin-inline: auto; }
.section { padding: 64px 0; }
.lead { color: var(--muted); font-size: 1.08rem; }
.eyebrow {
    margin-bottom: 10px;
    color: var(--blue-700);
    font-family: "Outfit", Arial, sans-serif;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.skip-link {
    position: fixed;
    top: -80px;
    left: 18px;
    z-index: 3000;
    padding: 10px 16px;
    background: var(--cream);
}
.skip-link:focus { top: 18px; }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.button {
    display: inline-flex;
    min-height: 48px;
    padding: 11px 24px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    font-family: "Outfit", Arial, sans-serif;
    font-size: .88rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-decoration: none;
    cursor: pointer;
}
.button-primary {
    color: #eef8fc;
    background: linear-gradient(135deg, var(--navy-900), var(--blue-700));
    box-shadow: 0 10px 24px rgba(8, 41, 75, .22);
}
.button-light { color: var(--navy-950); background: var(--sky-100); }
.text-link {
    color: var(--blue-700);
    font-family: "Outfit", Arial, sans-serif;
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    color: #edf8fc;
    background: var(--navy-950);
    box-shadow: 0 8px 26px rgba(4, 16, 34, .22);
}
.event-strip { background: linear-gradient(90deg, #176aa1 0%, #38a0cf 55%, #82d5ed 115%); }
.event-strip-inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-family: "Outfit", Arial, sans-serif;
    font-size: .78rem;
    letter-spacing: .03em;
}
.event-strip-inner span {
    padding: 3px 9px;
    border-radius: 999px;
    color: var(--navy-950);
    background: rgba(238, 248, 252, .78);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.event-strip-inner strong { font-weight: 700; }
.event-strip-inner b {
    padding-left: 16px;
    border-left: 1px solid rgba(5,35,64,.24);
    color: var(--navy-950);
    font-size: .74rem;
    font-weight: 800;
}
.header-main {
    width: calc(100% - 56px);
    max-width: none;
    min-height: 128px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}
.header-actions { display: flex; align-items: center; gap: 22px; }
.header-date {
    display: grid;
    min-width: 175px;
    padding-left: 16px;
    border-left: 3px solid var(--sky-300);
}
.header-date span {
    color: #9ebbd0;
    font-family: "Outfit", Arial, sans-serif;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.header-date strong {
    color: #f1f7fa;
    font: 700 1.25rem/1.3 "Outfit", Arial, sans-serif;
}
.header-cta { color: var(--navy-950); background: var(--cream); }
.header-cta {
    border: 1px solid rgba(255, 255, 255, .72);
    background: linear-gradient(135deg, #e9fbff 0%, #a9eaff 52%, #73d5f5 100%);
    box-shadow: 0 7px 22px rgba(81, 211, 248, .3), inset 0 1px 0 rgba(255,255,255,.8);
    color: #032b48;
    font-weight: 850;
}

.header-cta:hover {
    background: linear-gradient(135deg, #ffffff 0%, #c6f3ff 48%, #8ee3fb 100%);
    box-shadow: 0 9px 27px rgba(81, 211, 248, .42), inset 0 1px 0 #fff;
    transform: translateY(-1px);
}
.brand { display: flex; align-items: center; justify-content: flex-end; }
.brand img {
    width: min(440px, 42vw);
    max-height: 94px;
    object-fit: contain;
    object-position: right center;
    filter: invert(1) brightness(2);
}
.main-nav { border-top: 1px solid rgba(255,255,255,.09); background: linear-gradient(90deg, var(--navy-900), var(--navy-800) 62%, var(--blue-700)); }
.main-nav ul {
    min-height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(24px, 3.6vw, 52px);
    margin-block: 0;
    padding: 0;
    list-style: none;
}
.main-nav a {
    position: relative;
    font-family: "Outfit", Arial, sans-serif;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
}
.main-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -6px;
    height: 2px;
    background: var(--sky-300);
    transition: right .2s ease;
}
.main-nav a:hover::after, .main-nav a.active::after { right: 0; }
.menu-toggle {
    display: none;
    width: 46px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 8px;
    background: rgba(255,255,255,.06);
}
.menu-toggle span {
    display: block;
    width: 25px;
    height: 2px;
    margin: 6px auto;
    background: #fff;
}

/* Main event date and registration countdown */
.event-launch {
    position: relative;
    overflow: hidden;
    color: var(--navy-900);
    background:
        linear-gradient(120deg, rgba(255,255,255,.62), transparent 42%),
        linear-gradient(135deg, #d9eef4 0%, #edf7f9 52%, #c8e5ee 100%);
}
.event-launch::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .22;
    background-image: radial-gradient(circle at 16px 16px, rgba(23,106,161,.2) 1.4px, transparent 1.5px);
    background-size: 34px 34px;
    mask-image: linear-gradient(90deg, #000, transparent 82%);
}
.event-launch-decoration {
    position: absolute;
    top: 40px;
    right: 7%;
    width: 260px;
    aspect-ratio: 1;
    border: 2px solid rgba(23,106,161,.12);
    border-radius: 50%;
}
.event-launch-decoration::before,
.event-launch-decoration::after {
    content: "";
    position: absolute;
    inset: 17%;
    border: 2px solid rgba(23,106,161,.1);
    transform: rotate(18deg);
}
.event-launch-decoration::after {
    inset: 31%;
    border-radius: 50%;
    transform: none;
}
.event-launch-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, .76fr);
    gap: clamp(28px, 5vw, 58px);
    min-height: 0;
    padding-block: 46px;
    align-items: center;
}
.event-date-card {
    position: relative;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid rgba(23,106,161,.14);
    border-radius: 24px;
    background: rgba(255,253,246,.72);
    box-shadow: 0 16px 34px rgba(3,21,45,.08);
}
.event-kicker,
.countdown-label {
    margin-bottom: 10px;
    color: var(--blue-700);
    font: 800 .72rem "Outfit", Arial, sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.event-date-display {
    display: flex;
    margin-bottom: 12px;
    align-items: center;
    gap: 18px;
}
.event-date-display > strong {
    color: var(--blue-700);
    font: 850 clamp(4.35rem, 8vw, 6.8rem)/.78 "Outfit", Arial, sans-serif;
    letter-spacing: -.07em;
}
.event-date-display div {
    display: grid;
    padding-left: 18px;
    border-left: 2px solid rgba(23,106,161,.28);
}
.event-date-display span {
    color: var(--navy-900);
    font: 700 clamp(1.8rem, 3vw, 2.85rem)/1 "Cormorant Garamond", Georgia, serif;
}
.event-date-display small {
    color: var(--blue-700);
    font: 700 1.15rem "Outfit", Arial, sans-serif;
    letter-spacing: .24em;
}
.event-date-card h1 {
    max-width: 720px;
    margin-bottom: 10px;
    color: var(--navy-950);
    font-size: clamp(2rem, 3vw, 3rem);
}
.event-date-card > p:last-child {
    max-width: 660px;
    margin-bottom: 0;
    color: #47687b;
}
.registration-countdown {
    padding: 26px;
    border: 1px solid rgba(23,106,161,.16);
    border-radius: 22px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 14px 32px rgba(3,21,45,.08);
    backdrop-filter: blur(8px);
}
.registration-countdown h2 {
    margin-bottom: 8px;
    color: var(--navy-950);
    font: 700 clamp(1.6rem, 2.4vw, 2.2rem) "Cormorant Garamond", Georgia, serif;
}
.countdown-intro { margin-bottom: 18px; color: #557286; font-size: .94rem; }
.countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 22px;
}
.countdown div {
    display: grid;
    min-width: 0;
    padding: 12px 6px 10px;
    place-items: center;
    border: 1px solid rgba(23,106,161,.14);
    border-radius: 14px;
    background: #e6f4f8;
}
.countdown strong {
    color: var(--blue-700);
    font: 850 clamp(1.45rem, 2.5vw, 2rem)/1 "Outfit", Arial, sans-serif;
    font-variant-numeric: tabular-nums;
}
.countdown span {
    margin-top: 7px;
    color: #557286;
    font: 700 .58rem "Outfit", Arial, sans-serif;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.countdown-cta {
    width: 100%;
    color: #fff;
    background: var(--blue-700);
    box-shadow: 0 10px 22px rgba(23,106,161,.18);
}
.event-launch-page .event-launch-grid { min-height: 430px; }

/* Front cover / landing gate */
.cover-gate {
    position: relative;
    min-height: calc(100vh - 201px);
    overflow: hidden;
    color: #f2fbff;
    background:
        radial-gradient(circle at 82% 18%, rgba(130,213,237,.34), transparent 28%),
        radial-gradient(circle at 12% 74%, rgba(56,160,207,.25), transparent 32%),
        linear-gradient(135deg, #03152d 0%, #082b52 48%, #176aa1 100%);
}
.cover-gate::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(130,213,237,.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(130,213,237,.18) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(90deg, #000, transparent 80%);
}
.cover-geometry {
    position: absolute;
    right: -110px;
    top: 8%;
    width: min(620px, 45vw);
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
}
.cover-geometry::before,
.cover-geometry::after {
    content: "";
    position: absolute;
    inset: 18%;
    border: 1px solid rgba(130,213,237,.22);
    transform: rotate(30deg);
}
.cover-geometry::after {
    inset: 36%;
    border-radius: 50%;
    transform: none;
}
.cover-grid {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: calc(100vh - 201px);
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .72fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
    padding-block: 52px;
}
.cover-main { max-width: 760px; }
.cover-kicker {
    margin-bottom: 16px;
    color: var(--sky-300);
    font: 900 .78rem "Outfit", Arial, sans-serif;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.cover-logo {
    width: min(620px, 100%);
    max-height: 255px;
    margin: 0 0 20px;
    object-fit: contain;
    object-position: left center;
    filter: drop-shadow(0 22px 32px rgba(0,0,0,.28));
}
.cover-main h1 {
    max-width: 780px;
    margin-bottom: 16px;
    color: #fff;
    font-size: clamp(2.4rem, 4.6vw, 5rem);
    line-height: .95;
}
.cover-lead {
    max-width: 660px;
    color: #cfe3ec;
    font-size: clamp(1rem, 1.35vw, 1.22rem);
}
.cover-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin-top: 26px;
}
.cover-primary-button {
    min-height: 62px;
    padding-inline: 34px;
    color: var(--navy-950);
    background: linear-gradient(90deg, var(--sky-300), #e5f9fd);
    box-shadow: 0 18px 34px rgba(56,160,207,.23);
    font-size: 1rem;
}
.cover-secondary-link {
    color: #d9f4fb;
    font: 900 .92rem "Outfit", Arial, sans-serif;
    text-decoration: none;
}
.cover-countdown-card {
    padding: 26px;
    border: 1px solid rgba(130,213,237,.3);
    border-radius: 28px;
    background: rgba(4,25,51,.64);
    box-shadow: 0 28px 68px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
}
.cover-countdown-label {
    margin-bottom: 8px;
    color: var(--sky-300);
    font: 900 .74rem "Outfit", Arial, sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.cover-countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 15px;
}
.cover-countdown div {
    display: grid;
    min-height: 84px;
    padding: 13px 6px 11px;
    place-items: center;
    border: 1px solid rgba(130,213,237,.22);
    border-radius: 15px;
    background: rgba(255,255,255,.08);
}
.cover-countdown strong {
    color: #fff;
    font: 900 clamp(1.65rem, 3vw, 2.35rem)/1 "Outfit", Arial, sans-serif;
    font-variant-numeric: tabular-nums;
}
.cover-countdown span {
    margin-top: 7px;
    color: #b8d3e0;
    font: 800 .58rem "Outfit", Arial, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.cover-countdown-copy {
    margin-bottom: 20px;
    color: #d8e8ef;
    font-size: .95rem;
}
.cover-countdown-copy strong { color: #fff; }
.cover-menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.cover-menu a {
    display: flex;
    min-height: 48px;
    padding: 10px 13px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(130,213,237,.22);
    border-radius: 14px;
    color: #eef9fc;
    background: rgba(255,255,255,.08);
    font: 850 .78rem/1.2 "Manrope", Arial, sans-serif;
    text-align: center;
    text-decoration: none;
    transition: transform .2s, background .2s, border-color .2s;
}
.cover-menu a:hover {
    border-color: var(--sky-300);
    background: rgba(130,213,237,.16);
    transform: translateY(-2px);
}

.cover-only-main {
    min-height: calc(100dvh - 201px);
    overflow: hidden;
}
.cover-only-main .cover-gate {
    min-height: calc(100dvh - 201px);
}
.cover-only-main .cover-grid {
    min-height: calc(100dvh - 201px);
    grid-template-columns: minmax(0, 1fr) minmax(330px, 560px);
    gap: clamp(24px, 4vw, 58px);
    padding-block: clamp(18px, 3vh, 34px);
}
.cover-only-main .cover-kicker {
    margin-bottom: 8px;
    font-size: .72rem;
}
.cover-only-main .cover-logo {
    width: min(430px, 72%);
    max-height: 190px;
    margin-bottom: 10px;
}
.cover-only-main .cover-main h1 {
    max-width: 700px;
    margin-bottom: 10px;
    font-size: clamp(2.1rem, 4.1vw, 4.15rem);
}
.cover-only-main .cover-lead {
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.45;
}
.cover-only-main .cover-actions {
    margin-top: 16px;
}
.cover-only-main .cover-primary-button {
    min-height: 54px;
    padding-inline: 28px;
}
.cover-only-main .cover-countdown-card {
    padding: 20px;
    border-radius: 23px;
}
.cover-only-main .cover-countdown-label {
    margin-bottom: 6px;
}
.cover-only-main .cover-countdown {
    gap: 8px;
    margin-bottom: 10px;
}
.cover-only-main .cover-countdown div {
    min-height: 74px;
    padding: 10px 5px 9px;
    border-radius: 13px;
}
.cover-only-main .cover-countdown strong {
    font-size: clamp(1.55rem, 3vw, 2.15rem);
}
.cover-only-main .cover-countdown span {
    margin-top: 5px;
    font-size: .52rem;
}
.cover-only-main .cover-countdown-copy {
    margin-bottom: 14px;
    font-size: .88rem;
    line-height: 1.45;
}
.cover-only-main .cover-menu {
    gap: 8px;
}
.cover-only-main .cover-menu a {
    min-height: 42px;
    padding: 8px 10px;
    border-radius: 12px;
    font-size: .72rem;
}

/* Portada principal: logo protagonista + información a la derecha */
.cover-only-main .cover-gate {
    background:
        radial-gradient(circle at 16% 32%, rgba(124, 214, 238, .24), transparent 26%),
        radial-gradient(circle at 84% 68%, rgba(61, 154, 206, .42), transparent 34%),
        linear-gradient(120deg, #021227 0%, #082a4a 47%, #0f6792 100%);
}
.cover-only-main .cover-gate::before {
    opacity: .13;
    background-size: 52px 52px;
    mask-image: linear-gradient(90deg, #000 12%, rgba(0,0,0,.72) 58%, transparent 100%);
}
.cover-only-main .cover-geometry {
    right: -70px;
    top: 4%;
    width: min(650px, 44vw);
    border-color: rgba(178, 235, 247, .18);
}
.cover-side {
    display: flex;
    flex-direction: column;
    gap: 13px;
    align-self: center;
}
.cover-panel-label {
    margin-bottom: 9px;
    color: #90e6f7;
    font: 900 .72rem "Outfit", Arial, sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.cover-info-card {
    position: relative;
    overflow: hidden;
    padding: clamp(18px, 2.2vw, 25px);
    border: 1px solid rgba(169, 231, 246, .34);
    border-radius: 26px;
    color: #edfaff;
    background:
        linear-gradient(135deg, rgba(5, 30, 58, .92), rgba(14, 88, 130, .75)),
        radial-gradient(circle at 100% 0, rgba(132, 225, 246, .22), transparent 35%);
    box-shadow: 0 24px 56px rgba(0, 10, 28, .28);
    backdrop-filter: blur(16px);
}
.cover-info-card::after {
    content: "";
    position: absolute;
    right: -44px;
    top: -48px;
    width: 150px;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}
.cover-info-card h2 {
    position: relative;
    max-width: 460px;
    margin-bottom: 13px;
    color: #fff;
    font: 760 clamp(1.55rem, 2.4vw, 2.2rem)/.98 "Cormorant Garamond", Georgia, serif;
}
.cover-info-list {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 15px;
}
.cover-info-list span {
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid rgba(169, 231, 246, .2);
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    color: #d8edf5;
    font: 750 .83rem/1.25 "Manrope", Arial, sans-serif;
}
.cover-info-list strong {
    color: #ffffff;
    font-weight: 900;
}
.cover-info-button {
    position: relative;
    width: 100%;
    min-height: 50px;
    justify-content: center;
    border: 0;
    background: linear-gradient(90deg, #78dbef, #e8fbff);
}
.cover-only-main .cover-grid {
    grid-template-columns: minmax(480px, 1.05fr) minmax(390px, 560px);
    gap: clamp(24px, 4vw, 64px);
    padding-block: clamp(14px, 2.2vh, 24px);
}
.cover-only-main .cover-side {
    min-height: min(560px, calc(100dvh - 245px));
    justify-content: space-between;
}
.cover-only-main .cover-main {
    max-width: 850px;
}
.cover-only-main .cover-kicker {
    margin-bottom: 6px;
    color: #8fe8f9;
}
.cover-only-main .cover-logo {
    width: min(760px, 96%);
    max-height: 295px;
    margin: 0 0 10px -8px;
    filter: brightness(0) invert(1) drop-shadow(0 24px 40px rgba(0,0,0,.34));
    opacity: .96;
}
.cover-only-main .cover-main h1 {
    max-width: 720px;
    margin-bottom: 8px;
    font-size: clamp(2.35rem, 4.05vw, 4.55rem);
    letter-spacing: -.035em;
}
.cover-only-main .cover-lead {
    max-width: 670px;
    color: #d8f4fb;
    font-size: clamp(.98rem, 1.1vw, 1.13rem);
}
.cover-only-main .cover-actions {
    margin-top: 12px;
}
.cover-only-main .cover-secondary-link {
    display: inline-flex;
    min-height: 40px;
    padding: 0 2px;
    align-items: center;
    color: #a9ecfa;
    font-size: .95rem;
}
.cover-only-main .cover-countdown-card {
    padding: clamp(17px, 2vw, 23px);
    border-color: rgba(173, 233, 247, .32);
    background:
        linear-gradient(145deg, rgba(238, 250, 253, .96), rgba(190, 230, 240, .9));
    box-shadow: 0 22px 52px rgba(0, 20, 48, .2);
    color: #06213f;
}
.cover-only-main .cover-countdown-card .cover-countdown-label {
    color: #0c6a9e;
}
.cover-only-main .cover-countdown {
    gap: 9px;
    margin-bottom: 10px;
}
.cover-only-main .cover-countdown div {
    min-height: 76px;
    border: 1px solid rgba(14, 102, 154, .18);
    background:
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(219, 242, 248, .82));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 10px 18px rgba(11, 78, 123, .1);
}
.cover-only-main .cover-countdown strong {
    color: #07335d;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
}
.cover-only-main .cover-countdown span {
    color: #0c6a9e;
}
.cover-only-main .cover-countdown-copy {
    margin: 0;
    color: #23465f;
    font-weight: 700;
}
.cover-only-main .cover-countdown-copy strong {
    color: #041a33;
}
.cover-only-main .cover-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.cover-only-main .cover-menu a {
    min-height: 39px;
    border-color: rgba(178, 235, 247, .24);
    background: rgba(255,255,255,.11);
    color: #f0fbff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

@media (min-width: 921px) {
    .cover-only-main,
    .cover-only-main .cover-gate,
    .cover-only-main .cover-grid {
        min-height: calc(100dvh - 303px);
    }
    .cover-only-main .cover-grid {
        align-items: stretch;
        grid-template-columns: minmax(500px, 1.02fr) minmax(430px, 560px);
        padding-block: 22px 16px;
    }
    .cover-only-main .cover-main {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-bottom: 10px;
    }
    .cover-only-main .cover-logo {
        width: min(700px, 92%);
        max-height: 300px;
        margin-bottom: 12px;
    }
    .cover-only-main .cover-main h1 {
        max-width: 720px;
        font-size: clamp(2.45rem, 3.75vw, 4.2rem);
    }
    .cover-only-main .cover-lead {
        max-width: 690px;
        line-height: 1.36;
    }
    .cover-only-main .cover-side {
        min-height: 0;
        align-self: stretch;
        justify-content: space-between;
        gap: 10px;
    }
    .cover-only-main .cover-info-card {
        padding: 18px 22px;
        border-radius: 23px;
    }
    .cover-only-main .cover-panel-label {
        margin-bottom: 6px;
        font-size: .68rem;
    }
    .cover-only-main .cover-info-card h2 {
        margin-bottom: 10px;
        font-size: clamp(1.65rem, 2.25vw, 2.18rem);
    }
    .cover-only-main .cover-info-list {
        gap: 7px;
        margin-bottom: 12px;
    }
    .cover-only-main .cover-info-list span {
        min-height: 38px;
        padding: 8px 11px;
        border-radius: 12px;
        font-size: .78rem;
    }
    .cover-only-main .cover-info-button {
        min-height: 46px;
    }
    .cover-only-main .cover-menu {
        gap: 7px;
    }
    .cover-only-main .cover-menu a {
        min-height: 35px;
        padding: 7px 9px;
        border-radius: 11px;
        font-size: .68rem;
    }
    .cover-only-main .cover-countdown-card {
        padding: 16px 20px;
        border-radius: 22px;
    }
    .cover-only-main .cover-countdown-card .cover-countdown-label {
        margin-bottom: 7px;
        font-size: .68rem;
    }
    .cover-only-main .cover-countdown {
        gap: 9px;
        margin-bottom: 8px;
    }
    .cover-only-main .cover-countdown div {
        min-height: 66px;
        padding: 8px 5px 7px;
        border-radius: 14px;
    }
    .cover-only-main .cover-countdown strong {
        font-size: clamp(1.55rem, 2.35vw, 2.05rem);
    }
    .cover-only-main .cover-countdown-copy {
        font-size: .82rem;
        line-height: 1.34;
    }
}

/* En la portada no se repite el encabezado: debe entrar como carátula completa. */
.is-cover-page .site-header {
    display: none;
}
.is-cover-page .cover-only-main,
.is-cover-page .cover-only-main .cover-gate,
.is-cover-page .cover-only-main .cover-grid {
    min-height: 100dvh;
}
.is-cover-page .cover-only-main {
    overflow: hidden;
}
.is-cover-page .cover-only-main .cover-grid {
    align-items: stretch;
    grid-template-columns: minmax(500px, 1.05fr) minmax(430px, 560px);
    gap: clamp(28px, 4vw, 72px);
    padding-block: clamp(20px, 3.2vh, 38px);
}
.is-cover-page .cover-only-main .cover-main {
    justify-content: center;
    padding-bottom: 0;
}
.is-cover-page .cover-only-main .cover-logo {
    width: min(780px, 96%);
    max-height: min(38vh, 360px);
    margin-bottom: clamp(10px, 1.8vh, 18px);
}
.is-cover-page .cover-only-main .cover-main h1 {
    max-width: 760px;
    font-size: clamp(2.75rem, 4.35vw, 5.25rem);
}
.is-cover-page .cover-only-main .cover-lead {
    max-width: 720px;
    font-size: clamp(1rem, 1.25vw, 1.22rem);
}
.is-cover-page .cover-only-main .cover-side {
    align-self: center;
    min-height: min(690px, calc(100dvh - 64px));
    max-height: calc(100dvh - 44px);
    justify-content: space-between;
}
.is-cover-page .cover-only-main .cover-info-card {
    padding: clamp(18px, 2vw, 24px);
}
.is-cover-page .cover-only-main .cover-info-list span {
    min-height: 40px;
}
.is-cover-page .cover-only-main .cover-menu a {
    min-height: 38px;
}
.is-cover-page .cover-only-main .cover-countdown-card {
    padding: clamp(16px, 1.8vw, 22px);
}
.is-cover-page .cover-only-main .cover-countdown div {
    min-height: clamp(62px, 8.6vh, 78px);
}

@media (max-height: 780px) and (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-grid {
        padding-block: 16px;
    }
    .is-cover-page .cover-only-main .cover-logo {
        max-height: 32vh;
        width: min(690px, 90%);
    }
    .is-cover-page .cover-only-main .cover-kicker {
        margin-bottom: 4px;
        font-size: .68rem;
    }
    .is-cover-page .cover-only-main .cover-main h1 {
        font-size: clamp(2.25rem, 3.55vw, 3.85rem);
        margin-bottom: 6px;
    }
    .is-cover-page .cover-only-main .cover-lead {
        font-size: .96rem;
        line-height: 1.32;
    }
    .is-cover-page .cover-only-main .cover-actions {
        margin-top: 8px;
    }
    .is-cover-page .cover-only-main .cover-side {
        min-height: calc(100dvh - 32px);
        gap: 8px;
    }
    .is-cover-page .cover-only-main .cover-info-card {
        padding: 15px 18px;
        border-radius: 20px;
    }
    .is-cover-page .cover-only-main .cover-panel-label {
        margin-bottom: 4px;
        font-size: .62rem;
    }
    .is-cover-page .cover-only-main .cover-info-card h2 {
        margin-bottom: 8px;
        font-size: clamp(1.45rem, 2vw, 1.95rem);
    }
    .is-cover-page .cover-only-main .cover-info-list {
        gap: 6px;
        margin-bottom: 10px;
    }
    .is-cover-page .cover-only-main .cover-info-list span {
        min-height: 34px;
        padding: 7px 10px;
        font-size: .72rem;
    }
    .is-cover-page .cover-only-main .cover-info-button {
        min-height: 42px;
    }
    .is-cover-page .cover-only-main .cover-menu {
        gap: 6px;
    }
    .is-cover-page .cover-only-main .cover-menu a {
        min-height: 32px;
        padding-block: 6px;
        font-size: .64rem;
    }
    .is-cover-page .cover-only-main .cover-countdown-card {
        padding: 14px 18px;
        border-radius: 20px;
    }
    .is-cover-page .cover-only-main .cover-countdown-card .cover-countdown-label {
        margin-bottom: 5px;
        font-size: .62rem;
    }
    .is-cover-page .cover-only-main .cover-countdown {
        margin-bottom: 6px;
    }
    .is-cover-page .cover-only-main .cover-countdown div {
        min-height: 58px;
        padding: 7px 5px 6px;
    }
    .is-cover-page .cover-only-main .cover-countdown strong {
        font-size: clamp(1.35rem, 2vw, 1.82rem);
    }
    .is-cover-page .cover-only-main .cover-countdown-copy {
        font-size: .76rem;
    }
}

/* Encuadre definitivo: collage tipo afiche dentro del espacio debajo del header. */
@media (min-width: 921px) {
    body.is-cover-page {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        width: 100vw;
        height: 100dvh !important;
        overflow: hidden !important;
        background: #02142e;
    }

    .is-cover-page .site-header {
        display: block !important;
        min-height: 0;
    }

    .is-cover-page .cover-only-main,
    .is-cover-page .cover-only-main .cover-gate,
    .is-cover-page .cover-only-main .cover-grid {
        width: 100%;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        height: 100% !important;
        grid-template-columns: minmax(360px, 39vw) minmax(0, 1fr);
    }

    .is-cover-page .cover-only-main .cover-main {
        padding: clamp(26px, 4.2vh, 46px) clamp(34px, 4vw, 62px);
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        max-width: 590px;
        margin-bottom: clamp(12px, 2vh, 20px);
        font-size: clamp(2.2rem, 3.9vw, 4.45rem);
        line-height: .96;
    }

    .is-cover-page .cover-only-main .cover-lead {
        max-width: 500px;
        margin-bottom: clamp(14px, 2.4vh, 24px);
        font-size: clamp(.88rem, 1.18vw, 1.12rem);
        line-height: 1.25;
    }

    .is-cover-page .cover-only-main .cover-lead::before {
        height: 2px;
        margin-bottom: clamp(10px, 1.8vh, 16px);
    }

    .is-cover-page .cover-only-main .cover-main-cta {
        min-height: clamp(44px, 6.4vh, 56px);
        margin-bottom: clamp(12px, 2vh, 18px);
        font-size: clamp(.95rem, 1.25vw, 1.15rem);
    }

    .is-cover-page .cover-only-main .cover-badges {
        gap: 8px;
    }

    .is-cover-page .cover-only-main .cover-badges span {
        min-height: clamp(38px, 6.2vh, 52px);
        padding: 7px 9px;
        font-size: clamp(.62rem, .82vw, .78rem);
    }

    .is-cover-page .cover-only-main .cover-badges span::before {
        width: 16px;
        height: 16px;
        margin-bottom: 4px;
    }

    .is-cover-page .cover-collage {
        height: 100%;
    }
}

/* Encuadre solicitado: la portada ocupa solo el espacio debajo del header. */
@media (min-width: 921px) {
    body.is-cover-page {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        height: 100dvh;
        overflow: hidden;
    }
    .is-cover-page .site-header {
        display: block;
        min-height: 0;
    }
    .is-cover-page .cover-only-main,
    .is-cover-page .cover-only-main .cover-gate,
    .is-cover-page .cover-only-main .cover-grid {
        height: 100%;
        min-height: 0;
        max-height: none;
    }
    .is-cover-page .cover-only-main,
    .is-cover-page .cover-only-main .cover-gate {
        overflow: hidden;
    }
    .is-cover-page .cover-only-main .cover-grid {
        align-items: center;
        grid-template-columns: minmax(460px, 1.02fr) minmax(430px, 560px);
        gap: clamp(28px, 4vw, 68px);
        padding-block: 12px;
    }
    .is-cover-page .cover-only-main .cover-main {
        justify-content: center;
    }
    .is-cover-page .cover-only-main .cover-kicker {
        position: relative;
        top: -10px;
        margin-bottom: 8px;
        font-size: .66rem;
    }
    .is-cover-page .cover-only-main .cover-logo {
        width: min(540px, 78%);
        max-height: 205px;
        margin-bottom: 6px;
    }
    .is-cover-page .cover-only-main .cover-main h1 {
        max-width: 690px;
        margin-bottom: 5px;
        font-size: clamp(2.1rem, 3.2vw, 3.35rem);
        line-height: .91;
    }
    .is-cover-page .cover-only-main .cover-lead {
        max-width: 690px;
        font-size: .9rem;
        line-height: 1.28;
    }
    .is-cover-page .cover-only-main .cover-actions {
        margin-top: 5px;
    }
    .is-cover-page .cover-only-main .cover-secondary-link {
        min-height: 28px;
        font-size: .82rem;
    }
    .is-cover-page .cover-only-main .cover-side {
        align-self: center;
        width: 100%;
        min-height: 0;
        max-height: 100%;
        gap: 7px;
        justify-content: center;
    }
    .is-cover-page .cover-only-main .cover-info-card {
        padding: 13px 18px;
        border-radius: 19px;
    }
    .is-cover-page .cover-only-main .cover-panel-label {
        margin-bottom: 3px;
        font-size: .58rem;
    }
    .is-cover-page .cover-only-main .cover-info-card h2 {
        margin-bottom: 7px;
        font-size: clamp(1.35rem, 1.9vw, 1.78rem);
    }
    .is-cover-page .cover-only-main .cover-info-list {
        gap: 5px;
        margin-bottom: 8px;
    }
    .is-cover-page .cover-only-main .cover-info-list span {
        min-height: 30px;
        padding: 6px 9px;
        border-radius: 10px;
        font-size: .67rem;
        line-height: 1.14;
    }
    .is-cover-page .cover-only-main .cover-info-button {
        min-height: 38px;
        font-size: .82rem;
    }
    .is-cover-page .cover-only-main .cover-menu {
        gap: 5px 7px;
    }
    .is-cover-page .cover-only-main .cover-menu a {
        min-height: 29px;
        padding: 5px 8px;
        border-radius: 9px;
        font-size: .58rem;
    }
    .is-cover-page .cover-only-main .cover-countdown-card {
        padding: 12px 16px;
        border-radius: 18px;
    }
    .is-cover-page .cover-only-main .cover-countdown-card .cover-countdown-label {
        margin-bottom: 5px;
        font-size: .58rem;
    }
    .is-cover-page .cover-only-main .cover-countdown {
        gap: 7px;
        margin-bottom: 5px;
    }
    .is-cover-page .cover-only-main .cover-countdown div {
        min-height: 51px;
        padding: 6px 4px 5px;
        border-radius: 11px;
    }
    .is-cover-page .cover-only-main .cover-countdown strong {
        font-size: clamp(1.2rem, 1.75vw, 1.58rem);
    }
    .is-cover-page .cover-only-main .cover-countdown span {
        margin-top: 3px;
        font-size: .42rem;
    }
    .is-cover-page .cover-only-main .cover-countdown-copy {
        font-size: .68rem;
        line-height: 1.24;
    }
}

/* ==========================================================
   PORTADA COMPETENCIA - energía, reto y geometría en movimiento
   ========================================================== */
@keyframes competitionGridMove {
    from { background-position: 0 0, 0 0; }
    to { background-position: 84px 84px, -84px 84px; }
}

@keyframes geometrySweep {
    0% { transform: translate3d(-4%, -2%, 0) rotate(0deg); opacity: .3; }
    50% { transform: translate3d(4%, 2%, 0) rotate(5deg); opacity: .55; }
    100% { transform: translate3d(-4%, -2%, 0) rotate(0deg); opacity: .3; }
}

@keyframes geometryOrbit {
    from { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(8deg) scale(1.035); }
    to { transform: rotate(0deg) scale(1); }
}

@keyframes pulseLine {
    0%, 100% { opacity: .38; transform: scaleX(.82); }
    50% { opacity: .9; transform: scaleX(1); }
}

@media (min-width: 921px) {
    body.is-cover-page {
        background: #020b18;
    }

    .is-cover-page .cover-only-main .cover-gate {
        background:
            radial-gradient(circle at 14% 30%, rgba(130, 213, 237, .16), transparent 24%),
            radial-gradient(circle at 82% 54%, rgba(19, 125, 178, .5), transparent 36%),
            linear-gradient(115deg, #020b18 0%, #06203b 48%, #0d6f9c 100%);
    }

    .is-cover-page .cover-only-main .cover-gate::before {
        opacity: .18;
        background-image:
            linear-gradient(rgba(130,213,237,.2) 1px, transparent 1px),
            linear-gradient(90deg, rgba(130,213,237,.15) 1px, transparent 1px);
        background-size: 42px 42px;
        mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.72) 70%, transparent 100%);
        animation: competitionGridMove 18s linear infinite;
    }

    .is-cover-page .cover-only-main .cover-gate::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        opacity: .45;
        background:
            linear-gradient(58deg, transparent 0 44%, rgba(139,223,242,.24) 44.3% 44.8%, transparent 45.2%),
            linear-gradient(122deg, transparent 0 54%, rgba(255,255,255,.12) 54.3% 54.7%, transparent 55%),
            radial-gradient(circle at 76% 38%, transparent 0 18%, rgba(139,223,242,.24) 18.2% 18.5%, transparent 18.8%),
            radial-gradient(circle at 18% 72%, transparent 0 12%, rgba(255,255,255,.16) 12.2% 12.6%, transparent 12.9%);
        animation: geometrySweep 10s ease-in-out infinite;
    }

    .is-cover-page .cover-geometry {
        right: -7vw;
        top: 7%;
        width: min(560px, 40vw);
        opacity: .58;
        border-color: rgba(185, 238, 249, .2);
        animation: geometryOrbit 12s ease-in-out infinite;
    }

    .is-cover-page .cover-only-main .cover-grid {
        grid-template-columns: minmax(420px, 1fr) minmax(470px, 560px);
        gap: clamp(28px, 5vw, 78px);
        padding-block: 12px;
    }

    .is-cover-page .cover-only-main .cover-logo {
        width: min(500px, 74%);
        max-height: 180px;
        margin-bottom: 8px;
    }

    .is-cover-page .cover-only-main .cover-kicker {
        display: inline-flex;
        width: fit-content;
        padding: 6px 10px;
        border-left: 4px solid #8bdff2;
        color: #9be8f7;
        background: rgba(255,255,255,.06);
        font-size: .68rem;
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        max-width: 760px;
        color: #ffffff;
        font-size: clamp(2.15rem, 3.45vw, 3.7rem);
        text-shadow: 0 16px 30px rgba(0,0,0,.24);
    }

    .is-cover-page .cover-only-main .cover-lead {
        max-width: 700px;
        color: #d9f5fc;
        font-weight: 600;
    }

    .cover-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 12px;
    }

    .cover-badges span {
        display: inline-flex;
        min-height: 30px;
        padding: 6px 11px;
        align-items: center;
        border: 1px solid rgba(139, 223, 242, .34);
        border-radius: 999px;
        color: #f3fbff;
        background: rgba(255,255,255,.08);
        font: 850 .68rem "Manrope", Arial, sans-serif;
        letter-spacing: .01em;
    }

    .cover-badges span::before {
        content: "";
        width: 7px;
        height: 7px;
        margin-right: 7px;
        border-radius: 50%;
        background: #8bdff2;
        box-shadow: 0 0 14px rgba(139,223,242,.8);
    }

    .is-cover-page .cover-only-main .cover-side {
        gap: 9px;
        max-width: 570px;
    }

    .is-cover-page .cover-only-main .cover-info-card {
        border-radius: 22px;
        color: #ffffff;
        background:
            linear-gradient(145deg, rgba(2, 11, 24, .96), rgba(5, 45, 80, .94) 55%, rgba(15, 124, 170, .9));
        box-shadow: 0 24px 62px rgba(0, 8, 24, .42);
    }

    .is-cover-page .cover-info-card::before {
        height: 6px;
        background: linear-gradient(90deg, #ffffff 0%, #8bdff2 42%, #127cb0 100%);
    }

    .is-cover-page .cover-info-card::after {
        border-color: rgba(139, 223, 242, .1);
    }

    .is-cover-page .cover-only-main .cover-panel-label {
        color: #8bdff2;
        padding-top: 19px;
    }

    .is-cover-page .cover-only-main .cover-info-card h2 {
        color: #ffffff;
        font-family: "Outfit", Arial, sans-serif;
        font-weight: 900;
        letter-spacing: -.04em;
        text-transform: uppercase;
    }

    .is-cover-page .cover-only-main .cover-info-list {
        gap: 8px;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .is-cover-page .cover-only-main .cover-info-list span {
        min-height: 41px;
        border: 1px solid rgba(139, 223, 242, .28);
        border-radius: 14px;
        color: #e9faff;
        background: rgba(255,255,255,.075);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    }

    .is-cover-page .cover-only-main .cover-info-list span:nth-child(2n),
    .is-cover-page .cover-only-main .cover-info-list span:nth-last-child(-n+2) {
        border: 1px solid rgba(139, 223, 242, .28);
    }

    .is-cover-page .cover-only-main .cover-info-list strong {
        color: #ffffff;
    }

    .is-cover-page .cover-only-main .cover-info-button {
        min-height: 52px;
        border-radius: 14px;
        color: #031021;
        background: linear-gradient(90deg, #ffffff, #c8f5ff 48%, #6ed5ed);
        box-shadow: 0 14px 30px rgba(0, 8, 24, .34);
        font-size: 1rem;
        text-transform: uppercase;
        letter-spacing: .05em;
    }

    .is-cover-page .cover-only-main .cover-info-button::after {
        content: " →";
        font-weight: 900;
    }

    .is-cover-page .cover-only-main .cover-menu a,
    .is-cover-page .cover-only-main .cover-menu a:nth-child(2n) {
        min-height: 34px;
        border-radius: 999px;
        border-color: rgba(139, 223, 242, .28);
        background: rgba(2, 11, 24, .38);
        font-size: .64rem;
    }

    .is-cover-page .cover-only-main .cover-countdown-card {
        border-radius: 22px;
        background:
            linear-gradient(145deg, rgba(238, 252, 255, .98), rgba(190, 236, 247, .96));
        box-shadow: 0 20px 48px rgba(0, 8, 24, .3);
    }

    .is-cover-page .cover-only-main .cover-countdown-card::before {
        height: 6px;
        background: linear-gradient(90deg, #061427 0%, #126fa1 52%, #8bdff2 100%);
    }

    .is-cover-page .cover-only-main .cover-countdown-card .cover-countdown-label {
        color: #075f92;
        font-weight: 900;
    }

    .is-cover-page .cover-only-main .cover-countdown div,
    .is-cover-page .cover-only-main .cover-countdown div:nth-child(even) {
        min-height: 56px;
        border-radius: 14px;
        background: #ffffff;
        box-shadow: inset 0 -4px 0 rgba(7, 95, 146, .12);
    }

    .is-cover-page .cover-only-main .cover-countdown strong {
        font-family: "Outfit", Arial, sans-serif;
        font-weight: 900;
    }

    .is-cover-page .cover-only-main .cover-countdown-copy {
        font-weight: 700;
    }
}

@media (max-height: 760px) and (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-logo {
        max-height: 150px;
        width: min(440px, 68%);
    }
    .is-cover-page .cover-only-main .cover-main h1 {
        font-size: clamp(1.95rem, 3vw, 3.05rem);
    }
    .cover-badges {
        margin-top: 8px;
    }
    .cover-badges span {
        min-height: 26px;
        padding: 5px 9px;
        font-size: .62rem;
    }
    .is-cover-page .cover-only-main .cover-info-card h2 {
        padding-bottom: 10px;
        font-size: clamp(1.45rem, 2.1vw, 1.95rem);
    }
    .is-cover-page .cover-only-main .cover-info-list span {
        min-height: 34px;
        padding-block: 7px;
        font-size: .7rem;
    }
    .is-cover-page .cover-only-main .cover-info-button {
        min-height: 43px;
        margin-bottom: 17px;
        font-size: .82rem;
    }
    .is-cover-page .cover-only-main .cover-countdown div,
    .is-cover-page .cover-only-main .cover-countdown div:nth-child(even) {
        min-height: 49px;
    }
}

/* ==========================================================
   PORTADA TIPO AFICHE: igual dirección visual que la referencia
   ========================================================== */
@media (min-width: 921px) {
    body.is-cover-page {
        display: block;
        width: 100vw;
        height: 100dvh;
        overflow: hidden;
        background: #02142e;
    }

    .is-cover-page .site-header {
        display: none !important;
    }

    .is-cover-page .cover-only-main,
    .is-cover-page .cover-only-main .cover-gate,
    .is-cover-page .cover-only-main .cover-grid {
        width: 100%;
        height: 100dvh;
        min-height: 0;
        overflow: hidden;
    }

    .is-cover-page .cover-only-main .cover-gate {
        background:
            radial-gradient(circle at 24% 42%, rgba(0, 170, 232, .28), transparent 29%),
            linear-gradient(112deg, #031126 0%, #052b62 48%, #086a9d 100%);
    }

    .is-cover-page .cover-only-main .cover-gate::before {
        opacity: .18;
        background-image:
            radial-gradient(circle, rgba(255,255,255,.58) 1.5px, transparent 1.7px),
            linear-gradient(rgba(128,216,240,.14) 1px, transparent 1px),
            linear-gradient(90deg, rgba(128,216,240,.1) 1px, transparent 1px);
        background-size: 20px 20px, 72px 72px, 72px 72px;
        animation: competitionGridMove 22s linear infinite;
        mask-image: linear-gradient(90deg, #000 0 48%, transparent 86%);
    }

    .is-cover-page .cover-only-main .cover-gate::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        opacity: .35;
        background:
            radial-gradient(circle at 32% 17%, transparent 0 10%, rgba(255,255,255,.22) 10.2% 10.6%, transparent 10.9%),
            radial-gradient(circle at 29% 72%, transparent 0 12%, rgba(11,201,255,.18) 12.2% 12.7%, transparent 13%),
            linear-gradient(134deg, transparent 0 27%, rgba(255,255,255,.18) 27.2% 27.5%, transparent 27.8%),
            linear-gradient(45deg, transparent 0 70%, rgba(11,201,255,.18) 70.2% 70.5%, transparent 70.8%);
        animation: geometrySweep 13s ease-in-out infinite;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        position: relative;
        z-index: 2;
        display: grid;
        width: 100%;
        max-width: none;
        height: 100dvh;
        grid-template-columns: minmax(420px, 39vw) minmax(0, 1fr);
        gap: 0;
        padding: 0;
        align-items: stretch;
    }

    .is-cover-page .cover-only-main .cover-main {
        position: relative;
        z-index: 6;
        display: flex;
        max-width: none;
        padding: clamp(46px, 7vh, 74px) clamp(44px, 4.5vw, 78px);
        justify-content: center;
        background:
            linear-gradient(90deg, rgba(2, 12, 29, .98) 0%, rgba(4, 32, 76, .94) 75%, rgba(4, 32, 76, .52) 100%);
        clip-path: polygon(0 0, 91% 0, 100% 100%, 0 100%);
    }

    .is-cover-page .cover-only-main .cover-main::before {
        content: "";
        position: absolute;
        left: 9%;
        top: 8%;
        width: 210px;
        height: 70px;
        opacity: .4;
        background-image: radial-gradient(circle, #b7f3ff 1.8px, transparent 2px);
        background-size: 18px 18px;
    }

    .is-cover-page .cover-only-main .cover-main::after {
        content: "";
        position: absolute;
        right: 6%;
        top: 6%;
        width: min(250px, 18vw);
        aspect-ratio: 1;
        border: 1px solid rgba(255,255,255,.2);
        border-radius: 50%;
        box-shadow: inset 0 0 0 1px rgba(11,201,255,.1);
    }

    .is-cover-page .cover-only-main .cover-kicker,
    .is-cover-page .cover-only-main .cover-logo {
        display: none;
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        position: relative;
        z-index: 2;
        max-width: 650px;
        margin: 0 0 clamp(22px, 3.5vh, 34px);
        color: #ffffff;
        font: 950 clamp(3.1rem, 5vw, 6.4rem)/.98 "Outfit", Arial, sans-serif;
        letter-spacing: -.065em;
        text-shadow: 0 18px 30px rgba(0,0,0,.38);
    }

    .is-cover-page .cover-only-main .cover-main h1 span {
        display: block;
        color: #08c8ff;
        text-shadow: 0 0 24px rgba(8,200,255,.3);
    }

    .is-cover-page .cover-only-main .cover-lead {
        position: relative;
        z-index: 2;
        max-width: 520px;
        margin: 0 0 clamp(26px, 4vh, 42px);
        color: #ffffff;
        font: 650 clamp(1.1rem, 1.55vw, 1.55rem)/1.28 "Manrope", Arial, sans-serif;
    }

    .is-cover-page .cover-only-main .cover-lead::before {
        content: "";
        display: block;
        width: min(380px, 70%);
        height: 3px;
        margin-bottom: clamp(18px, 3vh, 28px);
        background: linear-gradient(90deg, #08c8ff 0 18%, rgba(8,200,255,.35) 18% 100%);
    }

    .is-cover-page .cover-only-main .cover-main-cta {
        position: relative;
        z-index: 2;
        width: min(360px, 100%);
        min-height: clamp(58px, 8vh, 76px);
        margin: 0 0 clamp(24px, 4vh, 42px);
        border: 0;
        border-radius: 12px;
        color: #031126;
        background: linear-gradient(90deg, #08c8ff 0%, #77e5ff 100%);
        box-shadow: 0 20px 38px rgba(8, 200, 255, .28);
        font: 950 clamp(1.18rem, 1.65vw, 1.75rem) "Outfit", Arial, sans-serif;
        text-transform: none;
    }

    .is-cover-page .cover-only-main .cover-badges {
        position: relative;
        z-index: 2;
        display: grid;
        width: min(520px, 100%);
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin: 0;
    }

    .is-cover-page .cover-only-main .cover-badges span {
        display: grid;
        min-height: 68px;
        padding: 10px 13px;
        place-items: center;
        border: 1px solid rgba(8,200,255,.38);
        border-radius: 16px;
        color: #fff;
        background: rgba(1, 18, 42, .46);
        font: 850 clamp(.78rem, 1vw, 1rem)/1.14 "Manrope", Arial, sans-serif;
        text-align: center;
    }

    .is-cover-page .cover-only-main .cover-badges span::before {
        width: 22px;
        height: 22px;
        margin: 0 0 6px;
        border-radius: 50%;
        background: radial-gradient(circle, #fff 0 18%, #08c8ff 20% 100%);
        box-shadow: 0 0 18px rgba(8,200,255,.65);
    }

    .is-cover-page .cover-collage {
        position: relative;
        z-index: 3;
        width: 100%;
        height: 100%;
        min-height: 0;
        overflow: hidden;
        background: #061427;
    }

    .is-cover-page .cover-collage::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 4;
        pointer-events: none;
        background:
            linear-gradient(90deg, rgba(2,12,29,.35), transparent 16%),
            linear-gradient(180deg, rgba(2,12,29,.04), rgba(2,12,29,.16));
    }

    .is-cover-page .collage-tile {
        position: absolute;
        margin: 0;
        overflow: hidden;
        border: 5px solid #062650;
        background: #0a2548;
        box-shadow: 0 16px 28px rgba(0,0,0,.28);
    }

    .is-cover-page .collage-tile img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        filter: saturate(1.16) contrast(1.08);
    }

    .is-cover-page .collage-tile-1 {
        top: -1%;
        left: 4%;
        width: 30%;
        height: 33%;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
    }

    .is-cover-page .collage-tile-2 {
        top: -1%;
        left: 31.5%;
        width: 33.5%;
        height: 33%;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
    }

    .is-cover-page .collage-tile-3 {
        top: -1%;
        right: -1%;
        width: 38%;
        height: 50%;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
    }

    .is-cover-page .collage-tile-4 {
        top: 31%;
        left: -1%;
        width: 35%;
        height: 34%;
        clip-path: polygon(14% 0, 100% 0, 89% 100%, 0 100%);
    }

    .is-cover-page .collage-tile-5 {
        top: 31%;
        left: 30.5%;
        width: 35.5%;
        height: 34%;
        clip-path: polygon(11% 0, 100% 0, 89% 100%, 0 100%);
    }

    .is-cover-page .collage-tile-6 {
        left: -1%;
        bottom: -1%;
        width: 54%;
        height: 38%;
        clip-path: polygon(11% 0, 100% 0, 91% 100%, 0 100%);
    }

    .is-cover-page .collage-tile-7 {
        right: -1%;
        bottom: -1%;
        width: 51%;
        height: 38%;
        clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%);
    }

    .is-cover-page .cover-collage .cover-menu,
    .is-cover-page .cover-collage .cover-countdown-card {
        display: none !important;
    }
}

@media (max-height: 780px) and (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-main {
        padding: 36px 44px;
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        font-size: clamp(2.6rem, 4.65vw, 4.8rem);
        margin-bottom: 18px;
    }

    .is-cover-page .cover-only-main .cover-lead {
        margin-bottom: 20px;
        font-size: clamp(.95rem, 1.35vw, 1.18rem);
    }

    .is-cover-page .cover-only-main .cover-main-cta {
        min-height: 54px;
        margin-bottom: 20px;
        font-size: 1.15rem;
    }

    .is-cover-page .cover-only-main .cover-badges span {
        min-height: 52px;
        font-size: .74rem;
    }
}

/* ==========================================================
   PORTADA COLLAGE - afiche competitivo con fotos reales
   ========================================================== */
@media (min-width: 921px) {
    body.is-cover-page {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        height: 100dvh;
        overflow: hidden;
        background: #020b18;
    }

    .is-cover-page .cover-only-main,
    .is-cover-page .cover-only-main .cover-gate,
    .is-cover-page .cover-only-main .cover-grid {
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .is-cover-page .cover-only-main .cover-gate {
        color: #fff;
        background:
            radial-gradient(circle at 17% 28%, rgba(8, 105, 159, .42), transparent 30%),
            linear-gradient(112deg, #020b18 0%, #062650 50%, #0b83b7 100%);
    }

    .is-cover-page .cover-only-main .cover-gate::before {
        opacity: .16;
        background-image:
            radial-gradient(circle, rgba(177,236,249,.52) 1.6px, transparent 1.8px),
            linear-gradient(rgba(177,236,249,.12) 1px, transparent 1px),
            linear-gradient(90deg, rgba(177,236,249,.1) 1px, transparent 1px);
        background-size: 22px 22px, 58px 58px, 58px 58px;
        animation: competitionGridMove 22s linear infinite;
        mask-image: linear-gradient(90deg, #000 0 55%, transparent 92%);
    }

    .is-cover-page .cover-only-main .cover-gate::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        opacity: .34;
        background:
            linear-gradient(135deg, transparent 0 34%, rgba(139,223,242,.22) 34.2% 34.5%, transparent 34.8%),
            radial-gradient(circle at 31% 18%, transparent 0 10%, rgba(255,255,255,.17) 10.2% 10.6%, transparent 10.9%),
            radial-gradient(circle at 27% 76%, transparent 0 13%, rgba(139,223,242,.16) 13.2% 13.6%, transparent 13.9%);
        animation: geometrySweep 12s ease-in-out infinite;
    }

    .is-cover-page .cover-geometry {
        display: none;
    }

    .is-cover-page .cover-grid.cover-collage-layout {
        width: 100%;
        max-width: none;
        display: grid;
        grid-template-columns: minmax(390px, 42vw) minmax(0, 1fr);
        gap: 0;
        align-items: stretch;
        padding: 0;
    }

    .is-cover-page .cover-main {
        position: relative;
        z-index: 4;
        display: flex;
        max-width: none;
        padding: clamp(28px, 4vh, 48px) clamp(34px, 4vw, 64px);
        justify-content: center;
        background:
            linear-gradient(90deg, rgba(2,11,24,.98) 0%, rgba(4,26,57,.95) 78%, rgba(4,26,57,.62) 100%);
        clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
    }

    .is-cover-page .cover-main::before {
        content: "";
        position: absolute;
        left: clamp(28px, 4vw, 58px);
        bottom: 8%;
        width: min(260px, 28vw);
        aspect-ratio: 1;
        border: 1px solid rgba(139,223,242,.16);
        border-radius: 50%;
    }

    .is-cover-page .cover-kicker {
        top: 0;
        width: fit-content;
        margin-bottom: clamp(14px, 2.2vh, 22px);
        padding: 0;
        border: 0;
        color: #b7f3ff;
        background: transparent;
        font-size: clamp(.64rem, .82vw, .78rem);
        letter-spacing: .2em;
    }

    .is-cover-page .cover-logo {
        display: none;
    }

    .is-cover-page .cover-main h1 {
        max-width: 630px;
        margin-bottom: clamp(14px, 2.4vh, 24px);
        color: #fff;
        font: 900 clamp(2.45rem, 4.2vw, 5.15rem)/.98 "Outfit", Arial, sans-serif;
        letter-spacing: -.055em;
        text-shadow: 0 18px 28px rgba(0,0,0,.36);
    }

    .is-cover-page .cover-main h1 span {
        display: block;
        margin-top: .08em;
        color: #17c8ff;
        text-shadow: 0 0 26px rgba(23,200,255,.28);
    }

    .is-cover-page .cover-lead {
        max-width: 520px;
        margin-bottom: clamp(16px, 3vh, 28px);
        color: #e8f8ff;
        font: 650 clamp(.95rem, 1.25vw, 1.22rem)/1.32 "Manrope", Arial, sans-serif;
    }

    .is-cover-page .cover-main-cta {
        width: min(330px, 100%);
        min-height: clamp(48px, 7vh, 64px);
        margin: 0 0 clamp(14px, 2.4vh, 24px);
        border: 0;
        border-radius: 10px;
        color: #031021;
        background: linear-gradient(90deg, #08c8ff, #7de7ff);
        box-shadow: 0 18px 32px rgba(3, 200, 255, .25);
        font: 950 clamp(1rem, 1.35vw, 1.28rem) "Outfit", Arial, sans-serif;
        text-transform: none;
    }

    .is-cover-page .cover-main-cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 22px 38px rgba(3, 200, 255, .34);
    }

    .is-cover-page .cover-badges {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: min(500px, 100%);
        gap: 10px;
        margin-top: 0;
    }

    .is-cover-page .cover-badges span {
        min-height: 46px;
        padding: 9px 10px;
        border: 1px solid rgba(139,223,242,.32);
        border-radius: 14px;
        color: #f4fbff;
        background: rgba(255,255,255,.065);
        font: 800 clamp(.68rem, .85vw, .82rem)/1.18 "Manrope", Arial, sans-serif;
    }

    .is-cover-page .cover-badges span::before {
        width: 9px;
        height: 9px;
        margin-right: 8px;
    }

    .cover-collage {
        position: relative;
        z-index: 2;
        min-height: 0;
        overflow: hidden;
        background: #061427;
    }

    .cover-collage::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 3;
        pointer-events: none;
        background:
            linear-gradient(90deg, rgba(2,11,24,.24), transparent 16%),
            linear-gradient(180deg, rgba(2,11,24,.08), rgba(2,11,24,.18));
    }

    .collage-tile {
        position: absolute;
        margin: 0;
        overflow: hidden;
        border: 4px solid #061427;
        background: #0b233e;
        box-shadow: 0 18px 30px rgba(0,0,0,.24);
    }

    .collage-tile img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        filter: saturate(1.12) contrast(1.05);
        transition: transform .45s ease;
    }

    .collage-tile:hover img {
        transform: scale(1.035);
    }

    .collage-tile-1 {
        top: -2%;
        left: 5%;
        width: 31%;
        height: 35%;
        clip-path: polygon(8% 0, 100% 0, 91% 100%, 0 100%);
    }

    .collage-tile-2 {
        top: -2%;
        left: 33%;
        width: 33%;
        height: 35%;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%);
    }

    .collage-tile-3 {
        top: -2%;
        right: -1%;
        width: 37%;
        height: 48%;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
    }

    .collage-tile-4 {
        top: 31%;
        left: 0;
        width: 34%;
        height: 34%;
        clip-path: polygon(13% 0, 100% 0, 88% 100%, 0 100%);
    }

    .collage-tile-5 {
        top: 31%;
        left: 30%;
        width: 35%;
        height: 34%;
        clip-path: polygon(11% 0, 100% 0, 89% 100%, 0 100%);
    }

    .collage-tile-6 {
        left: -1%;
        bottom: -2%;
        width: 54%;
        height: 39%;
        clip-path: polygon(11% 0, 100% 0, 91% 100%, 0 100%);
    }

    .collage-tile-7 {
        right: -1%;
        bottom: -2%;
        width: 51%;
        height: 39%;
        clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%);
    }

    .is-cover-page .cover-collage .cover-menu {
        position: absolute;
        z-index: 6;
        left: 5%;
        right: 31%;
        bottom: 16px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
        border: 0;
        background: transparent;
    }

    .is-cover-page .cover-collage .cover-menu a,
    .is-cover-page .cover-collage .cover-menu a:nth-child(2n) {
        min-height: 34px;
        padding: 7px 9px;
        border: 1px solid rgba(255,255,255,.26);
        border-radius: 999px;
        color: #fff;
        background: rgba(2, 11, 24, .62);
        backdrop-filter: blur(10px);
        font-size: .62rem;
        box-shadow: none;
    }

    .is-cover-page .cover-collage .cover-menu a:hover {
        background: rgba(8, 200, 255, .2);
    }

    .is-cover-page .cover-collage .cover-countdown-card {
        position: absolute;
        z-index: 6;
        right: 18px;
        bottom: 16px;
        width: min(290px, 29%);
        overflow: hidden;
        padding: 0;
        border: 1px solid rgba(255,255,255,.26);
        border-radius: 16px;
        color: #fff;
        background: rgba(2, 11, 24, .72);
        backdrop-filter: blur(14px);
        box-shadow: 0 16px 34px rgba(0,0,0,.28);
    }

    .is-cover-page .cover-collage .cover-countdown-card::before {
        height: 4px;
        background: linear-gradient(90deg, #08c8ff, #ffffff);
    }

    .is-cover-page .cover-collage .cover-countdown-label {
        padding: 11px 13px 6px;
        color: #9be8f7;
        font-size: .55rem;
        letter-spacing: .12em;
    }

    .is-cover-page .cover-collage .cover-countdown {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
        margin: 0 12px;
    }

    .is-cover-page .cover-collage .cover-countdown div,
    .is-cover-page .cover-collage .cover-countdown div:nth-child(even) {
        min-height: 43px;
        padding: 5px 2px;
        border: 1px solid rgba(255,255,255,.18);
        border-radius: 9px;
        background: rgba(255,255,255,.1);
        box-shadow: none;
    }

    .is-cover-page .cover-collage .cover-countdown strong {
        color: #fff;
        font-size: clamp(1rem, 1.3vw, 1.35rem);
    }

    .is-cover-page .cover-collage .cover-countdown span {
        color: #aeeefb;
        font-size: .36rem;
    }

    .is-cover-page .cover-collage .cover-countdown-copy {
        padding: 7px 13px 10px;
        color: #e9faff;
        font-size: .55rem;
        line-height: 1.25;
    }
}

@media (max-height: 760px) and (min-width: 921px) {
    .is-cover-page .cover-main {
        padding-block: 22px;
    }

    .is-cover-page .cover-main h1 {
        font-size: clamp(2rem, 3.5vw, 3.7rem);
    }

    .is-cover-page .cover-lead {
        margin-bottom: 14px;
        font-size: .88rem;
    }

    .is-cover-page .cover-main-cta {
        min-height: 46px;
        margin-bottom: 12px;
        font-size: 1rem;
    }

    .is-cover-page .cover-badges span {
        min-height: 36px;
        font-size: .62rem;
    }

    .is-cover-page .cover-collage .cover-menu {
        bottom: 10px;
    }

    .is-cover-page .cover-collage .cover-countdown-card {
        bottom: 10px;
    }
}

@media (max-width: 920px) {
    .cover-collage-layout {
        grid-template-columns: 1fr;
    }

    .cover-collage {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        padding: 16px;
    }

    .collage-tile {
        position: static;
        width: auto;
        height: auto;
        min-height: 180px;
        clip-path: none;
    }

    .cover-collage .cover-menu,
    .cover-collage .cover-countdown-card {
        grid-column: 1 / -1;
    }
}

/* Refuerzo de prioridad para que el collage sea el diseño dominante. */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        width: 100%;
        max-width: none;
        grid-template-columns: minmax(390px, 42vw) minmax(0, 1fr);
        gap: 0;
        padding: 0;
    }

    .is-cover-page .cover-only-main .cover-main {
        display: flex;
        max-width: none;
        padding: clamp(28px, 4vh, 48px) clamp(34px, 4vw, 64px);
        justify-content: center;
        background:
            linear-gradient(90deg, rgba(2,11,24,.98) 0%, rgba(4,26,57,.95) 78%, rgba(4,26,57,.62) 100%);
        clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
    }

    .is-cover-page .cover-only-main .cover-kicker {
        top: 0;
        margin-bottom: clamp(14px, 2.2vh, 22px);
        padding: 0;
        border: 0;
        color: #b7f3ff;
        background: transparent;
        font-size: clamp(.64rem, .82vw, .78rem);
    }

    .is-cover-page .cover-only-main .cover-logo {
        display: none;
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        max-width: 630px;
        margin-bottom: clamp(14px, 2.4vh, 24px);
        color: #fff;
        font: 900 clamp(2.45rem, 4.2vw, 5.15rem)/.98 "Outfit", Arial, sans-serif;
        letter-spacing: -.055em;
    }

    .is-cover-page .cover-only-main .cover-main h1 span {
        display: block;
        color: #17c8ff;
    }

    .is-cover-page .cover-only-main .cover-lead {
        max-width: 520px;
        margin-bottom: clamp(16px, 3vh, 28px);
        color: #e8f8ff;
        font: 650 clamp(.95rem, 1.25vw, 1.22rem)/1.32 "Manrope", Arial, sans-serif;
    }

    .is-cover-page .cover-only-main .cover-main-cta {
        width: min(330px, 100%);
        min-height: clamp(48px, 7vh, 64px);
        margin: 0 0 clamp(14px, 2.4vh, 24px);
        border-radius: 10px;
        color: #031021;
        background: linear-gradient(90deg, #08c8ff, #7de7ff);
        font: 950 clamp(1rem, 1.35vw, 1.28rem) "Outfit", Arial, sans-serif;
    }

    .is-cover-page .cover-only-main .cover-badges {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: min(500px, 100%);
    }
}

@media (max-height: 760px) and (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-main h1 {
        font-size: clamp(2rem, 3.5vw, 3.7rem);
    }

    .is-cover-page .cover-only-main .cover-main {
        padding-block: 22px;
    }
}

/* Estilo más cálido y menos "plantilla": cajas rectas en la portada. */
.is-cover-page .cover-only-main .cover-info-card {
    border-radius: 4px;
    border: 2px solid rgba(126, 205, 228, .52);
    border-left: 8px solid #77d8ee;
    color: #08223d;
    background:
        linear-gradient(90deg, rgba(246, 253, 255, .97), rgba(218, 241, 248, .93));
    box-shadow: 10px 10px 0 rgba(5, 25, 48, .2);
    backdrop-filter: none;
}
.is-cover-page .cover-info-card::after {
    display: none;
}
.is-cover-page .cover-only-main .cover-panel-label {
    color: #0e6f9f;
}
.is-cover-page .cover-only-main .cover-info-card h2 {
    color: #071d35;
}
.is-cover-page .cover-only-main .cover-info-list span {
    border-radius: 3px;
    border: 1px solid rgba(9, 92, 135, .28);
    border-left: 4px solid #f28b2e;
    color: #143550;
    background: #f8fbfc;
    box-shadow: none;
}
.is-cover-page .cover-only-main .cover-info-list strong {
    color: #075f92;
}
.is-cover-page .cover-only-main .cover-info-button {
    border-radius: 3px;
    color: #03152d;
    background: linear-gradient(90deg, #f7a64a 0%, #ffe3ad 48%, #7ed8ec 100%);
    box-shadow: 6px 6px 0 rgba(4, 29, 53, .18);
}
.is-cover-page .cover-only-main .cover-info-button:hover {
    transform: translate(-1px, -1px);
    box-shadow: 8px 8px 0 rgba(4, 29, 53, .18);
}
.is-cover-page .cover-only-main .cover-menu a {
    border-radius: 3px;
    border: 1px solid rgba(126, 216, 236, .35);
    border-left: 4px solid #77d8ee;
    color: #f4fbff;
    background: rgba(7, 51, 89, .72);
    box-shadow: none;
}
.is-cover-page .cover-only-main .cover-menu a:nth-child(2n) {
    border-left-color: #f7a64a;
}
.is-cover-page .cover-only-main .cover-menu a:hover {
    border-color: rgba(247, 166, 74, .8);
    background: rgba(12, 97, 143, .88);
    transform: translateY(-1px);
}
.is-cover-page .cover-only-main .cover-countdown-card {
    border-radius: 4px;
    border: 2px solid rgba(9, 92, 135, .22);
    border-top: 7px solid #f7a64a;
    background: #e9f7fb;
    box-shadow: 10px 10px 0 rgba(5, 25, 48, .18);
}
.is-cover-page .cover-only-main .cover-countdown-card .cover-countdown-label {
    color: #075f92;
}
.is-cover-page .cover-only-main .cover-countdown div {
    border-radius: 3px;
    border: 1px solid rgba(9, 92, 135, .2);
    border-bottom: 4px solid #77d8ee;
    background: #ffffff;
    box-shadow: none;
}
.is-cover-page .cover-only-main .cover-countdown div:nth-child(even) {
    border-bottom-color: #f7a64a;
}
.is-cover-page .cover-only-main .cover-countdown strong {
    color: #052b4f;
}
.is-cover-page .cover-only-main .cover-countdown span,
.is-cover-page .cover-only-main .cover-countdown-copy {
    color: #1b5573;
}

/* Ajuste final: portada solo en azules/blancos y formulario con más presencia. */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-side {
        max-width: 610px;
    }
    .is-cover-page .cover-only-main .cover-info-card {
        padding: 18px 22px;
        border: 2px solid rgba(141, 220, 240, .58);
        border-left: 8px solid #8bdff2;
        background:
            linear-gradient(90deg, rgba(247, 253, 255, .98), rgba(211, 239, 248, .96));
        box-shadow: 8px 8px 0 rgba(12, 83, 128, .24);
    }
    .is-cover-page .cover-only-main .cover-panel-label {
        color: #126fa1;
        font-size: .66rem;
    }
    .is-cover-page .cover-only-main .cover-info-card h2 {
        color: #061d37;
        font-size: clamp(1.65rem, 2.2vw, 2.15rem);
    }
    .is-cover-page .cover-only-main .cover-info-list {
        gap: 7px;
        margin-bottom: 11px;
    }
    .is-cover-page .cover-only-main .cover-info-list span {
        min-height: 37px;
        padding: 8px 11px;
        border: 1px solid rgba(18, 111, 161, .28);
        border-left: 5px solid #5fc3e6;
        color: #123e5d;
        background: linear-gradient(180deg, #ffffff, #edf9fc);
        font-size: .76rem;
    }
    .is-cover-page .cover-only-main .cover-info-list strong {
        color: #075f92;
    }
    .is-cover-page .cover-only-main .cover-info-button {
        min-height: 45px;
        color: #03152d;
        background: linear-gradient(90deg, #6ed5ed 0%, #e9fbff 58%, #ffffff 100%);
        box-shadow: 6px 6px 0 rgba(12, 83, 128, .2);
        font-size: .9rem;
    }
    .is-cover-page .cover-only-main .cover-info-button:hover {
        box-shadow: 8px 8px 0 rgba(12, 83, 128, .22);
    }
    .is-cover-page .cover-only-main .cover-menu a {
        border-left-color: #8bdff2;
        background: rgba(7, 51, 89, .78);
    }
    .is-cover-page .cover-only-main .cover-menu a:nth-child(2n) {
        border-left-color: #c9f4ff;
    }
    .is-cover-page .cover-only-main .cover-menu a:hover {
        border-color: rgba(141, 220, 240, .85);
        background: rgba(12, 97, 143, .9);
    }
    .is-cover-page .cover-only-main .cover-countdown-card {
        border: 2px solid rgba(18, 111, 161, .24);
        border-top: 7px solid #8bdff2;
        background: linear-gradient(180deg, #f5fdff, #d9f2f8);
        box-shadow: 8px 8px 0 rgba(12, 83, 128, .2);
    }
    .is-cover-page .cover-only-main .cover-countdown div {
        border-bottom-color: #6ed5ed;
        background: linear-gradient(180deg, #ffffff, #edf9fc);
    }
    .is-cover-page .cover-only-main .cover-countdown div:nth-child(even) {
        border-bottom-color: #b9eef9;
    }
}

/* Rediseño limpio de la portada: ficha institucional azul/blanco. */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-side {
        max-width: 640px;
        gap: 10px;
    }
    .is-cover-page .cover-only-main .cover-info-card,
    .is-cover-page .cover-only-main .cover-countdown-card {
        border-radius: 0;
        backdrop-filter: none;
        box-shadow: 0 16px 34px rgba(2, 18, 39, .22);
    }
    .is-cover-page .cover-only-main .cover-info-card {
        padding: 0;
        overflow: hidden;
        border: 1px solid rgba(186, 231, 243, .72);
        border-top: 8px solid #7ed8ec;
        color: #061d37;
        background: #f7fcff;
    }
    .is-cover-page .cover-info-card::after {
        display: none;
    }
    .is-cover-page .cover-only-main .cover-panel-label {
        margin: 0;
        padding: 13px 22px 0;
        color: #126fa1;
        font-size: .68rem;
        letter-spacing: .18em;
    }
    .is-cover-page .cover-only-main .cover-info-card h2 {
        margin: 0;
        padding: 5px 22px 15px;
        color: #071d35;
        font-size: clamp(1.7rem, 2.45vw, 2.35rem);
        line-height: .98;
    }
    .is-cover-page .cover-only-main .cover-info-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        margin: 0;
        border-top: 1px solid rgba(18, 111, 161, .16);
        border-bottom: 1px solid rgba(18, 111, 161, .16);
        background: #ffffff;
    }
    .is-cover-page .cover-only-main .cover-info-list span {
        display: flex;
        min-height: 46px;
        padding: 11px 16px;
        align-items: center;
        border: 0;
        border-radius: 0;
        border-right: 1px solid rgba(18, 111, 161, .14);
        border-bottom: 1px solid rgba(18, 111, 161, .14);
        color: #173f5d;
        background: #ffffff;
        box-shadow: none;
        font-size: .82rem;
        line-height: 1.18;
    }
    .is-cover-page .cover-only-main .cover-info-list span:nth-child(2n) {
        border-right: 0;
    }
    .is-cover-page .cover-only-main .cover-info-list span:nth-last-child(-n+2) {
        border-bottom: 0;
    }
    .is-cover-page .cover-only-main .cover-info-list strong {
        margin-right: 4px;
        color: #075f92;
    }
    .is-cover-page .cover-only-main .cover-info-button {
        width: calc(100% - 44px);
        min-height: 48px;
        margin: 16px 22px 20px;
        border-radius: 0;
        color: #ffffff;
        background: linear-gradient(90deg, #064b7c, #0d7eb0);
        box-shadow: none;
        font-size: .94rem;
        letter-spacing: .01em;
    }
    .is-cover-page .cover-only-main .cover-info-button:hover {
        transform: none;
        background: linear-gradient(90deg, #053d67, #0b6f9d);
        box-shadow: none;
    }
    .is-cover-page .cover-only-main .cover-menu {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1px;
        border: 1px solid rgba(186, 231, 243, .46);
        background: rgba(186, 231, 243, .46);
    }
    .is-cover-page .cover-only-main .cover-menu a,
    .is-cover-page .cover-only-main .cover-menu a:nth-child(2n) {
        min-height: 38px;
        padding: 8px 10px;
        border: 0;
        border-radius: 0;
        color: #eefaff;
        background: rgba(5, 49, 84, .82);
        box-shadow: none;
        font-size: .7rem;
    }
    .is-cover-page .cover-only-main .cover-menu a:hover {
        border: 0;
        background: #0c6f9f;
        transform: none;
    }
    .is-cover-page .cover-only-main .cover-countdown-card {
        padding: 0;
        overflow: hidden;
        border: 1px solid rgba(186, 231, 243, .72);
        border-top: 8px solid #b9eef9;
        color: #061d37;
        background: #f7fcff;
    }
    .is-cover-page .cover-only-main .cover-countdown-card .cover-countdown-label {
        margin: 0;
        padding: 13px 22px 8px;
        color: #126fa1;
        font-size: .68rem;
    }
    .is-cover-page .cover-only-main .cover-countdown {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        margin: 0 22px 0;
        border: 1px solid rgba(18, 111, 161, .16);
        background: #ffffff;
    }
    .is-cover-page .cover-only-main .cover-countdown div,
    .is-cover-page .cover-only-main .cover-countdown div:nth-child(even) {
        min-height: 62px;
        padding: 8px 4px 7px;
        border: 0;
        border-right: 1px solid rgba(18, 111, 161, .16);
        border-radius: 0;
        border-bottom: 0;
        background: #ffffff;
        box-shadow: none;
    }
    .is-cover-page .cover-only-main .cover-countdown div:last-child {
        border-right: 0;
    }
    .is-cover-page .cover-only-main .cover-countdown strong {
        color: #07335d;
        font-size: clamp(1.5rem, 2.2vw, 2.05rem);
    }
    .is-cover-page .cover-only-main .cover-countdown span {
        color: #126fa1;
        font-size: .48rem;
    }
    .is-cover-page .cover-only-main .cover-countdown-copy {
        margin: 0;
        padding: 10px 22px 15px;
        color: #173f5d;
        font-size: .78rem;
        line-height: 1.28;
    }
}

/* Portada - versión moderna en azul noche, negro y blanco */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-side {
        max-width: 650px;
        gap: 9px;
    }
    .is-cover-page .cover-only-main .cover-info-card {
        position: relative;
        padding: 0;
        overflow: hidden;
        border: 1px solid rgba(132, 213, 237, .38);
        border-top: 0;
        border-radius: 0;
        color: #f5fbff;
        background:
            linear-gradient(135deg, rgba(2, 13, 31, .97) 0%, rgba(5, 42, 75, .94) 56%, rgba(9, 89, 129, .86) 100%);
        box-shadow:
            0 18px 42px rgba(0, 9, 24, .32),
            inset 0 1px 0 rgba(255,255,255,.08);
    }
    .is-cover-page .cover-only-main .cover-info-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 5px;
        background: linear-gradient(90deg, #dff9ff, #6ed5ed, #155f91);
    }
    .is-cover-page .cover-info-card::after {
        display: block;
        right: -70px;
        top: -82px;
        width: 190px;
        border-color: rgba(255,255,255,.09);
    }
    .is-cover-page .cover-only-main .cover-panel-label {
        position: relative;
        margin: 0;
        padding: 18px 24px 0;
        color: #8ee8fb;
        font-size: .66rem;
        letter-spacing: .2em;
    }
    .is-cover-page .cover-only-main .cover-info-card h2 {
        position: relative;
        margin: 0;
        padding: 5px 24px 16px;
        color: #ffffff;
        font-size: clamp(1.75rem, 2.5vw, 2.42rem);
        line-height: .96;
        letter-spacing: -.025em;
    }
    .is-cover-page .cover-only-main .cover-info-list {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin: 0 24px 15px;
        border: 0;
        background: transparent;
    }
    .is-cover-page .cover-only-main .cover-info-list span {
        display: flex;
        min-height: 43px;
        padding: 10px 12px;
        align-items: center;
        border: 1px solid rgba(132, 213, 237, .28);
        border-left: 3px solid #84d5ed;
        border-radius: 0;
        color: #e6f8fd;
        background: rgba(255,255,255,.075);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
        font-size: .78rem;
        line-height: 1.18;
    }
    .is-cover-page .cover-only-main .cover-info-list span:nth-child(2n),
    .is-cover-page .cover-only-main .cover-info-list span:nth-last-child(-n+2) {
        border-right: 1px solid rgba(132, 213, 237, .28);
        border-bottom: 1px solid rgba(132, 213, 237, .28);
    }
    .is-cover-page .cover-only-main .cover-info-list strong {
        margin-right: 4px;
        color: #ffffff;
        font-weight: 900;
    }
    .is-cover-page .cover-only-main .cover-info-button {
        position: relative;
        width: calc(100% - 48px);
        min-height: 48px;
        margin: 0 24px 23px;
        border: 1px solid rgba(223, 249, 255, .72);
        border-radius: 0;
        color: #021227;
        background: linear-gradient(90deg, #ffffff 0%, #c9f4ff 45%, #75d9ef 100%);
        box-shadow: 0 14px 28px rgba(0, 16, 39, .25);
        font-size: .94rem;
    }
    .is-cover-page .cover-only-main .cover-info-button:hover {
        transform: translateY(-1px);
        background: linear-gradient(90deg, #f4fdff 0%, #bceefa 52%, #61cbe7 100%);
        box-shadow: 0 18px 34px rgba(0, 16, 39, .3);
    }
    .is-cover-page .cover-only-main .cover-menu {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
        border: 0;
        background: transparent;
    }
    .is-cover-page .cover-only-main .cover-menu a,
    .is-cover-page .cover-only-main .cover-menu a:nth-child(2n) {
        min-height: 37px;
        padding: 8px 10px;
        border: 1px solid rgba(132, 213, 237, .34);
        border-radius: 0;
        color: #f4fbff;
        background:
            linear-gradient(135deg, rgba(1, 15, 35, .72), rgba(11, 79, 120, .72));
        box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
        font-size: .68rem;
    }
    .is-cover-page .cover-only-main .cover-menu a:hover {
        border-color: rgba(223, 249, 255, .68);
        background:
            linear-gradient(135deg, rgba(5, 38, 70, .88), rgba(15, 112, 159, .88));
        transform: translateY(-1px);
    }
    .is-cover-page .cover-only-main .cover-countdown-card {
        position: relative;
        padding: 0;
        overflow: hidden;
        border: 1px solid rgba(132, 213, 237, .36);
        border-top: 0;
        border-radius: 0;
        color: #f4fbff;
        background:
            linear-gradient(135deg, rgba(241, 252, 255, .98) 0%, rgba(207, 239, 248, .96) 100%);
        box-shadow: 0 18px 42px rgba(0, 9, 24, .22);
    }
    .is-cover-page .cover-only-main .cover-countdown-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 5px;
        background: linear-gradient(90deg, #0a335b, #1683b2, #bfeffa);
    }
    .is-cover-page .cover-only-main .cover-countdown-card .cover-countdown-label {
        margin: 0;
        padding: 16px 24px 8px;
        color: #075f92;
        font-size: .66rem;
        letter-spacing: .18em;
    }
    .is-cover-page .cover-only-main .cover-countdown {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        margin: 0 24px;
        border: 0;
        background: transparent;
    }
    .is-cover-page .cover-only-main .cover-countdown div,
    .is-cover-page .cover-only-main .cover-countdown div:nth-child(even) {
        min-height: 62px;
        padding: 8px 4px 7px;
        border: 1px solid rgba(7, 95, 146, .18);
        border-radius: 0;
        background:
            linear-gradient(180deg, #ffffff 0%, #e8f8fc 100%);
        box-shadow: inset 0 -4px 0 rgba(117, 217, 239, .26);
    }
    .is-cover-page .cover-only-main .cover-countdown strong {
        color: #041a33;
        font-size: clamp(1.52rem, 2.15vw, 2rem);
    }
    .is-cover-page .cover-only-main .cover-countdown span {
        color: #075f92;
        font-size: .46rem;
    }
    .is-cover-page .cover-only-main .cover-countdown-copy {
        margin: 0;
        padding: 10px 24px 16px;
        color: #173f5d;
        font-size: .78rem;
        line-height: 1.28;
    }
}

/* Slider */
.hero {
    position: relative;
    width: 100%;
    aspect-ratio: 10 / 3;
    min-height: 300px;
    max-height: 500px;
    overflow: hidden;
    background: #001b34;
}
.hero-slides, .hero-slide { position: absolute; inset: 0; }
.hero-slide { opacity: 0; transition: opacity .8s ease; }
.hero-slide.active { opacity: 1; }
.hero-slide img { width: 100%; height: 100%; object-fit: contain; }
.slider-control {
    position: absolute;
    top: 50%;
    width: 48px;
    height: 48px;
    transform: translateY(-50%);
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 50%;
    color: #fff;
    background: rgba(6, 19, 38, .48);
    font-size: 2rem;
    cursor: pointer;
}
.slider-control.previous { left: 22px; }
.slider-control.next { right: 22px; }
.slider-dots {
    position: absolute;
    left: 50%;
    bottom: 16px;
    display: flex;
    gap: 7px;
    transform: translateX(-50%);
}
.slider-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.58);
}
.slider-dots button.active { width: 28px; border-radius: 8px; background: #fff; }

/* Welcome with animated geometry */
.welcome-section {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    background: linear-gradient(120deg, #cce4ed 0%, #e8f5f8 52%, #b9ddea 100%);
}
#geometry-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .78; }
.welcome-grid {
    position: relative;
    z-index: 1;
    min-height: 430px;
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(320px, .68fr);
    gap: 34px;
    align-items: start;
}
.welcome-content {
    display: grid;
    grid-template-columns: minmax(285px, .92fr) minmax(350px, 1.08fr);
    gap: 30px;
    align-items: start;
    padding: 26px 0;
}
.welcome-photo {
    position: relative;
    min-height: 382px;
    width: calc(100% + 44px);
    margin: 0;
    margin-left: -44px;
    overflow: hidden;
    border-radius: 24px;
    background: #9fc9da;
}
.welcome-photo::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(transparent, rgba(3,24,49,.76));
    pointer-events: none;
}
.welcome-photo img {
    width: 100%;
    height: 100%;
    min-height: 382px;
    object-fit: cover;
    object-position: center 42%;
}
.welcome-photo figcaption {
    position: absolute;
    z-index: 1;
    left: 20px;
    right: 20px;
    bottom: 17px;
    color: #fff;
    font: 700 .72rem "Manrope", Arial, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.welcome-copy {
    align-self: start;
    padding-top: 0;
}
.welcome-copy .eyebrow { margin-bottom: 10px; }
.welcome-content h1 {
    max-width: 580px;
    margin-bottom: 16px;
    font-size: clamp(2.15rem, 3vw, 3.3rem);
    line-height: .98;
}
.welcome-content .lead { max-width: 570px; margin-bottom: 17px; }
.welcome-stats {
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(16, 52, 95, .16);
    border-radius: var(--radius);
    background: rgba(232, 240, 243, .78);
    box-shadow: var(--shadow);
    backdrop-filter: blur(8px);
}
.welcome-stats div { display: grid; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.welcome-stats div:last-child { border-bottom: 0; }
.welcome-stats strong { color: var(--navy-900); font: 700 1.1rem "Outfit", Arial, sans-serif; }
.welcome-stats span { color: var(--muted); font-size: .8rem; }
.about-highlight {
    display: flex;
    align-self: center;
    padding: 20px 25px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.about-highlight .eyebrow { margin-bottom: 5px; }
.about-highlight h2 {
    margin-bottom: 7px;
    font-size: clamp(1.62rem, 2.08vw, 2.25rem);
    line-height: 1.02;
}
.about-highlight > p:not(.eyebrow):not(.about-call) {
    margin-bottom: 10px;
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.42;
}
.welcome-stats .about-levels {
    display: grid;
    width: 100%;
    padding: 10px 13px;
    border: 1px solid rgba(23,106,161,.18);
    border-radius: 11px;
    background: rgba(216,241,248,.7);
}
.welcome-stats .about-levels strong {
    color: var(--navy-900);
    font: 800 .84rem "Manrope", Arial, sans-serif;
}
.welcome-stats .about-levels span { color: var(--blue-700); font-size: .72rem; font-weight: 700; }
.about-call {
    margin: 10px 0 12px;
    color: var(--navy-800);
    font: 700 .84rem/1.35 "Manrope", Arial, sans-serif;
}
.about-highlight .button { min-height: 38px; padding: 8px 18px; }

/* Section headings */
.section-heading { max-width: 760px; margin-bottom: 36px; }
.section-heading.horizontal {
    max-width: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: end;
}
.section-heading.horizontal > p,
.section-heading.horizontal .national-summary { justify-self: end; color: var(--muted); }

/* Team */
.people-section { background: linear-gradient(135deg, var(--surface-strong), #c5e1eb); }
.team-layout {
    display: grid;
    grid-template-columns: minmax(250px, .66fr) minmax(0, 1.34fr);
    gap: 48px;
    align-items: start;
}
.team-intro {
    position: sticky;
    top: 226px;
    padding: 24px 30px 28px 0;
    border-right: 1px solid #b8cbd6;
}
.team-intro p:last-child { color: var(--muted); }
.team-list { display: grid; grid-auto-rows: 1fr; gap: 18px; }
.profile-card {
    display: grid;
    grid-template-columns: 190px 1fr;
    min-height: 245px;
    overflow: hidden;
    border: 0;
    border-radius: var(--radius);
    background: var(--card);
    box-shadow: 0 13px 32px rgba(7, 32, 58, .1);
}
.profile-image { height: 100%; min-height: 245px; background: #cbdce4; }
.profile-image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.profile-card:nth-child(2) .profile-image img { object-position: center 2%; }
.profile-content { display: flex; padding: 28px 32px; flex-direction: column; justify-content: center; }
.profile-content h3 { margin-bottom: 10px; }
.profile-content p:last-child { margin-bottom: 0; color: var(--muted); font-size: .92rem; }

/* Mission & vision */
.purpose-section {
    position: relative;
    padding: 24px 0;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(3,21,45,.92), rgba(8,43,82,.82)),
        url("../images/PRESENTACION/MISION.png") center 42% / cover no-repeat;
}
.purpose-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(56,160,207,.12), transparent 55%);
    pointer-events: none;
}
.purpose-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.purpose-card {
    position: relative;
    min-height: 168px;
    padding: 18px 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: var(--radius);
    color: #edf5f8;
    background: rgba(6,35,67,.82);
    box-shadow: 0 16px 34px rgba(0,0,0,.18);
    backdrop-filter: blur(8px);
}
.purpose-card.accent { color: var(--navy-950); background: rgba(224,243,248,.9); }
.purpose-card h2 { max-width: 520px; margin-bottom: 7px; color: inherit; font-size: clamp(1.55rem, 1.8vw, 1.95rem); }
.purpose-card p:last-of-type { max-width: 58ch; margin-bottom: 0; font-size: .88rem; line-height: 1.52; }
.purpose-card .eyebrow { margin-bottom: 4px; }
.purpose-card .eyebrow { color: var(--gold); }
.purpose-card.accent .eyebrow { color: var(--blue-700); }
.purpose-number {
    position: absolute;
    right: 22px;
    bottom: -35px;
    color: rgba(255,255,255,.06);
    font: 800 9rem/1 "Cormorant Garamond";
}
.purpose-card.accent .purpose-number { color: rgba(6, 19, 38, .07); }

/* Books */
.books-section { background: linear-gradient(145deg, #d7ebf2, #eef8fa 52%, #c7e4ed); }
.books-page { padding-top: 56px; }
.books-page .section-heading h1 { max-width: 720px; font-size: clamp(2.4rem, 4vw, 4rem); }
.featured-book {
    display: grid;
    grid-template-columns: minmax(470px, 1fr) minmax(0, 1fr);
    min-height: 560px;
    overflow: hidden;
    border-radius: 24px;
    color: var(--ink);
    background: linear-gradient(135deg, #c5e3ed, #edf8fa 56%, #b4dbe8);
    box-shadow: var(--shadow);
}
.featured-book-image {
    display: grid;
    min-height: 560px;
    place-items: center;
    padding: 10px;
    background:
        radial-gradient(circle at 50% 45%, rgba(255,255,255,.88), transparent 48%),
        linear-gradient(145deg, rgba(23,106,161,.12), rgba(255,255,255,.28));
}
.featured-book-image img {
    width: min(100%, 650px);
    max-height: 540px;
    object-fit: contain;
    filter: drop-shadow(0 24px 28px rgba(0,0,0,.34));
}
.featured-book-copy { display: flex; padding: 48px 52px; flex-direction: column; justify-content: center; }
.featured-book-copy h2,
.featured-book-copy h3 { max-width: 590px; color: var(--navy-950); font-size: clamp(2.2rem, 3vw, 3.2rem); }
.featured-book-copy p { color: #38596d; }
.featured-book-copy .eyebrow { color: var(--blue-700); }
.featured-book-copy ul { margin: 3px 0 25px; padding-left: 20px; color: #294b60; }
.featured-book-copy .button { width: fit-content; }
.featured-book-button {
    min-height: 54px;
    padding: 14px 25px;
    border: 2px solid #fff;
    color: #fff;
    background: linear-gradient(135deg, var(--navy-900), var(--blue-700));
    box-shadow: 0 12px 26px rgba(8,43,82,.25);
    transition: transform .2s, box-shadow .2s;
}
.featured-book-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(8,43,82,.32);
}
.training-heading {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin: 52px 0 25px;
    align-items: end;
}
.training-heading > p { justify-self: end; color: var(--muted); }
.training-books { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.book-card {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(23,106,161,.18);
    border-radius: 20px;
    background: rgba(237,246,248,.88);
    box-shadow: 0 14px 32px rgba(3,21,45,.12);
}
.book-card img {
    width: 100%;
    height: 430px;
    padding: 8px;
    object-fit: contain;
    background: linear-gradient(155deg, #cbe8f2, #eef9fb);
}
.book-card > div { padding: 24px 26px 27px; border-top: 5px solid var(--blue-500); }
.book-card.level-one > div { border-top-color: #e68135; }
.book-card.level-two > div { border-top-color: #1775c8; }
.book-card.level-three > div { border-top-color: #7552a6; }
.book-card span {
    color: var(--blue-700);
    font: 800 .72rem "Outfit", Arial, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.book-card h3 { margin-top: 8px; font-size: 1.65rem; }
.book-card p { margin-bottom: 0; color: var(--muted); font-size: .9rem; }
.book-info-link {
    width: fit-content;
    margin-top: 20px;
    padding-bottom: 3px;
    border-bottom: 2px solid var(--blue-500);
    color: var(--navy-800);
    font: 800 .82rem "Outfit", Arial, sans-serif;
    letter-spacing: .035em;
    text-decoration: none;
    transition: color .2s, border-color .2s;
}
.book-info-link:hover { color: var(--blue-700); border-color: var(--sky-300); }
.coming-book {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 28px;
    margin-top: 20px;
    padding: 24px 30px;
    align-items: center;
    border: 1px dashed var(--blue-500);
    border-radius: 16px;
    background: rgba(216,241,248,.7);
}
.coming-book > span {
    color: var(--navy-900);
    font: 800 .72rem "Outfit", Arial, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.coming-book h3 { margin-bottom: 5px; font-size: 1.5rem; }
.coming-book p { margin-bottom: 0; color: var(--muted); }

/* National reach */
.national-section { background: linear-gradient(145deg, #cbe2eb, #e4f1f5); }
.national-section .section-heading .eyebrow {
    font-size: .82rem;
}
.national-section .section-heading h2 {
    font-size: clamp(2.35rem, 3.35vw, 3.65rem);
}
.national-summary strong {
    display: block;
    margin-bottom: 5px;
    color: var(--blue-700);
    font: 800 .9rem "Outfit", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.national-summary p {
    margin-bottom: 0;
    font-size: 1.08rem;
    line-height: 1.55;
}
.venues-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin: 4px 0 26px;
    align-items: center;
}
.venues-list span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--navy-900);
    font: 800 1.13rem "Manrope", Arial, sans-serif;
    letter-spacing: -.01em;
}
.venues-list span:not(:last-child)::after {
    content: "";
    width: 1px;
    height: 18px;
    margin-left: 12px;
    border-radius: 999px;
    background: rgba(23,106,161,.22);
}
.venues-list span::before {
    content: "⌖";
    display: grid;
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(23,106,161,.22);
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-700), var(--sky-300));
    box-shadow: 0 4px 10px rgba(23,106,161,.16);
    font: 900 .9rem/1 "Manrope", Arial, sans-serif;
}
.venues-list span::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(23,106,161,.28);
    background: var(--sky-300);
    box-shadow: inset 0 0 0 3px #e9f8fc;
}
.national-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.city-card {
    overflow: hidden;
    border-radius: 17px;
    background: var(--navy-900);
    box-shadow: var(--shadow);
}
.city-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.city-card > div { min-height: 140px; padding: 22px 24px; color: #eff7fa; }
.city-card span { float: right; color: rgba(158,216,237,.5); font: 800 2rem/1 "Cormorant Garamond"; }
.city-card h3 { margin-bottom: 6px; color: #fff; }
.city-card p { margin: 0; color: #bfd0dc; font-size: .88rem; }

/* Gallery */
.gallery-section { background: linear-gradient(145deg, #bfdce7, #dcecf2); }
.gallery-carousel {
    position: relative;
    display: grid;
    align-items: center;
}
.photo-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(430px, 38%);
    grid-template-columns: none;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 6px 4px 18px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.photo-grid::-webkit-scrollbar {
    display: none;
}
.photo-grid::-webkit-scrollbar-track {
    border-radius: 999px;
    background: rgba(255,255,255,.5);
}
.photo-grid::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: linear-gradient(90deg, var(--blue-700), var(--sky-300));
}
.photo-grid figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    scroll-snap-align: start;
    border-radius: 0;
    background: transparent;
}
.photo-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform .25s ease;
}
.photo-grid figcaption {
    position: absolute;
    inset: auto 0 0;
    padding: 28px 12px 12px;
    color: #fff;
    background: linear-gradient(transparent, rgba(4,17,34,.62));
    font-size: .78rem;
    font-weight: 800;
    text-align: center;
    text-shadow: 0 2px 7px rgba(0,0,0,.45);
}
.photo-grid figure:hover img { transform: scale(1.04); }
.gallery-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 2px solid rgba(255,255,255,.85);
    border-radius: 50%;
    color: #fff;
    background: rgba(6, 42, 78, .82);
    box-shadow: 0 12px 26px rgba(3,21,45,.24);
    font: 800 2.25rem/1 "Cormorant Garamond", Georgia, serif;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background .2s, transform .2s, opacity .2s;
}
.gallery-arrow:hover {
    background: var(--blue-700);
    transform: translateY(-50%) scale(1.04);
}
.gallery-arrow:disabled {
    opacity: .35;
    cursor: default;
    transform: translateY(-50%);
}
.gallery-arrow-prev { left: -58px; }
.gallery-arrow-next { right: -58px; }

/* Internal pages */
.page-hero {
    position: relative;
    overflow: hidden;
    padding: 62px 0 58px;
    color: #eff7fa;
    text-align: center;
    background: linear-gradient(135deg, var(--navy-900), var(--blue-700));
}
.page-hero::before {
    content: "";
    position: absolute;
    top: -145px;
    left: 50%;
    width: 300px;
    height: 300px;
    transform: translateX(-50%);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
}
.page-hero h1 { color: #fff; }
.page-hero .eyebrow { color: var(--sky-300); }
.page-hero p { margin-inline: auto; }
.registration-page-hero {
    padding: 16px 0 14px;
    color: var(--navy-950);
    background:
        radial-gradient(circle at 78% 10%, rgba(255,255,255,.72), transparent 30%),
        linear-gradient(125deg, #b7ddea, #e4f3f7 52%, #9dcee0);
}
.registration-page-hero::before {
    top: -215px;
    border-color: rgba(14,70,118,.13);
}
.registration-page-hero h1 {
    margin-bottom: 8px;
    color: var(--navy-950);
    font-size: clamp(2.25rem, 3.5vw, 3.25rem);
}
.registration-page-hero .eyebrow {
    margin-bottom: 5px;
    color: var(--blue-700);
}
.registration-hero-intro {
    max-width: 850px;
    margin-bottom: 10px;
    color: #365d75;
    font-size: .86rem;
    line-height: 1.5;
}
.registration-hero-steps {
    display: grid;
    max-width: 1040px;
    margin: 0 auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    text-align: left;
}
.registration-hero-steps > div {
    display: grid;
    grid-template-columns: 29px 1fr;
    gap: 9px;
    padding: 9px 12px;
    align-items: start;
    border: 1px solid rgba(14,70,118,.16);
    border-radius: 11px;
    background: rgba(246,252,253,.68);
}
.registration-hero-steps span {
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--blue-700);
    font: 800 .58rem "Manrope", Arial, sans-serif;
}
.registration-hero-steps p {
    margin: 0;
    color: #41677d;
    font-size: .68rem;
    line-height: 1.38;
}
.registration-hero-steps strong { color: var(--navy-950); }
.prize-page-hero {
    padding: 35px 0 33px;
    color: var(--ink);
    background:
        radial-gradient(circle at 82% 18%, rgba(130,213,237,.45), transparent 27%),
        linear-gradient(135deg, #d9eef5, #b9ddea);
}
.prize-page-hero::before { border-color: rgba(14,70,118,.13); }
.prize-page-hero h1 {
    margin-bottom: 5px;
    color: var(--navy-950);
    font-size: clamp(1.9rem, 2.7vw, 2.75rem);
}
.prize-page-hero .eyebrow { margin-bottom: 3px; color: var(--blue-700); }
.prize-page-hero p:last-child { margin-bottom: 0; color: var(--muted); }

/* Prize promotion */
.prize-spotlight {
    padding: 54px 0;
    color: var(--ink);
    background:
        radial-gradient(circle at 78% 35%, rgba(255,255,255,.46), transparent 30%),
        linear-gradient(135deg, #aed7e4, #d3edf3 52%, #95c8dc);
}
.prize-spotlight-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
    gap: 54px;
    align-items: center;
}
.prize-spotlight-copy h2 { max-width: 650px; color: var(--navy-950); font-size: clamp(2.4rem, 4vw, 4rem); }
.prize-spotlight-copy > p { color: var(--muted); font-size: 1.05rem; }
.prize-spotlight-copy .eyebrow { color: var(--blue-700); }
.prize-highlight {
    display: flex;
    width: fit-content;
    margin: 24px 0;
    padding: 14px 18px;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(23,106,161,.22);
    border-radius: 12px;
    background: rgba(255,255,255,.48);
}
.prize-highlight strong { color: var(--blue-700); font: 800 1.05rem "Outfit", Arial, sans-serif; }
.prize-highlight span { color: var(--muted); font-size: .88rem; }
.prize-showcase {
    position: relative;
    min-height: 535px;
    padding: 53px 86px;
}
.prize-showcase .prize-spotlight-image {
    min-height: 430px;
    background:
        radial-gradient(circle at 50% 43%, rgba(255,255,255,.9) 0 30%, rgba(232,246,250,.84) 31% 49%, transparent 65%),
        linear-gradient(145deg, #d8edf4, #b9dce9);
}
.prize-showcase .laptop-boxes {
    opacity: .4;
    filter: saturate(.85) contrast(.9) brightness(1.08);
}
.prize-proof {
    position: absolute;
    z-index: 4;
    width: 152px;
    margin: 0;
    overflow: hidden;
    border-radius: 15px;
    background: #fff;
}
.prize-proof img {
    width: 100%;
    height: 154px;
    object-fit: cover;
}
.proof-one { top: 0; left: 0; transform: rotate(-3deg); }
.proof-two { top: 0; right: 0; transform: rotate(3deg); }
.proof-three { bottom: 0; left: 0; transform: rotate(2deg); }
.proof-four { right: 0; bottom: 0; transform: rotate(-2deg); }
.proof-one img { object-position: center 30%; }
.proof-two img { object-position: center 38%; }
.proof-three img { object-position: center 42%; }
.proof-four img { object-position: center 28%; }
.prize-spotlight-image {
    position: relative;
    display: grid;
    min-height: 430px;
    overflow: hidden;
    place-items: center;
    border: 1px solid rgba(23,106,161,.2);
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 45%, rgba(255,255,255,.8), transparent 44%),
        linear-gradient(145deg, #a9d7e7, #dff1f6);
    box-shadow: 0 25px 55px rgba(3,21,45,.18);
}
.prize-spotlight-image::before,
.prize-spotlight-image::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}
.prize-spotlight-image::before { width: 330px; height: 330px; }
.prize-spotlight-image::after { width: 430px; height: 430px; }
.prize-spotlight-image .laptop-main {
    position: relative;
    z-index: 2;
    width: min(84%, 540px);
    max-height: 360px;
    object-fit: contain;
    filter: drop-shadow(0 28px 28px rgba(0,0,0,.34));
    transform: scale(1.08);
}
.prize-spotlight-image .laptop-boxes {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .3;
    filter: saturate(.78) contrast(.92);
}
.laptop-winner {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    width: 118px;
    margin: 0;
    overflow: hidden;
    border: 4px solid rgba(255,255,255,.9);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(3,21,45,.28);
    transform: rotate(-2deg);
}
.laptop-winner img {
    width: 100%;
    height: 132px;
    object-fit: cover;
    object-position: center 22%;
}
.laptop-winner figcaption {
    padding: 6px 4px;
    color: var(--navy-900);
    background: #fff;
    font: 800 .58rem "Manrope", Arial, sans-serif;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
}
.prize-spotlight-image > span {
    position: absolute;
    right: 18px;
    bottom: 18px;
    padding: 9px 14px;
    border-radius: 999px;
    color: var(--navy-950);
    background: var(--sky-100);
    font: 800 .76rem "Outfit", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.prize-benefits { background: linear-gradient(145deg, #cce5ee, #e7f4f7); }
.prize-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.prize-card {
    overflow: hidden;
    border: 1px solid rgba(23,106,161,.18);
    border-radius: 18px;
    background: var(--card);
    box-shadow: 0 14px 32px rgba(3,21,45,.12);
}
.prize-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.prize-card > div:last-child { padding: 24px 26px 27px; }
.prize-card span {
    color: var(--blue-700);
    font: 800 .67rem "Outfit", Arial, sans-serif;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.prize-card h3 { margin: 8px 0; }
.prize-card p { margin: 0; color: var(--muted); font-size: .9rem; }
.prize-card.symbolic { display: flex; flex-direction: column; }
.medal-symbol {
    display: grid;
    min-height: 260px;
    place-items: center;
    color: #fff;
    background:
        radial-gradient(circle, #f3c55b 0 27%, #d29b28 28% 38%, transparent 39%),
        linear-gradient(145deg, var(--navy-900), var(--blue-700));
    font-size: 4.2rem;
    text-shadow: 0 3px 7px rgba(0,0,0,.25);
}
.award-summary { display: grid; gap: 9px; margin: 20px 0 26px; padding: 0; list-style: none; }
.award-summary li { padding: 10px 12px; border-radius: 9px; background: rgba(255,255,255,.5); }
.special-prize .button { margin-top: 18px; }

.awards-section {
    padding: 42px 0 36px;
}

.awards-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(290px, .5fr);
    gap: 26px;
    align-items: start;
}
.table-wrap {
    overflow-x: auto;
    align-self: start;
    border-radius: var(--radius);
    background: transparent;
    box-shadow: var(--shadow);
}
table { width: 100%; border-collapse: collapse; background: var(--card); }
th, td { padding: 17px 20px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
th {
    color: #fff;
    background: var(--navy-900);
    font: 800 .74rem "Outfit", Arial, sans-serif;
    letter-spacing: .11em;
    text-transform: uppercase;
}
td:first-child { width: 140px; color: var(--blue-700); font-weight: 800; }
.special-prize {
    display: flex;
    flex-direction: column;
    align-self: start;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #dceaf0;
    box-shadow: var(--shadow);
}
.special-prize img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; margin-bottom: 20px; border-radius: 12px; }
.winners-memory { padding: 42px 0; background: linear-gradient(145deg, #c8e3ec, #edf7f9); }
.winners-memory-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--navy-900);
    box-shadow: var(--shadow);
}
.winners-memory-grid img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; }
.winners-memory-grid > div { display: flex; padding: 40px; flex-direction: column; justify-content: center; color: #dbe7ed; }
.winners-memory-grid h2 { color: #fff; }
.winners-memory-grid .eyebrow { color: var(--sky-300); }

.resource-page-hero {
    padding: 30px 0 28px;
    background:
        radial-gradient(circle at 76% 15%, rgba(130,213,237,.3), transparent 25%),
        linear-gradient(135deg, var(--navy-950), var(--blue-700));
}
.resource-page-hero h1 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
}
.resources-section { 
    padding-top: 25px;
    background: linear-gradient(145deg, #d9ebf2, #edf7f9); }
.resource-list { display: grid; max-width: 1120px; gap: 20px; }
.resource-year {
    display: grid;
    grid-template-columns: 225px 1fr;
    gap: 28px;
    padding: 30px 32px;
    border: 1px solid rgba(23,106,161,.18);
    border-radius: var(--radius);
    background: rgba(244,250,252,.88);
    box-shadow: 0 16px 36px rgba(6,25,48,.1);
}
.resource-year > div:first-child {
    padding-right: 22px;
    border-right: 1px solid var(--line);
}
.resource-year > div > span {
    color: var(--blue-700);
    font: 800 2.9rem/1 "Manrope", Arial, sans-serif;
}
.resource-year > div:first-child h2 { margin-top: 13px; font-size: 2.25rem; }
.resource-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.resource-item {
    display: flex;
    min-height: 76px;
    padding: 17px 20px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #c1d9e3;
    border-radius: 12px;
    background: linear-gradient(145deg, #e2eff4, #f2f8fa);
    transition: transform .2s, box-shadow .2s;
}
.resource-item:hover { transform: translateY(-2px); box-shadow: 0 9px 20px rgba(3,21,45,.08); }
.resource-level { display: grid; gap: 1px; }
.resource-level strong { color: var(--navy-950); font: 900 1.1rem "Manrope", Arial, sans-serif; }
.resource-level small { color: var(--muted); font-size: .78rem; }
.resource-actions { display: flex; gap: 10px; }
.resource-action {
    display: inline-flex;
    min-height: 46px;
    padding: 11px 18px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    font: 900 .88rem "Manrope", Arial, sans-serif;
    text-decoration: none;
    box-shadow: 0 8px 16px rgba(3,21,45,.08);
    transition: transform .2s, box-shadow .2s, background .2s;
}
.resource-action.exam {
    color: var(--blue-700);
    border: 2px solid rgba(23,106,161,.28);
    background: #fff;
}
.resource-action.answers {
    color: #fff;
    border: 2px solid transparent;
    background: linear-gradient(135deg, var(--navy-800), var(--blue-700));
}
.resource-action:hover {
    transform: translateY(-2px);
    box-shadow: 0 11px 20px rgba(3,21,45,.13);
}
.all-answers-link {
    grid-column: 2;
    display: flex;
    min-height: 64px;
    padding: 18px 22px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--blue-500);
    border-radius: 13px;
    color: var(--navy-950);
    background: var(--sky-100);
    text-decoration: none;
}
.all-answers-link span { font-size: 1.05rem; }
.all-answers-link strong { color: var(--blue-700); font-size: .95rem; }

.cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.info-card {
    min-height: 290px;
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--card);
    box-shadow: 0 12px 28px rgba(6,25,48,.08);
}
.info-card > span { color: var(--blue-700); font: 800 3.4rem/1 "Cormorant Garamond"; }
.info-card h2 { margin-top: 22px; font-size: 1.8rem; }
.info-card p { color: var(--muted); }
.empty-state { max-width: 700px; text-align: center; }
.empty-state p { margin-inline: auto; }
.geometry-mark { color: var(--blue-500); font: 800 5rem/1 "Cormorant Garamond"; }

.form-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(290px, .7fr);
    max-width: 1080px;
    gap: 26px;
    align-items: stretch;
}
.registration-info-section {
    padding: 52px 0;
    background: linear-gradient(145deg, #c9e4ed, #edf7f9 56%, #d7edf3);
}
.registration-info-heading {
    display: flex;
    margin-bottom: 26px;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
}
.registration-info-heading h2 { margin-bottom: 0; }
.bases-button {
    min-height: 48px;
    color: #fff;
    background: linear-gradient(135deg, var(--navy-900), var(--blue-700));
    box-shadow: 0 11px 24px rgba(8,43,82,.2);
}
.registration-info-grid {
    display: grid;
    grid-template-columns: .78fr 1.08fr .94fr;
    gap: 18px;
    align-items: stretch;
}
.fees-card,
.bank-card,
.plin-card {
    padding: 25px;
    border: 1px solid rgba(23,106,161,.18);
    border-radius: 18px;
    background: rgba(244,250,252,.9);
    box-shadow: 0 14px 32px rgba(3,21,45,.1);
}
.fee-option {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 12px;
    padding: 14px 0;
    align-items: center;
    border-bottom: 1px solid var(--line);
}
.fee-option > strong {
    color: var(--blue-700);
    font: 800 1.55rem "Manrope", Arial, sans-serif;
}
.fee-option div { display: grid; }
.fee-option b { color: var(--navy-950); font-size: .82rem; }
.fee-option span { margin-top: 3px; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.payment-note { margin: 14px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.bank-card h3 { margin-bottom: 16px; font-size: 1.5rem; }
.bank-account {
    display: grid;
    padding: 12px 14px;
    border-radius: 11px;
    background: #dcecf2;
}
.bank-account + .bank-account { margin-top: 10px; }
.bank-account span {
    color: var(--blue-700);
    font: 800 .62rem "Manrope", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.bank-account strong {
    margin: 3px 0;
    color: var(--navy-950);
    font: 800 1rem "Manrope", Arial, sans-serif;
}
.bank-account small { color: var(--muted); font-size: .7rem; overflow-wrap: anywhere; }
.plin-card {
    display: grid;
    grid-template-columns: minmax(115px, .72fr) 180px;
    gap: 20px;
    align-items: center;
}
.plin-card h3 { margin-bottom: 6px; font-size: 1.65rem; }
.plin-card p:last-child { margin: 0; color: var(--muted); font-size: .76rem; }
.plin-card img {
    width: 180px;
    height: 246px;
    padding: 7px;
    object-fit: contain;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
}
.registration-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--card);
    box-shadow: var(--shadow);
}
.field { display: grid; align-content: start; gap: 6px; }
.field.full, .registration-form .full { grid-column: 1 / -1; }
.field label { font-size: .85rem; font-weight: 800; }
.field input, .field select {
    width: 100%;
    min-height: 48px;
    padding: 9px 12px;
    border: 1px solid #b9cbd5;
    border-radius: 8px;
    background: #e8eff2;
    font: inherit;
}
.field input:focus, .field select:focus { outline: 3px solid rgba(58,143,194,.18); border-color: var(--blue-500); }
.field input.is-valid, .field select.is-valid { border-color: #2e8b63; background: #e5f3ec; }
.field input.is-invalid, .field select.is-invalid { border-color: #bd4b4b; background: #faeaea; }
.field-help {
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.35;
}
.validation-bubble {
    position: relative;
    display: none;
    width: fit-content;
    max-width: 100%;
    margin-top: 2px;
    padding: 6px 9px 6px 25px;
    border-radius: 8px;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.35;
}
.validation-bubble.visible { display: block; }
.validation-bubble::before {
    position: absolute;
    top: 5px;
    left: 8px;
    font-size: .78rem;
}
.validation-bubble.valid { color: #1c6646; background: #d8eee3; }
.validation-bubble.valid::before { content: "✓"; }
.validation-bubble.invalid { color: #8c2f2f; background: #f7dede; }
.validation-bubble.invalid::before { content: "!"; }
.conditional-field[hidden] { display: none; }
.choice-field {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.choice-field legend {
    margin-bottom: 8px;
    font-size: .85rem;
    font-weight: 800;
}
.choice-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.choice-options label {
    display: flex;
    min-width: 0;
    padding: 14px;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid #b9cbd5;
    border-radius: 11px;
    background: #e8eff2;
    cursor: pointer;
    transition: border-color .2s, background .2s, transform .2s;
}
.choice-options label:hover { transform: translateY(-1px); border-color: var(--blue-500); }
.choice-options label:has(input:checked) {
    border-color: var(--blue-700);
    background: var(--sky-100);
    box-shadow: inset 0 0 0 1px var(--blue-700);
}
.choice-options input { margin-top: 4px; accent-color: var(--blue-700); }
.choice-options span { display: grid; min-width: 0; }
.choice-options strong { color: var(--navy-950); font-size: .84rem; }
.choice-options small { color: var(--muted); font-size: .73rem; line-height: 1.35; }
.check-field { display: flex; gap: 9px; align-items: flex-start; font-size: .88rem; }
.check-field input { margin-top: 4px; accent-color: var(--blue-700); }
.form-message { display: none; margin: 0; padding: 12px; border-radius: 9px; }
.form-message.success { display: block; color: #164f30; background: #d8eadf; }
.form-message.error { display: block; color: #8c2f2f; background: #f7dede; }
.whatsapp-submit {
    color: #fff;
    background: linear-gradient(135deg, #168b54, #20b86a);
    box-shadow: 0 12px 25px rgba(22,139,84,.23);
}
.whatsapp-submit::before {
    content: "WhatsApp";
    margin-right: 9px;
    padding-right: 9px;
    border-right: 1px solid rgba(255,255,255,.42);
    font-size: .7rem;
    letter-spacing: .06em;
}
.form-aside {
    height: 100%;
    padding: 32px;
    border-radius: var(--radius);
    color: #dce8ee;
    background: var(--navy-900);
    box-shadow: var(--shadow);
}
.form-aside h2 { color: #fff; }
.form-aside .eyebrow { color: var(--sky-300); }
.form-aside li { margin-bottom: 12px; }
.level-guide {
    margin-top: 24px;
    padding: 17px;
    border: 1px solid rgba(130,213,237,.24);
    border-radius: 12px;
    background: rgba(255,255,255,.07);
}
.level-guide > strong {
    display: block;
    margin-bottom: 10px;
    color: var(--sky-300);
    font: 800 .72rem "Manrope", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.level-guide ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.level-guide li {
    display: grid;
    grid-template-columns: 66px 1fr;
    gap: 8px;
    margin: 0;
    align-items: baseline;
}
.level-guide b { color: #fff; font-size: .78rem; }
.level-guide span { color: #c3d6df; font-size: .76rem; }
.whatsapp-notice {
    margin-top: 26px;
    padding: 17px;
    border: 1px solid rgba(130,213,237,.22);
    border-radius: 12px;
    background: rgba(255,255,255,.06);
}
.whatsapp-notice strong { color: var(--sky-300); font-size: .83rem; }
.whatsapp-notice p { margin: 5px 0 0; color: #b9ced9; font-size: .79rem; line-height: 1.5; }

/* Sponsors and footer */
.sponsors-section {
    padding: 38px 0;
    background: linear-gradient(135deg, #c7e4ed, #eaf6f9 55%, #b8dce9);
    border-top: 1px solid rgba(23,106,161,.16);
}
.sponsors-inner {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    align-items: center;
}
.sponsors-copy h2 { margin-bottom: 0; font-size: 1.8rem; }
.sponsors-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.sponsors-grid figure {
    display: grid;
    min-height: 155px;
    margin: 0;
    padding: 10px 14px;
    place-items: center;
    border: 1px solid rgba(23,106,161,.15);
    border-radius: 15px;
    background: rgba(239,249,251,.76);
}
.sponsors-grid img { width: 100%; height: 128px; object-fit: contain; }
.site-footer { padding: 40px 0 18px; color: #e0ebef; background: var(--navy-950); }
.footer-grid { display: grid; grid-template-columns: 1fr 280px; gap: 38px; align-items: center; }
.footer-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 36px; align-items: center; }
.footer-grid h2 { max-width: 500px; color: #fff; font-size: clamp(1.8rem, 2.3vw, 2.45rem); }
.footer-description { margin-bottom: 0; color: #aabdc9; }
.contact-list { display: grid; gap: 10px; padding-left: 30px; border-left: 1px solid rgba(255,255,255,.14); }
.contact-list a { display: grid; width: fit-content; text-decoration: none; }
.contact-list strong { color: var(--sky-300); font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; }
.contact-list span { font-size: .84rem; }
.footer-emblem { display: grid; min-height: 120px; place-items: center; border-left: 1px solid rgba(255,255,255,.14); }
.footer-emblem span { display: none; }
.footer-emblem img { width: 205px; filter: invert(1); opacity: .88; }
.site-footer .eyebrow { color: var(--sky-300); }
.footer-bottom {
    display: flex;
    margin-top: 22px;
    padding-top: 14px;
    justify-content: space-between;
    border-top: 1px solid rgba(255,255,255,.12);
    color: #8298a7;
    font-size: .8rem;
}

/* Free rules-based contest assistant */
.contest-chat {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 2200;
    font-family: "Manrope", Arial, sans-serif;
}
.chat-toggle {
    display: flex;
    min-height: 56px;
    padding: 8px 18px 8px 9px;
    align-items: center;
    gap: 11px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 999px;
    color: #fff;
    background: #25d366;
    box-shadow: 0 14px 30px rgba(7,94,84,.26);
    cursor: pointer;
}
.chat-toggle span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    color: #075e54;
    background: #fff;
    font-size: 1.25rem;
    font-weight: 900;
}
.chat-toggle b { font-size: .94rem; text-shadow: 0 1px 2px rgba(0,0,0,.12); }
.chat-panel {
    position: absolute;
    right: 0;
    bottom: 68px;
    width: min(405px, calc(100vw - 28px));
    overflow: hidden;
    border: 1px solid rgba(7,94,84,.2);
    border-radius: 18px;
    background: #efe7dc;
    box-shadow: 0 24px 54px rgba(3,21,45,.28);
}
.chat-panel[hidden] { display: none; }
.chat-header {
    display: flex;
    padding: 14px 15px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #fff;
    background: #075e54;
    border-bottom: 1px solid rgba(0,0,0,.08);
}
.chat-header > div {
    position: relative;
    display: grid;
    padding-left: 45px;
}
.chat-header > div::before {
    content: "?";
    position: absolute;
    left: 0;
    top: 50%;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    color: #075e54;
    background: #dcf8c6;
    font-weight: 900;
    transform: translateY(-50%);
}
.chat-header strong {
    color: #fff;
    font: 900 1.02rem/1.15 "Manrope", Arial, sans-serif;
}
.chat-header span {
    margin-top: 4px;
    color: rgba(255,255,255,.78);
    font-size: .78rem;
}
.chat-close {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: rgba(255,255,255,.13);
    font-size: 1.38rem;
    font-weight: 800;
    cursor: pointer;
}
.chat-messages {
    display: grid;
    max-height: 205px;
    padding: 15px 16px 12px;
    overflow-y: auto;
    gap: 10px;
    background:
        radial-gradient(circle at 20px 20px, rgba(7,94,84,.06) 1px, transparent 1.5px),
        radial-gradient(circle at 70px 65px, rgba(7,94,84,.045) 1px, transparent 1.5px),
        #efe7dc;
    background-size: 90px 90px;
}
.chat-message {
    max-width: 92%;
    padding: 12px 14px;
    border-radius: 16px;
    font-size: .95rem;
    line-height: 1.5;
}
.chat-message.bot {
    justify-self: start;
    color: #1f2d2a;
    background: #fff;
    border: 0;
    border-top-left-radius: 4px;
    box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
.chat-message.user {
    justify-self: end;
    color: #15320f;
    background: #dcf8c6;
    border-top-right-radius: 4px;
    box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
.chat-suggestions {
    display: grid;
    grid-template-columns: 1fr;
    max-height: 300px;
    padding: 12px 14px 14px;
    overflow-y: auto;
    gap: 8px;
    background: #f7f3ee;
}
.chat-suggestions button {
    position: relative;
    min-height: 44px;
    padding: 10px 36px 10px 14px;
    border: 1px solid rgba(7,94,84,.18);
    border-radius: 999px;
    color: #075e54;
    background: #fff;
    font: 900 .84rem/1.25 "Manrope", Arial, sans-serif;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 5px 12px rgba(3,21,45,.045);
    transition: border-color .2s, background .2s, transform .2s;
}
.chat-suggestions button::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 13px;
    color: #25d366;
    font-size: 1.2rem;
    transform: translateY(-50%);
}
.chat-suggestions button:hover {
    border-color: #25d366;
    background: #f0fff4;
    transform: translateY(-1px);
}
.chat-bases-link {
    display: block;
    padding: 12px 15px 14px;
    color: #075e54;
    background: #f7f3ee;
    border-top: 1px solid rgba(7,94,84,.13);
    font-size: .82rem;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
}

/* WhatsApp-style modern chat redesign */
.chat-toggle {
    min-height: 58px;
    padding: 7px 18px 7px 7px;
    gap: 12px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #25d366, #128c7e);
    box-shadow: 0 16px 32px rgba(7,94,84,.34);
}
.chat-toggle span {
    width: 44px;
    height: 44px;
    color: #128c7e;
    background: #fff;
    font-size: 1.25rem;
}
.chat-toggle b {
    font-size: .95rem;
    font-weight: 900;
    letter-spacing: -.01em;
}
.chat-panel {
    bottom: 72px;
    width: min(410px, calc(100vw - 28px));
    border: 1px solid rgba(7,94,84,.18);
    border-radius: 22px;
    background: #efe7dc;
    box-shadow: 0 26px 58px rgba(3,21,45,.3);
}
.chat-header {
    padding: 13px 14px;
    align-items: center;
    color: #fff;
    background: linear-gradient(135deg, #075e54, #128c7e);
    border-bottom: 1px solid rgba(0,0,0,.08);
}
.chat-header > div {
    min-height: 46px;
    padding-left: 58px;
    align-content: center;
}
.chat-header > div::before {
    content: "☎";
    width: 44px;
    height: 44px;
    border: 2px solid rgba(255,255,255,.32);
    color: #075e54;
    background: #dcf8c6;
}
.chat-header > div::after {
    content: "";
    position: absolute;
    left: 35px;
    bottom: 4px;
    width: 10px;
    height: 10px;
    border: 2px solid #128c7e;
    border-radius: 50%;
    background: #25d366;
}
.chat-header strong {
    color: #fff;
    font: 900 1.02rem/1.1 "Manrope", Arial, sans-serif;
}
.chat-header span {
    color: rgba(255,255,255,.82);
    font-size: .76rem;
}
.chat-close {
    width: 34px;
    height: 34px;
    color: #fff;
    background: rgba(255,255,255,.14);
}
.chat-close:hover { background: rgba(255,255,255,.22); }
.chat-messages {
    max-height: 230px;
    padding: 16px 16px 12px;
    gap: 10px;
    background:
        radial-gradient(circle at 12px 12px, rgba(7,94,84,.055) 1px, transparent 1.5px),
        radial-gradient(circle at 58px 48px, rgba(7,94,84,.04) 1px, transparent 1.5px),
        #efe7dc;
    background-size: 78px 78px;
}
.chat-message {
    position: relative;
    max-width: 88%;
    padding: 10px 13px 11px;
    border-radius: 13px;
    font-size: .93rem;
    box-shadow: 0 1px 2px rgba(0,0,0,.12);
}
.chat-message.bot {
    color: #1f2d2a;
    background: #fff;
    border: 0;
    border-top-left-radius: 3px;
}
.chat-message.bot::before {
    content: "";
    position: absolute;
    top: 0;
    left: -7px;
    border-top: 8px solid #fff;
    border-left: 8px solid transparent;
}
.chat-message.user {
    color: #15320f;
    background: #dcf8c6;
    border-top-right-radius: 3px;
}
.chat-message.user::after {
    content: "";
    position: absolute;
    top: 0;
    right: -7px;
    border-top: 8px solid #dcf8c6;
    border-right: 8px solid transparent;
}
.chat-suggestions {
    max-height: 275px;
    padding: 11px 13px 13px;
    gap: 8px;
    background: #f7f3ee;
    border-top: 1px solid rgba(7,94,84,.1);
}
.chat-suggestions::before {
    content: "Respuestas rápidas";
    color: #60746d;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.chat-suggestions button {
    min-height: 42px;
    padding: 9px 38px 9px 14px;
    border: 1px solid rgba(18,140,126,.25);
    border-radius: 999px;
    color: #075e54;
    background: #fff;
    font-size: .82rem;
    box-shadow: 0 4px 10px rgba(3,21,45,.045);
}
.chat-suggestions button::after {
    content: "➜";
    right: 14px;
    color: #25d366;
    font-size: .95rem;
}
.chat-suggestions button:hover {
    border-color: #25d366;
    background: #f0fff4;
}
.chat-bases-link {
    color: #075e54;
    background: #f7f3ee;
    border-top: 1px solid rgba(7,94,84,.12);
}

/* Polished WhatsApp lime version */
.chat-toggle {
    min-height: 60px;
    padding: 8px 21px 8px 8px;
    gap: 13px;
    border: 1px solid rgba(255,255,255,.75);
    color: #fff;
    background:
        radial-gradient(circle at 24% 18%, rgba(255,255,255,.32), transparent 25%),
        linear-gradient(135deg, #00e676 0%, #25d366 48%, #00b85a 100%);
    box-shadow: 0 18px 36px rgba(0,184,90,.34), 0 5px 14px rgba(3,21,45,.18);
}
.chat-toggle span {
    width: 46px;
    height: 46px;
    color: #00b85a;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(0,184,90,.14);
    font-size: 1.35rem;
}
.chat-toggle b {
    font-size: .98rem;
    letter-spacing: -.02em;
}
.chat-panel {
    bottom: 76px;
    width: min(418px, calc(100vw - 28px));
    border: 1px solid rgba(0,184,90,.22);
    border-radius: 28px;
    background: #f0f2f5;
    box-shadow: 0 28px 64px rgba(3,21,45,.32);
}
.chat-header {
    padding: 16px 16px;
    background:
        radial-gradient(circle at 86% 8%, rgba(255,255,255,.28), transparent 26%),
        linear-gradient(135deg, #00e676, #25d366 48%, #00a859);
}
.chat-header > div {
    min-height: 50px;
    padding-left: 62px;
}
.chat-header > div::before {
    content: "☎";
    width: 50px;
    height: 50px;
    border: 2px solid rgba(255,255,255,.55);
    color: #00b85a;
    background: #fff;
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.chat-header > div::after {
    left: 40px;
    bottom: 3px;
    width: 12px;
    height: 12px;
    border-color: #25d366;
    background: #00ff7f;
}
.chat-header strong {
    font-size: 1.08rem;
    color: #fff;
}
.chat-header span {
    color: rgba(255,255,255,.9);
    font-size: .78rem;
}
.chat-close {
    width: 36px;
    height: 36px;
    color: #fff;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(6px);
}
.chat-close:hover { background: rgba(255,255,255,.28); }
.chat-messages {
    max-height: 232px;
    padding: 18px 17px 13px;
    background:
        radial-gradient(circle at 18px 18px, rgba(37,211,102,.055) 1px, transparent 1.5px),
        radial-gradient(circle at 66px 54px, rgba(0,184,90,.04) 1px, transparent 1.5px),
        linear-gradient(180deg, #f6f4ee, #ebe5dc);
    background-size: 82px 82px;
}
.chat-message {
    max-width: 88%;
    padding: 11px 14px;
    border-radius: 16px;
    font-size: .94rem;
    box-shadow: 0 1px 2px rgba(0,0,0,.11);
}
.chat-message.bot {
    background: #fff;
    color: #172d25;
}
.chat-message.user {
    background: #d9fdd3;
    color: #17330f;
}
.chat-message.user::after {
    border-top-color: #d9fdd3;
}
.chat-suggestions {
    padding: 12px 13px 14px;
    background: #f7f8f9;
    border-top: 1px solid rgba(0,184,90,.12);
}
.chat-suggestions::before {
    color: #63806f;
}
.chat-suggestions button {
    min-height: 44px;
    border: 1px solid rgba(37,211,102,.36);
    color: #075e54;
    background: #fff;
    box-shadow: 0 5px 12px rgba(0,184,90,.06);
}
.chat-suggestions button::after {
    color: #25d366;
}
.chat-suggestions button:hover {
    border-color: #00e676;
    background: #effff5;
    box-shadow: 0 8px 18px rgba(0,184,90,.12);
}
.chat-bases-link {
    color: #075e54;
    background: #f7f8f9;
    border-top: 1px solid rgba(0,184,90,.12);
}

@media (max-width: 1100px) {
    .header-main { gap: 18px; }
    .header-date { display: none; }
    .brand img { width: min(370px, 37vw); }
}

@media (max-width: 920px) {
    .header-main { min-height: 104px; padding-block: 10px; flex-wrap: wrap; }
    .brand { order: 1; margin-inline: auto; }
    .brand img { width: min(300px, 55vw); }
    .menu-toggle { display: none; }
    .header-actions { order: 2; width: 100%; justify-content: center; }
    .main-nav ul {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        min-height: 0;
        padding: 8px 24px;
        align-items: stretch;
        gap: 4px 8px;
    }
    .main-nav li { display: grid; min-width: 0; }
    .main-nav a {
        display: grid;
        min-height: 36px;
        padding: 7px 5px;
        place-items: center;
        border-radius: 8px;
        font-size: .68rem;
        line-height: 1.2;
        text-align: center;
    }
    .main-nav a:hover,
    .main-nav a.active { background: rgba(130,213,237,.12); }
    .main-nav a::after { bottom: 3px; left: 18%; right: 82%; }
    .main-nav a:hover::after,
    .main-nav a.active::after { right: 18%; }
    .event-launch-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        min-height: 0;
        padding-block: 46px;
    }
    .event-date-card { max-width: 720px; }
    .registration-countdown { width: 100%; max-width: 720px; }
    .cover-gate, .cover-grid { min-height: 0; }
    .cover-only-main { min-height: auto; overflow: visible; }
    .cover-only-main .cover-gate,
    .cover-only-main .cover-grid { min-height: auto; }
    .cover-grid {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-block: 42px;
    }
    .cover-main { max-width: 760px; }
    .cover-logo { width: min(560px, 100%); max-height: 220px; }
    .cover-countdown-card { max-width: 720px; }
    .cover-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cover-only-main .cover-grid { padding-block: 30px; gap: 22px; }
    .cover-only-main .cover-logo { width: min(420px, 82%); max-height: 160px; }
    .cover-only-main .cover-main h1 { font-size: clamp(2rem, 7vw, 3.2rem); }
    .cover-only-main .cover-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cover-only-main .cover-side { min-height: 0; }
    .welcome-grid { grid-template-columns: 1fr; gap: 24px; padding: 44px 0; }
    .welcome-content {
        grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr);
        padding: 0;
    }
    .welcome-photo {
        width: 100%;
        margin-left: 0;
    }
    .welcome-photo, .welcome-photo img { min-height: 300px; }
    .welcome-copy { padding-top: 4px; }
    .welcome-stats { grid-template-columns: repeat(3, 1fr); }
    .welcome-stats div { border-right: 1px solid var(--line); border-bottom: 0; }
    .welcome-stats div:last-child { border-right: 0; }
    .about-highlight { display: flex; }
    .welcome-stats .about-levels { border: 1px solid rgba(23,106,161,.18); }
    .team-layout { grid-template-columns: 1fr; gap: 26px; }
    .team-intro { position: static; padding: 0 0 22px; border-right: 0; border-bottom: 1px solid #b8cbd6; }
    .purpose-grid, .awards-grid, .form-layout { grid-template-columns: 1fr; }
    .registration-info-grid { grid-template-columns: 1fr 1fr; }
    .plin-card { grid-column: 1 / -1; }
    .purpose-section { padding: 36px 0; }
    .purpose-card { min-height: 0; }
    .venues-list { grid-template-columns: repeat(3, 1fr); }
    .prize-spotlight-grid { grid-template-columns: 1fr; }
    .prize-showcase { width: 100%; max-width: 760px; }
    .prize-spotlight-image { max-width: 720px; }
    .prize-cards { grid-template-columns: 1fr; max-width: 650px; margin-inline: auto; }
    .prize-card { display: grid; grid-template-columns: 230px 1fr; }
    .prize-card img { height: 100%; aspect-ratio: auto; }
    .prize-card.symbolic { display: grid; grid-template-columns: 230px 1fr; }
    .medal-symbol { min-height: 240px; }
    .featured-book { grid-template-columns: 1fr 1fr; min-height: 520px; }
    .featured-book-image { min-height: 520px; padding: 10px; }
    .featured-book-image img { max-height: 500px; }
    .featured-book-copy { padding: 38px; }
    .training-books { grid-template-columns: 1fr; max-width: 650px; margin-inline: auto; }
    .book-card { grid-template-columns: 230px 1fr; }
    .book-card img { height: 360px; padding: 6px; }
    .book-card > div { display: flex; flex-direction: column; justify-content: center; border-top: 0; border-left: 5px solid var(--blue-500); }
    .book-card.level-one > div { border-left-color: #e68135; }
    .book-card.level-two > div { border-left-color: #1775c8; }
    .book-card.level-three > div { border-left-color: #7552a6; }
    .section-heading.horizontal { grid-template-columns: 1fr; gap: 10px; }
    .section-heading.horizontal > p, .section-heading.horizontal .national-summary { justify-self: start; }
    .national-grid { grid-template-columns: 1fr; }
    .city-card { display: grid; grid-template-columns: 1fr 1fr; }
    .city-card img { height: 100%; aspect-ratio: auto; }
    .photo-grid {
        grid-auto-columns: minmax(380px, 58%);
        grid-template-columns: none;
    }
    .winners-memory-grid { grid-template-columns: 1fr; }
    .winners-memory-grid img { min-height: 0; aspect-ratio: 16 / 9; }
    .resource-year { grid-template-columns: 1fr; }
    .resource-year > div:first-child { padding: 0 0 18px; border-right: 0; border-bottom: 1px solid var(--line); }
    .all-answers-link { grid-column: 1; }
    .cards-grid { grid-template-columns: 1fr; max-width: 620px; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-intro { grid-template-columns: 1fr 1fr; }
    .footer-emblem { display: none; }
    .sponsors-inner { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 620px) {
    .container { width: min(100% - 28px, 1220px); }
    .section { padding: 50px 0; }
    h1 { font-size: 2.25rem; }
    h2 { font-size: 1.9rem; }
    .event-strip-inner { min-height: 42px; gap: 8px; text-align: center; font-size: .68rem; }
    .event-strip-inner span { display: none; }
    .event-strip-inner b { padding-left: 9px; font-size: .64rem; }
    .header-main { min-height: 94px; padding-block: 9px; }
    .header-actions { display: none; }
    .brand img { width: 255px; max-height: 68px; }
    .main-nav ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 8px 12px;
        gap: 5px;
    }
    .main-nav a { min-height: 40px; padding-inline: 4px; font-size: .66rem; }
    .event-launch-grid { gap: 24px; padding-block: 34px; }
    .event-launch-decoration { width: 310px; top: -100px; right: -150px; }
    .event-date-display { gap: 13px; }
    .event-date-display > strong { font-size: clamp(4.7rem, 25vw, 6.2rem); }
    .event-date-display div { padding-left: 13px; }
    .event-date-display span { font-size: clamp(1.8rem, 10vw, 2.55rem); }
    .event-date-card h1 { font-size: clamp(1.85rem, 9vw, 2.5rem); }
    .registration-countdown { padding: 23px 18px; border-radius: 17px; }
    .countdown { gap: 5px; }
    .countdown div { padding: 12px 3px 10px; border-radius: 9px; }
    .countdown strong { font-size: clamp(1.35rem, 8vw, 1.9rem); }
    .countdown span { font-size: .48rem; letter-spacing: .05em; }
    .cover-grid { padding-block: 34px; }
    .cover-only-main .cover-grid { padding-block: 24px; }
    .cover-kicker { font-size: .64rem; letter-spacing: .16em; }
    .cover-logo { max-height: 168px; }
    .cover-only-main .cover-logo { max-height: 130px; width: min(330px, 90%); }
    .cover-main h1 { font-size: clamp(2.12rem, 10vw, 3rem); }
    .cover-only-main .cover-main h1 { font-size: clamp(1.85rem, 9vw, 2.55rem); }
    .cover-lead { font-size: .98rem; }
    .cover-actions { align-items: stretch; flex-direction: column; }
    .cover-primary-button { width: 100%; min-height: 58px; }
    .cover-secondary-link { text-align: center; }
    .cover-countdown-card { padding: 20px 16px; border-radius: 21px; }
    .cover-countdown { gap: 6px; }
    .cover-countdown div { min-height: 70px; border-radius: 12px; }
    .cover-countdown strong { font-size: clamp(1.35rem, 8vw, 1.9rem); }
    .cover-countdown span { font-size: .48rem; letter-spacing: .04em; }
    .cover-menu { grid-template-columns: 1fr 1fr; gap: 8px; }
    .cover-menu a { min-height: 44px; padding-inline: 8px; font-size: .68rem; }
    .cover-only-main .cover-menu { grid-template-columns: 1fr 1fr; }
    .cover-only-main .cover-menu a { min-height: 40px; }
    .cover-info-list { grid-template-columns: 1fr; }
    .cover-info-card h2 { font-size: clamp(1.55rem, 9vw, 2.1rem); }
    .hero { min-height: 0; aspect-ratio: 16 / 7; }
    .hero-slide img { object-fit: contain; }
    .slider-control { width: 38px; height: 38px; }
    .slider-control.previous { left: 9px; }
    .slider-control.next { right: 9px; }
    .welcome-section, .welcome-grid { min-height: 0; }
    .welcome-grid { padding: 38px 0; }
    .welcome-content { grid-template-columns: 1fr; gap: 22px; }
    .welcome-photo, .welcome-photo img { min-height: 235px; }
    .welcome-photo { aspect-ratio: 16 / 10; }
    .welcome-copy { padding-top: 0; }
    .welcome-content h1 { font-size: 2.18rem; }
    .welcome-stats { grid-template-columns: 1fr; }
    .welcome-stats div { padding: 13px 17px; border-right: 0; border-bottom: 1px solid var(--line); }
    .about-highlight { padding: 24px 22px; }
    .welcome-stats .about-levels { border: 1px solid rgba(23,106,161,.18); }
    .profile-card { grid-template-columns: 118px 1fr; min-height: 220px; }
    .profile-image { min-height: 220px; }
    .profile-content { padding: 20px; }
    .profile-content h3 { font-size: 1.45rem; }
    .profile-content p:last-child { font-size: .82rem; line-height: 1.48; }
    .purpose-section { padding: 30px 0; }
    .purpose-card { min-height: 0; padding: 22px; }
    .national-section .section-heading h2 { font-size: 2.25rem; }
    .national-summary p { font-size: 1rem; }
    .venues-list { grid-template-columns: repeat(2, 1fr); }
    .prize-spotlight { padding: 42px 0; }
    .prize-spotlight-grid { gap: 30px; }
    .prize-showcase {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        min-height: 0;
        padding: 0;
    }
    .prize-showcase .prize-spotlight-image {
        grid-column: 1 / -1;
        min-height: 330px;
    }
    .prize-proof {
        position: static;
        width: auto;
        transform: none;
    }
    .prize-proof img { height: 155px; }
    .prize-spotlight-image { min-height: 330px; }
    .prize-spotlight-image .laptop-main { max-height: 270px; }
    .prize-spotlight-image .laptop-boxes { max-height: none; }
    .laptop-winner { width: 88px; left: 11px; bottom: 11px; border-width: 3px; }
    .laptop-winner img { height: 96px; }
    .prize-highlight { width: 100%; align-items: flex-start; flex-direction: column; gap: 3px; }
    .prize-card, .prize-card.symbolic { display: block; }
    .prize-card img { aspect-ratio: 3 / 2; }
    .medal-symbol { min-height: 230px; }
    .featured-book { grid-template-columns: 1fr; }
    .featured-book-image { min-height: 420px; padding: 8px; }
    .featured-book-image img { max-height: 410px; }
    .featured-book-copy { padding: 30px 26px; }
    .training-heading { grid-template-columns: 1fr; gap: 6px; margin-top: 40px; }
    .training-heading > p { justify-self: start; }
    .book-card { grid-template-columns: 1fr; }
    .book-card img { height: 430px; padding: 8px; }
    .book-card > div { border-top: 5px solid var(--blue-500); border-left: 0; }
    .book-card.level-one > div { border-top-color: #e68135; border-left: 0; }
    .book-card.level-two > div { border-top-color: #1775c8; border-left: 0; }
    .book-card.level-three > div { border-top-color: #7552a6; border-left: 0; }
    .coming-book { grid-template-columns: 1fr; gap: 6px; padding: 22px; }
    .city-card { display: block; }
    .city-card img { aspect-ratio: 16 / 10; }
    .photo-grid {
        grid-auto-columns: minmax(300px, 86%);
        grid-template-columns: none;
        gap: 12px;
    }
    .gallery-arrow {
        width: 42px;
        height: 42px;
        font-size: 2rem;
    }
    .gallery-arrow-prev { left: -14px; }
    .gallery-arrow-next { right: -14px; }
    .resource-links, .registration-form { grid-template-columns: 1fr; }
    .registration-info-section { padding: 40px 0; }
    .registration-hero-steps { grid-template-columns: 1fr; max-width: 680px; }
    .registration-info-heading { align-items: stretch; flex-direction: column; gap: 16px; }
    .bases-button { width: 100%; }
    .registration-info-grid { grid-template-columns: 1fr; }
    .plin-card { grid-column: auto; grid-template-columns: minmax(100px, 1fr) 170px; }
    .plin-card img { width: 170px; height: 232px; }
    .choice-options { grid-template-columns: 1fr; }
    .resource-item { align-items: flex-start; gap: 10px; flex-direction: column; }
    .resource-actions { width: 100%; }
    .resource-action { flex: 1; text-align: center; }
    .field.full, .registration-form .full { grid-column: auto; }
    .footer-intro { grid-template-columns: 1fr; gap: 22px; }
    .sponsors-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .sponsors-grid figure { min-height: 124px; padding: 8px; }
    .sponsors-grid img { height: 105px; }
    .contact-list { padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
    .footer-bottom { display: grid; gap: 3px; }
    .contest-chat { right: 10px; bottom: 10px; }
    .chat-toggle b { display: none; }
    .chat-toggle { min-height: 50px; padding: 7px; }
    .chat-toggle span { width: 36px; height: 36px; font-size: 1.15rem; }
    .chat-panel {
        bottom: 60px;
        width: min(390px, calc(100vw - 20px));
        border-radius: 18px;
    }
    .chat-header { padding: 15px 16px; }
    .chat-header strong { font-size: 1.02rem; }
    .chat-header span { font-size: .76rem; }
    .chat-message { font-size: .92rem; }
    .chat-suggestions { grid-template-columns: 1fr; max-height: 270px; }
    .chat-suggestions button { min-height: 48px; font-size: .84rem; }
}

@media (max-width: 420px) {
    body { font-size: 15px; }
    .container { width: min(100% - 22px, 1220px); }
    .header-main { min-height: 82px; gap: 10px; }
    .brand img { width: min(220px, 67vw); max-height: 60px; }
    .main-nav ul { padding-inline: 8px; }
    .event-strip-inner { padding-block: 6px; flex-wrap: wrap; line-height: 1.3; }
    .event-strip-inner strong { width: 100%; }
    .event-strip-inner b { padding-left: 0; border-left: 0; }
    .event-date-display > strong { font-size: 4.4rem; }
    .event-date-display span { font-size: 1.72rem; }
    .event-date-display small { font-size: .9rem; }
    .event-date-card h1 { font-size: 1.8rem; }
    .countdown span { letter-spacing: 0; }
    .cover-grid { padding-block: 28px; }
    .cover-logo { max-height: 138px; }
    .cover-only-main .cover-logo { max-height: 112px; }
    .cover-main h1 { font-size: 2rem; }
    .cover-countdown-card { padding: 18px 14px; }
    .cover-countdown { grid-template-columns: repeat(2, 1fr); }
    .cover-menu { grid-template-columns: 1fr; }
    .cover-only-main .cover-menu { grid-template-columns: 1fr; }
    .slider-control { width: 34px; height: 34px; font-size: 1.5rem; }
    .profile-card { grid-template-columns: 1fr; }
    .profile-image { min-height: 0; aspect-ratio: 4 / 3; }
    .profile-content { padding: 22px; }
    .purpose-card { min-height: 0; }
    .photo-grid {
        grid-auto-columns: minmax(260px, 92%);
        grid-template-columns: none;
    }
    .gallery-arrow {
        width: 38px;
        height: 38px;
        font-size: 1.8rem;
    }
    .resource-year { padding: 22px 18px; }
    .registration-form, .form-aside { padding: 22px 18px; }
    .fees-card, .bank-card, .plin-card { padding: 21px 18px; }
    .registration-page-hero { padding: 17px 0 15px; }
    .registration-hero-intro { margin-bottom: 12px; font-size: .8rem; }
    .registration-hero-steps > div { padding: 8px 10px; }
    .plin-card { grid-template-columns: 1fr; text-align: center; }
    .plin-card img { width: min(240px, 100%); height: auto; margin-inline: auto; }
    .sponsors-grid { grid-template-columns: 1fr; }
}

/* FINAL CHATBOX REDESIGN - modern WhatsApp inspired */
.contest-chat {
    right: 22px;
    bottom: 22px;
    font-family: "Manrope", Arial, sans-serif;
}
.chat-toggle {
    min-height: 62px;
    padding: 7px 20px 7px 7px;
    gap: 12px;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    background:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,.38), transparent 24%),
        linear-gradient(135deg, #00ff84 0%, #25d366 45%, #00b75c 100%);
    box-shadow:
        0 20px 42px rgba(0, 190, 96, .36),
        0 7px 18px rgba(3, 21, 45, .2);
    transform: translateZ(0);
}
.chat-toggle span {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: #00b75c;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(0,183,92,.12), 0 5px 12px rgba(0,0,0,.08);
    font-size: 1.45rem;
}
.chat-toggle b {
    color: #fff;
    font: 950 .98rem/1 "Manrope", Arial, sans-serif;
    letter-spacing: -.02em;
    text-shadow: 0 1px 2px rgba(0,0,0,.16);
}
.chat-panel {
    bottom: 78px;
    width: min(414px, calc(100vw - 30px));
    border: 0;
    border-radius: 28px;
    background: #f0f2f5;
    box-shadow: 0 30px 76px rgba(3,21,45,.34);
}
.chat-header {
    min-height: 76px;
    padding: 14px 16px;
    color: #fff;
    background:
        radial-gradient(circle at 86% 3%, rgba(255,255,255,.3), transparent 23%),
        linear-gradient(135deg, #00e676 0%, #25d366 45%, #075e54 120%);
    border-bottom: 0;
}
.chat-header > div {
    min-height: 52px;
    padding-left: 64px;
    align-content: center;
}
.chat-header > div::before {
    content: "✆";
    width: 52px;
    height: 52px;
    border: 2px solid rgba(255,255,255,.65);
    color: #10b85c;
    background: #fff;
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.chat-header > div::after {
    left: 41px;
    bottom: 3px;
    width: 13px;
    height: 13px;
    border: 2px solid #25d366;
    background: #00ff84;
}
.chat-header strong {
    color: #fff;
    font: 950 1.08rem/1.1 "Manrope", Arial, sans-serif;
}
.chat-header span {
    color: rgba(255,255,255,.92);
    font-size: .78rem;
}
.chat-close {
    width: 38px;
    height: 38px;
    color: #fff;
    background: rgba(255,255,255,.2);
    backdrop-filter: blur(8px);
}
.chat-messages {
    max-height: 238px;
    padding: 18px 18px 14px;
    gap: 11px;
    background:
        radial-gradient(circle at 18px 18px, rgba(7,94,84,.055) 1.2px, transparent 1.6px),
        radial-gradient(circle at 62px 54px, rgba(0,184,90,.04) 1.2px, transparent 1.6px),
        linear-gradient(180deg, #f6f0e7, #ebe2d8);
    background-size: 82px 82px;
}
.chat-message {
    max-width: 88%;
    padding: 11px 14px;
    border-radius: 17px;
    font-size: .95rem;
    line-height: 1.45;
    box-shadow: 0 1px 2px rgba(0,0,0,.12);
}
.chat-message.bot {
    color: #202c2a;
    background: #ffffff;
    border: 0;
    border-top-left-radius: 4px;
}
.chat-message.bot::before {
    content: "";
    position: absolute;
    top: 0;
    left: -7px;
    border-top: 9px solid #fff;
    border-left: 9px solid transparent;
}
.chat-message.user {
    color: #183513;
    background: #d9fdd3;
    border-top-right-radius: 4px;
}
.chat-message.user::after {
    content: "";
    position: absolute;
    top: 0;
    right: -7px;
    border-top: 9px solid #d9fdd3;
    border-right: 9px solid transparent;
}
.chat-suggestions {
    grid-template-columns: 1fr;
    max-height: 270px;
    padding: 12px 14px 14px;
    gap: 8px;
    background: #f7f8f9;
    border-top: 1px solid rgba(0,183,92,.12);
}
.chat-suggestions::before {
    content: "Elige una pregunta";
    color: #5d7468;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.chat-suggestions button {
    min-height: 45px;
    padding: 10px 39px 10px 15px;
    border: 1px solid rgba(37,211,102,.32);
    border-radius: 999px;
    color: #075e54;
    background: #ffffff;
    font: 950 .84rem/1.22 "Manrope", Arial, sans-serif;
    box-shadow: 0 5px 12px rgba(0,183,92,.06);
}
.chat-suggestions button::after {
    content: "➜";
    right: 15px;
    color: #25d366;
    font-size: .95rem;
}
.chat-suggestions button:hover {
    border-color: #00e676;
    background: #effff5;
    box-shadow: 0 8px 18px rgba(0,183,92,.13);
}
.chat-bases-link {
    padding: 13px 15px 15px;
    color: #075e54;
    background: #f7f8f9;
    border-top: 1px solid rgba(0,183,92,.12);
}

@media (max-width: 620px) {
    .contest-chat { right: 11px; bottom: 11px; }
    .chat-toggle {
        min-height: 56px;
        padding: 7px;
        border-radius: 50%;
    }
    .chat-toggle span {
        width: 42px;
        height: 42px;
        font-size: 1.25rem;
    }
    .chat-panel {
        bottom: 66px;
        width: min(390px, calc(100vw - 22px));
        border-radius: 24px;
    }
}

/* Compact modern WhatsApp chat layout */
.chat-toggle {
    min-height: 54px;
    padding: 6px 17px 6px 6px;
}
.chat-toggle span {
    width: 42px;
    height: 42px;
    font-size: 1.25rem;
}
.chat-toggle b { font-size: .9rem; }
.chat-panel {
    bottom: 68px;
    width: min(360px, calc(100vw - 30px));
    border-radius: 22px;
}
.chat-header {
    min-height: 62px;
    padding: 10px 12px;
}
.chat-header > div {
    min-height: 42px;
    padding-left: 52px;
}
.chat-header > div::before {
    width: 42px;
    height: 42px;
    font-size: 1.1rem;
}
.chat-header > div::after {
    left: 33px;
    width: 11px;
    height: 11px;
}
.chat-header strong { font-size: .96rem; }
.chat-header span { font-size: .7rem; }
.chat-close {
    width: 32px;
    height: 32px;
    font-size: 1.25rem;
}
.chat-messages {
    max-height: 172px;
    padding: 13px 14px 10px;
    gap: 8px;
}
.chat-message {
    max-width: 90%;
    padding: 9px 12px 10px;
    border-radius: 14px;
    font-size: .86rem;
    line-height: 1.42;
}
.chat-suggestions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 205px;
    padding: 9px 11px 11px;
    gap: 7px;
}
.chat-suggestions::before {
    grid-column: 1 / -1;
    font-size: .62rem;
}
.chat-suggestions button {
    min-height: 40px;
    padding: 8px 27px 8px 11px;
    border-radius: 14px;
    font-size: .72rem;
    line-height: 1.2;
}
.chat-suggestions button::after {
    right: 10px;
    font-size: .8rem;
}
.chat-bases-link {
    padding: 10px 12px 12px;
    font-size: .75rem;
}

@media (max-width: 620px) {
    .chat-toggle {
        min-height: 52px;
        padding: 6px;
        border-radius: 50%;
    }
    .chat-toggle span {
        width: 40px;
        height: 40px;
    }
    .chat-panel {
        bottom: 62px;
        width: min(350px, calc(100vw - 22px));
        border-radius: 20px;
    }
    .chat-suggestions {
        grid-template-columns: 1fr;
        max-height: 235px;
    }
    .chat-suggestions button {
        font-size: .8rem;
    }
}

/* ==========================================================
   PORTADA 2026 - rediseño final limpio y moderno
   Sobrescribe los intentos anteriores del panel derecho.
   ========================================================== */
@media (min-width: 921px) {
    body.is-cover-page {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        height: 100dvh;
        overflow: hidden;
        background: #061427;
    }

    .is-cover-page .cover-only-main,
    .is-cover-page .cover-only-main .cover-gate,
    .is-cover-page .cover-only-main .cover-grid {
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .is-cover-page .cover-only-main .cover-gate {
        background:
            radial-gradient(circle at 9% 24%, rgba(126, 216, 236, .13), transparent 28%),
            radial-gradient(circle at 88% 50%, rgba(19, 116, 166, .42), transparent 38%),
            linear-gradient(115deg, #061427 0%, #09223d 50%, #0b6d9a 100%);
    }

    .is-cover-page .cover-only-main .cover-grid {
        grid-template-columns: minmax(420px, 1fr) minmax(460px, 560px);
        align-items: center;
        gap: clamp(30px, 5vw, 76px);
        padding-block: 14px;
    }

    .is-cover-page .cover-only-main .cover-main {
        justify-content: center;
    }

    .is-cover-page .cover-only-main .cover-kicker {
        top: 0;
        margin-bottom: 10px;
        color: #9be8f7;
        font-size: .72rem;
        letter-spacing: .2em;
    }

    .is-cover-page .cover-only-main .cover-logo {
        width: min(520px, 78%);
        max-height: 200px;
        margin: 0 0 10px;
        filter: brightness(0) invert(1) drop-shadow(0 22px 34px rgba(0,0,0,.28));
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        max-width: 720px;
        margin-bottom: 7px;
        color: #fff;
        font-size: clamp(2.2rem, 3.35vw, 3.65rem);
        line-height: .92;
    }

    .is-cover-page .cover-only-main .cover-lead {
        max-width: 660px;
        color: #d4edf6;
        font-size: .95rem;
        line-height: 1.35;
    }

    .is-cover-page .cover-only-main .cover-actions {
        margin-top: 8px;
    }

    .is-cover-page .cover-only-main .cover-secondary-link {
        color: #bdeefa;
        font-size: .84rem;
    }

    .is-cover-page .cover-only-main .cover-side {
        display: grid;
        width: 100%;
        max-width: 560px;
        max-height: 100%;
        align-self: center;
        gap: 10px;
    }

    .is-cover-page .cover-only-main .cover-info-card {
        position: relative;
        display: grid;
        grid-template-columns: 1fr;
        overflow: hidden;
        padding: 0;
        border: 0;
        border-radius: 18px;
        color: #071d35;
        background:
            linear-gradient(180deg, #ffffff 0%, #eef9fc 100%);
        box-shadow: 0 24px 55px rgba(0, 11, 31, .34);
    }

    .is-cover-page .cover-info-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 7px;
        background: linear-gradient(90deg, #061427 0%, #126fa1 52%, #8bdff2 100%);
    }

    .is-cover-page .cover-info-card::after {
        content: "";
        position: absolute;
        right: -50px;
        top: -50px;
        width: 140px;
        aspect-ratio: 1;
        border: 24px solid rgba(18, 111, 161, .08);
        border-radius: 50%;
    }

    .is-cover-page .cover-only-main .cover-panel-label {
        position: relative;
        margin: 0;
        padding: 22px 26px 0;
        color: #126fa1;
        font-size: .68rem;
        letter-spacing: .2em;
    }

    .is-cover-page .cover-only-main .cover-info-card h2 {
        position: relative;
        margin: 0;
        padding: 6px 26px 14px;
        color: #061427;
        font-size: clamp(1.85rem, 2.7vw, 2.55rem);
        line-height: .96;
        letter-spacing: -.03em;
    }

    .is-cover-page .cover-only-main .cover-info-list {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        margin: 0 26px 16px;
        border: 1px solid rgba(18, 111, 161, .16);
        border-radius: 14px;
        overflow: hidden;
        background: #ffffff;
    }

    .is-cover-page .cover-only-main .cover-info-list span {
        display: flex;
        min-height: 43px;
        padding: 10px 14px;
        align-items: center;
        border: 0;
        border-right: 1px solid rgba(18, 111, 161, .12);
        border-bottom: 1px solid rgba(18, 111, 161, .12);
        border-radius: 0;
        color: #183b56;
        background: #ffffff;
        box-shadow: none;
        font-size: .79rem;
        line-height: 1.18;
    }

    .is-cover-page .cover-only-main .cover-info-list span:nth-child(2n) {
        border-right: 0;
    }

    .is-cover-page .cover-only-main .cover-info-list span:nth-last-child(-n+2) {
        border-bottom: 0;
    }

    .is-cover-page .cover-only-main .cover-info-list strong {
        margin-right: 5px;
        color: #075f92;
        font-weight: 900;
    }

    .is-cover-page .cover-only-main .cover-info-button {
        position: relative;
        width: auto;
        min-height: 50px;
        margin: 0 26px 24px;
        border: 0;
        border-radius: 12px;
        color: #fff;
        background: linear-gradient(90deg, #061427 0%, #075f92 58%, #1683b2 100%);
        box-shadow: 0 12px 24px rgba(7, 95, 146, .24);
        font-size: .96rem;
    }

    .is-cover-page .cover-only-main .cover-info-button:hover {
        transform: translateY(-1px);
        background: linear-gradient(90deg, #031021 0%, #064f7c 58%, #1376a4 100%);
        box-shadow: 0 16px 28px rgba(7, 95, 146, .3);
    }

    .is-cover-page .cover-only-main .cover-menu {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        border: 0;
        background: transparent;
    }

    .is-cover-page .cover-only-main .cover-menu a,
    .is-cover-page .cover-only-main .cover-menu a:nth-child(2n) {
        min-height: 36px;
        padding: 8px 10px;
        border: 1px solid rgba(177, 236, 249, .28);
        border-radius: 12px;
        color: #f3fbff;
        background: rgba(255, 255, 255, .08);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
        font-size: .66rem;
    }

    .is-cover-page .cover-only-main .cover-menu a:hover {
        border-color: rgba(177, 236, 249, .58);
        background: rgba(255,255,255,.15);
        transform: translateY(-1px);
    }

    .is-cover-page .cover-only-main .cover-countdown-card {
        position: relative;
        overflow: hidden;
        padding: 0;
        border: 0;
        border-radius: 18px;
        color: #071d35;
        background: linear-gradient(180deg, #e9f9fd 0%, #c8edf7 100%);
        box-shadow: 0 20px 44px rgba(0, 11, 31, .26);
    }

    .is-cover-page .cover-only-main .cover-countdown-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 7px;
        background: linear-gradient(90deg, #8bdff2 0%, #126fa1 58%, #061427 100%);
    }

    .is-cover-page .cover-only-main .cover-countdown-card .cover-countdown-label {
        margin: 0;
        padding: 18px 24px 9px;
        color: #075f92;
        font-size: .66rem;
        letter-spacing: .18em;
    }

    .is-cover-page .cover-only-main .cover-countdown {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        margin: 0 24px;
        border: 0;
        background: transparent;
    }

    .is-cover-page .cover-only-main .cover-countdown div,
    .is-cover-page .cover-only-main .cover-countdown div:nth-child(even) {
        min-height: 60px;
        padding: 8px 4px 7px;
        border: 1px solid rgba(7, 95, 146, .14);
        border-radius: 13px;
        background: rgba(255, 255, 255, .82);
        box-shadow: inset 0 -4px 0 rgba(139, 223, 242, .32);
    }

    .is-cover-page .cover-only-main .cover-countdown strong {
        color: #061427;
        font-size: clamp(1.45rem, 2.15vw, 1.95rem);
    }

    .is-cover-page .cover-only-main .cover-countdown span {
        color: #075f92;
        font-size: .45rem;
    }

    .is-cover-page .cover-only-main .cover-countdown-copy {
        margin: 0;
        padding: 10px 24px 16px;
        color: #173f5d;
        font-size: .76rem;
        line-height: 1.28;
    }
}

/* ==========================================================
   FIX FINAL REAL PORTADA COLLAGE
   Último bloque: header visible + afiche completo debajo,
   sin scroll y sin espacio vacío inferior.
   ========================================================== */
@media (min-width: 921px) {
    html:has(body.is-cover-page),
    body.is-cover-page {
        width: 100vw !important;
        height: 100dvh !important;
        overflow: hidden !important;
    }

    body.is-cover-page {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        background: #020b18 !important;
    }

    .is-cover-page .site-header {
        display: block !important;
        min-height: 0 !important;
    }

    .is-cover-page .cover-only-main,
    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    .is-cover-page .cover-only-main .cover-gate {
        box-sizing: border-box !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
        padding: 18px !important;
        background: #020b18 !important;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        display: grid !important;
        width: 100% !important;
        max-width: none !important;
        grid-template-columns: minmax(350px, 39vw) minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 0 !important;
        align-items: stretch !important;
    }

    .is-cover-page .cover-only-main .cover-main {
        height: 100% !important;
        min-height: 0 !important;
        max-width: none !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding: clamp(22px, 3.2vh, 38px) clamp(34px, 4vw, 58px) !important;
        background:
            linear-gradient(90deg, rgba(2, 12, 29, .98) 0%, rgba(4, 32, 76, .94) 75%, rgba(4, 32, 76, .52) 100%) !important;
        clip-path: polygon(0 0, 91% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-kicker,
    .is-cover-page .cover-only-main .cover-logo {
        display: none !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        max-width: 580px !important;
        margin: 0 0 clamp(10px, 1.8vh, 18px) !important;
        color: #fff !important;
        font: 950 clamp(2.15rem, 3.8vw, 4.35rem)/.98 "Outfit", Arial, sans-serif !important;
        letter-spacing: -.06em !important;
        text-shadow: 0 16px 28px rgba(0,0,0,.34) !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 span {
        display: block !important;
        color: #08c8ff !important;
    }

    .is-cover-page .cover-only-main .cover-lead {
        max-width: 490px !important;
        margin: 0 0 clamp(12px, 2.1vh, 20px) !important;
        color: #fff !important;
        font: 650 clamp(.86rem, 1.12vw, 1.08rem)/1.25 "Manrope", Arial, sans-serif !important;
    }

    .is-cover-page .cover-only-main .cover-lead::before {
        content: "" !important;
        display: block !important;
        width: min(360px, 72%) !important;
        height: 2px !important;
        margin-bottom: clamp(9px, 1.6vh, 15px) !important;
        background: linear-gradient(90deg, #08c8ff 0 18%, rgba(8,200,255,.35) 18% 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main-cta {
        width: min(330px, 100%) !important;
        min-height: clamp(42px, 5.8vh, 54px) !important;
        margin: 0 0 clamp(10px, 1.8vh, 17px) !important;
        border: 0 !important;
        border-radius: 10px !important;
        color: #031126 !important;
        background: linear-gradient(90deg, #08c8ff 0%, #77e5ff 100%) !important;
        box-shadow: 0 16px 30px rgba(8, 200, 255, .25) !important;
        font: 950 clamp(.92rem, 1.2vw, 1.12rem) "Outfit", Arial, sans-serif !important;
    }

    .is-cover-page .cover-only-main .cover-badges {
        display: grid !important;
        width: min(500px, 100%) !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    .is-cover-page .cover-only-main .cover-badges span {
        display: grid !important;
        min-height: clamp(36px, 5.5vh, 48px) !important;
        padding: 7px 9px !important;
        place-items: center !important;
        border: 1px solid rgba(8,200,255,.38) !important;
        border-radius: 14px !important;
        color: #fff !important;
        background: rgba(1, 18, 42, .46) !important;
        font: 850 clamp(.6rem, .78vw, .74rem)/1.12 "Manrope", Arial, sans-serif !important;
        text-align: center !important;
    }

    .is-cover-page .cover-only-main .cover-badges span::before {
        width: 14px !important;
        height: 14px !important;
        margin: 0 0 4px !important;
        border-radius: 50% !important;
        background: radial-gradient(circle, #fff 0 18%, #08c8ff 20% 100%) !important;
        box-shadow: 0 0 16px rgba(8,200,255,.65) !important;
    }

    .is-cover-page .cover-collage {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        align-self: stretch !important;
        overflow: hidden !important;
        background: #061427 !important;
    }

    .is-cover-page .cover-collage .cover-menu,
    .is-cover-page .cover-collage .cover-countdown-card {
        display: none !important;
    }

    .is-cover-page .collage-tile {
        position: absolute !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 3px solid #062650 !important;
        background: #0a2548 !important;
        box-shadow: 0 16px 28px rgba(0,0,0,.28) !important;
    }

    .is-cover-page .collage-tile img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
        filter: saturate(1.16) contrast(1.08) !important;
    }

    .is-cover-page .collage-tile-1 {
        top: 10px !important;
        left: 24px !important;
        width: 29% !important;
        height: 34% !important;
        clip-path: polygon(7% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-2 {
        top: 10px !important;
        left: 31% !important;
        width: 34% !important;
        height: 34% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-3 {
        top: 10px !important;
        right: 10px !important;
        width: 38.5% !important;
        height: 51.5% !important;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-4 {
        top: 32% !important;
        left: 0 !important;
        width: 36.5% !important;
        height: 35% !important;
        clip-path: polygon(14% 0, 100% 0, 88% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-5 {
        top: 32% !important;
        left: 31.8% !important;
        width: 35.8% !important;
        height: 35% !important;
        clip-path: polygon(10% 0, 100% 0, 89% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-6 {
        left: 0 !important;
        bottom: 10px !important;
        width: 55.5% !important;
        height: 37.5% !important;
        clip-path: polygon(10% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-7 {
        display: block !important;
        right: 10px !important;
        bottom: 10px !important;
        width: 50.5% !important;
        height: 37.5% !important;
        clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%) !important;
    }
}

/* Portada estilo afiche competitivo: estructura y color como la referencia */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-gate {
        padding: 18px !important;
        background:
            radial-gradient(circle at 70% 12%, rgba(11, 114, 180, .32), transparent 34%),
            linear-gradient(135deg, #020814 0%, #03162f 48%, #084b7f 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        grid-template-columns: minmax(380px, 41vw) minmax(0, 1fr) !important;
        gap: 0 !important;
        background:
            radial-gradient(circle at 33% 30%, rgba(17, 160, 220, .16), transparent 18%),
            radial-gradient(circle at 14% 12%, rgba(139, 223, 242, .19) 0 1.2px, transparent 1.8px) 0 0 / 18px 18px,
            linear-gradient(115deg, #020a18 0%, #031937 45%, #075b91 100%) !important;
        border-radius: 9px !important;
        box-shadow: 0 22px 52px rgba(0, 8, 24, .34) !important;
    }

    .is-cover-page .cover-only-main .cover-main {
        position: relative !important;
        z-index: 2 !important;
        justify-content: center !important;
        padding: clamp(28px, 4vh, 46px) clamp(38px, 4.4vw, 68px) !important;
        background:
            linear-gradient(90deg, rgba(1, 9, 24, .98) 0%, rgba(3, 25, 59, .96) 73%, rgba(3, 31, 73, .68) 100%) !important;
        clip-path: polygon(0 0, 91% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        pointer-events: none !important;
        background:
            linear-gradient(135deg, transparent 0 44%, rgba(91, 213, 247, .09) 45%, transparent 46%),
            radial-gradient(circle at 74% 34%, transparent 0 18%, rgba(139, 223, 242, .12) 18.4%, transparent 18.8%),
            radial-gradient(circle at 86% 76%, transparent 0 13%, rgba(139, 223, 242, .10) 13.3%, transparent 13.7%) !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        max-width: 620px !important;
        color: #ffffff !important;
        font-size: clamp(2.55rem, 4.45vw, 5.05rem) !important;
        line-height: .94 !important;
        text-shadow: 0 12px 24px rgba(0, 0, 0, .38) !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 span {
        color: #08cfff !important;
        text-shadow: 0 10px 22px rgba(0, 200, 255, .20) !important;
    }

    .is-cover-page .cover-only-main .cover-lead {
        max-width: 520px !important;
        color: rgba(255, 255, 255, .95) !important;
        font-size: clamp(.95rem, 1.22vw, 1.17rem) !important;
        font-weight: 750 !important;
    }

    .is-cover-page .cover-only-main .cover-lead::before {
        width: min(400px, 82%) !important;
        height: 3px !important;
        background: linear-gradient(90deg, #08cfff 0 16%, rgba(8, 207, 255, .70) 16% 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main-cta {
        width: min(335px, 100%) !important;
        min-height: 54px !important;
        border-radius: 10px !important;
        background: linear-gradient(90deg, #08cfff 0%, #63e0ff 100%) !important;
        box-shadow: 0 18px 36px rgba(8, 207, 255, .26) !important;
        color: #02132b !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single {
        width: min(275px, 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single span {
        min-height: 47px !important;
        border-radius: 12px !important;
        border: 1px solid rgba(8, 207, 255, .42) !important;
        background: rgba(2, 17, 42, .72) !important;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04) !important;
    }

    .is-cover-page .cover-collage {
        position: relative !important;
        z-index: 1 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background:
            linear-gradient(90deg, rgba(2, 10, 24, .88) 0%, rgba(5, 31, 69, .68) 42%, rgba(7, 91, 145, .34) 100%) !important;
    }

    .is-cover-page .collage-tile {
        display: block !important;
        border: 4px solid #041a3a !important;
        border-radius: 0 !important;
        background: #041a3a !important;
        box-shadow: 0 18px 34px rgba(0, 0, 0, .36) !important;
    }

    .is-cover-page .collage-tile img {
        filter: saturate(1.18) contrast(1.08) brightness(1.02) !important;
    }

    .is-cover-page .collage-tile-1 {
        top: 0 !important;
        left: 5.2% !important;
        width: 27.8% !important;
        height: 34.2% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-2 {
        top: 0 !important;
        left: 30.6% !important;
        width: 33% !important;
        height: 34.2% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-3 {
        top: 0 !important;
        right: -1% !important;
        width: 38.2% !important;
        height: 54.8% !important;
        clip-path: polygon(11% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-4 {
        top: 32.8% !important;
        left: -1% !important;
        width: 36.2% !important;
        height: 35.6% !important;
        clip-path: polygon(14% 0, 100% 0, 89% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-5 {
        top: 32.8% !important;
        left: 31.5% !important;
        width: 35.2% !important;
        height: 35.6% !important;
        clip-path: polygon(10% 0, 100% 0, 89% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-6 {
        left: -1% !important;
        bottom: 0 !important;
        width: 55.5% !important;
        height: 38.2% !important;
        clip-path: polygon(10% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-7 {
        display: block !important;
        right: -1% !important;
        bottom: 0 !important;
        width: 51.8% !important;
        height: 38.2% !important;
        clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%) !important;
    }
}

/* Portada corregida: proporción y mosaico como afiche de olimpiada */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-gate {
        padding: 18px !important;
        background:
            radial-gradient(circle at 74% 12%, rgba(0, 173, 239, .18), transparent 28%),
            linear-gradient(135deg, #020715 0%, #041a3b 48%, #075f9a 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        grid-template-columns: minmax(390px, 40.5vw) minmax(0, 1fr) !important;
        gap: 0 !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background:
            radial-gradient(circle at 12% 13%, rgba(120, 220, 247, .24) 0 1.1px, transparent 1.8px) 0 0 / 18px 18px,
            linear-gradient(120deg, #020916 0%, #031832 42%, #065f99 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main {
        padding: clamp(30px, 4.2vh, 48px) clamp(40px, 4.6vw, 74px) !important;
        background:
            radial-gradient(circle at 80% 31%, transparent 0 18%, rgba(132, 219, 246, .13) 18.3%, transparent 18.7%),
            radial-gradient(circle at 90% 82%, transparent 0 11%, rgba(132, 219, 246, .09) 11.3%, transparent 11.7%),
            linear-gradient(90deg, rgba(1, 8, 22, .99) 0%, rgba(4, 29, 69, .96) 76%, rgba(4, 33, 78, .54) 100%) !important;
        clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 {
        max-width: 590px !important;
        margin-bottom: clamp(14px, 2vh, 22px) !important;
        font: 950 clamp(2.25rem, 3.9vw, 4.45rem)/.99 "Outfit", Arial, sans-serif !important;
        letter-spacing: -.055em !important;
    }

    .is-cover-page .cover-only-main .cover-main h1 span {
        color: #09cfff !important;
    }

    .is-cover-page .cover-only-main .cover-lead {
        max-width: 510px !important;
        margin-bottom: clamp(18px, 2.6vh, 26px) !important;
        font: 760 clamp(.92rem, 1.18vw, 1.14rem)/1.28 "Manrope", Arial, sans-serif !important;
    }

    .is-cover-page .cover-only-main .cover-lead::before {
        width: min(390px, 86%) !important;
        height: 3px !important;
        margin-bottom: 18px !important;
        background: linear-gradient(90deg, #09cfff 0 16%, rgba(9, 207, 255, .65) 16% 100%) !important;
    }

    .is-cover-page .cover-only-main .cover-main-cta {
        width: min(330px, 94%) !important;
        min-height: 56px !important;
        margin-bottom: 18px !important;
        border-radius: 9px !important;
        background: linear-gradient(90deg, #08c9ff 0%, #68e4ff 100%) !important;
        box-shadow: 0 18px 34px rgba(8, 201, 255, .25) !important;
        color: #021226 !important;
        font-size: clamp(.98rem, 1.22vw, 1.16rem) !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single {
        width: min(280px, 92%) !important;
    }

    .is-cover-page .cover-only-main .cover-badges.cover-badges-single span {
        justify-content: flex-start !important;
        min-height: 50px !important;
        padding-left: 22px !important;
        border-radius: 12px !important;
        background: rgba(1, 18, 43, .68) !important;
        border: 1px solid rgba(9, 207, 255, .42) !important;
        color: #ffffff !important;
    }

    .is-cover-page .cover-collage {
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background:
            linear-gradient(90deg, rgba(2, 10, 24, .82), rgba(6, 42, 88, .45) 48%, rgba(7, 95, 154, .22)) !important;
        box-shadow: none !important;
    }

    .is-cover-page .collage-tile {
        display: block !important;
        border: 4px solid #041735 !important;
        border-radius: 0 !important;
        background: #041735 !important;
        box-shadow: 0 18px 35px rgba(0, 0, 0, .36) !important;
    }

    .is-cover-page .collage-tile img {
        object-fit: cover !important;
        filter: saturate(1.2) contrast(1.08) brightness(1.03) !important;
    }

    .is-cover-page .collage-tile-1 {
        top: 0 !important;
        left: 6.2% !important;
        width: 27.3% !important;
        height: 32.5% !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-1 img {
        object-position: center center !important;
    }

    .is-cover-page .collage-tile-2 {
        top: 0 !important;
        left: 31.3% !important;
        width: 32.3% !important;
        height: 32.5% !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-2 img {
        object-position: center center !important;
    }

    .is-cover-page .collage-tile-3 {
        top: 0 !important;
        right: -1.2% !important;
        width: 38% !important;
        height: 32.5% !important;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-3 img {
        object-position: center 32% !important;
    }

    .is-cover-page .collage-tile-4 {
        top: 31.2% !important;
        left: -1.2% !important;
        width: 36.2% !important;
        height: 35.2% !important;
        clip-path: polygon(15% 0, 100% 0, 89% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-4 img {
        object-position: center 40% !important;
    }

    .is-cover-page .collage-tile-5 {
        top: 31.2% !important;
        left: 31.5% !important;
        width: 31.5% !important;
        height: 35.2% !important;
        clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-5 img {
        object-position: center center !important;
    }

    .is-cover-page .collage-tile-6 {
        top: 31.2% !important;
        right: -1.2% !important;
        width: 40.7% !important;
        height: 35.2% !important;
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-6 img {
        object-position: center center !important;
    }

    .is-cover-page .collage-tile-7 {
        left: -1.2% !important;
        bottom: 0 !important;
        width: 55.2% !important;
        height: 36.3% !important;
        clip-path: polygon(10% 0, 100% 0, 91% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-7 img {
        object-position: center center !important;
    }

    .is-cover-page .collage-tile-8 {
        display: block !important;
        position: absolute !important;
        right: -1.2% !important;
        bottom: 0 !important;
        width: 51.5% !important;
        height: 36.3% !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 4px solid #041735 !important;
        border-radius: 0 !important;
        background: #041735 !important;
        box-shadow: 0 18px 35px rgba(0, 0, 0, .36) !important;
        clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%) !important;
    }

    .is-cover-page .collage-tile-8 img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        object-position: center center !important;
        filter: saturate(1.2) contrast(1.08) brightness(1.03) !important;
    }
}

/* Portada final tipo afiche: usar composición modelo exacta */
.cover-poster-hotspot {
    display: none;
}

@media (min-width: 921px) {
    .is-cover-page .cover-only-main .cover-gate {
        box-sizing: border-box !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 18px !important;
        background: #020814 !important;
    }

    .is-cover-page .cover-only-main .cover-grid.cover-collage-layout {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border-radius: 8px !important;
        background:
            url("../images/portada-afiche-modelo.png") center center / 100% 100% no-repeat,
            linear-gradient(135deg, #020814 0%, #073d73 100%) !important;
        box-shadow: 0 22px 54px rgba(0, 8, 24, .36) !important;
    }

    .is-cover-page .cover-only-main .cover-main,
    .is-cover-page .cover-only-main .cover-collage,
    .is-cover-page .cover-only-main .cover-geometry {
        display: none !important;
    }

    .is-cover-page .cover-poster-hotspot {
        position: absolute !important;
        display: block !important;
        left: 3.4% !important;
        top: 68.8% !important;
        width: 22.2% !important;
        height: 8.5% !important;
        z-index: 5 !important;
        border-radius: 12px !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
    }

    .is-cover-page .cover-poster-hotspot:focus-visible {
        outline: 4px solid rgba(255, 255, 255, .85) !important;
        outline-offset: 4px !important;
    }
}

/* ==========================================================
   POSTER COLLAGE - agrupación compacta final activa
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        position: relative !important;
        display: block !important;
        height: 100% !important;
        overflow: hidden !important;
        --photo-slant: clamp(24px, 2.25vw, 33px);
        --photo-shape: polygon(var(--photo-slant) 0, 100% 0, calc(100% - var(--photo-slant)) 100%, 0 100%);
    }

    .is-cover-page .poster-photo {
        position: absolute !important;
        display: block !important;
        inset: auto !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #031734 !important;
        box-shadow: 0 14px 28px rgba(0, 0, 0, .28) !important;
        clip-path: var(--photo-shape) !important;
    }

    .is-cover-page .poster-photo-1 {
        top: 2.7% !important;
        left: 10.4% !important;
        width: 24.8% !important;
        height: 29.8% !important;
    }

    .is-cover-page .poster-photo-2 {
        top: 2.7% !important;
        left: 32.6% !important;
        width: 30.2% !important;
        height: 29.8% !important;
    }

    .is-cover-page .poster-photo-3 {
        top: 2.7% !important;
        left: 60.2% !important;
        right: auto !important;
        width: 37.8% !important;
        height: 29.8% !important;
    }

    .is-cover-page .poster-photo-4 {
        top: 32.9% !important;
        left: 6.2% !important;
        width: 33.9% !important;
        height: 31.8% !important;
    }

    .is-cover-page .poster-photo-5 {
        top: 32.9% !important;
        left: 37.4% !important;
        width: 29.2% !important;
        height: 31.8% !important;
    }

    .is-cover-page .poster-photo-6 {
        top: 32.9% !important;
        left: 64% !important;
        right: auto !important;
        width: 34% !important;
        height: 31.8% !important;
    }

    .is-cover-page .poster-photo-7 {
        left: 5.4% !important;
        bottom: 2.3% !important;
        width: 51.5% !important;
        height: 32.4% !important;
    }

    .is-cover-page .poster-photo-8 {
        left: 54.2% !important;
        right: auto !important;
        bottom: 2.3% !important;
        width: 43.8% !important;
        height: 32.4% !important;
    }
}

/* ==========================================================
   PORTADA - fondo degradado total dentro del cuadro principal
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        isolation: isolate !important;
        background:
            radial-gradient(circle at 18% 26%, rgba(9, 207, 255, .17), transparent 22%),
            radial-gradient(circle at 55% 12%, rgba(8, 127, 214, .22), transparent 26%),
            radial-gradient(circle at 88% 50%, rgba(3, 95, 165, .38), transparent 33%),
            linear-gradient(118deg, #000711 0%, #00132e 30%, #003568 66%, #066fa7 100%) !important;
        border: 1px solid rgba(50, 203, 245, .24) !important;
        box-shadow:
            inset 0 1px 0 rgba(126, 227, 255, .16),
            inset 0 0 80px rgba(4, 108, 176, .16),
            0 24px 54px rgba(0, 8, 24, .38) !important;
    }

    .is-cover-page .poster-card::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        pointer-events: none !important;
        border: 0 !important;
        border-radius: inherit !important;
        background:
            linear-gradient(120deg, transparent 0 39%, rgba(8, 207, 255, .08) 40%, transparent 41%),
            radial-gradient(circle at 11% 18%, rgba(117, 225, 255, .24) 0 1.2px, transparent 2px) 0 0 / 19px 19px,
            radial-gradient(circle at 73% 18%, transparent 0 16%, rgba(134, 224, 255, .12) 16.4%, transparent 16.9%),
            radial-gradient(circle at 82% 77%, transparent 0 13%, rgba(134, 224, 255, .10) 13.4%, transparent 13.9%) !important;
        opacity: .9 !important;
    }

    .is-cover-page .poster-card::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        pointer-events: none !important;
        background:
            linear-gradient(90deg, rgba(0, 7, 17, .18), transparent 44%, rgba(6, 111, 167, .16)),
            radial-gradient(circle at 32% 84%, rgba(9, 207, 255, .13), transparent 24%) !important;
        opacity: .92 !important;
    }

    .is-cover-page .poster-shapes {
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        display: block !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }

    .is-cover-page .poster-shapes span {
        position: absolute !important;
        display: block !important;
        opacity: .26 !important;
        filter: drop-shadow(0 0 12px rgba(8, 207, 255, .18)) !important;
        animation: posterGeometryDrift 13s ease-in-out infinite alternate !important;
    }

    .is-cover-page .poster-shapes span:nth-child(1) {
        width: 16vw !important;
        height: 16vw !important;
        left: 24% !important;
        top: 6% !important;
        border: 2px solid rgba(130, 225, 255, .23) !important;
        border-radius: 50% !important;
    }

    .is-cover-page .poster-shapes span:nth-child(2) {
        width: 13vw !important;
        height: 13vw !important;
        right: 13% !important;
        top: 14% !important;
        border: 2px solid rgba(130, 225, 255, .18) !important;
        transform: rotate(18deg) !important;
        animation-duration: 15s !important;
    }

    .is-cover-page .poster-shapes span:nth-child(3) {
        width: 10vw !important;
        height: 10vw !important;
        left: 42% !important;
        top: 46% !important;
        border: 2px solid rgba(130, 225, 255, .15) !important;
        transform: rotate(45deg) !important;
        animation-duration: 17s !important;
    }

    .is-cover-page .poster-shapes span:nth-child(4) {
        width: 17vw !important;
        height: 17vw !important;
        right: 5% !important;
        bottom: 2% !important;
        border: 2px solid rgba(130, 225, 255, .16) !important;
        border-radius: 50% !important;
        animation-duration: 19s !important;
    }

    .is-cover-page .poster-shapes span:nth-child(5) {
        width: 12vw !important;
        height: 12vw !important;
        left: 5% !important;
        bottom: 7% !important;
        border: 2px solid rgba(130, 225, 255, .12) !important;
        clip-path: polygon(50% 0, 100% 88%, 0 88%) !important;
        animation-duration: 16s !important;
    }

    .is-cover-page .poster-shapes span:nth-child(6) {
        width: 22vw !important;
        height: 22vw !important;
        right: 28% !important;
        bottom: -12% !important;
        border: 1px solid rgba(130, 225, 255, .11) !important;
        border-radius: 50% !important;
        animation-duration: 21s !important;
    }

    .is-cover-page .poster-copy,
    .is-cover-page .poster-collage {
        position: relative !important;
        z-index: 2 !important;
    }

    .is-cover-page .poster-copy {
        background:
            linear-gradient(90deg, rgba(0, 7, 17, .88) 0%, rgba(0, 19, 46, .78) 72%, rgba(0, 49, 96, .38) 100%) !important;
    }

    .is-cover-page .poster-collage {
        background: transparent !important;
    }
}

@keyframes posterGeometryDrift {
    0% {
        translate: 0 0;
        rotate: 0deg;
    }
    100% {
        translate: 18px -14px;
        rotate: 8deg;
    }
}

/* ==========================================================
   PORTADA - versión de impacto competitivo
   Fondo #034D87, botón protagonista, collage más claro.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        isolation: isolate !important;
        background:
            radial-gradient(circle at 18% 24%, rgba(12, 202, 255, .18), transparent 24%),
            radial-gradient(circle at 54% 18%, rgba(3, 77, 135, .58), transparent 32%),
            radial-gradient(circle at 92% 54%, rgba(20, 155, 212, .30), transparent 35%),
            linear-gradient(116deg, #00101f 0%, #012b56 28%, #034d87 63%, #0878ad 100%) !important;
        border: 1px solid rgba(83, 205, 244, .30) !important;
        box-shadow:
            inset 0 1px 0 rgba(151, 232, 255, .18),
            inset 0 0 90px rgba(3, 77, 135, .22),
            0 26px 60px rgba(0, 8, 24, .42) !important;
    }

    .is-cover-page .poster-card::before {
        background:
            radial-gradient(circle at 10% 17%, rgba(128, 229, 255, .22) 0 1.2px, transparent 2px) 0 0 / 18px 18px,
            linear-gradient(120deg, transparent 0 38%, rgba(20, 190, 245, .11) 39%, transparent 40%),
            radial-gradient(circle at 78% 16%, transparent 0 17%, rgba(138, 225, 255, .15) 17.4%, transparent 17.9%),
            radial-gradient(circle at 83% 78%, transparent 0 15%, rgba(138, 225, 255, .12) 15.4%, transparent 15.9%) !important;
        opacity: .96 !important;
    }

    .is-cover-page .poster-card::after {
        background:
            linear-gradient(90deg, rgba(0, 9, 21, .22), transparent 43%, rgba(10, 151, 205, .16)),
            radial-gradient(circle at 36% 82%, rgba(13, 201, 255, .16), transparent 22%) !important;
    }

    .is-cover-page .poster-shapes span {
        opacity: .34 !important;
        border-color: rgba(150, 233, 255, .22) !important;
        animation: posterGeometryDrift 10s ease-in-out infinite alternate !important;
    }

    .is-cover-page .poster-shapes span:nth-child(1) {
        left: 24% !important;
        top: 5% !important;
        width: 17vw !important;
        height: 17vw !important;
    }

    .is-cover-page .poster-shapes span:nth-child(2) {
        right: 13% !important;
        top: 8% !important;
        width: 15vw !important;
        height: 15vw !important;
        animation-duration: 14s !important;
    }

    .is-cover-page .poster-shapes span:nth-child(3) {
        left: 42% !important;
        top: 44% !important;
        animation-duration: 16s !important;
    }

    .is-cover-page .poster-shapes span:nth-child(4) {
        right: 2% !important;
        bottom: 3% !important;
        width: 19vw !important;
        height: 19vw !important;
        animation-duration: 18s !important;
    }

    .is-cover-page .poster-shapes span:nth-child(5) {
        left: 6% !important;
        bottom: 8% !important;
        animation-duration: 13s !important;
    }

    .is-cover-page .poster-copy {
        padding-bottom: clamp(32px, 5vh, 58px) !important;
        background:
            linear-gradient(90deg, rgba(0, 12, 28, .90) 0%, rgba(1, 35, 73, .78) 72%, rgba(3, 77, 135, .34) 100%) !important;
    }

    .is-cover-page .poster-tags {
        display: none !important;
    }

    .is-cover-page .poster-cta {
        position: relative !important;
        width: min(390px, 92%) !important;
        min-height: 66px !important;
        margin-top: clamp(10px, 1.9vh, 20px) !important;
        border: 2px solid rgba(217, 250, 255, .62) !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        color: #001327 !important;
        background:
            linear-gradient(90deg, #05c9ff 0%, #64e5ff 52%, #d9fbff 100%) !important;
        box-shadow:
            0 0 0 5px rgba(8, 207, 255, .10),
            0 18px 36px rgba(8, 207, 255, .35),
            inset 0 2px 0 rgba(255, 255, 255, .62) !important;
        font: 950 clamp(1.04rem, 1.35vw, 1.28rem) "Outfit", Arial, sans-serif !important;
        letter-spacing: .01em !important;
        transform: translateZ(0) !important;
    }

    .is-cover-page .poster-cta::after {
        content: "" !important;
        position: absolute !important;
        inset: -45% auto -45% -35% !important;
        width: 34% !important;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent) !important;
        transform: rotate(18deg) !important;
        animation: posterButtonShine 2.8s ease-in-out infinite !important;
    }

    .is-cover-page .poster-cta:hover {
        transform: translateY(-3px) !important;
        box-shadow:
            0 0 0 6px rgba(8, 207, 255, .14),
            0 22px 46px rgba(8, 207, 255, .43),
            inset 0 2px 0 rgba(255, 255, 255, .70) !important;
    }

    .is-cover-page .poster-collage {
        --photo-slant: clamp(22px, 2vw, 30px);
    }

    .is-cover-page .poster-photo {
        box-shadow: 0 16px 30px rgba(0, 0, 0, .34) !important;
    }

    .is-cover-page .poster-photo-1 {
        top: 3.4% !important;
        left: 10.6% !important;
        width: 22.4% !important;
        height: 28.8% !important;
    }

    .is-cover-page .poster-photo-2 {
        top: 3.4% !important;
        left: 31.0% !important;
        width: 31.2% !important;
        height: 28.8% !important;
    }

    .is-cover-page .poster-photo-3 {
        top: 3.4% !important;
        left: 59.4% !important;
        width: 38.6% !important;
        height: 28.8% !important;
    }

    .is-cover-page .poster-photo-4 {
        top: 32.7% !important;
        left: 5.2% !important;
        width: 36.2% !important;
        height: 34.0% !important;
    }

    .is-cover-page .poster-photo-5 {
        top: 32.7% !important;
        left: 38.7% !important;
        width: 28.2% !important;
        height: 34.0% !important;
    }

    .is-cover-page .poster-photo-6 {
        top: 32.7% !important;
        left: 64.2% !important;
        width: 33.8% !important;
        height: 34.0% !important;
    }

    .is-cover-page .poster-photo-7 {
        left: 4.4% !important;
        bottom: 2.0% !important;
        width: 51.8% !important;
        height: 32.2% !important;
    }

    .is-cover-page .poster-photo-8 {
        left: 53.4% !important;
        bottom: 2.0% !important;
        width: 44.6% !important;
        height: 32.2% !important;
    }
}

@keyframes posterButtonShine {
    0%, 35% {
        left: -38%;
        opacity: 0;
    }
    55% {
        opacity: .9;
    }
    100% {
        left: 112%;
        opacity: 0;
    }
}

/* ==========================================================
   PORTADA - collage editorial rectangular
   Nuevo armado proporcional para apreciar mejor las fotos.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(9, minmax(0, 1fr)) !important;
        gap: clamp(8px, .7vw, 12px) !important;
        padding: clamp(16px, 1.45vw, 22px) clamp(18px, 1.55vw, 24px) !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
        background: transparent !important;
    }

    .is-cover-page .poster-photo {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        clip-path: none !important;
        border: 1px solid rgba(146, 190, 216, .20) !important;
        border-radius: 2px !important;
        background: #031934 !important;
        box-shadow: 0 14px 28px rgba(0, 0, 0, .30) !important;
    }

    .is-cover-page .poster-photo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    .is-cover-page .poster-photo-1 {
        grid-column: 1 / 4 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-2 {
        grid-column: 4 / 9 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-3 {
        grid-column: 9 / 13 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-4 {
        grid-column: 1 / 5 !important;
        grid-row: 4 / 7 !important;
    }

    .is-cover-page .poster-photo-6 {
        grid-column: 5 / 13 !important;
        grid-row: 4 / 7 !important;
    }

    .is-cover-page .poster-photo-5 {
        grid-column: 1 / 5 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-7 {
        grid-column: 5 / 9 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-8 {
        grid-column: 9 / 13 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: center 48% !important; }
    .is-cover-page .poster-photo-2 img { object-position: center 50% !important; }
    .is-cover-page .poster-photo-3 img { object-position: center 32% !important; }
    .is-cover-page .poster-photo-4 img { object-position: center 44% !important; }
    .is-cover-page .poster-photo-5 img { object-position: center 48% !important; }
    .is-cover-page .poster-photo-6 img { object-position: center 50% !important; }
    .is-cover-page .poster-photo-7 img { object-position: center 48% !important; }
    .is-cover-page .poster-photo-8 img { object-position: center 45% !important; }
}

/* ==========================================================
   PORTADA - collage competitivo proporcional
   Foto protagonista + retrato vertical + sedes/premiación.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(10, minmax(0, 1fr)) !important;
        gap: clamp(9px, .75vw, 13px) !important;
        padding: clamp(16px, 1.5vw, 22px) clamp(18px, 1.65vw, 25px) !important;
        box-sizing: border-box !important;
        background: transparent !important;
    }

    .is-cover-page .poster-photo {
        position: relative !important;
        display: block !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        overflow: hidden !important;
        clip-path: none !important;
        border: 1px solid rgba(139, 181, 207, .22) !important;
        border-radius: 3px !important;
        background: #02182f !important;
        box-shadow: 0 14px 30px rgba(0, 7, 18, .32) !important;
    }

    .is-cover-page .poster-photo img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        filter: saturate(1.12) contrast(1.05) brightness(1.02) !important;
    }

    .is-cover-page .poster-photo-6 {
        grid-column: 1 / 9 !important;
        grid-row: 1 / 6 !important;
    }

    .is-cover-page .poster-photo-3 {
        grid-column: 9 / 13 !important;
        grid-row: 1 / 7 !important;
    }

    .is-cover-page .poster-photo-2 {
        grid-column: 1 / 6 !important;
        grid-row: 6 / 8 !important;
    }

    .is-cover-page .poster-photo-1 {
        grid-column: 6 / 9 !important;
        grid-row: 6 / 8 !important;
    }

    .is-cover-page .poster-photo-4 {
        grid-column: 9 / 13 !important;
        grid-row: 7 / 11 !important;
    }

    .is-cover-page .poster-photo-7 {
        grid-column: 1 / 6 !important;
        grid-row: 8 / 11 !important;
    }

    .is-cover-page .poster-photo-8 {
        grid-column: 6 / 9 !important;
        grid-row: 8 / 11 !important;
    }

    .is-cover-page .poster-photo-5 {
        display: none !important;
    }

    .is-cover-page .poster-photo-6 img { object-position: center center !important; }
    .is-cover-page .poster-photo-3 img { object-position: center center !important; }
    .is-cover-page .poster-photo-2 img { object-position: center 48% !important; }
    .is-cover-page .poster-photo-1 img { object-position: center 45% !important; }
    .is-cover-page .poster-photo-4 img { object-position: center 44% !important; }
    .is-cover-page .poster-photo-7 img { object-position: center 48% !important; }
    .is-cover-page .poster-photo-8 img { object-position: center 45% !important; }

    .is-cover-page .poster-photo-6::after {
        content: "Competencia en acción" !important;
        position: absolute !important;
        left: 16px !important;
        bottom: 14px !important;
        padding: 7px 11px !important;
        color: #ffffff !important;
        background: rgba(0, 12, 28, .62) !important;
        border: 1px solid rgba(185, 224, 242, .26) !important;
        font: 800 .78rem "Manrope", Arial, sans-serif !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }
}

/* ==========================================================
   PORTADA - volver a las fotos anteriores
   Collage sobrio con las 8 imágenes originales.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(9, minmax(0, 1fr)) !important;
        gap: clamp(8px, .72vw, 12px) !important;
        padding: clamp(16px, 1.45vw, 22px) clamp(18px, 1.55vw, 24px) !important;
        box-sizing: border-box !important;
        background: transparent !important;
    }

    .is-cover-page .poster-photo {
        position: relative !important;
        display: block !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        clip-path: none !important;
        border: 1px solid rgba(139, 181, 207, .20) !important;
        border-radius: 2px !important;
        background: #02182f !important;
        box-shadow: 0 12px 24px rgba(0, 7, 18, .30) !important;
    }

    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-photo img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        filter: saturate(1.12) contrast(1.05) brightness(1.02) !important;
    }

    .is-cover-page .poster-photo-1 {
        display: block !important;
        grid-column: 1 / 4 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-2 {
        display: block !important;
        grid-column: 4 / 9 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-3 {
        display: block !important;
        grid-column: 9 / 13 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-4 {
        display: block !important;
        grid-column: 1 / 5 !important;
        grid-row: 4 / 7 !important;
    }

    .is-cover-page .poster-photo-6 {
        display: block !important;
        grid-column: 5 / 13 !important;
        grid-row: 4 / 7 !important;
    }

    .is-cover-page .poster-photo-5 {
        display: block !important;
        grid-column: 1 / 5 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-7 {
        display: block !important;
        grid-column: 5 / 9 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-8 {
        display: block !important;
        grid-column: 9 / 13 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: center 48% !important; }
    .is-cover-page .poster-photo-2 img { object-position: center 50% !important; }
    .is-cover-page .poster-photo-3 img { object-position: center 35% !important; }
    .is-cover-page .poster-photo-4 img { object-position: center 44% !important; }
    .is-cover-page .poster-photo-5 img { object-position: center 48% !important; }
    .is-cover-page .poster-photo-6 img { object-position: center center !important; }
    .is-cover-page .poster-photo-7 img { object-position: center 48% !important; }
    .is-cover-page .poster-photo-8 img { object-position: center 45% !important; }
}

/* ==========================================================
   PORTADA - versión sobria sin brillos
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 18% 24%, rgba(3, 77, 135, .22), transparent 25%),
            radial-gradient(circle at 84% 55%, rgba(5, 95, 150, .24), transparent 34%),
            linear-gradient(116deg, #000914 0%, #001a35 30%, #034d87 68%, #055f96 100%) !important;
        border: 1px solid rgba(88, 158, 198, .22) !important;
        box-shadow:
            inset 0 0 60px rgba(0, 10, 24, .20),
            0 20px 45px rgba(0, 8, 24, .35) !important;
    }

    .is-cover-page .poster-card::before {
        background:
            radial-gradient(circle at 10% 17%, rgba(136, 189, 218, .12) 0 1.1px, transparent 2px) 0 0 / 18px 18px,
            linear-gradient(120deg, transparent 0 38%, rgba(122, 177, 210, .06) 39%, transparent 40%),
            radial-gradient(circle at 78% 16%, transparent 0 17%, rgba(129, 185, 216, .08) 17.4%, transparent 17.9%),
            radial-gradient(circle at 83% 78%, transparent 0 15%, rgba(129, 185, 216, .07) 15.4%, transparent 15.9%) !important;
        opacity: .7 !important;
    }

    .is-cover-page .poster-card::after {
        background:
            linear-gradient(90deg, rgba(0, 9, 21, .20), transparent 46%, rgba(3, 77, 135, .12)) !important;
        opacity: .75 !important;
    }

    .is-cover-page .poster-shapes span {
        opacity: .18 !important;
        border-color: rgba(156, 199, 224, .14) !important;
        filter: none !important;
    }

    .is-cover-page .poster-copy {
        background:
            linear-gradient(90deg, rgba(0, 10, 24, .88) 0%, rgba(1, 31, 63, .74) 72%, rgba(3, 77, 135, .28) 100%) !important;
    }

    .is-cover-page .poster-cta {
        border: 1px solid rgba(203, 233, 246, .40) !important;
        color: #001327 !important;
        background: linear-gradient(90deg, #7bd7ef 0%, #cbeef7 100%) !important;
        box-shadow: 0 12px 24px rgba(0, 12, 28, .25) !important;
    }

    .is-cover-page .poster-cta::after {
        display: none !important;
        content: none !important;
        animation: none !important;
    }

    .is-cover-page .poster-cta:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 14px 26px rgba(0, 12, 28, .30) !important;
    }

    .is-cover-page .poster-photo {
        box-shadow: 0 12px 24px rgba(0, 0, 0, .30) !important;
    }
}

/* ==========================================================
   PORTADA - collage tipo retícula editorial 3 / 2 / 3
   Inspirado en el boceto enviado: proporciones limpias,
   separaciones iguales y fotos rectangulares.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(9, minmax(0, 1fr)) !important;
        gap: 9px !important;
        padding: 12px !important;
        align-self: stretch !important;
        box-sizing: border-box !important;
        background:
            radial-gradient(circle at 22% 18%, rgba(3, 77, 135, .20), transparent 28%),
            radial-gradient(circle at 86% 58%, rgba(7, 90, 145, .22), transparent 36%),
            linear-gradient(112deg, rgba(0, 10, 24, .96) 0%, rgba(0, 25, 52, .94) 44%, rgba(3, 77, 135, .90) 100%) !important;
        border: 1px solid rgba(38, 124, 178, .30) !important;
        border-radius: 5px !important;
        box-shadow: inset 0 0 32px rgba(0, 9, 22, .42) !important;
    }

    .is-cover-page .poster-photo {
        position: relative !important;
        display: block !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        clip-path: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #001326 !important;
        box-shadow: 0 8px 18px rgba(0, 5, 16, .30) !important;
    }

    .is-cover-page .poster-photo::before,
    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-photo img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        transform: scale(1) !important;
        transition: transform .28s ease, filter .28s ease !important;
        filter: saturate(1.08) contrast(1.04) brightness(1.01) !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.035) !important;
        filter: saturate(1.12) contrast(1.04) brightness(1.02) !important;
    }

    /* Fila 1: rostro + acción + concursantes */
    .is-cover-page .poster-photo-3 {
        grid-column: 1 / 4 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-6 {
        grid-column: 4 / 8 !important;
        grid-row: 1 / 4 !important;
    }

    .is-cover-page .poster-photo-2 {
        grid-column: 8 / 13 !important;
        grid-row: 1 / 4 !important;
    }

    /* Fila 2: dos fotos protagonistas, amplias y limpias */
    .is-cover-page .poster-photo-5 {
        grid-column: 1 / 7 !important;
        grid-row: 4 / 7 !important;
    }

    .is-cover-page .poster-photo-4 {
        grid-column: 7 / 13 !important;
        grid-row: 4 / 7 !important;
    }

    /* Fila 3: concentración + delegación + bienvenida */
    .is-cover-page .poster-photo-8 {
        grid-column: 1 / 4 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-7 {
        grid-column: 4 / 10 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-1 {
        grid-column: 10 / 13 !important;
        grid-row: 7 / 10 !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: 50% 44% !important; }
    .is-cover-page .poster-photo-2 img { object-position: 50% 42% !important; }
    .is-cover-page .poster-photo-3 img { object-position: 56% 34% !important; }
    .is-cover-page .poster-photo-4 img { object-position: 57% 46% !important; }
    .is-cover-page .poster-photo-5 img { object-position: 50% 46% !important; }
    .is-cover-page .poster-photo-6 img { object-position: 50% 44% !important; }
    .is-cover-page .poster-photo-7 img { object-position: 50% 45% !important; }
    .is-cover-page .poster-photo-8 img { object-position: 50% 42% !important; }
}

/* ==========================================================
   PORTADA - ORDEN FINAL DEL COLLAGE SEGÚN REFERENCIA
   Va al final para que ninguna regla antigua lo vuelva a pisar.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr 1.12fr 1fr !important;
        gap: 10px !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        background:
            radial-gradient(circle at 18% 20%, rgba(3, 77, 135, .18), transparent 30%),
            radial-gradient(circle at 92% 54%, rgba(4, 91, 151, .22), transparent 38%),
            linear-gradient(112deg, rgba(0, 8, 21, .92) 0%, rgba(0, 25, 54, .90) 47%, rgba(3, 77, 135, .72) 100%) !important;
        border: 1px solid rgba(44, 130, 183, .26) !important;
        border-radius: 6px !important;
        box-shadow: inset 0 0 28px rgba(0, 6, 18, .38) !important;
    }

    .is-cover-page .poster-photo {
        display: block !important;
        position: relative !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%) !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #001022 !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-photo::before,
    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-photo img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        transform: scale(1) !important;
        transition: transform .28s ease, filter .28s ease !important;
        filter: saturate(1.08) contrast(1.03) brightness(1.01) !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.035) !important;
    }

    .is-cover-page .poster-photo-1 {
        grid-column: 1 / 4 !important;
        grid-row: 1 / 2 !important;
    }

    .is-cover-page .poster-photo-2 {
        grid-column: 4 / 8 !important;
        grid-row: 1 / 2 !important;
    }

    .is-cover-page .poster-photo-3 {
        grid-column: 8 / 13 !important;
        grid-row: 1 / 2 !important;
    }

    .is-cover-page .poster-photo-4 {
        grid-column: 1 / 7 !important;
        grid-row: 2 / 3 !important;
    }

    .is-cover-page .poster-photo-5 {
        grid-column: 7 / 13 !important;
        grid-row: 2 / 3 !important;
    }

    .is-cover-page .poster-photo-6 {
        grid-column: 1 / 4 !important;
        grid-row: 3 / 4 !important;
    }

    .is-cover-page .poster-photo-7 {
        grid-column: 4 / 10 !important;
        grid-row: 3 / 4 !important;
    }

    .is-cover-page .poster-photo-8 {
        grid-column: 10 / 13 !important;
        grid-row: 3 / 4 !important;
    }

    .is-cover-page .poster-photo-1,
    .is-cover-page .poster-photo-2,
    .is-cover-page .poster-photo-3,
    .is-cover-page .poster-photo-4,
    .is-cover-page .poster-photo-5,
    .is-cover-page .poster-photo-6,
    .is-cover-page .poster-photo-7,
    .is-cover-page .poster-photo-8 {
        clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%) !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: 55% 35% !important; }
    .is-cover-page .poster-photo-2 img { object-position: 50% 43% !important; }
    .is-cover-page .poster-photo-3 img { object-position: 50% 42% !important; }
    .is-cover-page .poster-photo-4 img { object-position: 50% 46% !important; }
    .is-cover-page .poster-photo-5 img { object-position: 57% 46% !important; }
    .is-cover-page .poster-photo-6 img { object-position: 54% 45% !important; }
    .is-cover-page .poster-photo-7 img { object-position: 50% 46% !important; }
    .is-cover-page .poster-photo-8 img { object-position: 50% 45% !important; }
}

/* ==========================================================
   PORTADA - VOLVER A RECTÁNGULOS, SIN PANELES
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-photo,
    .is-cover-page .poster-photo-1,
    .is-cover-page .poster-photo-2,
    .is-cover-page .poster-photo-3,
    .is-cover-page .poster-photo-4,
    .is-cover-page .poster-photo-5,
    .is-cover-page .poster-photo-6,
    .is-cover-page .poster-photo-7,
    .is-cover-page .poster-photo-8 {
        clip-path: none !important;
        transform: none !important;
        rotate: 0deg !important;
        border-radius: 0 !important;
    }

    .is-cover-page .poster-photo img {
        transform: scale(1) !important;
        rotate: 0deg !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.03) !important;
    }
}

/* ==========================================================
   PORTADA - PANELES INCLINADOS PARALELOS Y ORDENADOS
   Inspirado en las líneas amarillas: mismo ángulo, misma
   separación y movimiento fuerte solo con el mouse encima.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        --collage-gap: 10px;
        --collage-slant: 8%;
        justify-self: end !important;
        width: calc(100% - clamp(12px, 1.5vw, 24px)) !important;
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr 1.12fr 1fr !important;
        gap: var(--collage-gap) !important;
        padding: var(--collage-gap) !important;
        box-sizing: border-box !important;
        background:
            linear-gradient(112deg, rgba(0, 9, 23, .94) 0%, rgba(0, 31, 63, .92) 48%, rgba(3, 77, 135, .72) 100%) !important;
        border: 1px solid rgba(54, 139, 190, .22) !important;
        border-radius: 6px !important;
        box-shadow: inset 0 0 24px rgba(0, 8, 20, .34) !important;
    }

    .is-cover-page .poster-collage .poster-photo,
    .is-cover-page .poster-collage .poster-photo-1,
    .is-cover-page .poster-collage .poster-photo-2,
    .is-cover-page .poster-collage .poster-photo-3,
    .is-cover-page .poster-collage .poster-photo-4,
    .is-cover-page .poster-collage .poster-photo-5,
    .is-cover-page .poster-collage .poster-photo-6,
    .is-cover-page .poster-collage .poster-photo-7,
    .is-cover-page .poster-collage .poster-photo-8 {
        clip-path: polygon(var(--collage-slant) 0, 100% 0, calc(100% - var(--collage-slant)) 100%, 0 100%) !important;
        transform: none !important;
        rotate: 0deg !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #001022 !important;
    }

    .is-cover-page .poster-collage .poster-photo img {
        animation: none !important;
        transform: scale(1.04) translate3d(0, 0, 0) !important;
        scale: 1 !important;
        translate: 0 0 !important;
        rotate: 0deg !important;
        transition:
            transform .42s cubic-bezier(.16, .9, .24, 1),
            filter .42s ease !important;
        transform-origin: center center !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover img {
        animation: posterPanelHoverStrong .62s cubic-bezier(.16, .9, .24, 1) both !important;
        filter: saturate(1.28) contrast(1.12) brightness(1.06) !important;
    }
}

@keyframes posterPanelHoverStrong {
    0% {
        transform: scale(1.04) translate3d(0, 0, 0);
    }
    35% {
        transform: scale(1.24) translate3d(-3.2%, -2.1%, 0);
    }
    62% {
        transform: scale(1.17) translate3d(2%, 1.4%, 0);
    }
    100% {
        transform: scale(1.20) translate3d(0, 0, 0);
    }
}

/* ==========================================================
   PORTADA - RESET FINAL ABSOLUTO A RECTÁNGULOS
   Este bloque queda después de los paneles inclinados para
   anularlos definitivamente.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        gap: 10px !important;
        padding: 10px !important;
    }

    .is-cover-page .poster-collage .poster-photo,
    .is-cover-page .poster-collage .poster-photo-1,
    .is-cover-page .poster-collage .poster-photo-2,
    .is-cover-page .poster-collage .poster-photo-3,
    .is-cover-page .poster-collage .poster-photo-4,
    .is-cover-page .poster-collage .poster-photo-5,
    .is-cover-page .poster-collage .poster-photo-6,
    .is-cover-page .poster-collage .poster-photo-7,
    .is-cover-page .poster-collage .poster-photo-8 {
        clip-path: none !important;
        transform: none !important;
        rotate: 0deg !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        background: #001022 !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage .poster-photo::before,
    .is-cover-page .poster-collage .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-collage .poster-photo img {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: block !important;
        object-fit: cover !important;
        animation: none !important;
        transform: scale(1) translate3d(0, 0, 0) !important;
        scale: 1 !important;
        translate: 0 0 !important;
        rotate: 0deg !important;
        transition:
            transform .38s cubic-bezier(.16, .9, .24, 1),
            filter .38s ease !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover img {
        animation: posterRectangleHoverFinal .55s cubic-bezier(.16, .9, .24, 1) both !important;
        filter: saturate(1.22) contrast(1.08) brightness(1.05) !important;
    }
}

@keyframes posterRectangleHoverFinal {
    0% {
        transform: scale(1) translate3d(0, 0, 0);
    }
    42% {
        transform: scale(1.16) translate3d(-1.8%, -1.2%, 0);
    }
    100% {
        transform: scale(1.12) translate3d(0, 0, 0);
    }
}

/* ==========================================================
   PORTADA - HOVER FINAL MÁS NOTORIO EN RECTÁNGULOS
   El recuadro sobresale y la imagen hace zoom fuerte.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-collage .poster-photo {
        z-index: 1 !important;
        transition:
            transform .34s cubic-bezier(.16, .9, .24, 1),
            box-shadow .34s ease,
            outline-color .34s ease,
            filter .34s ease !important;
        outline: 0 solid rgba(116, 219, 247, 0) !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover {
        z-index: 8 !important;
        transform: translateY(-8px) scale(1.045) !important;
        outline: 3px solid rgba(120, 225, 250, .95) !important;
        box-shadow:
            0 20px 34px rgba(0, 8, 22, .52),
            0 0 0 7px rgba(5, 74, 125, .35) !important;
        filter: brightness(1.03) !important;
    }

    .is-cover-page .poster-collage .poster-photo img {
        animation: none !important;
        transform: scale(1) translate3d(0, 0, 0) !important;
        transition:
            transform .42s cubic-bezier(.16, .9, .24, 1),
            filter .42s ease !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover img {
        animation: posterHoverZoomPop .58s cubic-bezier(.16, .9, .24, 1) both !important;
        filter: saturate(1.28) contrast(1.12) brightness(1.07) !important;
    }
}

@keyframes posterHoverZoomPop {
    0% {
        transform: scale(1) translate3d(0, 0, 0);
    }
    38% {
        transform: scale(1.26) translate3d(-2.4%, -1.6%, 0);
    }
    68% {
        transform: scale(1.16) translate3d(1.2%, .8%, 0);
    }
    100% {
        transform: scale(1.20) translate3d(0, 0, 0);
    }
}

/* ==========================================================
   PORTADA - FONDO UNIFICADO Y HOVER SIN MARCO CELESTE
   Este bloque final manda sobre los intentos anteriores.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 16% 22%, rgba(4, 83, 145, .30), transparent 30%),
            radial-gradient(circle at 74% 38%, rgba(6, 100, 168, .22), transparent 34%),
            radial-gradient(circle at 92% 76%, rgba(0, 36, 76, .72), transparent 36%),
            linear-gradient(112deg, #000914 0%, #001830 39%, #034d87 100%) !important;
    }

    .is-cover-page .poster-copy,
    .is-cover-page .poster-collage {
        background: transparent !important;
    }

    .is-cover-page .poster-collage {
        border: 1px solid rgba(122, 191, 227, .12) !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage .poster-photo,
    .is-cover-page .poster-collage .poster-photo-1,
    .is-cover-page .poster-collage .poster-photo-2,
    .is-cover-page .poster-collage .poster-photo-3,
    .is-cover-page .poster-collage .poster-photo-4,
    .is-cover-page .poster-collage .poster-photo-5,
    .is-cover-page .poster-collage .poster-photo-6,
    .is-cover-page .poster-collage .poster-photo-7,
    .is-cover-page .poster-collage .poster-photo-8 {
        border: 0 !important;
        outline: none !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover {
        border: 0 !important;
        outline: none !important;
        box-shadow:
            0 24px 42px rgba(0, 6, 18, .64),
            0 12px 22px rgba(0, 20, 44, .42) !important;
    }
}

/* ==========================================================
   PORTADA - BORRAR COSTURA ENTRE TEXTO Y COLLAGE
   Fondo continuo en todo el box; sin panel interno visible.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        column-gap: clamp(18px, 2vw, 32px) !important;
        background:
            radial-gradient(circle at 17% 23%, rgba(3, 77, 135, .26), transparent 31%),
            radial-gradient(circle at 72% 34%, rgba(4, 88, 151, .22), transparent 35%),
            radial-gradient(circle at 91% 76%, rgba(2, 47, 92, .46), transparent 38%),
            linear-gradient(112deg, #000914 0%, #001832 42%, #034d87 100%) !important;
    }

    .is-cover-page .poster-card::after {
        background: transparent !important;
        opacity: 0 !important;
    }

    .is-cover-page .poster-copy,
    .is-cover-page .poster-collage {
        background: transparent !important;
        border-left: 0 !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage {
        border: 0 !important;
    }

    .is-cover-page .poster-collage .poster-photo,
    .is-cover-page .poster-collage .poster-photo-1,
    .is-cover-page .poster-collage .poster-photo-2,
    .is-cover-page .poster-collage .poster-photo-3,
    .is-cover-page .poster-collage .poster-photo-4,
    .is-cover-page .poster-collage .poster-photo-5,
    .is-cover-page .poster-collage .poster-photo-6,
    .is-cover-page .poster-collage .poster-photo-7,
    .is-cover-page .poster-collage .poster-photo-8 {
        clip-path: none !important;
        border: 0 !important;
        outline: none !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage .poster-photo:hover {
        outline: none !important;
        border: 0 !important;
        box-shadow: 0 24px 42px rgba(0, 6, 18, .64) !important;
    }
}

/* ==========================================================
   PORTADA - TIPOGRAFÍA TIPO AFICHE DE OLIMPIADA
   Letras grandes, compactas y con fuerza visual.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-kicker {
        font-family: 'Outfit', 'Manrope', sans-serif !important;
        font-size: clamp(.82rem, .75vw, .98rem) !important;
        font-weight: 800 !important;
        letter-spacing: .18em !important;
        color: #8be6ff !important;
        text-transform: uppercase !important;
        text-shadow: 0 2px 0 rgba(0, 9, 20, .70) !important;
    }

    .is-cover-page .poster-copy h1 {
        max-width: 8.8ch !important;
        margin-top: .35rem !important;
        margin-bottom: clamp(1rem, 1.8vw, 1.45rem) !important;
        font-family: 'Anton', 'Outfit', 'Manrope', sans-serif !important;
        font-size: clamp(3.45rem, 5.25vw, 6.9rem) !important;
        font-weight: 400 !important;
        line-height: .92 !important;
        letter-spacing: .005em !important;
        color: #ffffff !important;
        text-transform: uppercase !important;
        text-wrap: balance !important;
        text-shadow:
            0 5px 0 rgba(0, 11, 24, .92),
            0 12px 22px rgba(0, 5, 15, .45) !important;
    }

    .is-cover-page .poster-copy h1 span {
        display: block !important;
        margin-top: .08em !important;
        color: #19c8f5 !important;
        -webkit-text-stroke: 1px rgba(201, 241, 255, .18) !important;
        text-shadow:
            0 5px 0 rgba(0, 12, 30, .95),
            0 10px 18px rgba(0, 7, 18, .48) !important;
    }

    .is-cover-page .poster-lead {
        max-width: 34rem !important;
        font-family: 'Outfit', 'Manrope', sans-serif !important;
        font-size: clamp(1rem, 1.15vw, 1.3rem) !important;
        font-weight: 800 !important;
        line-height: 1.24 !important;
        color: rgba(255, 255, 255, .94) !important;
        text-shadow: 0 3px 8px rgba(0, 8, 19, .70) !important;
    }

    .is-cover-page .poster-copy h1::after {
        content: "";
        display: block;
        width: min(100%, 25rem);
        height: 3px;
        margin-top: .28em;
        background: linear-gradient(90deg, #18c8f5 0%, #9aeafb 22%, rgba(154, 234, 251, .20) 100%);
        box-shadow: 0 3px 0 rgba(0, 8, 20, .55);
    }

    .is-cover-page .poster-cta {
        min-height: clamp(3.8rem, 4.5vw, 4.55rem) !important;
        padding-inline: clamp(2.3rem, 4vw, 4.8rem) !important;
        border: 0 !important;
        border-radius: 10px !important;
        font-family: 'Outfit', 'Manrope', sans-serif !important;
        font-size: clamp(1.05rem, 1.25vw, 1.5rem) !important;
        font-weight: 900 !important;
        letter-spacing: .015em !important;
        text-transform: none !important;
        color: #001326 !important;
        background: linear-gradient(180deg, #d7f7ff 0%, #73d7ef 100%) !important;
        box-shadow:
            0 8px 0 #056a9f,
            0 18px 28px rgba(0, 6, 18, .42) !important;
    }

    .is-cover-page .poster-cta:hover {
        transform: translateY(-3px) !important;
        box-shadow:
            0 11px 0 #056a9f,
            0 25px 38px rgba(0, 6, 18, .50) !important;
    }
}

@media (max-width: 920px) {
    .is-cover-page .poster-copy h1 {
        font-family: 'Anton', 'Outfit', 'Manrope', sans-serif !important;
        text-transform: uppercase !important;
        line-height: .95 !important;
        letter-spacing: .01em !important;
    }

    .is-cover-page .poster-copy h1 span {
        color: #18c8f5 !important;
    }
}

/* ==========================================================
   PORTADA - AJUSTE FINAL SOLO DE LETRAS IZQUIERDAS
   No modifica el collage; solo hace que el título entre.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-copy {
        min-width: 0 !important;
        overflow: visible !important;
        padding-right: clamp(1rem, 1.6vw, 1.8rem) !important;
    }

    .is-cover-page .poster-copy h1 {
        max-width: 12.4ch !important;
        font-size: clamp(2.85rem, 3.95vw, 5.25rem) !important;
        line-height: .91 !important;
        letter-spacing: .005em !important;
        margin-bottom: clamp(.7rem, 1.2vw, 1rem) !important;
    }

    .is-cover-page .poster-copy h1 span {
        max-width: 12.4ch !important;
    }

    .is-cover-page .poster-copy h1::after {
        width: min(100%, 22rem) !important;
        margin-top: .22em !important;
    }

    .is-cover-page .poster-lead {
        max-width: 30rem !important;
        font-size: clamp(.92rem, .95vw, 1.08rem) !important;
        line-height: 1.2 !important;
    }

    .is-cover-page .poster-cta {
        min-height: clamp(3.15rem, 3.3vw, 3.75rem) !important;
        padding-inline: clamp(1.8rem, 3vw, 3.6rem) !important;
        font-size: clamp(.98rem, 1vw, 1.18rem) !important;
    }
}

/* PORTADA - quitar línea y texto bajo el título */
.is-cover-page .poster-copy h1::after,
.is-cover-page .poster-lead {
    display: none !important;
}

/* PORTADA - encajar el bloque izquierdo sin bajar demasiado */
@media (min-width: 921px) {
    .is-cover-page .poster-copy {
        align-self: center !important;
        justify-content: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .is-cover-page .poster-copy h1 {
        max-width: 15.2ch !important;
        font-size: clamp(3.15rem, 4.08vw, 5.45rem) !important;
        line-height: .88 !important;
        margin-top: .28rem !important;
        margin-bottom: clamp(1.15rem, 1.55vw, 1.45rem) !important;
    }

    .is-cover-page .poster-copy h1 span {
        max-width: 15.2ch !important;
    }

    .is-cover-page .poster-copy h1::after,
    .is-cover-page .poster-lead {
        display: none !important;
        content: none !important;
    }

    .is-cover-page .poster-cta {
        margin-top: 0 !important;
        width: min(100%, 24rem) !important;
    }
}

/* ==========================================================
   PORTADA - CENTRADO, MÁS IMPACTO Y FONDO TEXTURADO FINAL
   No modifica posiciones ni tamaños del collage.
   ========================================================== */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 17% 18%, rgba(25, 191, 239, .13), transparent 28%),
            radial-gradient(circle at 58% 48%, rgba(3, 77, 135, .35), transparent 40%),
            radial-gradient(circle at 95% 22%, rgba(96, 199, 236, .16), transparent 31%),
            linear-gradient(116deg, #000711 0%, #00152c 34%, #034d87 72%, #0b6ca3 100%) !important;
    }

    .is-cover-page .poster-card::before {
        background:
            radial-gradient(circle, rgba(151, 222, 249, .13) 0 1px, transparent 1.7px) 0 0 / 18px 18px,
            linear-gradient(64deg, transparent 0 39%, rgba(137, 216, 248, .09) 39.3%, transparent 40%),
            linear-gradient(116deg, transparent 0 59%, rgba(137, 216, 248, .07) 59.25%, transparent 60%),
            radial-gradient(circle at 34% 34%, transparent 0 16%, rgba(137, 216, 248, .10) 16.4%, transparent 16.9%) !important;
        opacity: .82 !important;
    }

    .is-cover-page .poster-card::after {
        background:
            linear-gradient(90deg, rgba(0, 7, 17, .20), transparent 42%, rgba(4, 94, 155, .10)),
            repeating-linear-gradient(135deg, rgba(151, 222, 249, .045) 0 1px, transparent 1px 18px) !important;
        opacity: .74 !important;
    }

    .is-cover-page .poster-copy {
        align-self: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding-left: clamp(2.3rem, 4.2vw, 4.5rem) !important;
        padding-right: clamp(1.7rem, 2.8vw, 3.2rem) !important;
        transform: translateY(-.18rem) !important;
    }

    .is-cover-page .poster-kicker {
        margin-bottom: clamp(.55rem, .85vw, .9rem) !important;
        color: #a5edff !important;
    }

    .is-cover-page .poster-copy h1 {
        max-width: 15.4ch !important;
        margin-top: 0 !important;
        margin-bottom: clamp(1.65rem, 2.1vw, 2.25rem) !important;
        font-size: clamp(3.25rem, 4.18vw, 5.65rem) !important;
        line-height: .88 !important;
        text-shadow:
            0 5px 0 rgba(0, 8, 20, .96),
            0 15px 26px rgba(0, 4, 12, .55) !important;
    }

    .is-cover-page .poster-copy h1 span {
        max-width: 15.4ch !important;
        color: #22cff5 !important;
        text-shadow:
            0 5px 0 rgba(0, 8, 20, .96),
            0 16px 30px rgba(0, 4, 12, .58) !important;
    }

    .is-cover-page .poster-copy h1::after,
    .is-cover-page .poster-lead {
        display: none !important;
        content: none !important;
    }

    .is-cover-page .poster-cta {
        width: min(100%, 26rem) !important;
        min-height: clamp(3.55rem, 3.85vw, 4.2rem) !important;
        border: 0 !important;
        border-radius: 12px !important;
        background:
            linear-gradient(180deg, #f1fbff 0%, #8ee4f6 48%, #2cbfe9 100%) !important;
        box-shadow:
            0 8px 0 #075d91,
            0 22px 34px rgba(0, 7, 18, .48) !important;
    }

    .is-cover-page .poster-cta:hover {
        transform: translateY(-4px) scale(1.015) !important;
        box-shadow:
            0 12px 0 #075d91,
            0 30px 42px rgba(0, 7, 18, .58) !important;
    }
}

/* PORTADA - box principal 30px menos ancho */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        width: calc(100% - 60px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* PORTADA - acercar bloque izquierdo y collage para eliminar vacío central */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        column-gap: clamp(4px, .7vw, 12px) !important;
    }

    .is-cover-page .poster-copy {
        padding-left: clamp(3rem, 5vw, 5.4rem) !important;
        padding-right: clamp(.6rem, 1vw, 1rem) !important;
        transform: translate(14px, -.18rem) !important;
    }

    .is-cover-page .poster-collage {
        margin-left: -57px !important;
    }
}

/* PORTADA - desplazar visualmente el cuadro de fotos más a la izquierda */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        position: relative !important;
        left: -35px !important;
        margin-left: -72px !important;
    }
}

/* PORTADA - degradado de fondo diferenciado del encabezado */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 18% 24%, rgba(93, 220, 255, .22), transparent 26%),
            radial-gradient(circle at 76% 30%, rgba(75, 179, 229, .34), transparent 34%),
            radial-gradient(circle at 72% 88%, rgba(17, 111, 177, .34), transparent 38%),
            linear-gradient(118deg, #001225 0%, #02335f 33%, #086fa6 68%, #25a8cc 100%) !important;
        border-color: rgba(143, 223, 249, .36) !important;
    }

    .is-cover-page .poster-card::before {
        background:
            radial-gradient(circle, rgba(207, 244, 255, .16) 0 1px, transparent 1.5px) 0 0 / 19px 19px,
            linear-gradient(58deg, transparent 0 31%, rgba(207, 244, 255, .12) 31.25%, transparent 32%),
            linear-gradient(122deg, transparent 0 66%, rgba(207, 244, 255, .09) 66.2%, transparent 67%),
            radial-gradient(circle at 35% 35%, transparent 0 17%, rgba(207, 244, 255, .14) 17.35%, transparent 17.85%),
            radial-gradient(circle at 83% 70%, transparent 0 13%, rgba(207, 244, 255, .11) 13.35%, transparent 13.85%) !important;
        opacity: .90 !important;
    }

    .is-cover-page .poster-card::after {
        background:
            linear-gradient(90deg, rgba(0, 15, 35, .18) 0%, transparent 45%, rgba(116, 215, 241, .16) 100%),
            repeating-linear-gradient(135deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 22px) !important;
        opacity: .68 !important;
    }
}

/* PORTADA - quitar borde celeste del panel principal */
.is-cover-page .poster-card {
    border: 0 !important;
}

/* MENÚ - hover más evidente para que se sienta como botón */
.main-nav a {
    display: inline-block !important;
    transition:
        transform .18s ease,
        color .18s ease,
        text-shadow .18s ease !important;
    transform-origin: center center !important;
}

.main-nav a:hover,
.main-nav a:focus-visible {
    transform: scale(1.08) !important;
    text-shadow: 0 4px 12px rgba(126, 220, 248, .35) !important;
}

/* PORTADA - fondo limpio sin textura */
@media (min-width: 921px) {
    .is-cover-page .poster-card::before,
    .is-cover-page .poster-card::after,
    .is-cover-page .poster-shapes {
        display: none !important;
        content: none !important;
        opacity: 0 !important;
        background: transparent !important;
    }
}

/* PORTADA - animación automática del título principal */
@media (min-width: 921px) {
    .is-cover-page .poster-copy h1 {
        transform-origin: left center !important;
        animation: coverTitlePulse 3.2s ease-in-out infinite !important;
        will-change: transform, filter !important;
    }
}

/* PORTADA - separar título principal del texto superior */
@media (min-width: 921px) {
    .is-cover-page .poster-kicker {
        margin-bottom: clamp(.9rem, 1.25vw, 1.35rem) !important;
    }

    .is-cover-page .poster-copy h1 {
        margin-bottom: clamp(1.35rem, 1.65vw, 1.85rem) !important;
    }

    .is-cover-page .poster-cta {
        margin-top: .25rem !important;
    }
}

/* PORTADA - botón de inscripción más competitivo */
@media (min-width: 921px) {
    .is-cover-page .poster-cta {
        position: relative !important;
        isolation: isolate !important;
        overflow: hidden !important;
        width: min(100%, 25rem) !important;
        min-height: clamp(3.45rem, 3.7vw, 4.05rem) !important;
        border: 2px solid rgba(255, 255, 255, .86) !important;
        border-radius: 8px !important;
        color: #ffffff !important;
        background:
            linear-gradient(180deg, #0ab9e8 0%, #0578bb 52%, #034d87 100%) !important;
        font-family: 'Outfit', 'Manrope', sans-serif !important;
        font-size: clamp(1rem, 1.12vw, 1.28rem) !important;
        font-weight: 900 !important;
        letter-spacing: .02em !important;
        text-transform: uppercase !important;
        text-shadow: 0 2px 0 rgba(0, 7, 20, .45) !important;
        box-shadow:
            0 7px 0 #002e57,
            0 18px 28px rgba(0, 7, 18, .42) !important;
    }

    .is-cover-page .poster-cta::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: -1 !important;
        background:
            linear-gradient(115deg, transparent 0 32%, rgba(255, 255, 255, .26) 42%, transparent 52%),
            radial-gradient(circle at 18% 20%, rgba(255, 255, 255, .22), transparent 26%) !important;
        opacity: .65 !important;
        transform: translateX(-18%) !important;
        transition: transform .32s ease, opacity .32s ease !important;
    }

    .is-cover-page .poster-cta:hover {
        transform: translateY(-4px) scale(1.018) !important;
        background:
            linear-gradient(180deg, #18cdf4 0%, #0788c8 52%, #03528f 100%) !important;
        box-shadow:
            0 11px 0 #002e57,
            0 28px 38px rgba(0, 7, 18, .54) !important;
    }

    .is-cover-page .poster-cta:hover::before {
        opacity: .9 !important;
        transform: translateX(22%) !important;
    }
}

/* PORTADA - botón elegante definitivo */
@media (min-width: 921px) {
    .is-cover-page .poster-cta {
        width: min(100%, 25.5rem) !important;
        min-height: clamp(3.45rem, 3.7vw, 4.05rem) !important;
        border: 1px solid rgba(216, 247, 255, .92) !important;
        border-radius: 10px !important;
        color: #00213d !important;
        background:
            linear-gradient(180deg, rgba(244, 253, 255, .98) 0%, rgba(178, 235, 249, .96) 100%) !important;
        font-family: 'Outfit', 'Manrope', sans-serif !important;
        font-size: clamp(1.02rem, 1.08vw, 1.22rem) !important;
        font-weight: 900 !important;
        letter-spacing: .01em !important;
        text-transform: none !important;
        text-shadow: none !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .92),
            0 6px 0 rgba(8, 104, 151, .72),
            0 18px 32px rgba(0, 10, 24, .34) !important;
    }

    .is-cover-page .poster-cta::before {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-cta::after {
        content: "" !important;
        display: inline-block !important;
        width: .42rem !important;
        height: .42rem !important;
        margin-left: .75rem !important;
        border-top: 2px solid currentColor !important;
        border-right: 2px solid currentColor !important;
        transform: rotate(45deg) translateY(-1px) !important;
        transition: transform .22s ease !important;
    }

    .is-cover-page .poster-cta:hover {
        color: #00182e !important;
        background:
            linear-gradient(180deg, #ffffff 0%, #c8f3fb 100%) !important;
        transform: translateY(-3px) !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 1),
            0 8px 0 rgba(8, 104, 151, .76),
            0 24px 40px rgba(0, 10, 24, .42) !important;
    }

    .is-cover-page .poster-cta:hover::after {
        transform: rotate(45deg) translate(3px, -4px) !important;
    }
}

@keyframes coverTitlePulse {
    0%,
    100% {
        transform: scale(1) translate3d(0, 0, 0);
        filter: brightness(1);
    }

    48% {
        transform: scale(1.035) translate3d(2px, -1px, 0);
        filter: brightness(1.08);
    }
}

@media (prefers-reduced-motion: reduce) {
    .is-cover-page .poster-copy h1 {
        animation: none !important;
    }
}

/* ENCABEZADO - botón para bases de la olimpiada */
.header-bases {
    min-height: 46px !important;
    padding: 0 24px !important;
    border: 1px solid rgba(191, 234, 248, .64) !important;
    border-radius: 999px !important;
    color: #dff7ff !important;
    background: rgba(12, 78, 126, .34) !important;
    font-family: 'Outfit', 'Manrope', sans-serif !important;
    font-size: .88rem !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10) !important;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease !important;
}

.header-bases:hover,
.header-bases:focus-visible {
    color: #ffffff !important;
    background: rgba(18, 116, 176, .52) !important;
    transform: translateY(-2px) scale(1.03) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        0 12px 24px rgba(0, 8, 20, .28) !important;
}

@media (max-width: 1100px) {
    .header-bases {
        padding-inline: 18px !important;
        font-size: .82rem !important;
    }
}
/* Ajuste puntual: sección de bienvenida centrada sin botón secundario */
.welcome-grid {
    align-items: center !important;
}

.welcome-content {
    align-items: center !important;
}

.about-highlight {
    align-self: center !important;
    justify-content: center !important;
}

.about-highlight .about-call {
    margin-bottom: 0 !important;
}

/* Botones más sobrios y amigables */
@media (min-width: 921px) {
    .is-cover-page .poster-cta {
        min-height: 54px !important;
        width: min(100%, 24rem) !important;
        border: 1px solid rgba(177, 228, 245, .58) !important;
        border-radius: 6px !important;
        color: #f0fbff !important;
        background:
            linear-gradient(180deg, rgba(16, 112, 163, .92) 0%, rgba(7, 78, 123, .92) 100%) !important;
        font-size: clamp(.96rem, 1vw, 1.1rem) !important;
        letter-spacing: .01em !important;
        box-shadow:
            0 10px 22px rgba(0, 12, 28, .24),
            inset 0 1px 0 rgba(255, 255, 255, .14) !important;
    }

    .is-cover-page .poster-cta:hover {
        color: #ffffff !important;
        background:
            linear-gradient(180deg, rgba(20, 128, 181, .96) 0%, rgba(8, 91, 140, .96) 100%) !important;
        transform: translateY(-2px) scale(1.012) !important;
        box-shadow:
            0 14px 26px rgba(0, 12, 28, .30),
            inset 0 1px 0 rgba(255, 255, 255, .18) !important;
    }
}

.header-bases {
    min-height: 48px !important;
    padding: 0 22px !important;
    border: 1px solid rgba(194, 232, 244, .72) !important;
    color: #08365b !important;
    background: linear-gradient(180deg, #edfaff 0%, #c9edf7 100%) !important;
    box-shadow: 0 8px 18px rgba(0, 15, 36, .16) !important;
}

.header-bases:hover,
.header-bases:focus-visible {
    color: #052943 !important;
    background: linear-gradient(180deg, #ffffff 0%, #d7f3fb 100%) !important;
    transform: translateY(-2px) scale(1.035) !important;
    box-shadow: 0 12px 24px rgba(0, 15, 36, .22) !important;
}

/* Nosotros: centrar correctamente el bloque de bienvenida */
.welcome-section {
    display: flex !important;
    align-items: center !important;
}

.welcome-grid {
    width: min(calc(100% - 120px), 1360px) !important;
    margin-inline: auto !important;
    padding: 30px 0 44px !important;
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1.58fr) minmax(330px, .62fr) !important;
    gap: 30px !important;
    align-items: center !important;
}

.welcome-content {
    padding: 0 !important;
    grid-template-columns: minmax(320px, .92fr) minmax(360px, 1.08fr) !important;
    gap: 28px !important;
    align-items: center !important;
}

.welcome-photo {
    width: 100% !important;
    margin-left: 0 !important;
}

.about-highlight {
    align-self: center !important;
    margin-inline: auto !important;
}

@media (max-width: 920px) {
    .welcome-grid {
        width: min(calc(100% - 36px), 720px) !important;
        grid-template-columns: 1fr !important;
        padding: 32px 0 !important;
    }

    .welcome-content {
        grid-template-columns: 1fr !important;
    }
}

/* Recursos académicos: cuadros con esquinas rectas */
.resources-section .resource-year,
.resources-section .resource-item,
.resources-section .resource-action,
.resources-section .all-answers-link {
    border-radius: 0 !important;
}

/* Libros: convertir "Pedir información" en botones reales */
.books-page .book-info-link {
    display: inline-flex !important;
    width: fit-content !important;
    min-height: 42px !important;
    margin-top: 18px !important;
    padding: 0 20px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(7, 83, 127, .95) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    background: linear-gradient(180deg, #0d6fa4 0%, #074a78 100%) !important;
    font-family: 'Outfit', 'Manrope', sans-serif !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    letter-spacing: .015em !important;
    text-decoration: none !important;
    box-shadow: 0 7px 0 rgba(3, 39, 68, .70), 0 14px 24px rgba(3, 21, 45, .18) !important;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.books-page .book-info-link:hover,
.books-page .book-info-link:focus-visible {
    color: #ffffff !important;
    background: linear-gradient(180deg, #1280b8 0%, #075a8d 100%) !important;
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 8px 0 rgba(3, 39, 68, .76), 0 18px 28px rgba(3, 21, 45, .24) !important;
}

/* Portada: botón de inscripción más elegante */
@media (min-width: 921px) {
    .is-cover-page .poster-cta {
        width: min(100%, 22.5rem) !important;
        min-height: 52px !important;
        padding: 0 28px !important;
        border: 1px solid rgba(184, 231, 246, .70) !important;
        border-radius: 999px !important;
        color: #f4fcff !important;
        background:
            linear-gradient(135deg, rgba(5, 57, 96, .96) 0%, rgba(10, 103, 154, .96) 58%, rgba(28, 142, 185, .92) 100%) !important;
        font-family: 'Outfit', 'Manrope', sans-serif !important;
        font-size: clamp(.94rem, .95vw, 1.05rem) !important;
        font-weight: 850 !important;
        letter-spacing: .035em !important;
        text-transform: uppercase !important;
        box-shadow:
            0 12px 24px rgba(0, 12, 28, .26),
            inset 0 1px 0 rgba(255, 255, 255, .18) !important;
    }

    .is-cover-page .poster-cta::after {
        width: .36rem !important;
        height: .36rem !important;
        margin-left: .9rem !important;
        border-top-width: 2px !important;
        border-right-width: 2px !important;
        opacity: .88 !important;
    }

    .is-cover-page .poster-cta:hover {
        color: #ffffff !important;
        background:
            linear-gradient(135deg, rgba(7, 69, 115, .98) 0%, rgba(12, 118, 171, .98) 58%, rgba(42, 162, 203, .94) 100%) !important;
        transform: translateY(-2px) scale(1.018) !important;
        box-shadow:
            0 16px 30px rgba(0, 12, 28, .32),
            inset 0 1px 0 rgba(255, 255, 255, .22) !important;
    }
}

/* PORTADA PRINCIPAL - composición tipo afiche competitivo */
@media (min-width: 921px) {
    .is-cover-page .poster-shell {
        padding: 16px 0 18px !important;
        background: #00152c !important;
    }

    .is-cover-page .poster-card {
        position: relative !important;
        display: block !important;
        width: min(calc(100% - 44px), 1510px) !important;
        height: clamp(470px, 52vh, 540px) !important;
        margin-inline: auto !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 6px !important;
        background:
            radial-gradient(circle at 79% 46%, rgba(15, 124, 189, .62), transparent 34%),
            radial-gradient(circle at 27% 42%, rgba(7, 75, 130, .46), transparent 35%),
            linear-gradient(110deg, #00142d 0%, #00264e 43%, #034d87 100%) !important;
        box-shadow: 0 24px 48px rgba(0, 8, 22, .36) !important;
    }

    .is-cover-page .poster-card::before,
    .is-cover-page .poster-card::after,
    .is-cover-page .poster-shapes {
        display: block !important;
        content: "" !important;
        pointer-events: none !important;
    }

    .is-cover-page .poster-card::before {
        position: absolute !important;
        inset: 0 !important;
        opacity: .48 !important;
        background:
            radial-gradient(circle, rgba(120, 218, 255, .16) 0 1px, transparent 1.6px) 28px 26px / 22px 22px,
            linear-gradient(118deg, transparent 0 45%, rgba(117, 218, 255, .18) 45.2%, transparent 46.1%),
            linear-gradient(62deg, transparent 0 68%, rgba(117, 218, 255, .12) 68.2%, transparent 69%),
            radial-gradient(circle at 12% 58%, transparent 0 132px, rgba(117, 218, 255, .14) 133px 135px, transparent 136px),
            radial-gradient(circle at 42% 33%, transparent 0 118px, rgba(117, 218, 255, .12) 119px 121px, transparent 122px),
            linear-gradient(90deg, rgba(0, 5, 18, .52) 0%, transparent 48%, rgba(20, 171, 219, .13) 100%) !important;
    }

    .is-cover-page .poster-card::after {
        position: absolute !important;
        inset: 0 !important;
        opacity: .52 !important;
        background:
            linear-gradient(104deg, rgba(0, 8, 22, .58) 0 39%, transparent 39.35%),
            linear-gradient(104deg, transparent 0 54%, rgba(73, 195, 232, .13) 54.25%, transparent 55%) !important;
    }

    .is-cover-page .poster-shapes {
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        opacity: .62 !important;
    }

    .is-cover-page .poster-shapes span {
        display: block !important;
        position: absolute !important;
        border: 1px solid rgba(145, 225, 255, .16) !important;
        background: transparent !important;
        animation: none !important;
    }

    .is-cover-page .poster-shapes span:nth-child(1) {
        width: 210px !important;
        height: 210px !important;
        left: 3.8% !important;
        top: 12% !important;
        border-radius: 50% !important;
    }

    .is-cover-page .poster-shapes span:nth-child(2) {
        width: 170px !important;
        height: 170px !important;
        left: 38% !important;
        top: 19% !important;
        transform: rotate(44deg) !important;
    }

    .is-cover-page .poster-shapes span:nth-child(3) {
        width: 250px !important;
        height: 250px !important;
        right: 15% !important;
        bottom: -8% !important;
        border-radius: 50% !important;
    }

    .is-cover-page .poster-shapes span:nth-child(n + 4) {
        display: none !important;
    }

    .is-cover-page .poster-copy {
        position: absolute !important;
        z-index: 4 !important;
        left: clamp(48px, 5vw, 84px) !important;
        top: 52% !important;
        width: min(37%, 530px) !important;
        padding: 0 !important;
        transform: translateY(-50%) !important;
    }

    .is-cover-page .poster-kicker {
        margin-bottom: clamp(.78rem, 1vw, 1.08rem) !important;
        color: #8feaff !important;
        font-size: clamp(.68rem, .82vw, .88rem) !important;
        letter-spacing: .16em !important;
    }

    .is-cover-page .poster-copy h1 {
        max-width: 560px !important;
        margin: 0 0 clamp(1.35rem, 1.7vw, 1.85rem) !important;
        color: #ffffff !important;
        font-family: 'Anton', 'Bebas Neue', 'Oswald', sans-serif !important;
        font-size: clamp(3.2rem, 4.6vw, 5.35rem) !important;
        line-height: .82 !important;
        letter-spacing: .01em !important;
        text-transform: uppercase !important;
        text-shadow: 5px 7px 0 rgba(0, 0, 0, .45) !important;
        transform-origin: left center !important;
        animation: coverTitlePulse 3.2s ease-in-out infinite !important;
    }

    .is-cover-page .poster-copy h1 span {
        display: block !important;
        color: #18cef7 !important;
    }

    .is-cover-page .poster-lead {
        display: none !important;
    }

    .is-cover-page .poster-cta {
        width: min(100%, 360px) !important;
        min-height: 54px !important;
        padding: 0 28px !important;
        border: 1px solid rgba(138, 224, 255, .40) !important;
        border-radius: 7px !important;
        color: #f5fcff !important;
        background: linear-gradient(180deg, #0f8ec3 0%, #075d91 100%) !important;
        font-family: 'Outfit', 'Manrope', sans-serif !important;
        font-size: clamp(.95rem, .98vw, 1.08rem) !important;
        font-weight: 900 !important;
        letter-spacing: .02em !important;
        text-transform: none !important;
        text-shadow: none !important;
        box-shadow:
            0 10px 22px rgba(0, 10, 26, .32),
            inset 0 1px 0 rgba(255, 255, 255, .14) !important;
    }

    .is-cover-page .poster-cta::before {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-cta:hover,
    .is-cover-page .poster-cta:focus-visible {
        color: #ffffff !important;
        background: linear-gradient(180deg, #139fd2 0%, #06699f 100%) !important;
        transform: translateY(-3px) scale(1.02) !important;
        box-shadow:
            0 17px 32px rgba(0, 10, 26, .42),
            inset 0 1px 0 rgba(255, 255, 255, .18) !important;
    }

    .is-cover-page .poster-collage {
        position: absolute !important;
        z-index: 3 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 58.5% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 32% !important;
        z-index: 1 !important;
        pointer-events: none !important;
        background: linear-gradient(104deg, #00142d 0 46%, transparent 46.4%) !important;
    }

    .is-cover-page .poster-photo {
        position: absolute !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        background: #001225 !important;
        box-shadow: 0 13px 25px rgba(0, 5, 18, .30) !important;
        clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%) !important;
        transform: none !important;
        transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
    }

    .is-cover-page .poster-photo::before,
    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-photo:hover,
    .is-cover-page .poster-photo:focus-within {
        z-index: 8 !important;
        transform: translateY(-8px) scale(1.045) !important;
        box-shadow: 0 26px 46px rgba(0, 5, 18, .46) !important;
    }

    .is-cover-page .poster-photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        transition: transform .22s ease, filter .22s ease !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.10) !important;
        filter: saturate(1.08) contrast(1.05) !important;
    }

    .is-cover-page .poster-photo-1 {
        left: 3.5% !important;
        top: 0 !important;
        width: 45.5% !important;
        height: 48% !important;
    }

    .is-cover-page .poster-photo-2 {
        left: 47.2% !important;
        top: 0 !important;
        width: 25.8% !important;
        height: 30% !important;
    }

    .is-cover-page .poster-photo-3 {
        left: 72.3% !important;
        top: 0 !important;
        width: 31.2% !important;
        height: 30% !important;
    }

    .is-cover-page .poster-photo-4 {
        left: 42.2% !important;
        top: 30.7% !important;
        width: 62% !important;
        height: 42% !important;
    }

    .is-cover-page .poster-photo-5 {
        left: 3.2% !important;
        top: 48.8% !important;
        width: 28% !important;
        height: 51.2% !important;
    }

    .is-cover-page .poster-photo-6 {
        left: 28.6% !important;
        top: 73.5% !important;
        width: 38.2% !important;
        height: 26.5% !important;
    }

    .is-cover-page .poster-photo-7 {
        left: 65.8% !important;
        top: 73.5% !important;
        width: 37.8% !important;
        height: 26.5% !important;
    }

    .is-cover-page .poster-photo-8 {
        display: none !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: center 45% !important; }
    .is-cover-page .poster-photo-2 img { object-position: center 48% !important; }
    .is-cover-page .poster-photo-3 img { object-position: center 38% !important; }
    .is-cover-page .poster-photo-4 img { object-position: center 46% !important; }
    .is-cover-page .poster-photo-5 img { object-position: center 50% !important; }
    .is-cover-page .poster-photo-6 img { object-position: center 46% !important; }
    .is-cover-page .poster-photo-7 img { object-position: center 45% !important; }
}

@media (min-width: 921px) and (max-width: 1250px) {
    .is-cover-page .poster-card {
        height: 500px !important;
    }

    .is-cover-page .poster-copy {
        left: 46px !important;
        width: 39% !important;
    }

    .is-cover-page .poster-copy h1 {
        font-size: clamp(2.85rem, 4.35vw, 4.15rem) !important;
    }

    .is-cover-page .poster-collage {
        width: 57.5% !important;
    }
}

/* PORTADA - collage definitivo tipo afiche, limpio y proporcional */
@media (min-width: 921px) {
    .is-cover-page .poster-shell {
        padding: 16px 0 18px !important;
        background: #00142a !important;
    }

    .is-cover-page .poster-card {
        position: relative !important;
        display: block !important;
        width: min(calc(100% - 44px), 1500px) !important;
        height: clamp(455px, 51vh, 530px) !important;
        margin-inline: auto !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 6px !important;
        background:
            radial-gradient(circle at 81% 54%, rgba(11, 130, 191, .62), transparent 34%),
            radial-gradient(circle at 24% 44%, rgba(0, 78, 139, .42), transparent 34%),
            linear-gradient(112deg, #00142b 0%, #00264e 47%, #034d87 100%) !important;
        box-shadow: 0 22px 46px rgba(0, 8, 22, .34) !important;
    }

    .is-cover-page .poster-card::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        pointer-events: none !important;
        opacity: .42 !important;
        background:
            radial-gradient(circle, rgba(96, 199, 242, .16) 0 1px, transparent 1.5px) 28px 24px / 22px 22px,
            radial-gradient(circle at 10% 52%, transparent 0 136px, rgba(115, 210, 246, .17) 137px 139px, transparent 140px),
            radial-gradient(circle at 52% 36%, transparent 0 142px, rgba(115, 210, 246, .12) 143px 145px, transparent 146px),
            linear-gradient(123deg, transparent 0 44%, rgba(115, 210, 246, .16) 44.2%, transparent 45%),
            linear-gradient(62deg, transparent 0 72%, rgba(115, 210, 246, .10) 72.3%, transparent 73%) !important;
    }

    .is-cover-page .poster-card::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        pointer-events: none !important;
        opacity: .74 !important;
        background:
            linear-gradient(104deg, rgba(0, 8, 22, .58) 0 39%, transparent 39.25%),
            linear-gradient(104deg, transparent 0 57%, rgba(37, 167, 211, .14) 57.25%, transparent 58%) !important;
    }

    .is-cover-page .poster-shapes {
        display: none !important;
    }

    .is-cover-page .poster-copy {
        position: absolute !important;
        z-index: 5 !important;
        left: clamp(52px, 5.4vw, 92px) !important;
        top: 50% !important;
        width: min(38%, 540px) !important;
        padding: 0 !important;
        transform: translateY(-50%) !important;
    }

    .is-cover-page .poster-kicker {
        margin: 0 0 14px !important;
        color: #8eeaff !important;
        font-size: clamp(.68rem, .82vw, .9rem) !important;
        letter-spacing: .17em !important;
    }

    .is-cover-page .poster-copy h1 {
        max-width: 560px !important;
        margin: 0 0 28px !important;
        color: #ffffff !important;
        font-family: 'Anton', 'Bebas Neue', 'Oswald', sans-serif !important;
        font-size: clamp(3.15rem, 4.45vw, 5.15rem) !important;
        line-height: .83 !important;
        letter-spacing: .006em !important;
        text-transform: uppercase !important;
        text-shadow: 5px 7px 0 rgba(0, 0, 0, .42) !important;
        transform-origin: left center !important;
        animation: coverTitlePulse 3.2s ease-in-out infinite !important;
    }

    .is-cover-page .poster-copy h1 span {
        display: block !important;
        color: #19cdf6 !important;
    }

    .is-cover-page .poster-lead {
        display: none !important;
    }

    .is-cover-page .poster-cta {
        width: min(100%, 360px) !important;
        min-height: 52px !important;
        border-radius: 7px !important;
        color: #eefaff !important;
        background: linear-gradient(180deg, #0d7fb2 0%, #065584 100%) !important;
        border: 1px solid rgba(161, 224, 246, .42) !important;
        box-shadow:
            0 12px 24px rgba(0, 9, 23, .32),
            inset 0 1px 0 rgba(255, 255, 255, .12) !important;
    }

    .is-cover-page .poster-cta:hover,
    .is-cover-page .poster-cta:focus-visible {
        background: linear-gradient(180deg, #1292c5 0%, #086796 100%) !important;
        transform: translateY(-3px) scale(1.02) !important;
        box-shadow:
            0 18px 34px rgba(0, 9, 23, .42),
            inset 0 1px 0 rgba(255, 255, 255, .16) !important;
    }

    .is-cover-page .poster-collage {
        position: absolute !important;
        z-index: 4 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 60.5% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage::before {
        content: "" !important;
        position: absolute !important;
        z-index: 2 !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 29% !important;
        pointer-events: none !important;
        background: linear-gradient(105deg, rgba(0, 20, 43, .96) 0 49%, transparent 49.25%) !important;
    }

    .is-cover-page .poster-photo {
        position: absolute !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        background: #00142b !important;
        box-shadow: 0 13px 26px rgba(0, 5, 18, .30) !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
        transform: none !important;
        transition: transform .22s ease, box-shadow .22s ease !important;
    }

    .is-cover-page .poster-photo::before,
    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 100% !important;
        min-height: 100% !important;
        object-fit: cover !important;
        transition: transform .22s ease, filter .22s ease !important;
    }

    .is-cover-page .poster-photo:hover,
    .is-cover-page .poster-photo:focus-within {
        z-index: 12 !important;
        transform: translateY(-8px) scale(1.045) !important;
        box-shadow: 0 26px 46px rgba(0, 5, 18, .48) !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.09) !important;
        filter: saturate(1.07) contrast(1.04) !important;
    }

    .is-cover-page .poster-photo-1 {
        left: 19.5% !important;
        top: 0 !important;
        width: 45.5% !important;
        height: 54% !important;
    }

    .is-cover-page .poster-photo-2 {
        left: 63.6% !important;
        top: 0 !important;
        width: 37.3% !important;
        height: 31.5% !important;
    }

    .is-cover-page .poster-photo-3 {
        left: 71.3% !important;
        top: 31.8% !important;
        width: 29.8% !important;
        height: 68.2% !important;
    }

    .is-cover-page .poster-photo-4 {
        left: 12.3% !important;
        top: 54.3% !important;
        width: 28.6% !important;
        height: 45.7% !important;
    }

    .is-cover-page .poster-photo-5 {
        left: 39.1% !important;
        top: 54.3% !important;
        width: 34.3% !important;
        height: 45.7% !important;
    }

    .is-cover-page .poster-photo-6 {
        left: 76.5% !important;
        top: 72.5% !important;
        width: 23.8% !important;
        height: 27.5% !important;
        z-index: 5 !important;
    }

    .is-cover-page .poster-photo-7,
    .is-cover-page .poster-photo-8 {
        display: none !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: center 45% !important; }
    .is-cover-page .poster-photo-2 img { object-position: center 42% !important; }
    .is-cover-page .poster-photo-3 img { object-position: 56% 46% !important; }
    .is-cover-page .poster-photo-4 img { object-position: center 49% !important; }
    .is-cover-page .poster-photo-5 img { object-position: center 50% !important; }
    .is-cover-page .poster-photo-6 img { object-position: center 42% !important; }
}

@media (min-width: 921px) and (max-width: 1250px) {
    .is-cover-page .poster-card {
        height: 490px !important;
    }

    .is-cover-page .poster-copy {
        left: 42px !important;
        width: 39.5% !important;
    }

    .is-cover-page .poster-copy h1 {
        font-size: clamp(2.85rem, 4.1vw, 4.2rem) !important;
    }

    .is-cover-page .poster-collage {
        width: 60% !important;
    }
}

/* PORTADA - composicion final tipo collage competitivo */
@media (min-width: 921px) {
    .is-cover-page .poster-shell {
        background: #00142a !important;
        padding: 16px 0 18px !important;
    }

    .is-cover-page .poster-card {
        width: min(calc(100% - 44px), 1500px) !important;
        height: clamp(450px, 51vh, 520px) !important;
        margin-inline: auto !important;
        border: 0 !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        background:
            radial-gradient(circle at 82% 52%, rgba(7, 116, 178, .56), transparent 33%),
            radial-gradient(circle at 27% 42%, rgba(2, 67, 117, .46), transparent 36%),
            linear-gradient(112deg, #00152d 0%, #00315d 50%, #034d87 100%) !important;
        box-shadow: 0 22px 46px rgba(0, 8, 22, .34) !important;
    }

    .is-cover-page .poster-card::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        pointer-events: none !important;
        opacity: .36 !important;
        background:
            radial-gradient(circle at 11% 54%, transparent 0 136px, rgba(146, 219, 245, .16) 137px 139px, transparent 140px),
            radial-gradient(circle at 46% 33%, transparent 0 140px, rgba(146, 219, 245, .13) 141px 143px, transparent 144px),
            linear-gradient(125deg, transparent 0 40%, rgba(146, 219, 245, .14) 40.25%, transparent 41%),
            linear-gradient(60deg, transparent 0 73%, rgba(146, 219, 245, .11) 73.25%, transparent 74%) !important;
    }

    .is-cover-page .poster-card::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        pointer-events: none !important;
        opacity: .7 !important;
        background: linear-gradient(104deg, rgba(0, 9, 24, .70) 0 40%, transparent 40.3%) !important;
    }

    .is-cover-page .poster-copy {
        z-index: 5 !important;
        left: clamp(64px, 6.2vw, 110px) !important;
        top: 51.5% !important;
        width: min(37.5%, 540px) !important;
        transform: translateY(-50%) !important;
    }

    .is-cover-page .poster-kicker {
        margin-bottom: 13px !important;
        color: #9ceeff !important;
    }

    .is-cover-page .poster-copy h1 {
        margin-bottom: 24px !important;
        font-family: 'Anton', 'Bebas Neue', 'Oswald', sans-serif !important;
        font-size: clamp(3.25rem, 4.6vw, 5.25rem) !important;
        line-height: .82 !important;
        letter-spacing: .006em !important;
        text-transform: uppercase !important;
        color: #fff !important;
        text-shadow: 5px 7px 0 rgba(0, 0, 0, .42) !important;
        animation: coverTitlePulse 3.2s ease-in-out infinite !important;
    }

    .is-cover-page .poster-copy h1 span {
        color: #1ed5f8 !important;
    }

    .is-cover-page .poster-lead {
        display: none !important;
    }

    .is-cover-page .poster-cta {
        width: min(100%, 405px) !important;
        min-height: 54px !important;
        border-radius: 7px !important;
        color: #eefaff !important;
        background: linear-gradient(180deg, #0b82b7 0%, #05577f 100%) !important;
        border: 1px solid rgba(176, 228, 248, .38) !important;
        box-shadow: 0 12px 24px rgba(0, 8, 21, .36), inset 0 1px 0 rgba(255, 255, 255, .14) !important;
    }

    .is-cover-page .poster-cta:hover,
    .is-cover-page .poster-cta:focus-visible {
        transform: translateY(-3px) scale(1.018) !important;
        background: linear-gradient(180deg, #1390c4 0%, #066893 100%) !important;
        box-shadow: 0 18px 34px rgba(0, 8, 21, .48), inset 0 1px 0 rgba(255, 255, 255, .16) !important;
    }

    .is-cover-page .poster-collage {
        position: absolute !important;
        z-index: 4 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 59% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage::before {
        content: "" !important;
        position: absolute !important;
        z-index: 2 !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 30% !important;
        pointer-events: none !important;
        background: linear-gradient(105deg, rgba(0, 13, 32, .96) 0 48%, transparent 48.4%) !important;
    }

    .is-cover-page .poster-photo {
        position: absolute !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #00142b !important;
        clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%) !important;
        box-shadow: 0 16px 28px rgba(0, 4, 15, .32) !important;
        transform: none !important;
        transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
    }

    .is-cover-page .poster-photo::before,
    .is-cover-page .poster-photo::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        transform: scale(1.01) !important;
        transition: transform .22s ease, filter .22s ease !important;
    }

    .is-cover-page .poster-photo:hover,
    .is-cover-page .poster-photo:focus-within {
        z-index: 20 !important;
        transform: translateY(-8px) scale(1.045) !important;
        box-shadow: 0 25px 44px rgba(0, 4, 15, .50) !important;
    }

    .is-cover-page .poster-photo:hover img {
        transform: scale(1.11) !important;
        filter: saturate(1.08) contrast(1.05) !important;
    }

    .is-cover-page .poster-photo-1 {
        left: 19% !important;
        top: 0 !important;
        width: 45% !important;
        height: 54% !important;
    }

    .is-cover-page .poster-photo-2 {
        left: 63% !important;
        top: 0 !important;
        width: 38% !important;
        height: 32% !important;
    }

    .is-cover-page .poster-photo-3 {
        left: 69.8% !important;
        top: 32.5% !important;
        width: 31.2% !important;
        height: 67.5% !important;
    }

    .is-cover-page .poster-photo-4 {
        left: 12.2% !important;
        top: 54.5% !important;
        width: 30.6% !important;
        height: 45.5% !important;
    }

    .is-cover-page .poster-photo-5 {
        left: 41.5% !important;
        top: 54.5% !important;
        width: 30.2% !important;
        height: 45.5% !important;
    }

    .is-cover-page .poster-photo-6 {
        left: 76.5% !important;
        top: 73% !important;
        width: 24.5% !important;
        height: 27% !important;
        z-index: 6 !important;
    }

    .is-cover-page .poster-photo-7,
    .is-cover-page .poster-photo-8 {
        display: none !important;
    }

    .is-cover-page .poster-photo-1 img { object-position: center 42% !important; }
    .is-cover-page .poster-photo-2 img { object-position: center 40% !important; }
    .is-cover-page .poster-photo-3 img { object-position: 58% 48% !important; }
    .is-cover-page .poster-photo-4 img { object-position: center 50% !important; }
    .is-cover-page .poster-photo-5 img { object-position: 62% 48% !important; }
    .is-cover-page .poster-photo-6 img { object-position: center 44% !important; }
}

@media (min-width: 921px) and (max-width: 1250px) {
    .is-cover-page .poster-card {
        height: 488px !important;
    }

    .is-cover-page .poster-copy {
        left: 44px !important;
        width: 40% !important;
    }

    .is-cover-page .poster-copy h1 {
        font-size: clamp(2.95rem, 4.15vw, 4.2rem) !important;
    }

    .is-cover-page .poster-collage {
        width: 59.5% !important;
    }
}

/* PORTADA - lado derecho con imagen PRESENTACION PRINCIPAL */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        position: absolute !important;
        z-index: 4 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 59% !important;
        height: auto !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background:
            linear-gradient(90deg, rgba(0, 18, 39, .26), rgba(0, 18, 39, 0) 18%),
            url("../fotos/PRESENTACION%20PRINCIPAL.png") center center / cover no-repeat !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage::before,
    .is-cover-page .poster-collage::after {
        content: none !important;
        display: none !important;
    }

    .is-cover-page .poster-collage .poster-photo,
    .is-cover-page .poster-collage .poster-photo-1,
    .is-cover-page .poster-collage .poster-photo-2,
    .is-cover-page .poster-collage .poster-photo-3,
    .is-cover-page .poster-collage .poster-photo-4,
    .is-cover-page .poster-collage .poster-photo-5,
    .is-cover-page .poster-collage .poster-photo-6,
    .is-cover-page .poster-collage .poster-photo-7,
    .is-cover-page .poster-collage .poster-photo-8 {
        display: none !important;
    }
}

@media (min-width: 921px) and (max-width: 1250px) {
    .is-cover-page .poster-collage {
        width: 59.5% !important;
        background-position: center center !important;
    }
}

/* PORTADA - encuadre sin scroll y foto derecha con margen interno */
@media (min-width: 921px) {
    body.is-cover-page {
        overflow-y: hidden !important;
    }

    .is-cover-page .cover-only-main {
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .is-cover-page .poster-shell {
        height: calc(100svh - 201px) !important;
        min-height: 420px !important;
        padding: 10px 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    .is-cover-page .poster-card {
        width: min(calc(100% - 58px), 1470px) !important;
        height: min(500px, calc(100% - 20px)) !important;
        margin: 0 auto !important;
    }

    .is-cover-page .poster-collage {
        top: 10px !important;
        right: 10px !important;
        bottom: 10px !important;
        width: calc(59% - 10px) !important;
        border-radius: 4px !important;
        background:
            linear-gradient(90deg, rgba(0, 18, 39, .18), rgba(0, 18, 39, 0) 15%),
            url("../fotos/PRESENTACION%20PRINCIPAL.png") center center / contain no-repeat !important;
    }

    .is-cover-page .poster-copy {
        top: 50% !important;
    }
}

@media (min-width: 921px) and (max-width: 1250px) {
    .is-cover-page .poster-shell {
        height: calc(100svh - 201px) !important;
        min-height: 400px !important;
        padding: 8px 0 !important;
    }

    .is-cover-page .poster-card {
        width: min(calc(100% - 46px), 1180px) !important;
        height: min(472px, calc(100% - 16px)) !important;
    }

    .is-cover-page .poster-collage {
        top: 10px !important;
        right: 10px !important;
        bottom: 10px !important;
        width: calc(59.5% - 10px) !important;
    }
}

/* PORTADA - fondo unificado del box principal */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 78% 46%, rgba(29, 152, 205, .36), transparent 34%),
            radial-gradient(circle at 24% 48%, rgba(0, 26, 55, .42), transparent 42%),
            linear-gradient(90deg, #001328 0%, #002d55 34%, #034d87 68%, #08689d 100%) !important;
    }

    .is-cover-page .poster-card::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        pointer-events: none !important;
        opacity: .52 !important;
        background:
            linear-gradient(90deg, rgba(0, 9, 23, .58) 0%, rgba(0, 18, 42, .24) 36%, rgba(3, 77, 135, .03) 68%, transparent 100%) !important;
    }

    .is-cover-page .poster-copy {
        background: transparent !important;
        box-shadow: none !important;
    }

    .is-cover-page .poster-collage {
        background:
            url("../fotos/PRESENTACION%20PRINCIPAL.png") calc(50% + 10px) center / contain no-repeat !important;
    }
}

/* PORTADA - box integrado, sin corte visual entre texto e imagen */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 78% 48%, rgba(20, 137, 190, .32), transparent 36%),
            radial-gradient(circle at 26% 42%, rgba(0, 38, 76, .40), transparent 40%),
            linear-gradient(90deg, #00152c 0%, #002b52 35%, #034d87 67%, #096a9c 100%) !important;
        box-shadow:
            0 0 0 1px rgba(148, 218, 244, .10),
            0 24px 48px rgba(0, 7, 18, .42) !important;
    }

    .is-cover-page .poster-card::after {
        opacity: .32 !important;
        background:
            linear-gradient(90deg, rgba(0, 11, 26, .44) 0%, rgba(0, 24, 50, .22) 36%, rgba(3, 77, 135, .04) 64%, transparent 100%) !important;
    }

    .is-cover-page .poster-collage {
        top: 10px !important;
        right: 10px !important;
        bottom: 10px !important;
        width: calc(59% - 10px) !important;
        background:
            url("../fotos/PRESENTACION%20PRINCIPAL.png") center center / calc(100% - 20px) calc(100% - 20px) no-repeat !important;
    }

    .is-cover-page .poster-collage::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        z-index: 6 !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 20% !important;
        pointer-events: none !important;
        background: linear-gradient(90deg, #002b52 0%, rgba(3, 77, 135, .58) 42%, rgba(3, 77, 135, 0) 100%) !important;
    }
}

/* PORTADA - imagen principal limpia, sin velo y sin deformar proporciones */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            radial-gradient(circle at 72% 45%, rgba(6, 107, 158, .34), transparent 38%),
            linear-gradient(90deg, #001226 0%, #00294d 38%, #034d87 70%, #096899 100%) !important;
    }

    .is-cover-page .poster-collage {
        background:
            url("../fotos/PRESENTACION%20PRINCIPAL.png") center center / contain no-repeat !important;
    }

    .is-cover-page .poster-collage::before,
    .is-cover-page .poster-collage::after {
        content: none !important;
        display: none !important;
        background: none !important;
    }
}

/* PORTADA - desplazar imagen principal a la derecha sin deformarla */
@media (min-width: 921px) {
    .is-cover-page .poster-collage {
        background:
            url("../fotos/PRESENTACION%20PRINCIPAL.png") calc(50% + 25px) center / contain no-repeat !important;
    }
}

/* PORTADA - mitad derecha sólida y degradado hacia el lado izquierdo */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        background:
            linear-gradient(
                90deg,
                #001226 0%,
                #001b35 30%,
                #023d69 41%,
                #04538b 47%,
                #04538b 100%
            ) !important;
    }

    .is-cover-page .poster-card::after {
        opacity: .36 !important;
        background:
            linear-gradient(
                90deg,
                rgba(0, 9, 22, .48) 0%,
                rgba(0, 24, 48, .20) 34%,
                rgba(4, 83, 139, 0) 47%,
                rgba(4, 83, 139, 0) 100%
            ) !important;
    }
}

/* PORTADA - ajuste fino de ancho del box y centrado del bloque de texto */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        width: min(calc(100% - 88px), 1440px) !important;
    }

    .is-cover-page .poster-copy {
        left: calc(clamp(64px, 6.2vw, 110px) + 15px) !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
}

@media (min-width: 921px) and (max-width: 1250px) {
    .is-cover-page .poster-card {
        width: min(calc(100% - 76px), 1150px) !important;
    }

    .is-cover-page .poster-copy {
        left: 57px !important;
    }
}

/* NOSOTROS - bienvenida más compacta y centrada */
@media (min-width: 921px) {
    .welcome-section {
        min-height: 365px !important;
        display: flex !important;
        align-items: center !important;
    }

    .welcome-grid {
        min-height: 405px !important;
        padding: 18px 0 31px !important;
        display: grid !important;
        align-items: center !important;
    }

    .welcome-content {
        align-items: center !important;
    }

    .welcome-photo,
    .welcome-photo img {
        min-height: 357px !important;
    }

    .about-highlight {
        align-self: center !important;
    }
}

/* PORTADA - ajuste pedido: menos margen lateral, sin boton interno y texto centrado */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        width: min(calc(100% - 48px), 1480px) !important;
    }

    .is-cover-page .poster-copy {
        left: calc(clamp(64px, 6.2vw, 110px) + 15px) !important;
        top: 50% !important;
        width: min(39%, 560px) !important;
        transform: translateY(-50%) !important;
    }

    .is-cover-page .poster-copy h1 {
        margin-bottom: 0 !important;
    }

    .is-cover-page .poster-copy h1,
    .is-cover-page #cover-title {
        line-height: .92 !important;
        letter-spacing: .012em !important;
    }

    .is-cover-page .poster-copy h1 span,
    .is-cover-page #cover-title span {
        display: inline-block !important;
        margin-top: .08em !important;
    }

    .is-cover-page .poster-cta {
        display: none !important;
    }
}

@media (min-width: 921px) and (max-width: 1250px) {
    .is-cover-page .poster-card {
        width: min(calc(100% - 46px), 1180px) !important;
    }

    .is-cover-page .poster-copy {
        left: 72px !important;
        width: 40% !important;
    }

    .is-cover-page .poster-copy h1,
    .is-cover-page #cover-title {
        line-height: .9 !important;
    }
}

/* NOSOTROS - reducir altura y centrar mejor el texto principal */
@media (min-width: 921px) {
    .welcome-section {
        min-height: 340px !important;
    }

    .welcome-grid {
        min-height: 380px !important;
        padding: 10px 0 21px !important;
        align-items: center !important;
    }

    .welcome-content {
        padding: 16px 0 !important;
        align-items: center !important;
    }

    .welcome-copy {
        align-self: center !important;
        transform: translateY(14px) !important;
    }

    .welcome-copy .eyebrow {
        margin-bottom: 8px !important;
    }

    .welcome-content h1 {
        margin-bottom: 14px !important;
    }

    .welcome-photo,
    .welcome-photo img {
        min-height: 332px !important;
    }

    .about-highlight {
        align-self: center !important;
        padding-top: 17px !important;
        padding-bottom: 17px !important;
    }
}

/* PORTADA - box 120px más angosto y más aire entre rótulo y título */
@media (min-width: 921px) {
    .is-cover-page .poster-card {
        width: min(calc(100% - 168px), 1360px) !important;
    }

    .is-cover-page .poster-kicker {
        margin-bottom: 22px !important;
    }
}

@media (min-width: 921px) and (max-width: 1250px) {
    .is-cover-page .poster-card {
        width: min(calc(100% - 146px), 1060px) !important;
    }

    .is-cover-page .poster-kicker {
        margin-bottom: 17px !important;
    }
}

/* PREMIOS - aviso claro del premio estelar antes de la tabla */
.laptop-award-note {
    display: grid;
    grid-template-columns: minmax(240px, .9fr) minmax(0, 1.1fr);
    gap: 22px;
    align-items: center;
    padding: 22px 24px;
    border-bottom: 1px solid rgba(125, 187, 216, .55);
    background:
        linear-gradient(135deg, #05284b 0%, #075a8f 58%, #0e7fb1 100%);
    color: #fff;
}

.laptop-award-note .eyebrow {
    margin-bottom: 7px;
    color: #9ee9ff;
}

.laptop-award-note h2 {
    margin: 0;
    max-width: 640px;
    color: #fff;
    font-size: clamp(1.6rem, 2.5vw, 2.45rem);
    line-height: 1;
}

.laptop-award-note p:last-child {
    margin: 0;
    color: #dff8ff;
    font: 700 clamp(.95rem, 1.1vw, 1.08rem)/1.45 "Manrope", Arial, sans-serif;
}

@media (max-width: 720px) {
    .laptop-award-note {
        grid-template-columns: 1fr;
        padding: 20px;
    }
}

/* PREMIOS - premio estelar más compacto con fotos secundarias más visibles */
@media (min-width: 921px) {
    .prize-spotlight {
        padding: 22px 0 !important;
    }

    .prize-spotlight-grid {
        gap: 42px !important;
    }

    .prize-spotlight-copy h2 {
        font-size: clamp(2.2rem, 3.45vw, 3.55rem) !important;
        line-height: 1.02 !important;
    }

    .prize-spotlight-copy > p {
        font-size: 1rem !important;
        line-height: 1.5 !important;
    }

    .prize-highlight {
        margin: 18px 0 !important;
        padding: 12px 17px !important;
    }

    .prize-showcase {
        min-height: 455px !important;
        padding: 38px 78px !important;
    }

    .prize-showcase .prize-spotlight-image,
    .prize-spotlight-image {
        min-height: 360px !important;
    }

    .prize-spotlight-image .laptop-main {
        max-height: 300px !important;
        width: min(82%, 500px) !important;
    }

    .prize-proof {
        width: 178px !important;
    }

    .prize-proof img {
        height: 176px !important;
    }
}

/* PREMIOS - tarjetas de beneficios un poco más compactas */
@media (min-width: 921px) {
    .prize-benefits.section {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    .prize-benefits .section-heading {
        margin-bottom: 18px !important;
    }

    .prize-benefits .section-heading h2 {
        font-size: clamp(1.65rem, 2.3vw, 2.2rem) !important;
    }

    .prize-benefits .section-heading > p,
    .prize-benefits .section-heading > div + p {
        font-size: .84rem !important;
    }

    .prize-cards {
        max-width: 1120px;
        gap: 14px !important;
        margin-inline: auto;
    }

    .prize-card {
        border-radius: 14px !important;
        box-shadow: 0 9px 22px rgba(3,21,45,.09) !important;
    }

    .prize-card img {
        aspect-ratio: 1.9 / 1 !important;
    }

    .prize-card > div:last-child {
        padding: 13px 18px 15px !important;
    }

    .prize-card span {
        font-size: .61rem !important;
    }

    .prize-card h3 {
        margin: 5px 0 !important;
        font-size: 1.28rem !important;
    }

    .prize-card p {
        font-size: .78rem !important;
        line-height: 1.42 !important;
    }

    .medal-symbol {
        min-height: 190px !important;
        font-size: 3.5rem !important;
    }
}

/* Premios: tabla más cálida y cercana */
.awards-section .awards-grid .table-wrap {
    overflow: hidden !important;
    border: 1px solid #a9c8d2 !important;
    border-radius: 18px !important;
    background: #f5fafb !important;
    box-shadow: 0 12px 28px rgba(3, 46, 72, .11) !important;
}

.awards-section .table-wrap .laptop-award-note {
    position: relative;
    padding: 18px 20px !important;
    border: 0 !important;
    background: linear-gradient(120deg, #eaf7fa 0%, #d5edf2 68%, #f9edbd 100%) !important;
}

.awards-section .table-wrap .laptop-award-note::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: #d4a72c;
}

.awards-section .table-wrap .laptop-award-note .eyebrow {
    color: #735300 !important;
}

.awards-section .table-wrap .laptop-award-note h2,
.awards-section .table-wrap .laptop-award-note p:last-child {
    color: #082e49 !important;
}

.awards-section .table-wrap .city-awards-note {
    margin: 0 !important;
    padding: 11px 20px !important;
    border: 0 !important;
    background: #fff1be !important;
    color: #4d3b08 !important;
}

.awards-section .table-wrap .city-awards-note strong {
    color: #745500 !important;
}

.awards-section .table-wrap table {
    border-collapse: separate !important;
    border-spacing: 0 6px !important;
    padding: 0 14px 12px !important;
    background: #f5fafb !important;
}

.awards-section .table-wrap thead th {
    border: 0 !important;
    background: #0d365d !important;
}

.awards-section .table-wrap thead th:first-child {
    border-radius: 10px 0 0 10px;
}

.awards-section .table-wrap thead th:last-child {
    border-radius: 0 10px 10px 0;
}

.awards-section .table-wrap tbody td {
    border-top: 1px solid #d7e4e8 !important;
    border-bottom: 1px solid #d7e4e8 !important;
    background: #fff !important;
}

.awards-section .table-wrap tbody tr:nth-child(even) td {
    background: #fdf9e9 !important;
}

.awards-section .table-wrap tbody td:first-child {
    border-left: 1px solid #d7e4e8 !important;
    border-radius: 10px 0 0 10px;
    color: #075f8a !important;
}

.awards-section .table-wrap tbody td:last-child {
    border-right: 1px solid #d7e4e8 !important;
    border-radius: 0 10px 10px 0;
    color: #334f60 !important;
}

/* Evita el separador oscuro entre las dos fichas del equipo. */
.profile-card + .profile-card {
    border-top: 0;
}

/* RECURSOS ACADÉMICOS - cajas más elegantes, sobrias y con esquinas rectas */
.resources-section .resource-year {
    padding: 18px 20px;
    gap: 14px;
    border: 1px solid rgba(12, 88, 139, .22) !important;
    border-left: 6px solid #0d6fa4 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(239,249,252,.94) 58%, rgba(225,242,248,.92) 100%) !important;
    box-shadow: 0 18px 36px rgba(2, 27, 55, .10) !important;
}

.resources-section .resource-item {
    min-height: 74px !important;
    border: 1px solid rgba(12, 88, 139, .22) !important;
    border-left: 4px solid rgba(18, 143, 194, .78) !important;
    border-radius: 0 !important;
    background:
        linear-gradient(90deg, #f8fdff 0%, #ecf7fb 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 8px 18px rgba(3, 37, 70, .055) !important;
}

.resources-section .resource-item:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(9, 105, 164, .42) !important;
    box-shadow: 0 14px 25px rgba(3, 37, 70, .12) !important;
}

.resources-section .resource-level strong {
    letter-spacing: -.01em !important;
}

.resources-section .resource-action {
    min-height: 43px !important;
    border-radius: 0 !important;
    box-shadow: 0 7px 14px rgba(3, 37, 70, .08) !important;
}

.resources-section .resource-action.exam {
    color: #07537f !important;
    border: 1px solid rgba(10, 95, 148, .28) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f2f9fc 100%) !important;
}

.resources-section .resource-action.answers {
    border: 1px solid rgba(5, 74, 120, .84) !important;
    background: linear-gradient(180deg, #0d6fa4 0%, #07537f 100%) !important;
}

/* LIBROS - solucionario oficial más compacto sin perder presencia de portada */
@media (min-width: 921px) {
    .books-page .featured-book {
        grid-template-columns: minmax(360px, .82fr) minmax(0, 1fr) !important;
        min-height: 392px !important;
        max-width: 1080px !important;
        margin-inline: auto !important;
    }

    .books-page .featured-book-image {
        min-height: 392px !important;
        padding: 4px 8px !important;
    }

    .books-page .featured-book-image img {
        width: min(104%, 520px) !important;
        max-height: 386px !important;
    }

    .books-page .featured-book-copy {
        padding: 24px 38px !important;
    }

    .books-page .featured-book-copy h2 {
        max-width: 500px !important;
        font-size: clamp(1.85rem, 2.45vw, 2.65rem) !important;
        line-height: 1.05 !important;
        margin-bottom: 14px !important;
    }

    .books-page .featured-book-copy p {
        margin-bottom: 12px !important;
        font-size: .98rem !important;
        line-height: 1.48 !important;
    }

    .books-page .featured-book-copy ul {
        margin: 0 0 17px !important;
        font-size: .95rem !important;
        line-height: 1.42 !important;
    }

    .books-page .featured-book-button {
        min-height: 46px !important;
        padding: 11px 21px !important;
    }
}

/* PREMIOS - franja informativa más clara y precisa */
.laptop-award-note {
    border-bottom: 1px solid rgba(28, 119, 166, .28) !important;
    background:
        linear-gradient(135deg, #e9f8fc 0%, #cdeff7 48%, #afddea 100%) !important;
    color: #05233d !important;
}

.laptop-award-note .eyebrow {
    color: #0a6696 !important;
}

.laptop-award-note h2 {
    color: #061f39 !important;
}

.laptop-award-note p:last-child {
    color: #06395d !important;
}

.city-awards-note {
    margin: 10px 0 0;
    padding: 13px 24px;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    background: linear-gradient(90deg, #123f63 0%, #195b82 100%);
    border-top: 1px solid rgba(112, 207, 235, .35);
    border-bottom: 1px solid rgba(5, 38, 65, .45);
    color: #eefaff;
    font: 800 clamp(.92rem, 1vw, 1.02rem)/1.45 "Manrope", Arial, sans-serif;
}

.city-awards-note strong {
    color: #8fe6ff;
}

.special-prize .eyebrow {
    color: #0a6696 !important;
}

/* PREMIOS - tabla y resumen lateral compactos */
@media (min-width: 921px) {
    .awards-section {
        padding: 24px 0 28px !important;
    }

    .awards-grid {
        grid-template-columns: minmax(0, 1fr) 260px !important;
        gap: 14px !important;
        max-width: 1180px;
        margin-inline: auto;
    }

    .awards-section .table-wrap {
        border: 1px solid #b8cbd3 !important;
        border-radius: 4px !important;
        background: #fff !important;
        box-shadow: 0 3px 10px rgba(3, 36, 61, .06) !important;
    }

    .awards-section .laptop-award-note {
        grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr) !important;
        gap: 16px !important;
        padding: 12px 16px !important;
        border-bottom: 1px solid #b8cbd3 !important;
        border-radius: 0 !important;
        background: #d8edf1 !important;
    }

    .awards-section .laptop-award-note .eyebrow {
        margin-bottom: 4px !important;
        font-size: .64rem !important;
    }

    .awards-section .laptop-award-note h2 {
        font-size: clamp(1.35rem, 1.8vw, 1.72rem) !important;
        line-height: 1.03 !important;
    }

    .awards-section .laptop-award-note p:last-child {
        font-size: .78rem !important;
        line-height: 1.42 !important;
    }

    .awards-section .city-awards-note {
        margin-top: 0 !important;
        padding: 8px 16px !important;
        border-radius: 0 !important;
        background: #16577a !important;
        font-size: .76rem !important;
        line-height: 1.4 !important;
    }

    .awards-section th {
        padding: 9px 15px !important;
        border-bottom: 1px solid #092d50 !important;
        background: #0d365d !important;
        font-size: .68rem !important;
    }

    .awards-section td {
        padding: 9px 15px !important;
        border-bottom: 1px solid #cbd9de !important;
        background: #fff !important;
        font-size: .8rem !important;
    }

    .awards-section tbody tr:nth-child(even) td {
        background: #f4f7f8 !important;
    }

    .awards-section tbody tr:last-child td {
        border-bottom: 0 !important;
    }

    .awards-section td:first-child {
        width: 124px !important;
    }

    .awards-section .special-prize {
        padding: 16px !important;
        border-radius: 14px !important;
        box-shadow: 0 10px 26px rgba(3, 36, 61, .08) !important;
    }

    .awards-section .special-prize .eyebrow {
        margin-bottom: 7px !important;
        font-size: .63rem !important;
    }

    .awards-section .special-prize h2 {
        margin: 0 0 10px !important;
        font-size: 1.65rem !important;
        line-height: 1.02 !important;
    }

    .awards-section .special-prize > p:not(.eyebrow) {
        margin: 0 !important;
        font-size: .78rem !important;
        line-height: 1.45 !important;
    }

    .awards-section .award-summary {
        gap: 5px !important;
        margin: 12px 0 0 !important;
    }

    .awards-section .award-summary li {
        padding: 7px 9px !important;
        border-radius: 7px !important;
        font-size: .75rem !important;
    }
}

/* LIBROS - tarjetas de entrenamiento más pequeñas, con la portada como protagonista */
@media (min-width: 921px) {
    .books-page .training-heading {
        max-width: 1040px !important;
        margin: 34px auto 16px !important;
    }

    .books-page .training-books {
        max-width: 1040px !important;
        margin-inline: auto !important;
        gap: 14px !important;
    }

    .books-page .book-card {
        border-radius: 12px !important;
        box-shadow: 0 12px 26px rgba(3, 24, 49, .10) !important;
    }

    .books-page .book-card img {
        height: 245px !important;
        padding: 5px !important;
        object-fit: contain !important;
    }

    .books-page .book-card > div {
        padding: 13px 16px 15px !important;
        border-top-width: 4px !important;
    }

    .books-page .book-card span {
        font-size: .6rem !important;
        letter-spacing: .13em !important;
    }

    .books-page .book-card h3 {
        margin: 5px 0 7px !important;
        font-size: 1.15rem !important;
        line-height: 1.08 !important;
    }

    .books-page .book-card p {
        font-size: .76rem !important;
        line-height: 1.34 !important;
    }

    .books-page .book-card .book-info-link {
        min-height: 32px !important;
        margin-top: 10px !important;
        padding: 0 14px !important;
        border-radius: 6px !important;
        font-size: .72rem !important;
        box-shadow: 0 4px 0 rgba(3, 39, 68, .58), 0 9px 18px rgba(3, 21, 45, .12) !important;
    }
}

@media (max-width: 920px) {
    .books-page .book-card img {
        height: 280px !important;
        padding: 5px !important;
    }

    .books-page .book-card > div {
        padding: 16px 18px !important;
    }
}

@media (max-width: 620px) {
    .books-page .book-card img {
        height: 320px !important;
    }
}

/* PREMIOS - ajuste final del bloque de laptop: más compacto y un poco más oscuro */
@media (min-width: 921px) {
    .prize-spotlight {
        padding: 10px 0 !important;
        background:
            radial-gradient(circle at 76% 36%, rgba(255,255,255,.22), transparent 30%),
            linear-gradient(135deg, #79adbd 0%, #a8ced9 50%, #5f98b1 100%) !important;
    }

    .prize-spotlight-grid {
        align-items: center !important;
    }

    .prize-showcase {
        display: grid !important;
        min-height: 420px !important;
        padding: 26px 76px !important;
        align-items: center !important;
    }

    .prize-showcase .prize-spotlight-image,
    .prize-spotlight-image {
        min-height: 330px !important;
    }

    .prize-spotlight-image .laptop-main {
        max-height: 286px !important;
    }

    
}

/* ==========================================================
   MÁS OLIMPIADAS
   ========================================================== */
.olympiads-hero {
    padding: 30px 0 28px;
}

.olympiads-hero .eyebrow {
    margin-bottom: 6px;
}

.olympiads-hero h1 {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
}

.olympiads-hero p:last-child {
    max-width: 780px;
    margin-top: 0;
    margin-bottom: 0;
}

@media (max-width: 620px) {
    .olympiads-hero {
        padding: 24px 0 22px;
    }

    .olympiads-hero h1 {
        font-size: 1.8rem;
    }
}

.olympiads-section {
    background:
        radial-gradient(circle at 8% 14%, rgba(56, 160, 207, .12), transparent 28%),
        linear-gradient(180deg, var(--cream) 0%, #f7fbfc 100%);
}

.olympiads-intro {
    max-width: 820px;
    margin-inline: auto;
    text-align: center;
}

.olympiads-intro > .eyebrow {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.olympiads-intro > p:last-child {
    margin-inline: auto;
    color: var(--muted);
    line-height: 1.7;
}

.olympiads-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
    align-items: stretch;
}

.olympiad-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 30px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(237, 246, 248, .94);
    box-shadow: var(--shadow);
}

.olympiad-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, var(--blue-500), var(--sky-300));
}

.olympiad-card--featured {
    background: linear-gradient(145deg, #edf8fa 0%, #ddecf3 100%);
}

.olympiad-card__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
}

.olympiad-card__number {
    color: rgba(14, 70, 118, .25);
    font-family: "Cormorant Garamond", serif;
    font-size: 3.2rem;
    font-weight: 800;
    line-height: .8;
}

.olympiad-card__tag {
    padding: 7px 12px;
    border: 1px solid rgba(23, 106, 161, .22);
    border-radius: 999px;
    background: rgba(216, 241, 248, .72);
    color: var(--navy-800);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.olympiad-card__symbol {
    position: absolute;
    top: 76px;
    right: 25px;
    color: rgba(56, 160, 207, .10);
    font: 800 8rem/1 "Cormorant Garamond", serif;
    pointer-events: none;
}

.olympiad-card .eyebrow {
    position: relative;
    margin-bottom: 8px;
}

.olympiad-card h3 {
    position: relative;
    max-width: 520px;
    margin: 0 0 16px;
    color: var(--navy-950);
    font-size: clamp(1.65rem, 2.6vw, 2.25rem);
    line-height: 1.08;
}

.olympiad-card > p:not(.eyebrow) {
    position: relative;
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.olympiad-card__details {
    position: relative;
    margin: 24px 0;
    padding: 20px;
    border: 1px solid rgba(185, 213, 225, .9);
    border-radius: 15px;
    background: rgba(255, 255, 255, .6);
}

.olympiad-card__details h4 {
    margin: 0 0 12px;
    color: var(--navy-900);
    font-size: 1rem;
}

.olympiad-card__details ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.olympiad-card__details li {
    position: relative;
    padding-left: 20px;
    color: #375b70;
    line-height: 1.5;
}

.olympiad-card__details li::before {
    content: "";
    position: absolute;
    top: .62em;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--blue-500);
}

.olympiad-levels li {
    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 10px;
}

.olympiad-levels span {
    color: var(--navy-800);
    font-weight: 850;
}

.olympiad-card__button {
    align-self: flex-start;
    margin-top: auto;
}

.olympiad-card__button span {
    margin-left: 6px;
    transition: transform .2s ease;
}

.olympiad-card__button:hover span {
    transform: translate(2px, -2px);
}

.olympiads-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
    align-items: center;
    margin-top: 30px;
    padding: 24px 28px;
    border-left: 5px solid var(--blue-500);
    border-radius: 0 var(--radius) var(--radius) 0;
    background: var(--navy-900);
    color: #fff;
    box-shadow: var(--shadow);
}

.olympiads-note .geometry-mark {
    color: var(--sky-300);
    font-size: 3.8rem;
}

.olympiads-note h2 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 1.45rem;
}

.olympiads-note p {
    max-width: 880px;
    margin: 0;
    color: #d5e9f2;
    line-height: 1.6;
}

@media (max-width: 920px) {
    .olympiads-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .olympiad-card {
        padding: 24px 20px;
    }

    .olympiad-card__symbol {
        font-size: 6rem;
    }

    .olympiad-levels li {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .olympiads-note {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 22px;
    }

    .olympiads-note .geometry-mark {
        font-size: 3rem;
    }
}

/* ==========================================================
   RECURSOS EN DOS COLUMNAS
   ========================================================== */

.resources-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(290px, .75fr);
    gap: 24px;
    max-width: 1220px;
    align-items: start;
}

.resources-exams {
    display: grid;
    min-width: 0;
    gap: 24px;
}

.resources-game-column {
    position: sticky;
    top: 96px;
    min-width: 0;
}

/* Exámenes de la izquierda */

.resources-exams .resource-year {
    grid-template-columns: 1fr;
}

.resources-exams .resource-year > div:first-child {
    padding: 0 0 8px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
}

.resources-exams .all-answers-link {
    grid-column: 1;
}

/* Tarjeta del juego */

.inca-game-card {
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
    border: 1px solid rgba(23, 106, 161, .22);
    border-radius: var(--radius);
    background: var(--navy-900);
    box-shadow: var(--shadow);
}

.inca-game-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center;
}

.inca-game-card__visual {
    position: relative;
    min-height: 230px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 74% 20%,
            rgba(247, 205, 108, .48),
            transparent 13%
        ),
        linear-gradient(
            155deg,
            #0e6387 0%,
            #3aa1b2 48%,
            #173f4e 49%,
            #082b3e 100%
        );
}

.inca-game-card__visual::before,
.inca-game-card__visual::after {
    content: "";
    position: absolute;
    bottom: -18%;
    width: 105%;
    height: 68%;
    background: rgba(3, 21, 45, .52);
    clip-path: polygon(
        0 100%,
        22% 48%,
        38% 69%,
        61% 10%,
        100% 100%
    );
}

.inca-game-card__visual::before {
    left: -32%;
}

.inca-game-card__visual::after {
    right: -40%;
    bottom: -28%;
    background: rgba(3, 21, 45, .78);
    transform: scaleX(-1);
}

.inca-game-card__sun {
    position: absolute;
    top: 36px;
    right: 46px;
    color: #f4ce75;
    font-size: 3.8rem;
    line-height: 1;
}

.inca-game-card__mountain {
    position: absolute;
    z-index: 2;
    top: 55px;
    left: 50%;
    color: rgba(234, 246, 250, .34);
    font: 800 9rem/1 "Cormorant Garamond", serif;
    transform: translateX(-50%);
}

.inca-game-card__path {
    position: absolute;
    z-index: 3;
    bottom: -45px;
    left: 50%;
    width: 82px;
    height: 195px;
    background: linear-gradient(
        90deg,
        #bf965b,
        #eed296 50%,
        #a9793f
    );
    transform:
        translateX(-50%)
        perspective(190px)
        rotateX(24deg);
    clip-path: polygon(
        43% 0,
        57% 0,
        100% 100%,
        0 100%
    );
}

.inca-game-card__content {
    display: flex;
    padding: 28px;
    flex-direction: column;
    color: #dcebf1;
}

.inca-game-card__content .eyebrow {
    margin-bottom: 8px;
    color: var(--sky-300);
}

.inca-game-card__content h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.8rem, 2.6vw, 2.45rem);
}

.inca-game-card__content > p:not(.eyebrow) {
    margin: 0;
    color: #c6dbe4;
    line-height: 1.65;
}

.inca-game-card__meta {
    display: flex;
    gap: 8px;
    margin: 20px 0;
    flex-wrap: wrap;
}

.inca-game-card__meta span {
    padding: 7px 10px;
    border: 1px solid rgba(130, 213, 237, .34);
    border-radius: 999px;
    color: #d9f1f7;
    background: rgba(56, 160, 207, .12);
    font-size: .75rem;
    font-weight: 800;
}

.inca-game-card__button {
    width: 100%;
    align-self: stretch;
    justify-content: center;
}

/* Tablet y celular */

@media (max-width: 920px) {
    .resources-layout {
        grid-template-columns: 1fr;
    }

    .resources-game-column {
        position: static;
    }

    .inca-game-card__visual {
        min-height: 260px;
    }
}

@media (max-width: 620px) {
    .inca-game-card__visual {
        min-height: 220px;
    }

    .inca-game-card__content {
        padding: 28px 22px;
    }
}

/* Header completo visible en celular */
@media (max-width: 920px) {
    .is-cover-page .site-header {
        display: block !important;
        position: relative !important;
    }

    .is-cover-page .event-strip {
        display: block !important;
    }

    .is-cover-page .event-strip-inner {
        display: flex !important;
        min-height: auto !important;
        padding: 8px 12px !important;
        flex-wrap: wrap !important;
        gap: 5px 10px !important;
        text-align: center !important;
        font-size: 0.7rem !important;
    }

    .is-cover-page .event-strip-inner b {
        padding-left: 0 !important;
        border-left: 0 !important;
        font-size: 0.68rem !important;
    }

    .is-cover-page .header-main {
        display: grid !important;
        width: 100% !important;
        min-height: auto !important;
        padding: 14px 16px !important;
        gap: 14px !important;
    }

    .is-cover-page .brand {
        display: flex !important;
        justify-content: center !important;
        order: 1 !important;
    }

    .is-cover-page .brand img {
        width: min(330px, 90%) !important;
        max-height: 78px !important;
        object-position: center !important;
    }

    .is-cover-page .header-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        gap: 10px !important;
        order: 2 !important;
    }

    .is-cover-page .header-date {
        display: grid !important;
        grid-column: 1 / -1 !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        border-left: 0 !important;
        text-align: center !important;
    }

    .is-cover-page .header-actions .button {
        display: inline-flex !important;
        width: 100% !important;
        min-height: 44px !important;
        padding: 10px !important;
        justify-content: center !important;
        font-size: 0.8rem !important;
    }

    .is-cover-page .main-nav {
        display: block !important;
    }

    .is-cover-page .main-nav ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        min-height: auto !important;
        gap: 0 !important;
        padding: 6px !important;
    }

    .is-cover-page .main-nav li {
        display: block !important;
        text-align: center !important;
    }

    .is-cover-page .main-nav a {
        display: block !important;
        padding: 11px 5px !important;
        color: #ffffff !important;
        font-size: 0.65rem !important;
        line-height: 1.25 !important;
    }

    .is-cover-page .menu-toggle {
        display: none !important;
    }

    body.is-cover-page {
        height: auto !important;
        min-height: 100vh !important;
        overflow-y: auto !important;
    }
}

/* Corregir colores del título de la portada en celular */
@media (max-width: 920px) {
    .is-cover-page .poster-copy h1,
    .is-cover-page #cover-title {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-shadow:
            0 3px 0 rgba(0, 8, 20, .9),
            0 8px 16px rgba(0, 0, 0, .45) !important;
    }

    .is-cover-page .poster-copy h1 span,
    .is-cover-page #cover-title span {
        color: #18c8f5 !important;
        -webkit-text-fill-color: #18c8f5 !important;
    }
}

/* Corregir texto descriptivo de la página de inscripción */
.registration-page-hero--compact .registration-hero-intro,
.registration-page-hero .registration-hero-intro {
    color: #365d75 !important;
    text-shadow: none !important;
}


/* Header móvil compacto */
@media (max-width: 920px) {
    .site-header .event-strip-inner {
        padding: 6px 8px !important;
        gap: 3px 8px !important;
        line-height: 1.25 !important;
    }

    .site-header .event-strip-inner strong,
    .site-header .event-strip-inner b {
        font-size: 0.62rem !important;
    }

    .site-header .header-main {
        display: grid !important;
        grid-template-columns: 1fr !important;;
        width: 100% !important;
        padding: 10px 14px !important;
        gap: 12px !important;
        align-items: center !important;
    }

    .site-header .brand {
        display: flex !important;
        width: 100% !important;
        justify-content: center !important;
        order: 1 !important;
    }

    .site-header .brand img {
        width: 100% !important;
        max-width: 310px !important;
        max-height: 76px !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .site-header .header-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        margin: 0 !important;
        gap: 7px !important;
        order: 2 !important;
    }

    /* Se oculta porque la fecha ya aparece en la franja superior */
    .site-header .header-date {
        display: none !important;
    }

    .site-header .header-actions .button {
        width: 100% !important;
        min-height: 36px !important;
        padding: 7px 5px !important;
        font-size: 0.68rem !important;
        line-height: 1.1 !important;
    }

    .site-header .main-nav ul {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        min-height: auto !important;
        padding: 5px !important;
        gap: 0 !important;
    }

    .site-header .main-nav a {
        display: flex !important;
        min-height: 42px !important;
        padding: 7px 3px !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0.55rem !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }
    
    .site-header .header-actions {
        display: none !important;
    }
}

@media (min-width: 921px) {
    .team-list {
        grid-auto-rows: auto !important;
    }

    .profile-card {
        height: 270px !important;
        min-height: 0 !important;
    }

    .profile-image {
        position: relative !important;
        height: 270px !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .profile-image img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    }
}


/* =========================================
   SALUDOS DE INVITADOS
========================================= */

.guest-videos-section {
    padding: 70px 0;
    background:
        radial-gradient(
            circle at top right,
            rgba(69, 171, 211, 0.13),
            transparent 38%
        ),
        #f4fafc;
}

.guest-videos-heading {
    max-width: 760px;
    margin: 0 auto 36px;
    text-align: center;
}

.guest-videos-heading .eyebrow {
    margin-bottom: 8px;
}

.guest-videos-heading h2 {
    margin: 0 0 14px;
    color: var(--navy-950);
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1.08;
}

.guest-videos-heading > p:last-child {
    margin: 0;
    color: #58788c;
    line-height: 1.7;
}

/* Cuatro tarjetas en una sola fila en computadoras */
.guest-videos-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    max-width: 1280px;
    margin: 0 auto;
    align-items: stretch;
}
.guest-video-card {
    display: flex;
    height: 100%;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid rgba(23, 106, 161, 0.16);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 16px 35px rgba(4, 36, 63, 0.1);
}

/* Ambos videos ocupan exactamente el mismo espacio */
.guest-video-media {
    position: relative;
    width: 100%;
    height: 280px;
    overflow: hidden;
    flex-shrink: 0;
    background: #001b33;
}

.guest-video-media iframe,
.guest-video-media video {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0;
    border: 0;
    aspect-ratio: auto !important;
}

/* Mantiene completo el MP4 sin cortarlo */
.guest-video-media video {
    background: #001b33;
    object-fit: contain;
}

/* Texto inferior */
.guest-video-info {
    display: flex;
    flex: 1;
    padding: 20px 22px 23px;
    flex-direction: column;
    justify-content: flex-start;
    text-align: center;
}

.guest-video-info h3 {
    margin: 0 0 7px;
    color: var(--navy-950);
    font-size: 1.25rem;
}

.guest-video-info p {
    margin: 0;
    color: #58788c;
    line-height: 1.55;
}

/* Diseño para celular */
@media (max-width: 700px) {
    .guest-videos-section {
        padding: 50px 0;
    }

    .guest-videos-heading {
        margin-bottom: 28px;
    }

    .guest-videos-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        max-width: 430px;
    }

    .guest-video-media {
        height: 240px;
    }

    .guest-video-info {
        padding: 18px 18px 21px;
    }
}

.guest-videos-heading .eyebrow {
    display: block;
    width: 100%;
    margin: 0 auto 8px;
    text-align: center;
}

/* =========================================
   SOLO LOS DOS SOLUCIONARIOS
========================================= */

/* Introducción horizontal */
.solution-books-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    max-width: 1040px;
    margin: 0 auto 25px;
    align-items: end;
    text-align: left;
}

.solution-books-title {
    min-width: 0;
}

.solution-books-title .eyebrow {
    margin: 0 0 12px;
}

.solution-books-title h1 {
    max-width: 520px;
    margin: 0;
    color: var(--navy-950);
    font-size: clamp(2.2rem, 3.5vw, 3.4rem);
    line-height: 1.05;
}

.solution-books-description {
    max-width: 520px;
    margin: 0;
    color: #4d6d80;
    line-height: 1.65;
}

/* Cuadrícula de los dos solucionarios */
.solution-books-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
}

/* Tarjeta individual */
.solution-book-card {
    display: flex;
    width: 100%;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid rgba(23, 106, 161, 0.18);
    border-radius: 14px;
    background: rgba(239, 248, 250, 0.94);
    box-shadow: 0 12px 26px rgba(3, 24, 49, 0.1);
}

/* Imagen del solucionario */
.solution-book-image {
    display: grid;
    width: 100%;
    height: 360px;
    padding: 8px;
    place-items: center;
    background: linear-gradient(155deg, #cbe8f2, #eef9fb);
}

.solution-book-image img {
    display: block;
    width: 100%;
    height: 100%;
    transform: scale(1.08);
    object-fit: contain;
    filter: drop-shadow(0 14px 16px rgba(3, 21, 45, 0.22));
}

/* Información */
.solution-book-copy {
    display: flex;
    flex: 1;
    padding: 15px 17px 18px;
    flex-direction: column;
    align-items: flex-start;
    border-top: 4px solid var(--blue-500);
}

.solution-book-copy > span {
    color: var(--blue-700);
    font: 800 0.62rem "Outfit", Arial, sans-serif;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.solution-book-copy h2 {
    margin: 6px 0 9px;
    color: var(--navy-950);
    font-size: 1.2rem;
    line-height: 1.12;
}

.solution-book-copy p {
    margin: 0 0 14px;
    color: #4d6d80;
    font-size: 0.78rem;
    line-height: 1.45;
}

/* Botón de compra */
.solution-book-copy .featured-book-button {
    width: fit-content;
    min-height: 36px;
    margin-top: auto;
    padding: 8px 14px;
    border-width: 1px;
    border-radius: 7px;
    font-size: 0.72rem;
}

/* Celular */
@media (max-width: 700px) {
    .solution-books-intro {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 24px;
    }

    .solution-books-title h1,
    .solution-books-description {
        max-width: none;
    }

    .solution-books-grid {
        grid-template-columns: 1fr;
        width: 100%;
        max-width: 430px;
    }

    .solution-book-card {
        width: 100%;
    }

    .solution-book-image {
        height: 350px;
        padding: 0;
        overflow: hidden;
    }

    .solution-book-image img {
        width: 100%;
        height: 100%;
        transform: scale(1.75);
        object-fit: contain;
    }
}

/* Cuarto video debajo, centrado y sin recortarse */
.facebook-video-card {
    grid-column: 1 / -1;
    width: 500px;
    max-width: 100%;
    justify-self: center;
}

.guest-video-media.facebook-reel {
    width: 500px;
    max-width: 100%;
    height: 280px;
    overflow: hidden;
}

.guest-video-media.facebook-reel iframe {
    display: block;
    width: 500px !important;
    max-width: 100% !important;
    height: 280px !important;
    border: 0;
}

/* Adaptación para celular */
@media (max-width: 700px) {
    .facebook-video-card {
        grid-column: auto;
        width: 100%;
    }

    .guest-video-media.facebook-reel,
    .guest-video-media.facebook-reel iframe {
        width: 100% !important;
        height: 240px !important;
    }
}

/* Niveles en una sola línea */
@media (min-width: 921px) {
    .resources-section .resource-item {
        display: grid !important;
        grid-template-columns: minmax(110px, 1fr) auto !important;
        gap: 10px !important;
        padding: 17px 20px !important;
        align-items: center !important;
    }

    .resources-section .resource-level {
        min-width: 0;
    }

    .resources-section .resource-level small {
        white-space: nowrap !important;
        font-size: 0.72rem !important;
    }

    .resources-section .resource-actions {
        display: flex !important;
        gap: 10px !important;
        flex-shrink: 0;
    }

    .resources-section .resource-action {
        padding: 11px 16px !important;
        white-space: nowrap !important;
    }
}



/* RESULTADOS 2026 */
.results-hero {
    color: #fff;
    background: linear-gradient(110deg, #062844 0%, #0a5079 68%, #167ca0 100%);
    padding: 20px 0 18px;
}

/* MÁS OLIMPIADAS - versión compacta con logos oficiales */
.olympiads-hero { padding: 20px 0 18px; }
.olympiads-hero h1 { margin-bottom: 6px; font-size: clamp(1.7rem, 2.6vw, 2.35rem); }
.olympiads-hero p:last-child { font-size: .9rem; }
.olympiads-section.section { padding: 24px 0 32px; }
.olympiads-intro { max-width: 760px; margin-bottom: 20px; }
.olympiads-intro h2 { margin-bottom: 7px; font-size: clamp(1.55rem, 2.4vw, 2rem); }
.olympiads-intro > p:last-child { font-size: .86rem; line-height: 1.5; }
.olympiads-grid { gap: 18px; }
.olympiad-card { padding: 20px; border-radius: 16px; box-shadow: 0 12px 30px rgba(6, 49, 77, .09); }
.olympiad-card__top { margin-bottom: 12px; }
.olympiad-card__number { font-size: 2.35rem; }
.olympiad-card__tag { padding: 5px 10px; font-size: .68rem; }
.olympiad-card__logo { display: grid; place-items: center; height: 116px; margin: 0 0 13px; padding: 8px; overflow: hidden; border: 1px solid rgba(185, 213, 225, .78); border-radius: 12px; background: #fff; }
.olympiad-card__logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.olympiad-card__logo--wide img { max-width: 390px; }
.olympiad-card .eyebrow { margin-bottom: 5px; font-size: .69rem; }
.olympiad-card h3 { margin-bottom: 9px; font-size: clamp(1.4rem, 2vw, 1.75rem); line-height: 1.12; }
.olympiad-card > p:not(.eyebrow) { font-size: .83rem; line-height: 1.48; }
.olympiad-card__details { margin: 13px 0; padding: 12px 14px; border-radius: 11px; }
.olympiad-card__details h4 { margin-bottom: 6px; font-size: .86rem; }
.olympiad-card__details ul { gap: 5px; }
.olympiad-card__details li { padding-left: 16px; font-size: .76rem; line-height: 1.38; }
.olympiad-card__button { min-height: 39px; padding: 8px 14px; font-size: .78rem; }
.olympiads-note { gap: 14px; margin-top: 18px; padding: 14px 18px; border-left-width: 4px; border-radius: 0 14px 14px 0; box-shadow: 0 10px 28px rgba(6, 49, 77, .1); }
.olympiads-note .geometry-mark { font-size: 2.35rem; }
.olympiads-note h2 { margin-bottom: 3px; font-size: 1.12rem; }
.olympiads-note p { font-size: .8rem; line-height: 1.42; }

@media (max-width: 620px) {
    .olympiads-hero { padding: 17px 0 15px; }
    .olympiads-section.section { padding: 20px 0 26px; }
    .olympiad-card { padding: 16px; }
    .olympiad-card__logo { height: 104px; }
}

/* Resultados: rediseño elegante del panel completo de filtros */
.results-section .results-toolbar {
    position: relative;
    grid-template-columns: minmax(360px, .95fr) minmax(430px, 1.05fr) !important;
    align-items: end !important;
    gap: 22px 30px !important;
    padding: 27px 25px 22px !important;
    overflow: hidden !important;
    border: 1px solid rgba(8, 43, 71, .24) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #fffdf8 0%, #f6f3eb 56%, #eef3f4 100%) !important;
    box-shadow: 0 14px 34px rgba(5, 39, 64, .15) !important;
}

.results-section .results-toolbar::before {
    content: "" !important;
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #9d7415 0%, #efd77d 48%, #b18420 100%);
}

.results-section .results-toolbar-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding-right: 0 !important;
}

.results-section .results-toolbar-heading h2 {
    max-width: 480px !important;
    color: #071f36 !important;
    font-size: clamp(1.65rem, 2.15vw, 2.08rem) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    text-shadow: none !important;
}

.results-section .results-city-count {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    flex: 0 0 auto;
    width: auto !important;
    min-width: 98px !important;
    height: 44px !important;
    padding: 0 13px !important;
    gap: 6px !important;
    border: 1px solid #c9a447 !important;
    border-radius: 999px !important;
    background: linear-gradient(145deg, #0b3554, #061f36) !important;
    box-shadow: 0 6px 14px rgba(5, 31, 52, .18) !important;
    transform: none !important;
}

.results-section .results-city-count strong {
    color: #f4d979 !important;
    font: 700 1.3rem/1 "Cormorant Garamond", Georgia, serif !important;
}

.results-section .results-city-count span {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: .61rem !important;
    letter-spacing: .02em;
}

.results-section .results-search-wrap label,
.results-section .results-filters label {
    margin-bottom: 7px !important;
    color: #263846 !important;
    font-size: .7rem !important;
    font-weight: 800 !important;
    letter-spacing: .11em !important;
}

.results-section .results-search,
.results-section .results-filters select {
    min-height: 47px !important;
    border: 1px solid #c7c5bc !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 4px 11px rgba(7, 37, 58, .07) !important;
}

.results-section .results-search {
    padding-inline: 14px !important;
}

.results-section .results-search span {
    color: #a27616 !important;
}

.results-section .results-search input,
.results-section .results-filters select {
    color: #102b3d !important;
    font-size: .86rem !important;
}

.results-section .results-search input::placeholder {
    color: #6c767b !important;
}

.results-section .results-filters {
    grid-column: 1 / -1 !important;
    gap: 18px !important;
}

.results-section .results-search:hover,
.results-section .results-filters select:hover {
    border-color: #a8873c !important;
    box-shadow: 0 7px 16px rgba(8, 40, 61, .1) !important;
    transform: translateY(-1px) scale(1.003) !important;
}

.results-section .results-search:focus-within,
.results-section .results-filters select:focus,
.results-section .results-filters select:focus-visible {
    border-color: #8c6818 !important;
    outline: 1px solid rgba(8, 36, 57, .7) !important;
    outline-offset: 1px !important;
    box-shadow: 0 0 0 3px rgba(199, 158, 58, .14) !important;
}

@media (max-width: 900px) {
    .results-section .results-toolbar {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 24px 21px 20px !important;
    }

    .results-section .results-toolbar-heading,
    .results-section .results-search-wrap,
    .results-section .results-filters {
        grid-column: 1 !important;
    }
}

/* Resultados: prevalece la versión compacta final */
.results-section .results-toolbar {
    grid-template-columns: minmax(245px, 1.05fr) minmax(300px, 1.2fr) minmax(390px, 1.45fr) !important;
    align-items: end !important;
    gap: 15px !important;
    padding: 16px 18px 15px !important;
    border: 1px solid rgba(5, 66, 96, .72) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #d5e9ed 0%, #c4e0e6 55%, #dcebef 100%) !important;
    box-shadow: 0 12px 27px rgba(4, 39, 61, .23) !important;
}

.results-section .results-toolbar::before {
    height: 4px !important;
    background: linear-gradient(90deg, #a9770d 0%, #f1d16c 48%, #087ca4 100%) !important;
}

.results-section .results-toolbar-heading {
    display: block !important;
    padding: 0 5px 5px 3px !important;
}

.results-section .results-toolbar-heading h2 {
    max-width: 350px !important;
    margin: 0 !important;
    color: #062b49 !important;
    font-size: clamp(1.42rem, 1.7vw, 1.75rem) !important;
    line-height: 1.08 !important;
}

.results-section .results-search-wrap label,
.results-section .results-filters label {
    margin-bottom: 5px !important;
    color: #063c5b !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    letter-spacing: .1em !important;
}

.results-section .results-search,
.results-section .results-filters select {
    min-height: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(8, 105, 142, .38) !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 10px rgba(5, 48, 72, .08) !important;
}

.results-section .results-filters {
    grid-column: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

@media (max-width: 1050px) {
    .results-section .results-toolbar {
        grid-template-columns: minmax(250px, .9fr) minmax(320px, 1.1fr) !important;
    }

    .results-section .results-filters { grid-column: 1 / -1 !important; }
}

@media (max-width: 700px) {
    .results-section .results-toolbar {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 15px !important;
    }

    .results-section .results-toolbar-heading,
    .results-section .results-search-wrap,
    .results-section .results-filters { grid-column: 1 !important; }

    .results-section .results-filters {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}

/* Resultados: panel compacto, visible y coordinado */
.results-section .results-toolbar {
    grid-template-columns: minmax(245px, 1.05fr) minmax(300px, 1.2fr) minmax(390px, 1.45fr) !important;
    align-items: end !important;
    gap: 15px !important;
    padding: 16px 18px 15px !important;
    border: 1px solid rgba(8, 73, 105, .55) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #eef9fb 0%, #e3f3f6 55%, #f8fbfa 100%) !important;
    box-shadow: 0 11px 25px rgba(5, 46, 70, .16) !important;
}

.results-section .results-toolbar::before {
    height: 4px !important;
    background: linear-gradient(90deg, #a9770d 0%, #f1d16c 48%, #087ca4 100%) !important;
}

.results-section .results-toolbar-heading {
    display: block !important;
    min-width: 0;
    padding: 0 5px 5px 3px !important;
}

.results-section .results-toolbar-heading h2 {
    max-width: 350px !important;
    margin: 0 !important;
    color: #062b49 !important;
    font-size: clamp(1.42rem, 1.7vw, 1.75rem) !important;
    line-height: 1.08 !important;
}

.results-section .results-search-wrap label,
.results-section .results-filters label {
    margin-bottom: 5px !important;
    color: #063c5b !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    letter-spacing: .1em !important;
}

.results-section .results-search,
.results-section .results-filters select {
    min-height: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(8, 105, 142, .38) !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 10px rgba(5, 48, 72, .08) !important;
}

.results-section .results-search {
    padding-inline: 13px !important;
}

.results-section .results-search span {
    color: #b68112 !important;
}

.results-section .results-search input,
.results-section .results-filters select {
    color: #082f4b !important;
    font-size: .86rem !important;
}

.results-section .results-filters {
    grid-column: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.results-section .results-search:hover,
.results-section .results-filters select:hover {
    border-color: #aa7a17 !important;
    box-shadow: 0 6px 14px rgba(5, 53, 78, .13) !important;
    transform: translateY(-1px) !important;
}

.results-section .results-search:focus-within,
.results-section .results-filters select:focus,
.results-section .results-filters select:focus-visible {
    border-color: #08779e !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(8, 126, 165, .16) !important;
}

@media (max-width: 1050px) {
    .results-section .results-toolbar {
        grid-template-columns: minmax(250px, .9fr) minmax(320px, 1.1fr) !important;
    }

    .results-section .results-filters {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 700px) {
    .results-section .results-toolbar {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 15px !important;
    }

    .results-section .results-toolbar-heading,
    .results-section .results-search-wrap,
    .results-section .results-filters {
        grid-column: 1 !important;
    }

    .results-section .results-filters {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}

@media (max-width: 620px) {
    .results-section .results-toolbar {
        padding: 22px 16px 17px !important;
        border-radius: 13px !important;
    }

    .results-section .results-toolbar-heading {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 11px !important;
    }

    .results-section .results-filters {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }
}

/* Libros: centrado vertical final de las portadas */
@media (min-width: 701px) {
    .books-page .solution-book-image {
        position: relative !important;
        display: block !important;
    }

    .books-page .solution-book-image img {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: auto !important;
        height: 88% !important;
        max-width: 90% !important;
        max-height: 88% !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: center !important;
        transform: translate(-50%, -50%) !important;
    }
}

/* Resultados: variante más luminosa y tipografía contemporánea */
.results-section .results-toolbar {
    border-color: #399bb8 !important;
    background: linear-gradient(105deg, #0a3f61 0%, #0d6282 48%, #1593b3 100%) !important;
    box-shadow: 0 10px 22px rgba(4, 62, 86, .22) !important;
}

.results-section .results-toolbar-heading {
    border-left-color: #9ceaf4;
}

.results-section .results-toolbar-heading h2 {
    color: #ffffff !important;
    font-family: "Outfit", Arial, sans-serif !important;
    font-size: clamp(1.28rem, 1.5vw, 1.55rem) !important;
    font-weight: 700 !important;
    letter-spacing: -.015em;
    line-height: 1.12 !important;
}

.results-section .results-toolbar .results-search-wrap > label,
.results-section .results-toolbar .results-filters label {
    color: #e6f8fb !important;
    font-family: "Outfit", Arial, sans-serif !important;
    letter-spacing: .075em !important;
}

.results-section .results-toolbar .results-search,
.results-section .results-toolbar .results-filters select {
    border-color: #a4dce7 !important;
    background-color: #e7f4f6 !important;
}

/* Edición 2026: collage más pequeño con fotografías completas */
@media (min-width: 981px) {
    .edition-memory-collage {
        width: min(100%, 650px);
        height: 360px;
        justify-self: end;
        align-self: center;
        transform: none;
    }

    .edition-memory-collage img {
        object-fit: contain;
        object-position: center;
    }

    .edition-memory-collage figure {
        border-width: 2px;
        border-radius: 14px;
        background: #0b3a56;
    }
}

/* Resultados: controles suaves y tipografía delicada */
.results-section .results-toolbar-heading {
    padding-left: 0 !important;
    border-left: 0 !important;
}

.results-section .results-toolbar-heading h2 {
    font-family: "Manrope", Arial, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
}

.results-section .results-toolbar .results-search-wrap > label,
.results-section .results-toolbar .results-filters label {
    font-family: "Manrope", Arial, sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: .055em !important;
}

.results-section .results-toolbar .results-search,
.results-section .results-toolbar .results-filters select {
    border-radius: 999px !important;
}

.results-section .results-toolbar .results-search input,
.results-section .results-toolbar .results-filters select {
    font-family: "Manrope", Arial, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.results-section .results-toolbar .results-filters select {
    padding-left: 16px !important;
}

.results-section .results-toolbar .results-search input::placeholder {
    font-weight: 500 !important;
}

/* ==========================================================
   RESPONSIVE FINAL DEL SITIO
   Ventanas medianas, tabletas y teléfonos
   ========================================================== */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

img,
video,
iframe {
    max-width: 100%;
}

@media (max-width: 1100px) {
    .container {
        width: min(100% - 36px, 1220px);
    }

    .header-main {
        min-height: 118px;
        gap: 20px;
    }

    .brand img {
        width: min(350px, 38vw);
        height: auto;
    }

    .results-section .results-toolbar {
        grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.2fr) !important;
        gap: 12px 18px !important;
    }

    .results-section .results-filters {
        grid-column: 1 / -1 !important;
    }

    .solution-books-grid,
    .authors-equal-grid,
    .guest-videos-grid,
    .olympiads-grid {
        min-width: 0;
    }
}

@media (max-width: 900px) {
    .header-main {
        min-height: 0;
        padding-block: 14px;
    }

    .brand {
        width: 100%;
        order: 1;
        text-align: center;
    }

    .brand img {
        width: min(310px, 58vw);
    }

    .header-actions {
        width: 100%;
        order: 2;
        justify-content: center;
    }

    .main-nav ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .results-section .results-toolbar {
        grid-template-columns: 1fr !important;
    }

    .results-section .results-toolbar-heading,
    .results-section .results-search-wrap,
    .results-section .results-filters {
        grid-column: 1 !important;
    }

    .authors-equal-grid .author-catalog-card {
        grid-template-columns: minmax(210px, .72fr) minmax(0, 1fr);
    }

    .edition-memory-hero,
    .edition-memory-hero-grid {
        height: auto !important;
        min-height: 0 !important;
    }

    .edition-memory-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .edition-memory-copy {
        padding: 0;
        text-align: center;
    }

    .edition-memory-collage {
        width: min(100%, 680px);
        height: 390px;
        min-height: 0;
        margin-inline: auto;
        transform: none;
    }
}

@media (max-width: 700px) {
    .container {
        width: min(100% - 24px, 1220px);
    }

    .section {
        padding-block: 38px;
    }

    .event-strip-inner {
        min-height: 36px;
        padding-block: 6px;
        line-height: 1.25;
    }

    .header-main {
        padding-block: 10px;
    }

    .header-actions {
        display: flex;
        gap: 8px;
    }

    .header-actions .button {
        min-height: 42px;
        padding: 10px 16px;
        font-size: .78rem;
    }

    .brand img {
        width: min(270px, 76vw);
        max-height: 76px;
        object-fit: contain;
    }

    .main-nav ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
        padding: 7px 10px;
    }

    .main-nav a {
        min-height: 42px;
        padding: 7px 6px;
        line-height: 1.2;
        white-space: normal;
    }

    .hero {
        aspect-ratio: 16 / 9;
    }

    .hero-slide img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .results-section {
        padding: 14px 0 28px;
    }

    .results-section .results-toolbar {
        gap: 12px !important;
        padding: 15px 13px !important;
        border-radius: 8px !important;
    }

    .results-section .results-toolbar-heading {
        display: block;
        padding: 0 !important;
    }

    .results-section .results-toolbar-heading h2 {
        font-size: 1.25rem !important;
        line-height: 1.18 !important;
    }

    .results-section .results-filters {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .results-section .results-search,
    .results-section .results-filters select {
        width: 100%;
        min-height: 44px !important;
        height: 44px !important;
    }

    .results-summary {
        gap: 5px 14px;
        flex-wrap: wrap;
    }

    .results-table-wrap {
        border-radius: 10px;
    }

    .results-table tr {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 10px;
    }

    .results-table td {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .authors-catalog-heading,
    .authors-equal-grid .author-catalog-card,
    .author-profile-preview {
        grid-template-columns: 1fr !important;
    }

    .authors-equal-grid .author-catalog-card {
        display: flex;
        padding: 14px;
        flex-direction: column;
    }

    .authors-equal-grid .author-profile-preview {
        grid-row: auto;
    }

    .authors-equal-grid .author-photo-placeholder {
        width: 92px;
        height: 92px;
    }

    .authors-equal-grid .author-books-carousel .author-book-placeholder {
        grid-template-columns: minmax(88px, 110px) minmax(0, 1fr);
    }

    .authors-equal-grid .author-book-copy p,
    .authors-equal-grid .author-current-bio {
        text-align: left !important;
    }

    .solution-books-grid,
    .featured-book,
    .training-books,
    .guest-videos-grid,
    .olympiads-grid,
    .prize-spotlight-grid,
    .awards-grid,
    .purpose-grid,
    .footer-grid {
        grid-template-columns: 1fr !important;
    }

    .solution-book-image,
    .featured-book-image {
        min-height: 340px !important;
    }

    .books-page .solution-book-image img {
        position: static !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: contain !important;
        transform: none !important;
    }

    .edition-memory-hero {
        padding: 34px 0 30px;
    }

    .edition-memory-copy h1 {
        font-size: clamp(2.45rem, 12vw, 3.7rem);
    }

    .edition-memory-lead {
        margin-block: 16px 0;
        line-height: 1.55;
    }

    .edition-memory-collage {
        height: 330px;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1.25fr .75fr;
        gap: 7px;
    }

    .edition-memory-gallery {
        padding: 24px 0 44px;
    }

    .edition-memory-heading {
        margin-bottom: 10px;
    }

    .edition-memory-heading h2 {
        font-size: clamp(1.8rem, 9vw, 2.45rem);
    }

    .edition-city-selector {
        width: 100%;
        margin-bottom: 10px;
        justify-content: flex-start;
    }

    .edition-memory-slides {
        min-height: clamp(310px, 105vw, 460px);
    }

    .edition-memory-slide figcaption {
        padding: 16px;
    }

    .edition-memory-slide figcaption p {
        display: none;
    }

    .edition-memory-arrow-prev {
        left: 6px;
    }

    .edition-memory-arrow-next {
        right: 6px;
    }

    .sponsors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contest-chat {
        right: 8px;
        bottom: 8px;
    }
}

@media (max-width: 460px) {
    body {
        font-size: 15px;
    }

    .container {
        width: min(100% - 18px, 1220px);
    }

    .event-strip-inner strong {
        font-size: .64rem;
    }

    .header-actions .button {
        flex: 1 1 0;
        min-width: 0;
        padding-inline: 9px;
        text-align: center;
    }

    .main-nav a {
        font-size: .64rem;
    }

    .hero {
        aspect-ratio: 4 / 3;
    }

    .slider-control,
    .gallery-arrow,
    .edition-memory-arrow {
        width: 38px;
        height: 38px;
    }

    .results-table tr {
        grid-template-columns: 1fr;
    }

    .results-table td,
    .results-table td:nth-child(2),
    .results-table td:nth-child(5) {
        grid-column: 1;
    }

    .results-toolbar .results-search input,
    .results-toolbar .results-filters select {
        font-size: .82rem !important;
    }

    .authors-equal-grid .author-profile-preview {
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 11px;
    }

    .authors-equal-grid .author-photo-placeholder {
        width: 76px;
        height: 76px;
    }

    .authors-equal-grid .author-books-carousel .author-book-placeholder {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .authors-equal-grid .author-book-cover {
        min-height: 145px;
    }

    .edition-memory-collage {
        height: 280px;
    }

    .edition-memory-slides {
        min-height: 330px;
        border-width: 3px;
    }

    .edition-memory-slide figcaption span {
        font-size: 1.75rem;
    }

    .edition-city-selector button {
        min-height: 38px;
    }

    .chat-panel {
        right: 0;
        width: calc(100vw - 16px);
    }
}

/* Libros: centrado vertical exacto de las portadas */
@media (min-width: 701px) {
    .books-page .solution-book-image {
        position: relative !important;
        display: block !important;
    }

    .books-page .solution-book-image img {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: auto !important;
        height: 88% !important;
        max-width: 90% !important;
        max-height: 88% !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: center !important;
        transform: translate(-50%, -50%) !important;
    }
}

/* Pie de página: firma del equipo más compacta y elegante */
.site-footer .footer-emblem {
    align-self: stretch;
    align-content: end;
    padding-top: 18px;
}

.site-footer .footer-development {
    position: relative;
    top: 12px;
    width: min(100%, 230px);
    padding-top: 8px;
}

.site-footer .footer-development strong {
    margin-bottom: 4px;
    font-size: .66rem;
    letter-spacing: .13em;
}

.site-footer .footer-development p {
    margin: 0;
    color: #f2f6f8;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: .86rem;
    font-weight: 650;
    line-height: 1.15;
}

.site-footer .footer-development p + p {
    margin-top: 7px;
}

.site-footer .footer-development p b,
.site-footer .footer-development p span {
    display: block;
}

.site-footer .footer-development p b {
    margin-bottom: 2px;
    color: var(--sky-300);
    font-family: "Manrope", Arial, sans-serif;
    font-size: .61rem;
    font-weight: 800;
    line-height: 1.25;
}

.site-footer .footer-development p span {
    color: #f2f6f8;
}

/* Más olimpiadas: proporción natural y encuadre completo de los logos */
.olympiads-section .olympiad-card__logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 150px !important;
    padding: 14px 22px !important;
    overflow: hidden;
}

.olympiads-section .olympiad-card__logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 122px !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center !important;
}

.olympiads-section .olympiad-card__logo:not(.olympiad-card__logo--wide) img {
    max-width: 122px !important;
}

.olympiads-section .olympiad-card__logo--wide img {
    max-width: min(100%, 360px) !important;
    max-height: 112px !important;
}

/* Ganadores: franja dorada más compacta en vertical */
.results-section .laptop-winners {
    margin-top: 24px !important;
    padding: 14px 24px 18px !important;
}

.results-section .laptop-winners::before {
    inset: -10px -25px !important;
}

.results-section .laptop-winners-heading {
    align-items: center !important;
    margin-bottom: 10px !important;
    padding-bottom: 9px !important;
}

.results-section .laptop-winners-heading .eyebrow {
    margin-bottom: 3px !important;
    padding: 4px 10px !important;
}

.results-section .laptop-winners-heading h2 {
    margin-top: 0 !important;
    line-height: 1.05 !important;
}

@media (max-width: 620px) {
    .results-section .laptop-winners {
        margin-top: 20px !important;
        padding: 13px 15px 15px !important;
    }

    .results-section .laptop-winners::before {
        inset: -8px -12px !important;
    }
}

@media (max-width: 620px) {
    .olympiads-section .olympiad-card__logo {
        height: 132px !important;
        padding: 12px 18px !important;
    }

    .olympiads-section .olympiad-card__logo img {
        max-height: 106px !important;
    }

    .olympiads-section .olympiad-card__logo:not(.olympiad-card__logo--wide) img {
        max-width: 106px !important;
    }

    .olympiads-section .olympiad-card__logo--wide img {
        max-height: 92px !important;
    }
}

.results-hero-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.results-hero .eyebrow { color: #8feaff; }
.results-hero h1 { margin: 2px 0 4px; color: #fff; font-size: clamp(1.9rem, 3.5vw, 3rem); }
.results-hero p:last-child { max-width: 680px; margin: 0; color: #d9edf4; font-size: .95rem; }
.results-hero-mark { display: grid; place-items: center; flex: 0 0 78px; width: 78px; height: 78px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(255,255,255,.07); }
.results-hero-mark strong { font: 700 2.35rem/1 'Cormorant Garamond', serif; }
.results-hero-mark span { margin-top: -18px; color: #ccebf4; font-size: .78rem; font-weight: 700; }

.results-section { min-height: 600px; padding: 20px 0 34px; background: linear-gradient(180deg, #add3dc 0%, #c8dfe4 100%); }
.results-toolbar { position: relative; display: grid; grid-template-columns: minmax(280px, 1fr) minmax(320px, .8fr); gap: 9px 22px; padding: 15px 18px; overflow: hidden; border: 2px solid #226f87; border-radius: 15px; background: linear-gradient(125deg, #4f91a4 0%, #72b6c4 50%, #acd9df 100%); box-shadow: 0 12px 26px rgba(8,55,77,.3), inset 0 1px 0 rgba(255,255,255,.34); }
.results-toolbar::before { content: none; }
.results-toolbar-heading { position: relative; padding-right: 92px; }
.results-toolbar-heading .eyebrow { color: #102f3a; font-weight: 900; }
.results-toolbar-heading h2 { margin: 1px 0 2px; color: #101820; font-size: clamp(1.6rem, 2.35vw, 2.1rem); text-shadow: 0 1px 0 rgba(255,255,255,.28); }
.results-toolbar-heading > p:last-of-type { margin: 0; color: #263d45; font-size: .86rem; font-weight: 600; }
.results-city-count { position: absolute; top: 50%; right: clamp(95px, 17vw, 250px); display: grid; place-items: center; width: 72px; height: 72px; border: 2px solid #164f66; border-radius: 50%; background: #276f84; color: #fff; box-shadow: 0 6px 14px rgba(5,48,67,.24); transform: translateY(-50%); }
.results-city-count strong { font: 700 1.75rem/1 'Cormorant Garamond', serif; }
.results-city-count span { margin-top: -13px; color: #eefbff; font-size: .59rem; font-weight: 800; }
.results-toolbar .results-search-wrap > label,
.results-toolbar .results-filters label { color: #17262c; font-weight: 900; }
.results-toolbar .results-search,
.results-toolbar .results-filters select { border-color: #4f8b9a; background: #b8d5db; box-shadow: 0 4px 10px rgba(8,55,77,.13); }
.results-search-wrap > label, .results-filters label { display: block; margin: 0 0 7px; color: #174664; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.results-search { display: flex; align-items: center; min-height: 39px; padding: 0 11px; border: 1px solid #b9d4dd; border-radius: 10px; background: #fff; transform-origin: center; transition: transform .2s ease, border-color .2s, box-shadow .2s; }
.results-search:hover { transform: scale(1.012); box-shadow: 0 6px 14px rgba(8,55,77,.14); }
.results-search:focus-within { border-color: #168bb8; box-shadow: 0 0 0 3px rgba(22,139,184,.12), 0 6px 14px rgba(8,55,77,.14); transform: scale(1.012); }
.results-search span { color: #14779d; font-size: 1.35rem; }
.results-search input { width: 100%; padding: 9px 10px; border: 0; outline: 0; background: transparent; color: #101820; font: 600 .9rem 'Manrope', sans-serif; }
.results-search input::placeholder { color: #52656c; opacity: 1; }
.results-search button { border: 0; background: transparent; color: #55778a; font-size: 1.4rem; cursor: pointer; }
.results-filters { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(200px, 1fr)); gap: 14px; }
.results-filters select { width: 100%; min-height: 37px; padding: 0 34px 0 11px; border: 1px solid #b9d4dd; border-radius: 9px; background: #f8fbfc; color: #101820; font: 800 .82rem 'Manrope', sans-serif; transform-origin: center; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.results-filters select:hover { transform: scale(1.012); box-shadow: 0 6px 14px rgba(8,55,77,.14); cursor: pointer; }
.results-filters select:focus,
.results-filters select:focus-visible { outline: 1px solid #17262c; outline-offset: 0; border-color: #17262c; box-shadow: 0 6px 14px rgba(8,55,77,.14); transform: scale(1.012); }
.results-status { display: flex; align-items: center; justify-content: space-between; width: min(100%, 1180px); margin: 0 auto; padding: 13px 6px 8px; color: #55778a; font-size: .87rem; }
.results-status p { display: flex; gap: 14px; align-items: center; margin: 0; }
.results-status strong { color: #075c88; }
.results-status span { padding-left: 14px; border-left: 1px solid #a9cfdb; }
.results-table-wrap { width: min(100%, 1180px); margin: 0 auto; overflow: hidden; border: 1px solid #c3dbe2; border-radius: 15px; background: rgba(255,255,255,.9); box-shadow: 0 10px 28px rgba(3,55,87,.06); }
.results-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.results-table thead { color: #fff; background: #07365f; }
.results-table th { padding: 8px 8px; text-align: left; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }
.results-table td { padding: 6px 8px; border-bottom: 1px solid #dbe8ec; color: #244d64; font-size: .75rem; vertical-align: middle; }
.results-table th:nth-child(1) { width: 10%; }
.results-table th:nth-child(2) { width: 32%; }
.results-table th:nth-child(3) { width: 7%; }
.results-table th:nth-child(4) { width: 9%; }
.results-table th:nth-child(5) { width: 19%; }
.results-table th:nth-child(6) { width: 9%; }
.results-table th:nth-child(7) { width: 14%; }
.results-table tbody tr { transition: background .2s; }
.results-table tbody tr:hover { background: #edfaff; }
.results-table tbody tr:last-child td { border-bottom: 0; }
.results-table td:nth-child(2) strong { display: block; color: #082d49; font-size: .84rem; }
.results-table td small { display: block; margin-top: 3px; color: #7893a1; }
.result-position { display: inline-flex; align-items: center; justify-content: center; min-width: 41px; min-height: 25px; border-radius: 7px; background: #e5f2f5; color: #087096; font-size: .72rem; font-weight: 800; }
.result-top-1 .result-position { background: #ffe9a7; color: #845d00; }
.result-top-2 .result-position { background: #e4edf2; color: #49616d; }
.result-top-3 .result-position { background: #f4dfce; color: #8a4c24; }
.result-score { color: #086c99; font-size: 1.05rem; }
.result-award { display: inline-block; padding: 6px 9px; border-radius: 7px; background: #dff0e9; color: #12684c; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.result-award-star { background: #fff0b8; color: #7a5700; }
.result-award-muted { color: #7893a1; font-size: .78rem; }
.results-empty { padding: 65px 20px; text-align: center; color: #638294; }
.results-empty strong { color: #082d49; font: 700 1.6rem 'Cormorant Garamond', serif; }
.results-empty p { margin-bottom: 0; }
.results-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 15px 0; }
.results-pagination button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 104px; padding: 8px 14px; border: 1px solid rgba(69,139,164,.34); border-radius: 999px; background: rgba(255,255,255,.72); color: #12678a; font-size: .78rem; font-weight: 700; cursor: pointer; box-shadow: 0 3px 10px rgba(5,65,94,.04); transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.results-pagination button:hover:not(:disabled) { border-color: #5ba9c3; background: #fff; color: #064d70; transform: translateY(-1px); }
.results-pagination button:disabled { opacity: .35; cursor: default; box-shadow: none; }
.results-pagination button span { color: #2693b6; font-size: 1rem; font-weight: 500; line-height: 1; transition: transform .2s ease; }
.results-pagination button:first-child:hover:not(:disabled) span { transform: translateX(-2px); }
.results-pagination button:last-child:hover:not(:disabled) span { transform: translateX(2px); }
.results-pagination > span { min-width: 104px; color: #587989; font-size: .8rem; font-weight: 600; text-align: center; }
.results-criteria { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.results-criteria > div { display: flex; align-items: center; gap: 13px; padding: 14px 17px; border-radius: 13px; color: #dff7ff; background: #0a3b60; font-size: .84rem; }
.results-criteria p { margin: 0; line-height: 1.5; }
.results-criteria strong { display: block; color: #fff; }
.results-criteria-icon { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: #258faf; color: #fff; font-size: .8rem; font-weight: 900; }

.laptop-winners { position: relative; z-index: 0; isolation: isolate; margin: 32px 18px 18px; padding: 24px; overflow: visible; border: 1px solid #d5b24c; border-radius: 17px; background: linear-gradient(135deg, #fffef9 0%, #fffaf0 100%); box-shadow: 0 12px 28px rgba(91,64,0,.16); }
.laptop-winners::before { content: ''; position: absolute; z-index: -1; inset: -15px -25px; border-radius: 8px; background: linear-gradient(115deg, #98700b 0%, #d6aa2b 18%, #f6dc7b 42%, #c79416 68%, #f0cf62 86%, #98700b 100%); clip-path: polygon(0 13%, 5% 0, 95% 0, 100% 13%, 97% 50%, 100% 87%, 95% 100%, 5% 100%, 0 87%, 3% 50%); box-shadow: 0 15px 28px rgba(90,60,0,.22); }
.laptop-winners::after { content: '✦  ·  ✦'; position: absolute; top: 22px; right: 24px; color: rgba(145,101,0,.38); font-size: 1.3rem; letter-spacing: .16em; pointer-events: none; }
.laptop-winners-heading { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 16px; padding-bottom: 13px; border-bottom: 1px solid #d8ba5b; }
.laptop-winners-heading .eyebrow { display: inline-block; margin-bottom: 5px; padding: 6px 12px; border: 1px solid #c99a18; border-radius: 999px; background: linear-gradient(90deg, #d7a928, #f7d870 55%, #c99a18); color: #513900; box-shadow: 0 3px 9px rgba(125,88,0,.16); letter-spacing: .07em; }
.laptop-winners-heading h2 { margin: 2px 0 0; color: #072844; font-size: clamp(1.6rem, 2.5vw, 2.15rem); }
.laptop-winners-heading > p { position: relative; z-index: 1; max-width: 390px; margin: 0; color: #243b4d; font-size: .82rem; font-weight: 700; text-align: right; }
.laptop-winners-list { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.laptop-winner-card { position: relative; min-width: 0; padding: 18px 15px 15px; overflow: hidden; border: 1px solid #c8a038; border-radius: 14px; background: linear-gradient(160deg, #fffefa 0%, #fff8df 100%); box-shadow: 0 6px 15px rgba(108,77,0,.11); transition: transform .55s cubic-bezier(.2,.8,.25,1), opacity .45s ease, box-shadow .2s ease; transition-delay: var(--winner-delay, 0ms); }
.laptop-winner-card:nth-child(odd) { transform: rotate(-.25deg); }
.laptop-winner-card:nth-child(even) { transform: rotate(.25deg); }
.laptop-winner-card:hover { transform: translateY(-3px) rotate(0); box-shadow: 0 10px 20px rgba(7,62,88,.14); }
.laptop-winner-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, #a97808, #f5d66b 48%, #b8870b); }
.laptop-winner-card::after { content: none; }
.laptop-winner-level { display: inline-block; margin-bottom: 10px; padding: 4px 9px; border: 1px solid #ddc16a; border-radius: 999px; background: #f6e8b4; color: #604500; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.laptop-winner-card h3 { margin: 0; color: #082b47; font: 800 1rem/1.25 'Manrope', sans-serif; }
.laptop-winner-card > p { min-height: 34px; margin: 5px 0 10px; color: #6b6454; font-size: .72rem; line-height: 1.4; }
.laptop-winner-message { display: block; margin: -4px 0 10px; color: #7c5700; font-size: .72rem; font-weight: 800; }
.laptop-winner-card > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 10px; border-top: 1px solid #ddc87c; color: #635c4d; font-size: .7rem; }
.laptop-winner-card > div strong { padding: 4px 8px; border: 1px solid #d0a52b; border-radius: 999px; background: linear-gradient(90deg, #d9ad32, #f7dc7d); color: #4f3700; white-space: nowrap; }

@media (min-width: 901px) {
    .laptop-winner-card {
        display: grid;
        grid-template-rows: 34px 52px 42px 28px auto;
        align-items: start;
    }

    .laptop-winner-level,
    .laptop-winner-card h3,
    .laptop-winner-card > p,
    .laptop-winner-message {
        margin: 0;
    }

    .laptop-winner-level {
        justify-self: start;
    }

    .laptop-winner-card > p {
        min-height: 0;
        padding-top: 3px;
    }

    .laptop-winner-message {
        align-self: center;
    }

    .laptop-winner-card > div {
        width: 100%;
        align-self: end;
        box-sizing: border-box;
    }
}
.winner-animation-ready .laptop-winner-card { opacity: 0; transform: translateY(-75px) scale(.96); }
.winner-animation-ready .laptop-winner-card.is-visible:nth-child(odd) { opacity: 1; transform: translateY(0) rotate(-.25deg) scale(1); }
.winner-animation-ready .laptop-winner-card.is-visible:nth-child(even) { opacity: 1; transform: translateY(0) rotate(.25deg) scale(1); }
.winner-animation-ready .laptop-winner-card.is-visible:hover { transform: translateY(-3px) rotate(0) scale(1); transition-delay: 0ms; }

@media (prefers-reduced-motion: reduce) {
    .laptop-winner-card { transition: none; }
    .results-search,
    .results-filters select { transition: none; }
    .results-search:hover,
    .results-search:focus-within,
    .results-filters select:hover,
    .results-filters select:focus { transform: none; }
}

@media (max-width: 900px) {
    .laptop-winners { margin-inline: 12px; }
    .laptop-winners::before { inset: -10px -14px; }
    .results-toolbar { grid-template-columns: 1fr; }
    .results-search-wrap, .results-filters { grid-column: auto; }
    .results-table thead { display: none; }
    .results-table, .results-table tbody, .results-table tr, .results-table td { display: block; width: 100%; }
    .results-table tr { display: grid; grid-template-columns: repeat(2, 1fr); padding: 14px; border-bottom: 1px solid #cfe5eb; }
    .results-table td { padding: 8px 10px; border: 0; }
    .results-table td::before { content: attr(data-label); display: block; margin-bottom: 3px; color: #71909f; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .results-table td:nth-child(2), .results-table td:nth-child(5) { grid-column: 1 / -1; }
    .laptop-winners-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .results-hero { padding: 30px 0; }
    .results-hero-mark { display: none; }
    .results-toolbar { padding: 22px 18px; border-radius: 20px; }
    .results-filters, .results-criteria { grid-template-columns: 1fr; }
    .results-status p { align-items: flex-start; flex-direction: column; gap: 4px; }
    .results-status span { padding-left: 0; border-left: 0; }
    .results-table tr { grid-template-columns: 1fr 1fr; }
    .results-pagination { gap: 8px; }
    .results-pagination button { min-width: auto; }
    .laptop-winners { padding: 16px; }
    .laptop-winners-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
    .laptop-winners-heading > p { text-align: left; }
    .laptop-winners-list { grid-template-columns: 1fr; }
    .results-toolbar-heading { padding-right: 0; }
    .results-city-count { position: static; display: inline-flex; width: auto; height: auto; gap: 5px; margin-top: 10px; padding: 5px 10px; border-radius: 999px; transform: none; }
    .results-city-count strong { font: 800 .85rem 'Manrope', sans-serif; }
    .results-city-count span { margin: 0; font-size: .65rem; }
}

/* RECURSOS ACADÉMICOS - versión compacta y elegante */
@media (min-width: 921px) {
    .resources-section.section {
        padding: 22px 0 30px !important;
    }

    .resources-layout {
        grid-template-columns: minmax(0, 1fr) 340px !important;
        gap: 20px !important;
        max-width: 1220px !important;
        margin-inline: auto;
    }

    .resources-exams {
        gap: 14px !important;
    }

    .resources-section .resource-year {
        padding: 13px 15px !important;
        gap: 11px !important;
        border-left-width: 4px !important;
        border-radius: 13px !important;
        box-shadow: 0 9px 24px rgba(3, 37, 70, .075) !important;
    }

    .resources-exams .resource-year > div:first-child {
        display: flex;
        align-items: baseline;
        gap: 14px;
        padding: 0 0 9px !important;
    }

    .resources-section .resource-year > div > span {
        font-size: 2rem !important;
    }

    .resources-section .resource-year > div:first-child h2 {
        margin: 0 !important;
        font-size: 1.35rem !important;
    }

    .resources-section .resource-links {
        gap: 7px !important;
    }

    .resources-section .resource-item {
        min-height: 58px !important;
        padding: 9px 11px !important;
        border-left-width: 3px !important;
        border-radius: 9px !important;
        box-shadow: 0 4px 12px rgba(3, 37, 70, .045) !important;
    }

    .resources-section .resource-item:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 8px 18px rgba(3, 37, 70, .09) !important;
    }

    .resources-section .resource-level strong {
        font-size: .91rem !important;
    }

    .resources-section .resource-level small {
        font-size: .65rem !important;
    }

    .resources-section .resource-actions {
        gap: 6px !important;
    }

    .resources-section .resource-action {
        min-height: 35px !important;
        padding: 7px 10px !important;
        border-radius: 7px !important;
        font-size: .72rem !important;
        box-shadow: 0 4px 10px rgba(3, 37, 70, .06) !important;
    }

    .resources-section .all-answers-link {
        min-height: 46px !important;
        padding: 10px 14px !important;
        border-radius: 9px !important;
    }

    .resources-section .all-answers-link span,
    .resources-section .all-answers-link strong {
        font-size: .76rem !important;
    }

    .resources-section .inca-game-card {
        border: 1px solid rgba(91, 207, 235, .5) !important;
        border-radius: 17px !important;
        box-shadow: 0 16px 34px rgba(3, 37, 70, .22), 0 0 0 4px rgba(76, 190, 220, .08) !important;
    }

    .resources-section .inca-game-card__image {
        aspect-ratio: 16 / 10 !important;
    }

    .resources-section .inca-game-card__content {
        padding: 20px !important;
    }

    .resources-section .inca-game-card__content .eyebrow {
        margin-bottom: 5px !important;
        font-size: .62rem !important;
    }

    .resources-section .inca-game-card__content h2 {
        margin-bottom: 10px !important;
        font-size: 1.75rem !important;
        line-height: 1.08 !important;
    }

    .resources-section .inca-game-card__content > p:not(.eyebrow) {
        font-size: .86rem !important;
        line-height: 1.45 !important;
    }

    .resources-section .inca-game-card__meta {
        gap: 5px !important;
        margin: 11px 0 !important;
    }

    .resources-section .inca-game-card__meta span {
        padding: 5px 7px !important;
        font-size: .62rem !important;
    }

    .resources-section .inca-game-card__button {
        min-height: 46px !important;
        padding: 10px 16px !important;
        font-size: .88rem !important;
    }
}

/* Libros: solucionarios completos dentro de una vista de escritorio */
@media (min-width: 921px) {
    .books-page .solution-books-grid {
        gap: 16px;
    }

    .books-page .solution-book-image {
        height: clamp(245px, 37vh, 290px);
        padding: 5px;
    }

    .books-page .solution-book-image img {
        transform: scale(1.03);
        filter: drop-shadow(0 10px 13px rgba(3, 21, 45, .18));
    }

    .books-page .solution-book-copy {
        min-height: 118px;
        padding: 11px 15px 13px;
        border-top-width: 3px;
    }

    .books-page .solution-book-copy h2 {
        margin: 4px 0 7px;
        font-size: 1.03rem;
        line-height: 1.08;
    }

    .books-page .solution-book-copy .featured-book-button {
        width: fit-content;
        min-width: 0;
        min-height: 32px !important;
        padding: 7px 11px !important;
        border: 1px solid #0a6689;
        border-radius: 999px;
        background: #0a6689;
        box-shadow: none;
        color: #ffffff;
        font-size: .75rem;
        font-weight: 700;
        line-height: 1;
        letter-spacing: .01em;
    }

    .books-page .solution-book-copy .featured-book-button:hover {
        border-color: #084f70;
        background: #084f70;
        box-shadow: none;
        color: #ffffff;
        transform: translateY(-1px);
    }
}

/* Nosotros: bloque de bienvenida compacto */
@media (min-width: 921px) {
    .welcome-section {
        min-height: 310px !important;
    }

    .welcome-grid {
        width: min(calc(100% - 100px), 1180px) !important;
        min-height: 330px !important;
        padding: 12px 0 18px !important;
        grid-template-columns: minmax(0, 1fr) minmax(270px, .36fr) !important;
        gap: 22px !important;
    }

    .welcome-content {
        padding: 8px 0 !important;
        grid-template-columns: minmax(280px, .75fr) minmax(380px, 1.25fr) !important;
        gap: 22px !important;
    }

    .welcome-photo,
    .welcome-photo img {
        width: 100% !important;
        height: 290px !important;
        min-height: 290px !important;
    }

    .welcome-photo {
        border-radius: 18px !important;
    }

    .welcome-photo figcaption {
        left: 15px !important;
        bottom: 13px !important;
        font-size: .66rem !important;
    }

    .welcome-copy {
        transform: none !important;
    }

    .welcome-copy .eyebrow {
        margin-bottom: 6px !important;
    }

    .welcome-content h1 {
        max-width: 520px !important;
        margin-bottom: 10px !important;
        font-size: clamp(1.9rem, 2.45vw, 2.55rem) !important;
        line-height: 1.02 !important;
    }

    .welcome-content .lead {
        max-width: 510px !important;
        margin-bottom: 0 !important;
        font-size: .9rem !important;
        line-height: 1.5 !important;
    }

    .about-highlight {
        width: 100% !important;
        max-width: 300px !important;
        padding: 15px 17px !important;
        border-radius: 15px !important;
    }

    .about-highlight h2 {
        margin-bottom: 6px !important;
        font-size: clamp(1.35rem, 1.55vw, 1.65rem) !important;
        line-height: 1.04 !important;
    }

    .about-highlight > p:not(.eyebrow):not(.about-call) {
        margin-bottom: 8px !important;
        font-size: .76rem !important;
        line-height: 1.38 !important;
    }

    .welcome-stats .about-levels {
        padding: 8px 10px !important;
        border-radius: 9px !important;
    }

.about-call {
        margin-top: 8px !important;
        font-size: .76rem !important;
    }
}

/* Recursos: datos informativos planos y CTA principal destacado */
.resources-section .inca-game-card__meta {
    align-items: center;
    gap: 0 !important;
    color: #bfd9e5;
}

.resources-section .inca-game-card__meta span {
    position: relative;
    padding: 0 11px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #c7dfe9 !important;
    font-size: .72rem !important;
    font-weight: 650 !important;
    line-height: 1.35;
}

.resources-section .inca-game-card__meta span:first-child {
    padding-left: 0 !important;
}

.resources-section .inca-game-card__meta span + span {
    border-left: 1px solid rgba(199, 223, 233, .45) !important;
}

.resources-section .inca-game-card__button {
    min-height: 50px !important;
    border: 1px solid #ffe9a1 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #ffe477 0%, #f5c43f 52%, #e6aa1f 100%) !important;
    box-shadow: 0 10px 24px rgba(229, 170, 31, .34), inset 0 1px 0 rgba(255, 255, 255, .72) !important;
    color: #082b47 !important;
    font-size: .96rem !important;
    font-weight: 900 !important;
    letter-spacing: .01em;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

.resources-section .inca-game-card__button:hover {
    transform: translateY(-2px) scale(1.015);
    filter: brightness(1.06);
    box-shadow: 0 14px 30px rgba(229, 170, 31, .46), inset 0 1px 0 rgba(255, 255, 255, .8) !important;
}

.resources-section .inca-game-card__button:focus-visible {
    outline: 3px solid #ffffff !important;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .resources-section .inca-game-card__button {
        transition: none !important;
    }

    .resources-section .inca-game-card__button:hover {
        transform: none;
    }
}

/* Resultados: panel de filtros más limpio y ligero */
.results-section .results-toolbar {
    border: 1px solid rgba(26, 111, 140, .58) !important;
    background:
        radial-gradient(circle at 82% 18%, rgba(105, 205, 224, .22), transparent 34%),
        linear-gradient(135deg, rgba(239, 249, 251, .98) 0%, rgba(207, 234, 240, .98) 100%) !important;
    box-shadow: 0 12px 28px rgba(7, 55, 76, .16) !important;
}

.results-section .results-toolbar-heading .eyebrow {
    color: #08739a !important;
}

.results-section .results-toolbar-heading h2 {
    color: #061d32 !important;
    text-shadow: none !important;
}

.results-section .results-toolbar-heading > p:last-of-type {
    color: #3f6270 !important;
    font-weight: 550 !important;
}

.results-section .results-toolbar .results-search-wrap > label,
.results-section .results-toolbar .results-filters label {
    color: #102f3d !important;
}

.results-section .results-toolbar .results-search,
.results-section .results-toolbar .results-filters select {
    border-color: rgba(35, 116, 143, .38) !important;
    background: rgba(255, 255, 255, .88) !important;
    box-shadow: 0 4px 12px rgba(8, 55, 77, .08) !important;
}

.results-section .results-toolbar .results-search:hover,
.results-section .results-toolbar .results-filters select:hover {
    border-color: #2785a3 !important;
    box-shadow: 0 7px 16px rgba(8, 55, 77, .13) !important;
}

.results-section .results-city-count {
    border: 1px solid rgba(255, 255, 255, .42) !important;
    background: linear-gradient(145deg, #175e78, #278aa4) !important;
    box-shadow: 0 7px 16px rgba(5, 48, 67, .22) !important;
}

/* Ganadores: encabezado limpio, sin estrellas decorativas */
.results-section .laptop-winners::after {
    content: none !important;
}

/* Libros: maqueta del catálogo de tres autores */
.authors-catalog-preview {
    width: min(100%, 1180px);
    margin: 54px auto 8px;
}

.authors-catalog-heading {
    display: block;
    margin-bottom: 24px;
    text-align: center;
}

.authors-catalog-heading .eyebrow {
    grid-column: 1 / -1;
    margin: 0;
}

.authors-catalog-heading h2 {
    margin: 0;
    color: var(--navy-950);
    font-size: clamp(2rem, 3.3vw, 3rem);
    line-height: 1.04;
}

.authors-catalog-heading > p:last-child {
    margin: 0;
    color: #4d6d80;
    font-size: .92rem;
    line-height: 1.5;
}

.author-catalog-card {
    margin-bottom: 22px;
    padding: 20px;
    border: 1px solid rgba(23, 106, 161, .2);
    border-radius: 20px;
    background: rgba(245, 251, 252, .9);
    box-shadow: 0 14px 32px rgba(3, 35, 58, .09);
}

.author-profile-preview {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 18px;
    margin-bottom: 18px;
    align-items: center;
}

.author-photo-placeholder {
    display: grid;
    width: 108px;
    height: 108px;
    place-content: center;
    border: 1px dashed #4c9ab4;
    border-radius: 50%;
    background: linear-gradient(145deg, #d5edf2, #edf8fa);
    color: #176c8b;
    text-align: center;
}

.author-photo-placeholder span {
    font-weight: 900;
}

.author-photo-placeholder small {
    font-size: .72rem;
}

.author-number,
.author-book-copy > span:first-child {
    color: #08739a;
    font: 800 .7rem "Outfit", Arial, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.author-profile-copy h3 {
    margin: 3px 0 5px;
    color: var(--navy-950);
    font-size: 1.55rem;
}

.author-profile-copy p {
    max-width: 740px;
    margin: 0 0 9px;
    color: #4d6d80;
    line-height: 1.5;
}

.author-contact-placeholder,
.book-contact-placeholder {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 7px;
    background: #dceff3;
    color: #155d77;
    font-size: .73rem;
    font-weight: 800;
}

.author-books-preview {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.author-book-placeholder {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(23, 106, 161, .17);
    border-radius: 13px;
    background: #fff;
}

.author-book-cover {
    display: grid;
    height: 150px;
    place-items: center;
    border-bottom: 1px dashed rgba(23, 106, 161, .35);
    background: linear-gradient(145deg, #deeff3, #f4fafb);
    color: #4d8194;
    font-size: .78rem;
    font-weight: 800;
}

.author-book-copy {
    padding: 11px;
}

.author-book-copy h4 {
    margin: 4px 0;
    color: var(--navy-950);
    font-size: 1rem;
    line-height: 1.15;
}

.author-book-copy p {
    min-height: 35px;
    margin: 0 0 9px;
    color: #617f8e;
    font-size: .75rem;
    line-height: 1.35;
}

@media (max-width: 1000px) {
    .author-books-preview {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .authors-catalog-heading {
        grid-template-columns: 1fr;
    }

    .authors-catalog-heading .eyebrow {
        grid-column: auto;
    }

    .author-catalog-card {
        padding: 15px;
    }

    .author-profile-preview {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 13px;
    }

    .author-photo-placeholder {
        width: 78px;
        height: 78px;
    }

    .author-books-preview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 430px) {
    .author-books-preview {
        grid-template-columns: 1fr;
    }
}

/* Pie de página: crédito del equipo de desarrollo */
.footer-emblem {
    align-content: center;
    gap: 12px;
}

.footer-development {
    width: min(100%, 215px);
    padding-top: 11px;
    border-top: 1px solid rgba(118, 218, 242, .26);
    text-align: center;
}

.footer-development strong {
    display: block;
    margin-bottom: 6px;
    color: var(--sky-300);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.footer-development p {
    margin: 2px 0;
    color: #dce9ee;
    font-size: .7rem;
    line-height: 1.35;
}

/* Resultados: contador de ciudades rectangular */
.results-section .results-city-count {
    display: flex !important;
    width: auto !important;
    height: 48px !important;
    min-width: 104px;
    padding: 0 14px !important;
    gap: 6px;
    border-radius: 11px !important;
    align-items: center;
    justify-content: center;
}

.results-section .results-city-count strong {
    font: 700 1.45rem/1 "Cormorant Garamond", serif !important;
}

.results-section .results-city-count span {
    margin: 0 !important;
    font-size: .65rem !important;
}

/* Recursos: crédito de autoría del juego */
.resources-section .inca-game-card__content .inca-game-card__credit {
    margin: 9px 0 0 !important;
    color: #c7dfe9 !important;
    font-size: .74rem !important;
    line-height: 1.35 !important;
}

.resources-section .inca-game-card__credit strong {
    color: #ffffff;
    font-weight: 850;
}

/* Libros: mantener las portadas dentro de su área sin invadir el contenido */
.books-page .solution-book-image {
    position: relative;
    overflow: hidden !important;
}

.books-page .solution-book-image img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    transform: none !important;
    object-fit: contain !important;
    object-position: center !important;
}

.books-page .solution-book-copy {
    position: relative;
    z-index: 1;
    background: rgba(239, 248, 250, .98);
}

/* Libros: tres autores con el mismo protagonismo y carruseles independientes */
.authors-equal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.authors-equal-grid .author-catalog-card {
    display: flex;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 17px;
    flex-direction: column;
}

.authors-equal-grid .author-profile-preview {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 13px;
    margin-bottom: 14px;
    align-items: start;
}

.authors-equal-grid .author-photo-placeholder {
    width: 82px;
    height: 82px;
}

.authors-equal-grid .author-profile-copy h3 {
    margin: 0 0 7px;
    font-size: 1.25rem;
}

.authors-equal-grid .author-profile-copy p {
    display: -webkit-box;
    margin-bottom: 7px;
    overflow: hidden;
    color: #587584;
    font-size: .76rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.author-books-title-row {
    display: flex;
    margin: 3px 0 8px;
    padding-top: 11px;
    justify-content: space-between;
    border-top: 1px solid rgba(23, 106, 161, .14);
    color: #164e68;
    font-size: .76rem;
}

.author-books-title-row strong {
    letter-spacing: .08em;
    text-transform: uppercase;
}

.author-books-title-row span {
    color: #698894;
    font-weight: 750;
}

.author-books-carousel {
    min-width: 0;
}

.author-books-carousel .author-book-placeholder {
    display: grid;
    grid-template-columns: minmax(105px, .78fr) minmax(0, 1fr);
    min-height: 190px;
}

.author-books-carousel .author-book-placeholder[hidden] {
    display: none;
}

.author-books-carousel .author-book-cover {
    height: 100%;
    min-height: 190px;
    border-right: 1px dashed rgba(23, 106, 161, .35);
    border-bottom: 0;
}

.author-books-carousel .author-book-copy {
    display: flex;
    padding: 13px;
    flex-direction: column;
}

.author-books-carousel .author-book-copy p {
    min-height: auto;
}

.author-books-carousel .book-contact-placeholder {
    margin-top: auto;
}

.author-carousel-controls {
    display: grid;
    grid-template-columns: 34px 1fr 34px;
    gap: 8px;
    margin-top: 10px;
    align-items: center;
}

.author-carousel-controls button {
    display: grid;
    width: 34px;
    height: 32px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(23, 106, 161, .28);
    border-radius: 8px;
    background: #e7f4f7;
    color: #0c6385;
    font-size: 1rem;
    font-weight: 900;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease;
}

.author-carousel-controls button:hover {
    background: #cfeaf0;
    transform: translateY(-1px);
}

.author-carousel-controls button:focus-visible {
    outline: 2px solid #147fa6;
    outline-offset: 2px;
}

.author-carousel-dots {
    display: flex;
    gap: 5px;
    justify-content: center;
}

.author-carousel-dots i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #b8d4dc;
}

.author-carousel-dots i.is-active {
    width: 16px;
    border-radius: 99px;
    background: #147fa6;
}

@media (max-width: 1050px) {
    .authors-equal-grid {
        grid-template-columns: 1fr;
    }

    .authors-equal-grid .author-catalog-card {
        display: grid;
        grid-template-columns: minmax(250px, .75fr) minmax(320px, 1fr);
        gap: 0 18px;
    }

    .authors-equal-grid .author-profile-preview {
        grid-row: 1 / span 3;
        margin: 0;
    }
}

@media (max-width: 700px) {
    .authors-equal-grid .author-catalog-card {
        display: flex;
    }

    .authors-books-carousel .author-book-placeholder,
    .author-books-carousel .author-book-placeholder {
        grid-template-columns: 105px minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .author-carousel-controls button {
        transition: none;
    }
}

/* Libros: mayor escala y controles de carrusel evidentes */
.authors-catalog-preview {
    width: min(100%, 1320px);
}

.authors-equal-grid {
    gap: 20px;
}

.authors-equal-grid .author-catalog-card {
    padding: 21px;
    border-radius: 22px;
}

.authors-equal-grid .author-profile-preview {
    grid-template-columns: 98px minmax(0, 1fr);
    gap: 16px;
    margin-bottom: 17px;
}

.authors-equal-grid .author-photo-placeholder {
    width: 98px;
    height: 98px;
    font-size: 1.05rem;
}

.authors-equal-grid .author-profile-copy h3 {
    font-size: 1.38rem;
}

.authors-equal-grid .author-profile-copy p {
    font-size: .82rem;
}

.author-books-title-row {
    margin-bottom: 9px;
    font-size: .82rem;
}

.author-carousel-controls {
    grid-template-columns: 42px 1fr 42px;
    gap: 10px;
    margin: 0 0 10px;
    padding: 7px 9px;
    border: 1px solid rgba(23, 106, 161, .18);
    border-radius: 11px;
    background: #e4f2f6;
}

.author-carousel-controls button {
    width: 42px;
    height: 38px;
    border-color: #0b6385;
    border-radius: 9px;
    background: linear-gradient(145deg, #0b7198, #075779);
    box-shadow: 0 5px 11px rgba(6, 61, 88, .2);
    color: #ffffff;
    font-size: 1.2rem;
}

.author-carousel-controls button:hover {
    background: linear-gradient(145deg, #1387ae, #086184);
}

.author-carousel-dots {
    gap: 7px;
}

.author-carousel-dots i {
    width: 8px;
    height: 8px;
    background: #a6c8d2;
}

.author-carousel-dots i.is-active {
    width: 22px;
    background: #08749b;
}

.author-books-carousel .author-book-placeholder {
    min-height: 220px;
}

.author-books-carousel .author-book-cover {
    min-height: 220px;
    font-size: .86rem;
}

.author-books-carousel .author-book-copy {
    padding: 16px;
}

.author-books-carousel .author-book-copy h4 {
    font-size: 1.12rem;
}

.author-books-carousel .author-book-copy p {
    font-size: .8rem;
}

/* Libros: ajuste definitivo de la proporción de los solucionarios */
@media (min-width: 701px) {
    .books-page .solution-book-image {
        height: clamp(270px, 39vh, 310px) !important;
        padding: 12px 18px !important;
        place-items: center !important;
    }

    .books-page .solution-book-image img {
        width: auto !important;
        height: 94% !important;
        max-width: 92% !important;
        max-height: 94% !important;
        margin: auto !important;
        object-fit: contain !important;
    }
}

/* Resultados: barra de filtros unificada y equilibrada */
.results-section .results-toolbar {
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr) !important;
    align-items: end;
    gap: 18px 28px !important;
    padding: 20px 22px !important;
    border-radius: 18px !important;
    box-shadow: 0 13px 30px rgba(7, 55, 76, .14) !important;
}

.results-section .results-toolbar-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding-right: 0 !important;
}

.results-section .results-toolbar-heading h2 {
    max-width: 520px;
    margin: 0 !important;
    font-size: clamp(1.55rem, 2.15vw, 2rem) !important;
    line-height: 1.06 !important;
}

.results-section .results-city-count {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    min-width: 104px;
    height: 46px !important;
    padding: 0 13px !important;
    border: 1px solid rgba(5, 70, 94, .28);
    border-radius: 11px !important;
    box-shadow: 0 6px 14px rgba(5, 65, 88, .2) !important;
}

.results-section .results-search-wrap,
.results-section .results-filters > div {
    min-width: 0;
}

.results-section .results-search-wrap label,
.results-section .results-filters label {
    margin-bottom: 7px !important;
    color: #07364c !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
}

.results-section .results-search,
.results-section .results-filters select {
    min-height: 46px !important;
    border: 1px solid rgba(22, 104, 132, .42) !important;
    border-radius: 11px !important;
    background-color: rgba(255, 255, 255, .88) !important;
    box-shadow: 0 5px 13px rgba(12, 72, 94, .08) !important;
}

.results-section .results-search {
    padding-inline: 14px !important;
}

.results-section .results-search input,
.results-section .results-filters select {
    color: #082f43 !important;
    font-size: .9rem !important;
}

.results-section .results-filters {
    grid-column: 1 / -1 !important;
    gap: 16px !important;
}

.results-section .results-search:hover,
.results-section .results-filters select:hover {
    border-color: #16718f !important;
    box-shadow: 0 7px 17px rgba(10, 84, 109, .13) !important;
    transform: scale(1.006) !important;
}

.results-section .results-search:focus-within,
.results-section .results-filters select:focus {
    border-color: #0a5f7d !important;
    outline: 1px solid #0a2a38 !important;
    outline-offset: 1px !important;
    box-shadow: 0 0 0 2px rgba(17, 121, 153, .12) !important;
}

@media (max-width: 900px) {
    .results-section .results-toolbar {
        grid-template-columns: 1fr !important;
        align-items: stretch;
        gap: 15px !important;
    }

    .results-section .results-toolbar-heading,
    .results-section .results-search-wrap,
    .results-section .results-filters {
        grid-column: 1 !important;
    }
}

@media (max-width: 620px) {
    .results-section .results-toolbar {
        padding: 16px !important;
        border-radius: 15px !important;
    }

    .results-section .results-toolbar-heading {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .results-section .results-city-count {
        justify-self: start;
    }

    .results-section .results-filters {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }
}

/* Libros: asegurar el centrado después de todos los ajustes de portada */
@media (min-width: 701px) {
    .books-page .solution-book-image {
        position: relative !important;
        display: block !important;
    }

    .books-page .solution-book-image img {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: auto !important;
        height: 112% !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: center !important;
        transform: translate(-50%, -50%) !important;
    }
}

/* Pie de página: separar el logo y los créditos del botón de consultas */
@media (min-width: 901px) {
    .site-footer .footer-emblem {
        transform: translateY(-28px);
    }

    .site-footer .footer-development {
        top: 0;
    }
}

/* Libros por autor: flechas laterales didácticas */
.authors-equal-grid .author-carousel-controls {
    display: block;
    margin: 0 0 10px;
    padding: 7px 12px;
}

.authors-equal-grid .author-books-carousel {
    position: relative;
    margin-inline: 10px;
    overflow: visible;
}

.authors-equal-grid .author-carousel-side {
    position: absolute;
    top: 50%;
    z-index: 4;
    display: grid;
    width: 30px;
    height: 44px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(9, 101, 135, .3);
    border-radius: 999px;
    background: rgba(249, 253, 254, .96);
    box-shadow: 0 4px 11px rgba(5, 52, 75, .16);
    color: #0a6d8f;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.authors-equal-grid .author-carousel-side--prev { left: -15px; }
.authors-equal-grid .author-carousel-side--next { right: -15px; }

.authors-equal-grid .author-carousel-side:hover {
    background: #ffffff;
    box-shadow: 0 6px 14px rgba(5, 52, 75, .21);
    transform: translateY(-50%) scale(1.04);
}

.authors-equal-grid .author-carousel-side:focus-visible {
    outline: 2px solid #f2cb55;
    outline-offset: 2px;
}

@media (max-width: 700px) {
    .authors-equal-grid .author-books-carousel { margin-inline: 7px; }
    .authors-equal-grid .author-carousel-side { width: 28px; height: 40px; }
    .authors-equal-grid .author-carousel-side--prev { left: -11px; }
    .authors-equal-grid .author-carousel-side--next { right: -11px; }
}

/* Primer autor: fotografía, portadas y contacto real */
.authors-equal-grid .author-photo-placeholder--image {
    overflow: hidden;
    padding: 0;
    border-style: solid;
    background: #ddecf0;
}

.authors-equal-grid .author-photo-placeholder--image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
}

.authors-equal-grid .author-photo-placeholder--kenyi img {
    object-position: center 20%;
}

.authors-equal-grid .author-book-cover--image {
    overflow: hidden;
    padding: 10px;
    background: linear-gradient(145deg, #edf7f9, #dceef2);
}

.authors-equal-grid .author-book-cover--image img {
    width: 100%;
    height: 100%;
    max-height: 220px;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 7px 8px rgba(6, 42, 62, .15));
}

.authors-equal-grid .author-contact-link,
.authors-equal-grid .book-contact-link {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.authors-equal-grid .author-contact-link:hover,
.authors-equal-grid .book-contact-link:hover {
    background: #c8e8ee;
    color: #074d69;
    transform: translateY(-1px);
}

.authors-equal-grid .author-profile-copy .author-current-bio {
    display: block;
    overflow: visible;
    text-align: justify;
    text-justify: inter-word;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}

/* Carrusel editorial: portada protagonista e información inferior */
.authors-equal-grid .author-books-carousel .author-book-placeholder {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 292px auto;
    min-height: 470px;
    overflow: hidden;
    border-color: rgba(10, 103, 137, .2);
    border-radius: 17px;
    background: #ffffff;
    box-shadow: 0 12px 25px rgba(5, 48, 69, .09);
}

.authors-equal-grid .author-books-carousel .author-book-placeholder[hidden] {
    display: none;
}

.authors-equal-grid .author-books-carousel .author-book-cover {
    display: flex;
    width: 100%;
    height: 292px;
    min-height: 292px;
    min-width: 0;
    padding: 15px;
    align-items: center;
    justify-content: center;
    border-right: 0;
    border-bottom: 1px solid rgba(10, 103, 137, .2);
    box-sizing: border-box;
}

.authors-equal-grid .author-books-carousel .author-book-cover--image img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    flex: 0 1 auto;
    object-fit: contain;
    object-position: center center;
    filter: drop-shadow(0 10px 10px rgba(6, 42, 62, .18));
}

.authors-equal-grid .author-books-carousel .author-book-copy {
    display: flex;
    min-height: 178px;
    padding: 16px 17px 17px;
    flex-direction: column;
    background: linear-gradient(145deg, #eff9f5 0%, #e3f3ed 100%);
}

.authors-equal-grid .author-books-carousel .author-book-copy h4 {
    margin: 5px 0 7px;
    font-size: 1.08rem;
    line-height: 1.16;
}

.authors-equal-grid .author-books-carousel .author-book-copy p {
    margin-bottom: 12px;
    color: #496d70;
    font-size: .78rem;
    line-height: 1.42;
}

.authors-equal-grid .book-buy-button {
    display: flex;
    width: min(88%, 250px);
    min-height: 45px;
    margin-top: auto;
    margin-right: auto;
    margin-left: auto;
    padding: 10px 20px;
    justify-content: center;
    border: 1px solid rgba(126, 220, 244, .78);
    border-radius: 10px;
    background: linear-gradient(135deg, #123d67 0%, #075f89 58%, #087ea5 100%);
    box-shadow: 0 8px 18px rgba(5, 54, 83, .27), inset 0 1px rgba(255, 255, 255, .22);
    color: #ffffff;
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .015em;
    text-align: center;
}

.authors-equal-grid .book-buy-button:hover {
    background: linear-gradient(135deg, #174c7d 0%, #08749d 58%, #10a0c5 100%);
    box-shadow: 0 11px 22px rgba(5, 54, 83, .34), inset 0 1px rgba(255, 255, 255, .3);
    color: #ffffff;
    transform: translateY(-2px);
}

.authors-equal-grid .book-buy-button:focus-visible {
    outline: 3px solid rgba(8, 105, 141, .5);
    outline-offset: 3px;
}

.authors-equal-grid .author-carousel-side {
    top: 31%;
}

@media (max-width: 700px) {
    .authors-equal-grid .author-books-carousel .author-book-placeholder {
        grid-template-rows: 270px auto;
        min-height: 448px;
    }

    .authors-equal-grid .author-books-carousel .author-book-cover {
        height: 270px;
        min-height: 270px;
    }
}

/* Cambio de libro como una lámina completa */
.authors-equal-grid .author-books-carousel {
    perspective: 1100px;
}

.authors-equal-grid .author-book-placeholder.is-entering-next {
    animation: author-sheet-from-right .68s cubic-bezier(.2, .75, .25, 1) both;
}

.authors-equal-grid .author-book-placeholder.is-entering-prev {
    animation: author-sheet-from-left .68s cubic-bezier(.2, .75, .25, 1) both;
}

@keyframes author-sheet-from-right {
    0% {
        opacity: .15;
        transform: translateX(42px) rotateY(-7deg) scale(.975);
        box-shadow: -16px 16px 30px rgba(5, 48, 69, .04);
    }
    58% { opacity: 1; }
    100% {
        opacity: 1;
        transform: translateX(0) rotateY(0) scale(1);
        box-shadow: 0 12px 25px rgba(5, 48, 69, .09);
    }
}

@keyframes author-sheet-from-left {
    0% {
        opacity: .15;
        transform: translateX(-42px) rotateY(7deg) scale(.975);
        box-shadow: 16px 16px 30px rgba(5, 48, 69, .04);
    }
    58% { opacity: 1; }
    100% {
        opacity: 1;
        transform: translateX(0) rotateY(0) scale(1);
        box-shadow: 0 12px 25px rgba(5, 48, 69, .09);
    }
}

@media (prefers-reduced-motion: reduce) {
    .authors-equal-grid .author-book-placeholder.is-entering-next,
    .authors-equal-grid .author-book-placeholder.is-entering-prev {
        animation: none;
    }
}

/* Resultados: panel integrado con la identidad marino y celeste */
.results-section .results-toolbar {
    position: relative;
    grid-template-columns: minmax(245px, 1.05fr) minmax(300px, 1.2fr) minmax(390px, 1.45fr) !important;
    align-items: end !important;
    gap: 15px !important;
    padding: 16px 18px 15px !important;
    overflow: hidden !important;
    border: 1px solid rgba(72, 187, 216, .55) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #062945 0%, #084766 52%, #087797 100%) !important;
    box-shadow: 0 13px 28px rgba(2, 28, 48, .3) !important;
}

.results-section .results-toolbar::before {
    content: none !important;
    display: none !important;
}

.results-section .results-toolbar-heading {
    display: block !important;
    padding: 0 5px 5px 3px !important;
}

.results-section .results-toolbar-heading h2 {
    max-width: 350px !important;
    color: #ffffff !important;
    font-size: clamp(1.42rem, 1.7vw, 1.75rem) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    text-shadow: none !important;
}

.results-section .results-search-wrap label,
.results-section .results-filters label {
    margin-bottom: 5px !important;
    color: #c5edf5 !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    letter-spacing: .1em !important;
}

.results-section .results-search,
.results-section .results-filters select {
    min-height: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(148, 216, 230, .66) !important;
    border-radius: 9px !important;
    background: #e7f2f4 !important;
    box-shadow: 0 5px 12px rgba(1, 22, 38, .23) !important;
}

.results-section .results-search { padding-inline: 14px !important; }
.results-section .results-search span { color: #087da3 !important; }
.results-section .results-filters {
    grid-column: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.results-section .results-search:hover,
.results-section .results-filters select:hover {
    border-color: #76d9eb !important;
    background: #f4fafb !important;
    box-shadow: 0 7px 17px rgba(1, 23, 39, .28) !important;
    transform: translateY(-1px) scale(1.003) !important;
}

.results-section .results-search:focus-within,
.results-section .results-filters select:focus,
.results-section .results-filters select:focus-visible {
    border-color: #85e3f2 !important;
    outline: 1px solid rgba(184, 237, 246, .8) !important;
    outline-offset: 1px !important;
    background: #edf6f7 !important;
    box-shadow: 0 0 0 3px rgba(106, 215, 235, .24) !important;
}

@media (max-width: 1050px) {
    .results-section .results-toolbar {
        grid-template-columns: minmax(250px, .9fr) minmax(320px, 1.1fr) !important;
    }

    .results-section .results-filters { grid-column: 1 / -1 !important; }
}

@media (max-width: 620px) {
    .results-section .results-toolbar {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 15px !important;
        border-radius: 13px !important;
    }

    .results-section .results-toolbar-heading {
        grid-column: 1 !important;
    }

    .results-section .results-search-wrap,
    .results-section .results-filters {
        grid-column: 1 !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}

/* Edición 2026: memoria visual nacional */
.edition-memory {
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 28%, rgba(80, 184, 211, .18), transparent 29%),
        linear-gradient(180deg, #e9f6f8 0%, #d4ebf0 54%, #eef8f9 100%);
    color: #06233d;
}

.edition-memory-hero {
    position: relative;
    padding: clamp(46px, 6vw, 86px) 0 clamp(54px, 7vw, 96px);
    overflow: hidden;
    background:
        linear-gradient(115deg, rgba(3, 30, 55, .98) 0%, rgba(5, 54, 82, .96) 48%, rgba(7, 102, 132, .9) 100%);
}

.edition-memory-hero::before,
.edition-memory-hero::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(115, 218, 239, .2);
    border-radius: 50%;
    pointer-events: none;
}

.edition-memory-hero::before {
    width: 440px;
    height: 440px;
    top: -235px;
    left: 32%;
}

.edition-memory-hero::after {
    width: 290px;
    height: 290px;
    right: -95px;
    bottom: -160px;
}

.edition-memory-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
    gap: clamp(38px, 6vw, 84px);
    align-items: center;
}

.edition-memory-kicker {
    margin: 0 0 15px;
    color: #76d8ec;
    font: 800 .76rem "Outfit", Arial, sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.edition-memory-copy h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 5.3vw, 5.65rem);
    line-height: .88;
}

.edition-memory-copy h1 span {
    color: #87e1ef;
    font-style: italic;
}

.edition-memory-lead {
    max-width: 630px;
    margin: 25px 0 28px;
    color: #d3e9ee;
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.72;
}

.edition-memory-facts {
    display: grid;
    max-width: 600px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(130, 220, 238, .24);
    border-bottom: 1px solid rgba(130, 220, 238, .24);
}

.edition-memory-facts div {
    display: flex;
    min-width: 0;
    padding: 15px 12px;
    gap: 9px;
    align-items: center;
}

.edition-memory-facts div + div {
    border-left: 1px solid rgba(130, 220, 238, .2);
}

.edition-memory-facts strong {
    color: #8de4f1;
    font: 700 2rem/1 "Cormorant Garamond", serif;
}

.edition-memory-facts span {
    color: #e1f2f5;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.25;
}

.edition-memory-collage {
    display: grid;
    min-height: 470px;
    grid-template-columns: 1.3fr .7fr;
    grid-template-rows: 1fr 1fr;
    gap: 12px;
    transform: rotate(1deg);
}

.edition-memory-collage figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    border: 3px solid rgba(255, 255, 255, .86);
    border-radius: 17px;
    background: #113b58;
    box-shadow: 0 18px 36px rgba(0, 12, 27, .3);
}

.edition-memory-collage-main {
    grid-row: 1 / 3;
}

.edition-memory-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}

.edition-memory-collage figure:hover img {
    transform: scale(1.035);
}

.edition-memory-collage figcaption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(2, 25, 43, .78);
    color: #fff;
    font-size: .69rem;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.edition-memory-gallery {
    padding-top: clamp(55px, 7vw, 90px);
    padding-bottom: clamp(60px, 8vw, 105px);
}

.edition-memory-heading {
    max-width: 800px;
    margin: 0 auto 28px;
    text-align: center;
}

.edition-memory-heading .eyebrow {
    margin-bottom: 10px;
    color: #08789d;
}

.edition-memory-heading h2 {
    margin: 0;
    color: #06233d;
    font-size: clamp(2.2rem, 4vw, 3.65rem);
    line-height: 1;
}

.edition-memory-heading > p:last-child {
    max-width: 650px;
    margin: 14px auto 0;
    color: #4b7180;
    line-height: 1.65;
}

.edition-city-selector {
    display: flex;
    margin: 0 auto 24px;
    padding: 7px;
    gap: 7px;
    justify-content: center;
    overflow-x: auto;
    scrollbar-width: thin;
}

.edition-city-selector button {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 39px;
    padding: 8px 13px;
    gap: 7px;
    align-items: center;
    border: 1px solid rgba(7, 94, 124, .22);
    border-radius: 999px;
    background: rgba(246, 252, 253, .74);
    color: #28586b;
    font-size: .76rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.edition-city-selector button span {
    display: grid;
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    place-items: center;
    border-radius: 99px;
    background: rgba(13, 112, 145, .1);
    font-size: .64rem;
}

.edition-city-selector button:hover {
    transform: translateY(-2px);
}

.edition-city-selector button.is-active {
    border-color: #0a7599;
    background: linear-gradient(135deg, #073c5b, #0a789c);
    box-shadow: 0 7px 15px rgba(5, 63, 88, .2);
    color: #ffffff;
}

.edition-city-selector button.is-active span {
    background: rgba(255, 255, 255, .18);
}

/* Edición 2026: selector de ciudades compacto y sencillo */
.edition-memory-gallery .edition-city-selector {
    width: min(100%, 920px);
    margin: 0 auto 10px;
    padding: 0;
    gap: 4px 17px;
    border-bottom: 1px solid rgba(10, 91, 121, .18);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.edition-memory-gallery .edition-city-selector button {
    position: relative;
    min-height: 30px;
    padding: 3px 1px 7px;
    gap: 5px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #4f7080;
    font-size: .74rem;
    font-weight: 700;
    transition: color .16s ease;
}

.edition-memory-gallery .edition-city-selector button::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: #0a789d;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .16s ease;
}

.edition-memory-gallery .edition-city-selector button:hover {
    background: transparent;
    box-shadow: none;
    color: #0b5877;
    transform: none;
}

.edition-memory-gallery .edition-city-selector button.is-active {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    color: #073e5c;
}

.edition-memory-gallery .edition-city-selector button:hover::after,
.edition-memory-gallery .edition-city-selector button.is-active::after {
    transform: scaleX(1);
}

.edition-memory-gallery .edition-city-selector button span,
.edition-memory-gallery .edition-city-selector button.is-active span {
    display: inline;
    min-width: 0;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #78919c;
    font-size: .65rem;
    font-weight: 700;
}

.edition-memory-gallery .edition-city-selector button.is-active span {
    color: #0a789d;
}

@media (max-width: 620px) {
    .edition-memory-gallery .edition-city-selector {
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 4px 14px;
        overflow-x: auto;
    }

    .edition-memory-gallery .edition-city-selector button {
        flex: 0 0 auto;
        min-height: 28px;
        font-size: .72rem;
    }
}

.edition-memory-stage {
    position: relative;
    width: min(100%, 1120px);
    margin: 0 auto;
}

.edition-memory-slides {
    position: relative;
    min-height: clamp(470px, 58vw, 690px);
    overflow: hidden;
    border: 7px solid rgba(255, 255, 255, .88);
    border-radius: 24px;
    background: #0a3551;
    box-shadow: 0 24px 52px rgba(3, 42, 62, .22);
}

.edition-memory-slide {
    position: absolute;
    inset: 0;
    margin: 0;
    overflow: hidden;
    background: #0a3551;
}

.edition-memory-slide[hidden] {
    display: none;
}

.edition-memory-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #0a3551;
}

.edition-memory-slide::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 44%;
    background: linear-gradient(180deg, transparent, rgba(1, 18, 32, .82));
    pointer-events: none;
}

.edition-memory-slide figcaption {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    padding: clamp(22px, 4vw, 40px);
    gap: 28px;
    justify-content: space-between;
    align-items: flex-end;
    color: #fff;
}

.edition-memory-slide figcaption div {
    display: flex;
    flex-direction: column;
}

.edition-memory-slide figcaption span {
    color: #8de2ef;
    font: 700 clamp(2rem, 4vw, 3.4rem)/.9 "Cormorant Garamond", serif;
}

.edition-memory-slide figcaption small {
    margin-top: 8px;
    color: #d8edf1;
    font-size: .7rem;
    font-weight: 700;
}

.edition-memory-slide figcaption p {
    max-width: 490px;
    margin: 0;
    color: #fff;
    font-size: clamp(.9rem, 1.4vw, 1.08rem);
    line-height: 1.5;
    text-align: right;
}

.edition-memory-slide.is-entering-next {
    animation: memory-photo-next .72s cubic-bezier(.2, .76, .24, 1) both;
}

.edition-memory-slide.is-entering-prev {
    animation: memory-photo-prev .72s cubic-bezier(.2, .76, .24, 1) both;
}

@keyframes memory-photo-next {
    from { opacity: .1; transform: translateX(55px) scale(.975); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes memory-photo-prev {
    from { opacity: .1; transform: translateX(-55px) scale(.975); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

.edition-memory-arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: grid;
    width: 52px;
    height: 52px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(5, 83, 111, .2);
    border-radius: 50%;
    background: rgba(247, 253, 254, .95);
    box-shadow: 0 9px 22px rgba(3, 43, 64, .23);
    color: #075c7c;
    font-size: 1.25rem;
    cursor: pointer;
    transform: translateY(-50%);
    transition: transform .18s ease, background .18s ease;
}

.edition-memory-arrow:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.08);
}

.edition-memory-arrow-prev { left: -25px; }
.edition-memory-arrow-next { right: -25px; }

.edition-memory-progress {
    width: min(calc(100% - 70px), 1050px);
    height: 4px;
    margin: 20px auto 0;
    overflow: hidden;
    border-radius: 99px;
    background: rgba(7, 91, 122, .15);
}

.edition-memory-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #075c7d, #42bad2);
    transition: width .55s ease;
}

.edition-memory-status {
    display: flex;
    width: min(calc(100% - 70px), 1050px);
    margin: 9px auto 0;
    justify-content: space-between;
    color: #4c7280;
    font-size: .72rem;
}

.edition-memory-status span {
    color: #075f80;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.edition-memory-quote {
    position: relative;
    max-width: 920px;
    margin: clamp(50px, 7vw, 80px) auto 0;
    padding: 35px 70px;
    border: 1px solid rgba(7, 93, 125, .16);
    border-radius: 20px;
    background: rgba(247, 252, 253, .76);
    box-shadow: 0 12px 30px rgba(5, 57, 78, .08);
    text-align: center;
}

.edition-memory-quote::before {
    content: "“";
    position: absolute;
    top: -23px;
    left: 30px;
    color: #67c9dc;
    font: 700 5rem/1 "Cormorant Garamond", serif;
}

.edition-memory-quote p {
    margin: 0;
    color: #082d48;
    font: 700 clamp(1.65rem, 3vw, 2.45rem)/1.08 "Cormorant Garamond", serif;
}

.edition-memory-quote cite {
    display: block;
    margin-top: 12px;
    color: #54808f;
    font-size: .7rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.edition-voices {
    border-top: 1px solid rgba(7, 87, 116, .13);
    background: #f2fafb;
}

@media (max-width: 980px) {
    .edition-memory-hero-grid {
        grid-template-columns: 1fr;
    }

    .edition-memory-copy {
        text-align: center;
    }

    .edition-memory-lead,
    .edition-memory-facts {
        margin-right: auto;
        margin-left: auto;
    }

    .edition-memory-collage {
        min-height: 430px;
    }
}

@media (max-width: 700px) {
    .edition-memory-hero {
        padding-top: 40px;
    }

    .edition-memory-hero-grid {
        gap: 36px;
    }

    .edition-memory-copy h1 {
        font-size: clamp(2.8rem, 14vw, 4.3rem);
    }

    .edition-memory-facts div {
        padding: 13px 7px;
        flex-direction: column;
        gap: 4px;
    }

    .edition-memory-facts span {
        text-align: center;
    }

    .edition-memory-collage {
        min-height: 360px;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1.2fr .8fr;
    }

    .edition-memory-collage-main {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .edition-memory-collage figure:not(.edition-memory-collage-main) {
        grid-row: 2;
    }

    .edition-city-selector {
        justify-content: flex-start;
    }

    .edition-memory-slides {
        min-height: 500px;
        border-width: 4px;
        border-radius: 18px;
    }

    .edition-memory-slide figcaption {
        padding: 22px 18px;
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }

    .edition-memory-slide figcaption p {
        text-align: left;
    }

    .edition-memory-arrow {
        width: 42px;
        height: 42px;
    }

    .edition-memory-arrow-prev { left: -8px; }
    .edition-memory-arrow-next { right: -8px; }

    .edition-memory-progress,
    .edition-memory-status {
        width: calc(100% - 24px);
    }

    .edition-memory-quote {
        padding: 30px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .edition-memory-slide.is-entering-next,
    .edition-memory-slide.is-entering-prev {
        animation: none;
    }
}

/* Resultados: contraste final de etiquetas y controles */
.results-section .results-toolbar .results-search-wrap > label,
.results-section .results-toolbar .results-filters label {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 19, 34, .5) !important;
}

.results-section .results-toolbar .results-search,
.results-section .results-toolbar .results-filters select {
    border-color: rgba(139, 218, 233, .82) !important;
    background-color: #cfe6eb !important;
    color: #052d49 !important;
}

.results-section .results-toolbar .results-search input {
    color: #052d49 !important;
    -webkit-text-fill-color: #052d49 !important;
}

.results-section .results-toolbar .results-search input::placeholder {
    color: #426675 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #426675 !important;
}

.results-section .results-toolbar .results-filters select {
    font-weight: 800 !important;
}

.results-section .results-toolbar .results-search:hover,
.results-section .results-toolbar .results-filters select:hover,
.results-section .results-toolbar .results-search:focus-within,
.results-section .results-toolbar .results-filters select:focus {
    background-color: #e8f5f7 !important;
}

/* Edición 2026: portada compacta, alineada a la altura del collage */
.edition-memory-hero {
    padding-top: 0;
    padding-bottom: 0;
}

.edition-memory-hero-grid {
    min-height: 470px;
}

.edition-memory-copy {
    padding: 30px 0;
}

.edition-memory-lead {
    margin-bottom: 0;
}

@media (max-width: 980px) {
    .edition-memory-hero {
        padding: 34px 0 40px;
    }

    .edition-memory-hero-grid {
        min-height: 0;
    }

    .edition-memory-copy {
        padding: 0;
    }
}

/* Edición 2026: galería visible completa en una pantalla de escritorio */
.edition-memory-gallery {
    padding-top: clamp(30px, 4vw, 54px);
    padding-bottom: clamp(42px, 5vw, 68px);
}

.edition-memory-heading {
    margin-bottom: 18px;
}

.edition-city-selector {
    margin-bottom: 14px;
    padding: 4px;
    gap: 6px;
}

.edition-city-selector button {
    min-height: 34px;
    padding: 6px 11px;
}

.edition-city-selector button span {
    min-width: 19px;
    height: 19px;
}

.edition-memory-stage {
    width: min(100%, 1040px);
}

.edition-memory-slides {
    min-height: clamp(360px, 38vw, 480px);
    border-width: 5px;
    border-radius: 20px;
}

.edition-memory-slide figcaption {
    padding: clamp(18px, 2.5vw, 28px);
    gap: 20px;
}

.edition-memory-slide figcaption span {
    font-size: clamp(1.75rem, 3vw, 2.75rem);
}

@media (max-width: 700px) {
    .edition-memory-gallery {
        padding-top: 30px;
    }

    .edition-memory-slides {
        min-height: 430px;
    }
}

/* Resultados: buscador rectangular inspirado en el encabezado */
.results-section .results-toolbar {
    padding: 14px 18px !important;
    border: 1px solid #176f94 !important;
    border-radius: 5px !important;
    background: linear-gradient(105deg, #031b31 0%, #052d49 42%, #0a6f94 100%) !important;
    box-shadow: 0 12px 25px rgba(1, 31, 51, .25) !important;
}

.results-section .results-toolbar-heading {
    padding: 3px 18px 3px 14px !important;
    border-left: 4px solid #6dd5eb;
}

.results-section .results-toolbar-heading h2 {
    font-size: clamp(1.35rem, 1.65vw, 1.7rem) !important;
    line-height: 1.08 !important;
}

.results-section .results-toolbar .results-search-wrap > label,
.results-section .results-toolbar .results-filters label {
    color: #bfeaf3 !important;
    text-shadow: none !important;
}

.results-section .results-toolbar .results-search,
.results-section .results-toolbar .results-filters select {
    min-height: 41px !important;
    height: 41px !important;
    border: 1px solid #80cadd !important;
    border-radius: 4px !important;
    background-color: #dff1f4 !important;
    box-shadow: 0 4px 10px rgba(0, 20, 35, .2) !important;
}

.results-section .results-toolbar .results-search:hover,
.results-section .results-toolbar .results-filters select:hover,
.results-section .results-toolbar .results-search:focus-within,
.results-section .results-toolbar .results-filters select:focus {
    border-color: #a5e8f3 !important;
    background-color: #f2fbfc !important;
}

@media (max-width: 620px) {
    .results-section .results-toolbar {
        border-radius: 4px !important;
    }

    .results-section .results-toolbar-heading {
        padding-left: 12px !important;
    }
}

/* Edición 2026: el primer bloque termina al finalizar el texto */
@media (min-width: 981px) {
    .edition-memory-hero,
    .edition-memory-hero-grid {
        height: 430px;
        min-height: 0;
    }

    .edition-memory-hero-grid {
        gap: clamp(30px, 4vw, 56px);
    }

    .edition-memory-copy {
        padding: 22px 0;
    }

    .edition-memory-kicker {
        margin-bottom: 10px;
    }

    .edition-memory-copy h1 {
        font-size: clamp(2.9rem, 4.3vw, 4.55rem);
        line-height: .9;
    }

    .edition-memory-lead {
        margin-top: 18px;
        font-size: clamp(.94rem, 1.15vw, 1.06rem);
        line-height: 1.55;
    }

    .edition-memory-collage {
        height: 430px;
        min-height: 0;
        gap: 10px;
    }
}

/* Edición 2026: introducción de galería más concisa */
@media (min-width: 701px) {
    .edition-memory-gallery {
        padding-top: 18px;
    }

    .edition-memory-heading {
        display: grid;
        width: min(100%, 1040px);
        max-width: none;
        margin: 0 auto 8px;
        grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
        grid-template-rows: auto auto;
        column-gap: 32px;
        align-items: end;
        text-align: left;
    }

    .edition-memory-heading .eyebrow {
        grid-column: 1;
        margin: 0 0 2px;
    }

    .edition-memory-heading h2 {
        grid-column: 1;
        margin: 0;
        font-size: clamp(2rem, 3vw, 2.8rem);
        line-height: 1;
    }

    .edition-memory-heading > p:last-child {
        grid-column: 2;
        grid-row: 1 / 3;
        margin: 0;
        line-height: 1.45;
    }

    .edition-city-selector {
        margin-bottom: 10px;
    }

    .edition-memory-stage {
        width: min(100%, 980px);
    }

    .edition-memory-slides {
        min-height: clamp(340px, 34vw, 410px);
        border-width: 4px;
        border-radius: 17px;
    }

    .edition-memory-slide figcaption {
        padding: clamp(16px, 2vw, 23px);
    }

    .edition-memory-arrow {
        width: 46px;
        height: 46px;
    }
}

/* Resultados: acabado luminoso definitivo */
.results-section .results-toolbar {
    border-color: #399bb8 !important;
    background: linear-gradient(105deg, #0a3f61 0%, #0d6282 48%, #1593b3 100%) !important;
    box-shadow: 0 10px 22px rgba(4, 62, 86, .22) !important;
}

.results-section .results-toolbar-heading {
    border-left-color: #9ceaf4 !important;
}

.results-section .results-toolbar-heading h2 {
    color: #ffffff !important;
    font-family: "Outfit", Arial, sans-serif !important;
    font-size: clamp(1.28rem, 1.5vw, 1.55rem) !important;
    font-weight: 700 !important;
    letter-spacing: -.015em !important;
    line-height: 1.12 !important;
}

.results-section .results-toolbar .results-search-wrap > label,
.results-section .results-toolbar .results-filters label {
    color: #e6f8fb !important;
    font-family: "Outfit", Arial, sans-serif !important;
    letter-spacing: .075em !important;
}

.results-section .results-toolbar .results-search,
.results-section .results-toolbar .results-filters select {
    border-color: #a4dce7 !important;
    background-color: #e7f4f6 !important;
}

/* Edición 2026: tamaño final del collage de portada */
@media (min-width: 981px) {
    .edition-memory-collage {
        width: min(100%, 650px);
        height: 360px;
        min-height: 0;
        justify-self: end;
        align-self: center;
        transform: none;
    }

    .edition-memory-collage img {
        object-fit: contain;
        object-position: center;
    }

    .edition-memory-collage figure {
        border-width: 2px;
        border-radius: 14px;
        background: #0b3a56;
    }
}

/* Resultados: acabado delicado definitivo */
.results-section .results-toolbar-heading {
    padding-left: 0 !important;
    border-left: 0 !important;
}

.results-section .results-toolbar-heading h2 {
    font-family: "Manrope", Arial, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
}

.results-section .results-toolbar .results-search-wrap > label,
.results-section .results-toolbar .results-filters label {
    font-family: "Manrope", Arial, sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: .055em !important;
}

.results-section .results-toolbar .results-search,
.results-section .results-toolbar .results-filters select {
    border-radius: 999px !important;
}

.results-section .results-toolbar .results-search input,
.results-section .results-toolbar .results-filters select {
    font-family: "Manrope", Arial, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.results-section .results-toolbar .results-filters select {
    padding-left: 16px !important;
}

.results-section .results-toolbar .results-search input::placeholder {
    font-weight: 500 !important;
}

/* Responsive prioritario para los componentes añadidos recientemente */
@media (max-width: 900px) {
    .results-section .results-toolbar {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }

    .results-section .results-toolbar-heading,
    .results-section .results-search-wrap,
    .results-section .results-filters {
        grid-column: 1 !important;
    }

    .edition-memory-hero,
    .edition-memory-hero-grid {
        height: auto !important;
        min-height: 0 !important;
    }

    .edition-memory-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .edition-memory-collage {
        width: min(100%, 680px) !important;
        height: 390px !important;
        min-height: 0 !important;
        margin-inline: auto;
        transform: none !important;
    }
}

@media (max-width: 700px) {
    .results-section .results-toolbar {
        padding: 15px 13px !important;
        border-radius: 8px !important;
    }

    .results-section .results-toolbar-heading {
        display: block !important;
        padding: 0 !important;
        border-left: 0 !important;
    }

    .results-section .results-filters {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .results-section .results-search,
    .results-section .results-filters select {
        width: 100% !important;
        min-height: 44px !important;
        height: 44px !important;
        border-radius: 999px !important;
    }

    .authors-equal-grid .author-catalog-card {
        display: flex !important;
        grid-template-columns: 1fr !important;
        padding: 14px !important;
        flex-direction: column !important;
    }

    .authors-equal-grid .author-profile-preview {
        grid-row: auto !important;
    }

    .authors-equal-grid .author-books-carousel .author-book-placeholder {
        grid-template-columns: minmax(88px, 110px) minmax(0, 1fr) !important;
    }

    .books-page .solution-book-image img {
        position: static !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: contain !important;
        transform: none !important;
    }

    .edition-memory-hero {
        padding: 34px 0 30px !important;
    }

    .edition-memory-collage {
        height: 330px !important;
    }

    .edition-memory-gallery {
        padding: 24px 0 44px !important;
    }

    .edition-memory-slides {
        min-height: clamp(310px, 105vw, 460px) !important;
    }

    .edition-memory-slide figcaption p {
        display: none;
    }

    .edition-memory-arrow-prev { left: 6px !important; }
    .edition-memory-arrow-next { right: 6px !important; }
}

@media (max-width: 460px) {
    .results-table tr {
        grid-template-columns: 1fr !important;
    }

    .results-table td,
    .results-table td:nth-child(2),
    .results-table td:nth-child(5) {
        grid-column: 1 !important;
    }

    .authors-equal-grid .author-profile-preview {
        display: grid !important;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 11px !important;
    }

    .authors-equal-grid .author-photo-placeholder {
        width: 76px !important;
        height: 76px !important;
    }

    .edition-memory-collage {
        height: 280px !important;
    }

    .edition-memory-slides {
        min-height: 330px !important;
        border-width: 3px !important;
    }
}

/* Resultados: título elegante, controles casuales y centrado vertical */
.results-section .results-toolbar-heading {
    display: flex !important;
    height: 100%;
    padding: 0 !important;
    align-self: stretch;
    align-items: center;
    border-left: 0 !important;
}

.results-section .results-toolbar-heading h2 {
    margin: 0 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(1.55rem, 2vw, 1.9rem) !important;
    font-weight: 600 !important;
    letter-spacing: -.018em !important;
    line-height: 1.02 !important;
}

.results-section .results-toolbar .results-search-wrap > label,
.results-section .results-toolbar .results-filters label,
.results-section .results-toolbar .results-search input,
.results-section .results-toolbar .results-filters select {
    font-family: "Manrope", Arial, sans-serif !important;
}

@media (max-width: 900px) {
    .results-section .results-toolbar-heading {
        min-height: 52px;
    }
}

@media (max-width: 700px) {
    .results-section .results-toolbar-heading {
        display: flex !important;
        min-height: 48px;
    }

    .results-section .results-toolbar-heading h2 {
        font-size: 1.55rem !important;
    }
}

/* Encabezado: botones de color más sobrio y natural */
.header-cta {
    border: 1px solid #438dab !important;
    background: #247394 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 13px rgba(0, 12, 27, .2) !important;
}

.header-cta:hover,
.header-cta:focus-visible {
    border-color: #64a9c3 !important;
    background: #2d7f9f !important;
    color: #ffffff !important;
}

.header-bases {
    border: 1px solid rgba(184, 218, 229, .72) !important;
    background: rgba(255, 255, 255, .07) !important;
    color: #e9f5f8 !important;
    box-shadow: none !important;
}

.header-bases:hover,
.header-bases:focus-visible {
    border-color: #d7eef4 !important;
    background: rgba(255, 255, 255, .13) !important;
    color: #ffffff !important;
}

/* Guía inicial de la portada */
.site-guide-launcher {
    position: fixed;
    z-index: 9000;
    left: 18px;
    bottom: 18px;
    display: inline-flex;
    min-height: 44px;
    padding: 7px 13px 7px 8px;
    gap: 8px;
    align-items: center;
    border: 1px solid rgba(106, 187, 214, .62);
    border-radius: 999px;
    background: #083b60;
    box-shadow: 0 7px 20px rgba(0, 17, 34, .24);
    color: #ffffff;
    cursor: pointer;
}

.site-guide-launcher span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #66c7de;
    color: #052b48;
    font-weight: 900;
}

.site-guide-launcher b {
    font-size: .78rem;
}

.site-guide[hidden] {
    display: none !important;
}

.site-guide {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: grid;
    padding: 20px;
    place-items: end center;
    pointer-events: none;
}

.site-guide-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1, 14, 28, .58);
    backdrop-filter: blur(1px);
}

.site-guide-card {
    position: relative;
    z-index: 2;
    width: min(100%, 520px);
    margin-bottom: 16px;
    padding: 22px;
    border: 1px solid #a9d5e1;
    border-radius: 16px;
    background: #f4fafb;
    box-shadow: 0 22px 60px rgba(0, 13, 29, .35);
    color: #0a2b45;
    pointer-events: auto;
}

.site-guide-progress {
    height: 4px;
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 99px;
    background: #d4e8ed;
}

.site-guide-progress span {
    display: block;
    width: 25%;
    height: 100%;
    border-radius: inherit;
    background: #1682a6;
    transition: width .25s ease;
}

.site-guide-step {
    margin: 0 0 4px;
    color: #23708b;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.site-guide-card h2 {
    margin: 0 0 7px;
    color: #082942;
    font: 700 1.55rem/1.1 "Cormorant Garamond", Georgia, serif;
}

.site-guide-card > p:last-of-type {
    margin: 0;
    color: #4b6878;
    font-size: .92rem;
    line-height: 1.5;
}

.site-guide-actions {
    display: flex;
    margin-top: 18px;
    gap: 12px;
    justify-content: space-between;
    align-items: center;
}

.site-guide-actions > div {
    display: flex;
    gap: 8px;
}

.site-guide-actions button {
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 9px;
    font-weight: 750;
    cursor: pointer;
}

.site-guide-skip,
.site-guide-previous {
    border: 1px solid #b8d3dc;
    background: transparent;
    color: #315e70;
}

.site-guide-next {
    border: 1px solid #0d6e91;
    background: #0d6e91;
    color: #ffffff;
}

.site-guide-previous:disabled {
    opacity: .42;
    cursor: default;
}

.site-guide-target {
    position: relative !important;
    z-index: 10001 !important;
    border-radius: 12px;
    outline: 4px solid #75d9ec !important;
    outline-offset: 6px !important;
    box-shadow: 0 0 0 10px rgba(117, 217, 236, .18), 0 12px 34px rgba(0, 12, 28, .32) !important;
}

body.site-guide-open {
    overflow: hidden;
}

@media (max-width: 620px) {
    .site-guide {
        padding: 10px;
    }

    .site-guide-card {
        margin-bottom: 0;
        padding: 18px;
        border-radius: 14px;
    }

    .site-guide-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .site-guide-actions > div,
    .site-guide-actions button {
        width: 100%;
    }

    .site-guide-actions > div button {
        flex: 1;
    }

    .site-guide-launcher {
        left: 10px;
        bottom: 10px;
    }

    .site-guide-target {
        outline-width: 3px !important;
        outline-offset: 3px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-guide-progress span {
        transition: none;
    }
}

/* Guía sencilla: énfasis en el elemento y explicación breve */
.site-guide {
    display: block;
    padding: 0;
}

.site-guide-backdrop {
    background: rgba(1, 14, 28, .16);
    backdrop-filter: none;
    pointer-events: none;
}

.site-guide-card {
    position: fixed;
    width: min(310px, calc(100vw - 24px));
    margin: 0;
    padding: 14px 15px;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0, 15, 31, .26);
}

.site-guide-progress {
    display: none;
}

.site-guide-step {
    margin-bottom: 2px;
    font-size: .62rem;
}

.site-guide-card h2 {
    margin-bottom: 3px;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
}

.site-guide-card > p:last-of-type {
    font-size: .8rem;
    line-height: 1.4;
}

.site-guide-actions {
    margin-top: 11px;
    gap: 7px;
}

.site-guide-actions button {
    min-height: 34px;
    padding: 6px 10px;
    font-size: .7rem;
}

.site-guide-target {
    border-radius: 12px;
    outline: 5px solid #79e5f4 !important;
    outline-offset: 5px !important;
    box-shadow: 0 0 0 13px rgba(93, 222, 241, .3), 0 0 34px rgba(89, 225, 245, .75) !important;
    animation: guide-target-pulse 1.35s ease-in-out infinite;
}

@keyframes guide-target-pulse {
    0%, 100% { box-shadow: 0 0 0 9px rgba(93, 222, 241, .2), 0 0 24px rgba(89, 225, 245, .48); }
    50% { box-shadow: 0 0 0 15px rgba(93, 222, 241, .34), 0 0 38px rgba(89, 225, 245, .82); }
}

body.site-guide-open {
    overflow: auto;
}

@media (max-width: 620px) {
    .site-guide {
        display: grid;
        padding: 8px;
        place-items: end center;
    }

    .site-guide-card {
        position: relative;
        width: min(100%, 360px);
        padding: 13px 14px;
    }

    .site-guide-actions {
        align-items: center;
        flex-direction: row;
    }

    .site-guide-actions > div,
    .site-guide-actions button {
        width: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-guide-target {
        animation: none;
    }
}

/* Guía flotante: presencia mínima y transparente */
.site-guide-backdrop {
    background: transparent;
}

.site-guide-card {
    width: min(250px, calc(100vw - 24px));
    padding: 12px 14px 11px;
    border-color: rgba(190, 226, 235, .16);
    border-radius: 12px;
    background: rgba(7, 43, 65, .68);
    box-shadow: 0 6px 18px rgba(0, 15, 28, .08);
    backdrop-filter: blur(11px);
}

.site-guide-step {
    color: rgba(211, 237, 243, .52);
}

.site-guide-card h2 {
    margin-bottom: 2px;
    color: rgba(255, 255, 255, .88);
    font-size: 1.12rem;
}

.site-guide-card > p:last-of-type {
    color: rgba(222, 239, 244, .68);
    font-size: .74rem;
    line-height: 1.42;
}

.site-guide-actions {
    margin-top: 8px;
    padding-top: 7px;
    border-top-color: rgba(215, 239, 245, .1);
}

.site-guide-actions button {
    min-height: 29px;
    padding: 4px 8px;
}

.site-guide-skip,
.site-guide-previous {
    border-color: transparent;
    background: transparent;
    color: rgba(223, 240, 245, .56);
}

.site-guide-next {
    border-color: rgba(170, 221, 232, .22);
    background: rgba(126, 200, 217, .16);
    color: rgba(255, 255, 255, .88);
    box-shadow: none;
}

.site-guide-next:hover,
.site-guide-next:focus-visible {
    background: rgba(126, 200, 217, .24);
}

@media (max-width: 620px) {
    .site-guide-card {
        width: min(100%, 280px);
        padding: 11px 13px 10px;
    }
}

/* Chat: botón de cierre más delicado */
.contest-chat .chat-close {
    display: grid;
    width: 30px;
    height: 30px;
    padding: 0 0 2px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50%;
    background: rgba(3, 108, 88, .2);
    box-shadow: 0 3px 10px rgba(0, 74, 59, .12);
    color: rgba(255, 255, 255, .94);
    font-family: Arial, sans-serif;
    font-size: 1.05rem;
    font-weight: 300;
    line-height: 1;
    backdrop-filter: blur(5px);
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.contest-chat .chat-close:hover,
.contest-chat .chat-close:focus-visible {
    border-color: rgba(255, 255, 255, .58);
    background: rgba(255, 255, 255, .16);
    transform: scale(1.04);
}

.contest-chat .chat-close:focus-visible {
    outline: 2px solid rgba(255, 255, 255, .72);
    outline-offset: 2px;
}

/* Pie de página: elevar la firma para mantenerla visible sobre el chat */
@media (min-width: 901px) {
    .site-footer .footer-emblem {
        transform: translateY(-48px);
    }
}

/* Pie de página: firma web más compacta y ligera */
.site-footer .footer-emblem {
    gap: 5px;
    justify-items: center;
}

.site-footer .footer-emblem > img {
    width: 158px;
}

.site-footer .footer-development {
    top: 0;
    justify-self: center;
    margin-inline: auto;
    padding-top: 5px;
    text-align: center;
}

.site-footer .footer-development > strong {
    margin-bottom: 3px;
    font-size: .71rem;
}

.site-footer .footer-development p + p {
    margin-top: 4px;
}

.site-footer .footer-development p b {
    margin-bottom: 1px;
    font-size: .69rem;
    font-weight: 600;
}

.site-footer .footer-development p span {
    font-size: .83rem;
    font-weight: 400;
    line-height: 1.15;
}

/* Encabezado: barra principal un poco más delgada */
@media (min-width: 921px) {
    .site-header .main-nav > ul {
        min-height: 34px;
    }

    .site-header .main-nav a::after {
        bottom: -5px;
    }
}

/* Encabezado principal: sin fecha y 20% más compacto */
@media (min-width: 921px) {
    .site-header .header-main {
        min-height: 102px;
        gap: 28px;
    }

    .site-header .brand img {
        width: min(380px, 39vw);
        max-height: 76px;
    }
}

/* Portada: bienvenida breve, exclusiva de la página principal */
.cover-welcome-strip {
    display: grid;
    min-height: 25px;
    padding: 3px 18px;
    place-items: center;
    background: #2b8fb6;
    color: #f4fbfd;
    text-align: center;
}

.cover-welcome-strip p {
    margin: 0;
    font-family: "Outfit", Arial, sans-serif;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .035em;
    line-height: 1.25;
}

@media (max-width: 620px) {
    .cover-welcome-strip {
        min-height: 23px;
        padding-inline: 10px;
    }

    .cover-welcome-strip p {
        font-size: .62rem;
    }
}

/* Libros: acciones alineadas y acceso reconocible a WhatsApp */
@media (min-width: 701px) {
    .authors-equal-grid .author-books-carousel .author-book-placeholder {
        height: 520px;
        min-height: 520px;
        grid-template-rows: 292px minmax(0, 1fr);
    }
}

.authors-equal-grid .author-books-carousel .author-book-copy {
    height: 100%;
    box-sizing: border-box;
}

.authors-equal-grid .book-buy-button {
    gap: 6px;
    justify-content: center;
}

.authors-equal-grid .book-buy-button .book-buy-button-icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

.authors-equal-grid .book-buy-button > span {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: none;
}

/* Libros: las tres fichas comienzan sus publicaciones a la misma altura */
@media (min-width: 901px) {
    .authors-equal-grid .author-profile-preview {
        height: 250px;
        min-height: 250px;
        margin-bottom: 0;
        box-sizing: border-box;
    }
}

/* Portada: los accesos principales llaman la atención sin guía */
.is-cover-page:not(.cover-actions-used) .header-cta,
.is-cover-page:not(.cover-actions-used) .header-bases,
.is-cover-page:not(.cover-actions-used) .main-nav a {
    animation: cover-action-bounce 1.65s ease-in-out infinite;
    will-change: transform;
}

.is-cover-page:not(.cover-actions-used) .header-bases {
    animation-delay: .16s;
}

.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(1) a { animation-delay: .28s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(2) a { animation-delay: .38s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(3) a { animation-delay: .48s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(4) a { animation-delay: .58s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(5) a { animation-delay: .68s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(6) a { animation-delay: .78s; }

.is-cover-page:not(.cover-actions-used) .main-nav a::after {
    right: 0;
    opacity: 0;
    animation: cover-nav-line 1.65s ease-in-out infinite;
}

.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(1) a::after { animation-delay: .28s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(2) a::after { animation-delay: .38s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(3) a::after { animation-delay: .48s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(4) a::after { animation-delay: .58s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(5) a::after { animation-delay: .68s; }
.is-cover-page:not(.cover-actions-used) .main-nav li:nth-child(6) a::after { animation-delay: .78s; }

@keyframes cover-action-bounce {
    0%, 52%, 100% { transform: translateY(0); }
    66% { transform: translateY(-5px); }
    78% { transform: translateY(1px); }
    88% { transform: translateY(-2px); }
}

@keyframes cover-nav-line {
    0%, 48%, 100% { opacity: 0; transform: scaleX(.15); }
    62%, 88% { opacity: 1; transform: scaleX(1); }
}

.is-cover-page.cover-actions-used .header-cta,
.is-cover-page.cover-actions-used .header-bases,
.is-cover-page.cover-actions-used .main-nav a {
    animation: none;
}

@media (prefers-reduced-motion: reduce) {
    .is-cover-page:not(.cover-actions-used) .header-cta,
    .is-cover-page:not(.cover-actions-used) .header-bases,
    .is-cover-page:not(.cover-actions-used) .main-nav a {
        animation: none;
    }

    .is-cover-page:not(.cover-actions-used) .main-nav a::after {
        animation: none;
    }
}

@media (max-width: 760px) {
    .is-cover-page:not(.cover-actions-used) .main-nav a::after {
        right: 18%;
    }
}

/* Resultados: barra en un solo azul medio oscuro */
.results-section .results-toolbar {
    border-color: #0b5d78 !important;
    background: #0b5d78 !important;
    background-image: none !important;
    box-shadow: 0 7px 16px rgba(4, 45, 62, .17) !important;
}

/* Libros: botón final compacto y visible */
.authors-equal-grid .book-buy-button {
    min-height: 31px;
    padding: 5px 13px;
    border: 1px solid #08799d;
    border-radius: 999px;
    background: #08799d;
    box-shadow: 0 3px 8px rgba(5, 72, 96, .15);
    color: #ffffff;
    font-size: .72rem;
    line-height: 1;
}

.authors-equal-grid .book-buy-button:hover {
    border-color: #075e7b;
    background: #075e7b;
    box-shadow: 0 4px 10px rgba(5, 72, 96, .2);
    transform: translateY(-1px);
}

/* Libros: contactos pequeños y de color simple */
.authors-equal-grid .book-buy-button {
    width: fit-content;
    min-height: 34px;
    margin-top: auto;
    margin-right: 0;
    margin-left: 0;
    padding: 7px 14px;
    border: 1px solid #0c668b;
    border-radius: 6px;
    background: #0c668b;
    box-shadow: none;
    color: #ffffff;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: 0;
}

.authors-equal-grid .book-buy-button:hover {
    border-color: #095473;
    background: #095473;
    box-shadow: none;
    color: #ffffff;
    transform: none;
}

.authors-equal-grid .book-buy-button:focus-visible {
    outline: 2px solid rgba(12, 102, 139, .35);
    outline-offset: 2px;
}

.authors-equal-grid .book-contact-placeholder:not(.book-contact-link) {
    width: fit-content;
    max-width: 100%;
    min-height: 30px;
    margin-top: auto;
    padding: 6px 11px;
    align-items: center;
    border: 1px solid #bfd5dd;
    border-radius: 6px;
    background: #e5eff2;
    color: #315f71;
    font-size: .72rem;
    box-shadow: none;
}

@media (max-width: 620px) {
    .authors-equal-grid .book-buy-button {
        min-height: 32px;
        padding: 6px 12px;
    }
}

/* Edición 2026: fotografías bien encuadradas */
@media (min-width: 981px) {
    .edition-memory-collage {
        grid-template-columns: minmax(0, 1.72fr) minmax(190px, .88fr);
        grid-template-rows: repeat(2, minmax(0, 1fr));
        gap: 11px;
    }

    .edition-memory-collage figure {
        border: 2px solid rgba(224, 242, 247, .8);
        border-radius: 13px;
        background: #0b3a56;
        box-shadow: 0 9px 22px rgba(0, 18, 34, .2);
    }

    .edition-memory-collage img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .edition-memory-collage-main img {
        object-position: center 48%;
    }

    .edition-memory-collage figure:nth-child(2) img {
        object-position: center 46%;
    }

    .edition-memory-collage figure:nth-child(3) img {
        object-position: center 42%;
    }
}

@media (max-width: 980px) {
    .edition-memory-collage figure {
        border-width: 2px;
        border-radius: 12px;
    }

    .edition-memory-collage img {
        object-fit: cover;
        object-position: center;
    }
}

/* Premios: cuadro simple con la paleta institucional */
.awards-section .awards-grid .table-wrap,
.awards-section .table-wrap {
    overflow: hidden !important;
    border: 1px solid #b8ccd5 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(5, 42, 65, .07) !important;
}

.awards-section .table-wrap .laptop-award-note,
.awards-section .laptop-award-note {
    padding: 14px 17px !important;
    border: 0 !important;
    border-bottom: 1px solid #c7d9e0 !important;
    border-radius: 0 !important;
    background: #e8f2f5 !important;
}

.awards-section .table-wrap .laptop-award-note::before {
    content: none !important;
}

.awards-section .table-wrap .laptop-award-note .eyebrow {
    color: #176889 !important;
}

.awards-section .table-wrap .laptop-award-note h2,
.awards-section .table-wrap .laptop-award-note p:last-child {
    color: #082d48 !important;
}

.awards-section .table-wrap .city-awards-note,
.awards-section .city-awards-note {
    margin: 0 !important;
    padding: 9px 17px !important;
    border: 0 !important;
    border-bottom: 1px solid #c7d9e0 !important;
    border-radius: 0 !important;
    background: #f3f7f8 !important;
    color: #375565 !important;
}

.awards-section .table-wrap .city-awards-note strong,
.awards-section .city-awards-note strong {
    color: #0d5577 !important;
}

.awards-section .table-wrap table {
    width: 100%;
    padding: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
}

.awards-section .table-wrap thead th {
    padding: 9px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0d365d !important;
    color: #ffffff !important;
}

.awards-section .table-wrap tbody td,
.awards-section .table-wrap tbody tr:nth-child(even) td {
    padding: 10px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #dbe6ea !important;
    border-radius: 0 !important;
    background: #ffffff !important;
}

.awards-section .table-wrap tbody tr:last-child td {
    border-bottom: 0 !important;
}

.awards-section .table-wrap tbody td:first-child {
    color: #0b638b !important;
}

.awards-section .table-wrap tbody td:last-child {
    color: #3b5564 !important;
}

@media (max-width: 620px) {
    .awards-section .table-wrap .laptop-award-note,
    .awards-section .laptop-award-note {
        padding: 12px 14px !important;
    }

    .awards-section .table-wrap .city-awards-note,
    .awards-section .city-awards-note {
        padding: 8px 14px !important;
    }

    .awards-section .table-wrap thead th,
    .awards-section .table-wrap tbody td {
        padding: 9px 12px !important;
    }
}

/* Presencia nacional: encabezado compacto */
.national-section.section {
    padding: 32px 0 38px;
}

.national-section .section-heading.horizontal {
    margin-bottom: 17px;
    gap: clamp(28px, 5vw, 72px);
    align-items: center;
}

.national-section .section-heading .eyebrow {
    margin-bottom: 5px;
    font-size: .72rem;
}

.national-section .section-heading h2 {
    margin-bottom: 0;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.02;
}

.national-summary strong {
    margin-bottom: 3px;
    font-size: .8rem;
}

.national-summary p {
    max-width: 610px;
    font-size: .96rem;
    line-height: 1.42;
}

.national-section .venues-list {
    gap: 8px 16px;
    margin: 0 0 18px;
}

.national-section .venues-list span {
    gap: 7px;
    font-size: 1rem;
}

.national-section .venues-list span:not(:last-child)::after {
    height: 16px;
    margin-left: 8px;
}

.national-section .venues-list span::before {
    width: 11px;
    height: 11px;
}

@media (max-width: 920px) {
    .national-section.section {
        padding: 26px 0 32px;
    }

    .national-section .section-heading.horizontal {
        margin-bottom: 14px;
        gap: 8px;
    }
}

@media (max-width: 620px) {
    .national-section.section {
        padding: 22px 0 28px;
    }

    .national-section .section-heading h2 {
        font-size: 2rem;
    }

    .national-section .venues-list {
        gap: 8px 12px;
        margin-bottom: 15px;
    }

    .national-section .venues-list span {
        font-size: .9rem;
    }
}

/* Portada: el box principal completa la altura disponible */
@media (min-width: 921px) {
    .is-cover-page .poster-shell {
        padding-top: 8px !important;
        padding-bottom: 0 !important;
        align-items: stretch !important;
    }

    .is-cover-page .poster-card {
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
    }

    .is-cover-page .poster-collage {
        top: 6px !important;
        right: 6px !important;
        bottom: 6px !important;
    }

    .is-cover-page .poster-copy {
        transform: translateY(-50%) scale(1.04) !important;
        transform-origin: left center !important;
    }
}

/* Portada: continuidad visual en la franja inferior */
@media (min-width: 921px) {
    .is-cover-page .cover-only-main,
    .is-cover-page .poster-shell {
        background: #00142a !important;
        background-image: none !important;
    }
}

/* Portada: afiche centrado en todo el espacio libre bajo el encabezado */
@media (min-width: 921px) {
    body.is-cover-page {
        display: flex;
        min-height: 100svh;
        flex-direction: column;
    }

    .is-cover-page .site-header {
        flex: 0 0 auto;
    }

    .is-cover-page .cover-only-main {
        display: flex;
        min-height: 0 !important;
        flex: 1 1 auto;
    }

    .is-cover-page .poster-shell {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        padding: 12px 0 !important;
        flex: 1 1 auto;
        align-items: center !important;
        justify-content: center !important;
    }

    .is-cover-page .poster-card {
        height: calc(100% - 24px) !important;
        min-height: 0 !important;
        max-height: 500px !important;
        margin: 0 auto !important;
    }
}

/* Nosotros: texto de participación más delicado */
.welcome-stats .about-levels strong {
    color: var(--muted);
    font-family: "Manrope", Arial, sans-serif;
    font-size: .82rem;
    font-weight: 500;
    line-height: 1.42;
}

/* Nosotros: mensaje de participación sin recuadro interior */
.welcome-stats .about-levels,
.welcome-stats .about-levels:last-child {
    width: auto;
    margin-top: 5px;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

/* Nosotros: sección del equipo 30% más compacta y centrada */
.people-section.section {
    padding: 24px 0;
}

.people-section .team-layout {
    gap: 34px;
    align-items: center;
}

.people-section .team-intro {
    position: static;
    top: auto;
    align-self: center;
    padding: 17px 26px 17px 0;
    text-align: center;
}

.people-section .team-intro p:last-child {
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
}

.people-section .team-list {
    gap: 8px;
}

.people-section .profile-card {
    grid-template-columns: 145px minmax(0, 1fr);
    min-height: 172px;
}

.people-section .profile-image {
    min-height: 172px;
}

.people-section .profile-content {
    padding: 13px 20px;
    justify-content: center;
}

.people-section .profile-content h3 {
    margin-bottom: 7px;
}

.people-section .profile-content p:last-child {
    font-size: .8rem;
    line-height: 1.38;
}

@media (min-width: 921px) {
    .people-section .team-list {
        grid-auto-rows: 150px;
    }

    .people-section .profile-card {
        height: 150px;
        min-height: 150px;
        max-height: 150px;
        grid-template-columns: 126px minmax(0, 1fr);
    }

    .people-section .profile-image {
        height: 150px;
        min-height: 150px;
    }
}

@media (max-width: 920px) {
    .people-section.section {
        padding: 24px 0;
    }

    .people-section .team-layout {
        gap: 18px;
    }

    .people-section .team-intro {
        padding: 0 0 16px;
    }
}

@media (max-width: 620px) {
    .people-section .profile-card {
        grid-template-columns: 104px minmax(0, 1fr);
        min-height: 160px;
    }

    .people-section .profile-image {
        min-height: 160px;
    }

    .people-section .profile-content {
        padding: 15px 17px;
    }
}

/* Nosotros: contenido proporcionado dentro de las fichas del equipo */
@media (min-width: 921px) {
    .people-section .team-list {
        grid-auto-rows: 205px;
        gap: 12px;
    }

    .people-section .profile-card {
        height: 205px;
        min-height: 205px;
        max-height: 205px;
        grid-template-columns: 174px minmax(0, 1fr);
        align-items: center;
    }

    .people-section .profile-image {
        width: 150px;
        height: 181px !important;
        min-height: 181px !important;
        max-height: 181px !important;
        margin: 0 auto;
        align-self: center;
        border-radius: 12px;
        background: #d8e8ee;
    }

    .people-section .profile-image img,
    .people-section .profile-card:nth-child(2) .profile-image img {
        object-fit: cover;
        object-position: center;
    }

    .people-section .profile-card:nth-child(2) .profile-image img {
        object-position: center top;
        transform: translateY(-4px) scale(1.035);
        transform-origin: center top;
    }

    .people-section .profile-content {
        display: flex;
        width: 100%;
        height: 100%;
        min-width: 0;
        padding: 20px 30px;
        align-items: center;
        justify-content: center;
        text-align: center;
        overflow: visible;
    }

    .people-section .profile-content > * {
        width: 100%;
        max-width: 680px;
        margin-right: auto;
        margin-left: auto;
    }

    .people-section .profile-content .eyebrow {
        margin-bottom: 7px;
        font-size: .72rem;
        line-height: 1.2;
    }

    .people-section .profile-content h3 {
        margin-bottom: 7px;
        font-size: clamp(1.28rem, 1.65vw, 1.62rem);
        line-height: 1.05;
    }

    .people-section .profile-content p:last-child {
        font-size: .8rem;
        line-height: 1.42;
    }
}

/* Pie de página: 15% más compacto y con menor espacio superior */
.site-footer {
    padding-top: 24px;
    padding-bottom: 14px;
}

.site-footer .footer-grid {
    gap: 32px;
}

.site-footer .footer-intro {
    gap: 30px;
}

.site-footer .footer-grid h2 {
    margin-bottom: 10px;
    font-size: clamp(1.55rem, 2vw, 2.1rem);
    line-height: 1.08;
}

.site-footer .footer-description {
    font-size: .9rem;
    line-height: 1.5;
}

.site-footer .contact-list {
    gap: 8px;
    padding-left: 26px;
}

.site-footer .footer-emblem {
    min-height: 102px;
    padding: 0;
    align-content: center;
    justify-items: center;
}

.site-footer .footer-bottom {
    margin-top: 16px;
    padding-top: 10px;
}

@media (min-width: 901px) {
    .site-footer .footer-emblem {
        transform: none;
    }

    .site-footer .footer-emblem > img,
    .site-footer .footer-development {
        transform: translateX(10%);
    }
}

/* Premios: fotografía oficial de las medallas 2026 */
.prize-card .medals-photo {
    width: 100%;
    aspect-ratio: 1.9 / 1 !important;
    padding: 8px;
    object-fit: contain !important;
    object-position: center;
    background: #f7f7f5;
}

/* Edición 2026: selector sin barra de desplazamiento innecesaria */
@media (min-width: 621px) {
    .edition-memory-gallery .edition-city-selector {
        overflow: visible;
        scrollbar-width: none;
    }
}

/* Recursos académicos: encabezado más bajo y fondo celeste uniforme */
.resource-page-hero {
    padding: 18px 0 16px;
    color: #123d50;
    background: #7fb1c0;
}

.resource-page-hero .eyebrow {
    margin-bottom: 5px;
    color: #075b79;
}

.resource-page-hero h1 {
    margin-bottom: 8px;
    color: #062c43;
    font-size: clamp(1.7rem, 2.5vw, 2.35rem);
}

.resource-page-hero p:last-child {
    margin-bottom: 0;
    line-height: 1.45;
}

/* Libros: introducción de solucionarios 30% más baja */
@media (min-width: 701px) {
    .books-section.books-page {
        padding-top: 28px;
    }

    .books-page .solution-books-intro {
        gap: 34px;
        margin-bottom: 17px;
    }

    .books-page .solution-books-title .eyebrow {
        margin-bottom: 6px;
    }

    .books-page .solution-books-title h1 {
        font-size: clamp(2.05rem, 3vw, 2.9rem);
        line-height: 1;
    }

    .books-page .solution-books-description {
        line-height: 1.45;
    }
}

/* Libros: tarjetas niveladas y con mayor profundidad */
@media (min-width: 921px) {
    .books-page .training-books {
        align-items: stretch;
    }

    .books-page .training-books .book-card {
        height: 100%;
        grid-template-rows: 245px minmax(0, 1fr);
        box-shadow: 0 20px 42px rgba(3, 24, 49, .22) !important;
    }

    .books-page .training-books .book-card > img {
        width: 100%;
        height: 245px !important;
    }

    .books-page .training-books .book-card > div {
        display: flex;
        height: 100%;
        min-height: 185px;
        flex-direction: column;
    }

    .books-page .training-books .book-card h3 {
        min-height: 1.25em;
    }

    .books-page .training-books .book-card p {
        margin-bottom: 10px;
    }

    .books-page .training-books .book-card .book-info-link {
        margin-top: auto !important;
        align-self: flex-start;
    }
}

/* Libros por autor: controles delicados y uniformes en los tres carruseles */
.authors-equal-grid .author-carousel-controls {
    margin-bottom: 9px;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.authors-equal-grid .author-carousel-dots {
    gap: 4px;
}

.authors-equal-grid .author-carousel-dots i {
    width: 4px;
    height: 4px;
    background: #afd0d8;
}

.authors-equal-grid .author-carousel-dots i.is-active {
    width: 14px;
    height: 4px;
    background: #247f9c;
}

.authors-equal-grid .author-carousel-side {
    width: 28px;
    height: 38px;
    border-color: rgba(10, 103, 143, .2);
    background: rgba(250, 253, 254, .88);
    box-shadow: 0 3px 9px rgba(5, 52, 75, .11);
    color: #176f8e;
    font-size: .96rem;
}

.authors-equal-grid .author-carousel-side--prev {
    left: -13px;
}

.authors-equal-grid .author-carousel-side--next {
    right: -13px;
}

.authors-equal-grid .author-carousel-side:hover {
    background: #ffffff;
    box-shadow: 0 4px 11px rgba(5, 52, 75, .15);
    transform: translateY(-50%) scale(1.02);
}

/* Chat: navegación progresiva por categoría, sede y pregunta */
.chat-suggestions::before {
    content: attr(data-label);
    grid-column: 1 / -1;
}

.chat-suggestions.is-category-step,
.chat-suggestions.is-seat-step {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.chat-suggestions .chat-filter-back {
    grid-column: 1 / -1;
    min-height: 34px;
    padding: 7px 12px;
    border-color: rgba(7, 94, 84, .16);
    background: transparent;
    color: #55736b;
    font-size: .72rem;
    box-shadow: none;
}

.chat-suggestions .chat-filter-back::after {
    content: none;
}

.chat-suggestions .chat-filter-back:hover {
    border-color: rgba(7, 94, 84, .28);
    background: #edf7f3;
    box-shadow: none;
}

/* Portada: transición continua entre el texto y el mosaico */
@media (min-width: 921px) {
    .is-cover-page .poster-collage::before {
        content: "" !important;
        position: absolute !important;
        z-index: 10 !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        display: block !important;
        width: 90px !important;
        background: linear-gradient(90deg, #00416f 0%, rgba(0, 65, 111, .72) 38%, rgba(0, 65, 111, 0) 100%) !important;
        pointer-events: none;
    }
}

/* Nosotros: tarjeta informativa con la misma altura de la fotografía */
@media (min-width: 921px) {
    .welcome-section .about-highlight {
        height: 290px !important;
        min-height: 290px !important;
        max-height: 290px !important;
        padding: 24px 22px !important;
        justify-content: center !important;
    }

    .welcome-section .about-highlight h2 {
        margin-bottom: 16px !important;
        font-size: clamp(1.9rem, 2.25vw, 2.3rem) !important;
        line-height: 1.03 !important;
    }

    .welcome-section .about-highlight .about-levels strong {
        font-size: .88rem;
        line-height: 1.5;
    }
}

/* Nosotros: listado de sedes simple y editorial */
.national-section .venues-list {
    gap: 8px 24px;
    margin: 2px 0 18px;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(20, 91, 119, .18);
}

.national-section .venues-list span {
    gap: 0;
    color: #345d70;
    font-size: .88rem;
    font-weight: 600;
    letter-spacing: .01em;
}

.national-section .venues-list span::before,
.national-section .venues-list span:not(:last-child)::after {
    content: none;
    display: none;
}

@media (max-width: 620px) {
    .national-section .venues-list {
        gap: 7px 18px;
        padding-bottom: 9px;
    }

    .national-section .venues-list span {
        font-size: .84rem;
    }
}

/* Guía mínima: acompaña sin interrumpir */
.site-guide-backdrop {
    background: transparent;
}

.site-guide-card {
    width: min(270px, calc(100vw - 24px));
    padding: 11px 13px 10px;
    border-color: rgba(135, 181, 197, .34);
    border-radius: 11px;
    background: rgba(247, 252, 253, .94);
    box-shadow: 0 8px 20px rgba(2, 28, 47, .12);
    backdrop-filter: blur(8px);
}

.site-guide-step {
    display: none;
}

.site-guide-card h2 {
    margin: 0 0 2px;
    font-size: 1.08rem;
}

.site-guide-card > p:last-of-type {
    font-size: .72rem;
    line-height: 1.38;
}

.site-guide-actions {
    margin-top: 8px;
    padding-top: 7px;
    border-top-color: rgba(137, 179, 194, .24);
}

.site-guide-actions button {
    min-height: 28px;
    padding: 3px 8px;
    font-size: .62rem;
}

.site-guide-target {
    outline: 1px solid rgba(142, 220, 235, .9) !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 5px rgba(116, 218, 235, .08), 0 0 15px rgba(93, 204, 224, .22) !important;
    animation: guide-target-whisper 2.3s ease-in-out infinite;
}

@keyframes guide-target-whisper {
    0%, 100% { box-shadow: 0 0 0 4px rgba(116, 218, 235, .06), 0 0 11px rgba(93, 204, 224, .16); }
    50% { box-shadow: 0 0 0 7px rgba(116, 218, 235, .11), 0 0 18px rgba(93, 204, 224, .27); }
}

.site-guide-launcher {
    min-height: 36px;
    padding: 4px 9px 4px 5px;
    gap: 6px;
    border-color: rgba(126, 190, 210, .3);
    background: rgba(7, 52, 82, .78);
    box-shadow: 0 4px 11px rgba(0, 18, 35, .11);
    opacity: .76;
}

.site-guide-launcher:hover,
.site-guide-launcher:focus-visible {
    opacity: 1;
}

.site-guide-launcher span {
    width: 24px;
    height: 24px;
    font-size: .72rem;
}

.site-guide-launcher b {
    font-size: .68rem;
}

@media (max-width: 620px) {
    .site-guide-card {
        width: min(100%, 310px);
        padding: 10px 12px 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-guide-target {
        animation: none;
    }
}

/* Guía delicada: luz suave y tarjeta editorial */
.site-guide-backdrop {
    background: rgba(2, 19, 34, .09);
}

.site-guide-card {
    padding: 16px 17px 15px;
    border: 1px solid rgba(115, 173, 193, .48);
    border-radius: 15px;
    background: rgba(249, 253, 254, .98);
    box-shadow: 0 14px 34px rgba(1, 24, 42, .18);
}

.site-guide-step {
    color: #548495;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .11em;
}

.site-guide-card h2 {
    margin-bottom: 4px;
    color: #0a304a;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.28rem;
    font-weight: 600;
    letter-spacing: -.015em;
}

.site-guide-card > p:last-of-type {
    color: #587482;
    font-size: .78rem;
    line-height: 1.48;
}

.site-guide-actions {
    padding-top: 10px;
    border-top: 1px solid #dbe9ed;
}

.site-guide-actions button {
    min-height: 32px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: .67rem;
    font-weight: 700;
}

.site-guide-skip,
.site-guide-previous {
    border-color: transparent;
    color: #567989;
}

.site-guide-next {
    border-color: #356f88;
    background: #356f88;
}

.site-guide-target {
    outline: 2px solid #8edceb !important;
    outline-offset: 6px !important;
    box-shadow: 0 0 0 8px rgba(116, 218, 235, .14), 0 0 24px rgba(93, 204, 224, .34) !important;
    animation: guide-target-delicate 1.8s ease-in-out infinite;
}

@keyframes guide-target-delicate {
    0%, 100% { box-shadow: 0 0 0 7px rgba(116, 218, 235, .11), 0 0 19px rgba(93, 204, 224, .25); }
    50% { box-shadow: 0 0 0 11px rgba(116, 218, 235, .18), 0 0 27px rgba(93, 204, 224, .4); }
}

.site-guide-launcher {
    border-color: rgba(126, 190, 210, .48);
    background: rgba(7, 52, 82, .94);
    box-shadow: 0 6px 16px rgba(0, 18, 35, .17);
}

.site-guide-launcher span {
    background: #b9e7ef;
    color: #15465c;
}

@media (max-width: 620px) {
    .site-guide-card {
        padding: 15px 16px 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-guide-target {
        animation: none;
    }
}

/* Guía flotante: acabado transparente definitivo */
.site-guide-backdrop {
    background: transparent;
}

.site-guide-card {
    width: min(250px, calc(100vw - 24px));
    padding: 12px 14px 11px;
    border-color: rgba(190, 226, 235, .16);
    border-radius: 12px;
    background: rgba(7, 43, 65, .68);
    box-shadow: 0 6px 18px rgba(0, 15, 28, .08);
    backdrop-filter: blur(11px);
}

.site-guide-step {
    color: rgba(211, 237, 243, .52);
}

.site-guide-card h2 {
    margin-bottom: 2px;
    color: rgba(255, 255, 255, .88);
    font-size: 1.12rem;
}

.site-guide-card > p:last-of-type {
    color: rgba(222, 239, 244, .68);
    font-size: .74rem;
    line-height: 1.42;
}

.site-guide-actions {
    margin-top: 8px;
    padding-top: 7px;
    border-top-color: rgba(215, 239, 245, .1);
}

.site-guide-actions button {
    min-height: 29px;
    padding: 4px 8px;
}

.site-guide-skip,
.site-guide-previous {
    border-color: transparent;
    background: transparent;
    color: rgba(223, 240, 245, .56);
}

.site-guide-next {
    border-color: rgba(170, 221, 232, .22);
    background: rgba(126, 200, 217, .16);
    color: rgba(255, 255, 255, .88);
    box-shadow: none;
}

.site-guide-next:hover,
.site-guide-next:focus-visible {
    background: rgba(126, 200, 217, .24);
}

@media (max-width: 620px) {
    .site-guide-card {
        width: min(100%, 280px);
        padding: 11px 13px 10px;
    }
}
/* esto es para que en el celular las tarjetas de libros se ajusten a la iamgen */
@media (max-width: 620px) {
    .authors-equal-grid .authors-books-carousel .author-book-placeholder,
    .authors-equal-grid .author-books-carousel .author-book-placeholder {
        height: auto !important;
        min-height: 0 !important;
        grid-template-columns: 105px minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        align-items: stretch !important;
    }

    .authors-equal-grid .author-books-carousel .author-book-cover {
        height: auto !important;
        min-height: 210px !important;
    }

    .authors-equal-grid .author-books-carousel .author-book-copy {
        height: auto !important;
        min-height: 210px !important;
    }
}

/* Mostrar los botones del encabezado en celular */
@media (max-width: 920px) {
    .site-header .header-actions {
        display: flex !important;
        width: 100% !important;
        margin: 0 !important;
        gap: 9px !important;
        align-items: center !important;
        justify-content: center !important;
        order: 2 !important;
    }
}

/* =========================================
   POSICIÓN DEFINITIVA DE LOS DOS ÚLTIMOS
========================================= */

@media screen and (min-width: 921px) {
    .guest-videos-bottom {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: flex-start !important;
        gap: 24px !important;
        width: 100% !important;
        margin-top: 24px !important; /* Espacio con los 3 videos de arriba */
    }

    .guest-videos-bottom > .facebook-video-card {
        flex: 0 0 500px !important;
        width: 500px !important;
    }

    .guest-videos-bottom > .guest-video-card:last-child {
        flex: 0 0 calc(33.333333% - 16px) !important;
        width: calc(33.333333% - 16px) !important;
    }
}
/* Celular */
@media screen and (max-width: 920px) {
    .guest-videos-grid > .guest-videos-bottom {
        grid-column: 1 / -1 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        width: 100% !important;
    }

    .guest-videos-bottom > .guest-video-card {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
}
