@font-face {
    font-family: 'Century Gothic';
    src: url('fonts/centurygothic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Century Gothic';
    src: url('fonts/centurygothic_bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Gotham Black';
    src: url('fonts/Gotham Black.otf') format('opentype');
    font-weight: 800;
    /* Usually mapping 800 or 900 to bold/black */
    font-style: normal;
}

@font-face {
    font-family: 'Gotham Black';
    src: url('fonts/Gotham Black.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Rotterin';
    src: url('fonts/Rotterin Demo.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

:root {
    --primary: #1AB4D8;
    --primary-light: rgba(26, 180, 216, 0.15);
    --primary-glow: rgba(26, 180, 216, 0.6);
    --text-dark: #00739B;
    --text-darker: #004b66;
    --text-body: #475569;
    /* Gris pizarra para ergonomía de lectura */
    --accent: #54B1D4;
    --accent-dark: #00ADDA;
    --bg-light: #f4faff;
    --white: #ffffff;

    --font-heading: 'Gotham Black', 'Montserrat', sans-serif;
    --font-body: 'Century Gothic', 'Nunito Sans', sans-serif;
    --shadow-sm: 0 4px 12px rgba(0, 115, 155, 0.08);
    --shadow-md: 0 12px 30px rgba(0, 115, 155, 0.15);
    --shadow-lg: 0 20px 50px rgba(0, 115, 155, 0.2);
    --radius-md: 16px;
    --radius-lg: 24px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Ajuste crucial de UX: evita que el menú tape el contenido al navegar */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
    font-size: 16px; /* Base 100% en pantallas grandes */
    overflow-x: clip;
}

/* Tipografía Responsiva Global */
@media (max-width: 1600px) {
    html { font-size: 15px; } /* Reduce tipografía un poco en laptops grandes */
}

@media (max-width: 1366px) {
    html { font-size: 14px; } /* Laptops estándar */
}

@media (max-width: 1024px) {
    html { font-size: 13px; } /* Tablets horizontales y laptops pequeñas */
}

@media (max-width: 768px) {
    html { font-size: 12px; } /* Móviles y tablets pequeñas */
}

body {
    font-family: var(--font-body);
    color: var(--text-body);
    /* Color de texto cómodo a la vista */
    background-color: var(--white);
    line-height: 1.6;
    overflow-x: clip;
    position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 800;
    line-height: 1.2;
    color: var(--text-darker);
}

a {
    text-decoration: none;
    color: inherit;
}

ul,
ol {
    list-style: none;
}

.wrapper {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 5%;
    position: relative;
    z-index: 2;
}

.bg-blobs {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.blob {
    position: absolute;
    filter: blur(80px);
    opacity: 0.15;
    border-radius: 50%;
    animation: floatBlob 12s infinite alternate ease-in-out;
}

.blob-1 {
    width: 400px;
    height: 400px;
    background: var(--primary);
    top: 10%;
    left: -100px;
}

.blob-2 {
    width: 500px;
    height: 500px;
    background: var(--accent);
    top: 40%;
    right: -200px;
    animation-delay: -5s;
}

.blob-3 {
    width: 350px;
    height: 350px;
    background: var(--primary);
    bottom: 10%;
    left: 20%;
    animation-delay: -2s;
}

@keyframes floatBlob {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(40px, -60px) scale(1.1);
    }
}

@media (max-width: 768px) {
    .bg-blobs {
        display: none;
    }
}

.reveal {
    opacity: 0;
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
    opacity: 1;
    transform: translate(0, 0) scale(1) !important;
}

.reveal:not(.active) {
    transform: translateY(50px) scale(0.96);
}

.reveal.anim-left:not(.active) {
    transform: translateX(-50px) scale(0.96);
}

.reveal.anim-right:not(.active) {
    transform: translateX(50px) scale(0.96);
}

.reveal.anim-zoom:not(.active) {
    transform: scale(0.85);
}

.reveal.anim-fade:not(.active) {
    transform: translateY(10px);
}

.shape-divider svg {
    display: block;
    width: calc(100% + 1.3px);
    height: clamp(40px, 6vw, 80px);
}

.section-header {
    text-align: center;
    margin-bottom: 3.5rem;
    position: relative;
    z-index: 2;
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: #E7F4FF;
    color: var(--text-dark);
    border-radius: 999px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.75rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 24px;
    border: none;
    box-shadow: none;
}

.section-title {
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    line-height: 1.15;
    letter-spacing: -0.5px;
}

.section-title span {
    color: var(--primary);
    position: relative;
    display: inline-block;
    padding-bottom: 4px;
}

.section-title span::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #ffffff, #1AB4D8, #00ADDA, #ffffff);
    background-size: 200% 100%;
    animation: gradientLineMove 3s linear infinite;
    border-radius: 10px;
}

.section-header::after {
    content: '';
    display: block;
    width: 80px;
    height: 5px;
    background: linear-gradient(90deg, var(--primary), var(--accent-dark));
    margin: 20px auto 0;
    border-radius: 10px;
    box-shadow: none;
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--text-darker);
    color: var(--white);
    padding: 12px 28px;
    border-radius: 999px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.9rem;
    border: none;
    cursor: pointer;
    box-shadow: none;
    transition: all 0.2s ease;
}

.btn-primary:hover {
    background: var(--primary);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    color: white;
}

/* NAVBAR */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 95px;
    z-index: 100;
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 0;
}

.site-header.scrolled {
    height: 70px;
    align-items: center;
}

.site-header.hide-for-lightbox {
    opacity: 0;
    z-index: -1;
}

/* Contenido del header — mismo tamaño que la pill */
.header-inner {
    width: calc(100% - 48px);
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 66px;
    margin-top: 12px;
    position: relative;
    z-index: 1;
    pointer-events: auto;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50px;
    box-sizing: border-box !important;
}

.site-header.scrolled .header-inner {
    margin-top: 0;
    height: 70px;
    width: 100%;
    max-width: 100%;
    padding: 0 32px;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 10px 30px rgba(0, 115, 155, 0.12);
    border-color: transparent;
}

.brand img {
    height: 42px;
    width: auto;
    object-fit: contain;
    transition: 0.3s;
}

.nav-links {
    display: flex;
    gap: 30px;
}

.nav-links a {
    color: var(--text-darker);
    font-weight: 700;
    font-size: 0.95rem;
    opacity: 0.9;
    transition: 0.3s;
    position: relative;
}

.nav-links a::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -6px;
    width: 0;
    height: 3px;
    background: var(--primary);
    transition: 0.3s;
    border-radius: 2px;
}

.nav-links a:hover {
    color: var(--primary);
}

.nav-links a:hover::after {
    width: 100%;
}

.actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.cta-header {
    background: #FF9000;
    color: var(--white);
    padding: 10px 24px;
    border-radius: 999px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: 0.2s;
    box-shadow: none;
    border: none;
}

@media (hover: hover) {
    .cta-header:hover {
        background: #E64A19;
        transform: none;
        color: white;
        box-shadow: none;
    }
}

.cta-header svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.social-wrap {
    display: flex;
    align-items: center;
}

.icon-bar {
    display: flex;
    gap: 8px;
}

.icon-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--text-dark);
    background: #F0F5FA;
    font-size: 1rem;
    border: 1px solid rgba(0, 115, 155, 0.1);
    transition: 0.3s;
}

@media (hover: hover) {
    .icon-btn:hover {
        background: var(--primary);
        border-color: var(--primary);
        color: white;
        transform: translateY(-3px);
    }
}

.social-toggle {
    display: none;
}

.social-panel {
    display: none;
}

@media (max-width: 992px) {

    .nav-links,
    .icon-bar {
        display: none;
    }

    .social-toggle {
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #F0F5FA;
        color: var(--text-dark);
        border: 1px solid rgba(0, 115, 155, 0.2);
        font-size: 1.1rem;
    }

    .social-toggle:hover {
        background: var(--primary);
        color: white;
        border-color: var(--primary);
    }

    .social-panel {
        position: fixed;
        top: 100px;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 48px);
        border-radius: 24px;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(15px);
        padding: 25px;
        border: 1px solid rgba(0, 115, 155, 0.1);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
        z-index: 110;
    }

    .site-header.scrolled+.social-panel {
        top: 80px;
    }

    .social-panel.open {
        display: block;
        animation: slideDown 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translate(-50%, -10px);
        }

        to {
            opacity: 1;
            transform: translate(-50%, 0);
        }
    }

    .icon-grid {
        display: flex;
        justify-content: center;
        gap: 15px;
        margin-top: 20px;
    }

    .mobile-nav-links {
        display: flex;
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .mobile-nav-links a {
        font-weight: 800;
        color: var(--text-darker);
        padding: 12px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    }

    .registrate-span {
        display: none;
    }

    .cta-header {
        padding: 10px;
        border-radius: 50%;
    }
}

/* ==================== HERO V2 — CENTERED MINIMAL LAYOUT ==================== */
.hero-v2 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    padding: 135px 0 60px;
    overflow: hidden;
    text-align: center;
    background: url('img/fondo.png') center center / cover no-repeat;
}

.hero-v2__bg-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.15) 100%);
}

/* ---- Hero Decorative Images ---- */

/* Animaciones de entrada */
@keyframes slideInFromLeft {
    0% {
        transform: translateY(-50%) translateX(-120%) rotate(-8deg);
        opacity: 0;
    }

    60% {
        opacity: 1;
    }

    100% {
        transform: translateY(-50%) translateX(0%) rotate(0deg);
        opacity: 1;
    }
}

@keyframes slideInFromRight {
    0% {
        transform: translateY(calc(-50% + 20px)) translateX(60%);
        opacity: 0;
    }

    60% {
        opacity: 1;
    }

    100% {
        transform: translateY(-50%) translateX(0%);
        opacity: 1;
    }
}

@keyframes floatY {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-12px);
    }
}

@keyframes floatYRight {

    0%,
    100% {
        transform: translateY(0px) scale(1);
    }

    50% {
        transform: translateY(-8px) scale(1.01);
    }
}

/* Imagen encargada / Quinteto — izquierda */
.hero-brazo-left {
    position: absolute;
    top: 50%;
    bottom: auto;
    left: -10px;
    width: clamp(285px, 29vw, 470px);
    z-index: 4;
    pointer-events: none;
    transform: translateY(-50%);
    animation: slideInFromLeft 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

.hero-brazo-img {
    width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(0 20px 40px rgba(0, 115, 155, 0.2));
}

/* Brazo robótico KVC — derecha */
.hero-host-right {
    position: absolute;
    top: 50%;
    bottom: auto;
    right: -20px;
    width: clamp(280px, 28vw, 460px);
    z-index: 4;
    pointer-events: none;
    transform: translateY(-50%);
    animation: slideInFromRight 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}

.hero-host-img {
    width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(0 20px 50px rgba(26, 180, 216, 0.25));
}

/* Ocultar en móvil para no tapar el contenido */
@media (max-width: 900px) {
    .hero-brazo-left {
        width: clamp(140px, 22vw, 240px);
        left: -20px;
        opacity: 0.6;
    }

    .hero-host-right {
        width: clamp(110px, 18vw, 200px);
        right: -5px;
        opacity: 0.7;
    }
}

@media (max-width: 600px) {
    .hero-brazo-left {
        display: none;
    }

    .hero-host-right {
        display: none;
    }
}

/* Aurora Effect (subtle, decorative) */
@keyframes animate-aurora {
    from {
        background-position: 50% 50%, 50% 50%;
    }

    to {
        background-position: 350% 50%, 350% 50%;
    }
}

.hero-v2__aurora {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.hero-v2__aurora::after {
    content: "";
    position: absolute;
    inset: -10px;
    opacity: 0.08;
    filter: blur(20px);
    background-image:
        repeating-linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 7%, transparent 10%, transparent 12%, rgba(255, 255, 255, 0) 16%),
        repeating-linear-gradient(100deg, var(--primary) 10%, var(--accent) 15%, var(--accent-dark) 20%, var(--primary) 30%);
    background-size: 200% 100%;
    animation: animate-aurora 60s linear infinite;
    -webkit-mask-image: radial-gradient(ellipse at 50% 0%, black 10%, transparent 70%);
    mask-image: radial-gradient(ellipse at 50% 0%, black 10%, transparent 70%);
}

/* Animated particles */
.hero-v2__particles {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.hero-v2__particles .particle {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary-light);
    animation: particleFloat 8s infinite ease-in-out;
}

.particle:nth-child(1) {
    top: 20%;
    left: 10%;
    animation-delay: 0s;
    animation-duration: 10s;
}

.particle:nth-child(2) {
    top: 60%;
    left: 25%;
    animation-delay: -2s;
    animation-duration: 12s;
    width: 4px;
    height: 4px;
}

.particle:nth-child(3) {
    top: 30%;
    left: 55%;
    animation-delay: -4s;
    animation-duration: 9s;
    width: 8px;
    height: 8px;
}

.particle:nth-child(4) {
    top: 75%;
    left: 70%;
    animation-delay: -1s;
    animation-duration: 11s;
}

.particle:nth-child(5) {
    top: 45%;
    left: 85%;
    animation-delay: -3s;
    animation-duration: 8s;
    width: 5px;
    height: 5px;
}

.particle:nth-child(6) {
    top: 85%;
    left: 40%;
    animation-delay: -5s;
    animation-duration: 14s;
    width: 3px;
    height: 3px;
}

@keyframes particleFloat {

    0%,
    100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.4;
    }

    25% {
        transform: translate(30px, -40px) scale(1.2);
        opacity: 0.8;
    }

    50% {
        transform: translate(-20px, -80px) scale(0.8);
        opacity: 0.5;
    }

    75% {
        transform: translate(40px, -30px) scale(1.1);
        opacity: 0.7;
    }
}

@media (max-width: 768px) {
    .hero-v2__particles {
        display: none;
    }
}

/* ---- LAYOUT ---- */
.hero-v2__wrapper {
    position: relative;
    z-index: 5;
}

.hero-v2__content {
    max-width: 900px;
    margin: 0 auto;
}

/* Top row: Tag + Edition */
.hero-v2__top-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.hero-v2__tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary);
    padding: 8px 24px;
    background: #FFFFFF;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.3rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    box-shadow: 0 8px 20px rgba(0, 115, 155, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.hero-v2__edition {
    font-family: var(--font-body);
    color: var(--text-body);
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 1px;
    border-left: 2px solid rgba(0, 115, 155, 0.15);
    padding-left: 15px;
}

/* Title */
.hero-v2__title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    color: var(--text-darker);
    line-height: 1.25;
    letter-spacing: -0.5px;
    margin-bottom: 24px;
    font-weight: 900;
}

.hero-v2__title-top {
    font-size: 0.6em;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: var(--text-body);
    display: block;
    margin-bottom: 6px;
}

.hero-v2__title-script {
    font-family: 'Rotterin', 'Dancing Script', cursive;
    font-size: 1.8em;
    color: var(--primary);
    text-transform: none;
    display: block;
    margin-top: 5px;
    font-weight: 100;
}

.hero-v2__highlight {
    color: var(--primary);
    position: relative;
    display: inline-block;
}

.hero-v2__highlight::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--accent-dark));
    border-radius: 4px;
    opacity: 0.5;
}

/* Subtitle */
.hero-v2__subtitle {
    font-family: var(--font-body);
    font-size: 1.1rem;
    color: var(--text-body);
    line-height: 1.7;
    max-width: 580px;
    margin: 0 auto 36px;
}

/* Meta info: fecha / sede / horario (Sin cajas) */
.hero-v2__meta {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 38px;
}

.hero-v2__meta-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
}

.hero-v2__meta-chip:not(:last-child) {
    border-right: 1px solid rgba(0, 115, 155, 0.15);
    padding-right: 24px;
}

.hero-v2__meta-chip i {
    font-size: 1.4rem;
    color: var(--primary);
}

.hero-v2__meta-label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--text-body);
    font-weight: 700;
    opacity: 0.8;
}

.hero-v2__meta-chip strong {
    font-family: var(--font-heading);
    font-size: 1rem;
    color: var(--text-darker);
    font-weight: 800;
}

@media (max-width: 768px) {
    .hero-v2__meta {
        gap: 15px;
        flex-direction: column;
        align-items: center;
    }

    .hero-v2__meta-chip:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid rgba(0, 115, 155, 0.15);
        padding-right: 0;
        padding-bottom: 10px;
        text-align: center;
        justify-content: center;
        width: 100%;
        max-width: 250px;
    }

    .hero-v2__meta-chip {
        text-align: center;
    }
}

/* CTAs */
.hero-v2__action-row {
    display: flex;
    justify-content: center;
    margin-bottom: 70px;
}

.hero-v2__ctas {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.hero-v2__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1rem;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
}

.hero-v2__btn--primary {
    background: #FF9000;
    color: var(--white);
    border: 2px solid #FF9000;
    box-shadow: 0 8px 25px rgba(255, 87, 34, 0.35);
}

.hero-v2__btn--ghost {
    background: rgba(255, 255, 255, 0.25);
    color: var(--text-darker);
    border: 1px solid rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 32px rgba(0, 115, 155, 0.08);
}

@media (hover: hover) {
    .hero-v2__btn--primary:hover {
        background: #E64A19;
        border-color: #E64A19;
        transform: translateY(-3px);
        box-shadow: 0 15px 35px rgba(255, 87, 34, 0.45);
    }

    .hero-v2__btn--ghost:hover {
        background: rgba(255, 255, 255, 0.45);
        border-color: rgba(255, 255, 255, 0.8);
        transform: translateY(-3px);
        box-shadow: 0 12px 35px rgba(0, 115, 155, 0.15);
    }
}

/* ---- RIGHT BLOCK (Photo + Countdown + Stats) — shown centered below ---- */
.hero-v2__right {
    position: relative;
    z-index: 5;
    max-width: 900px;
    margin: 0 auto;
}

/* Masonry Layout */
.hero-masonry {
    position: relative;
    width: 100%;
    max-width: 650px;
    height: 380px;
    margin: 0 auto;
}

.hero-masonry__center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 280px;
    height: 180px;
    z-index: 5;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border: 4px solid white;
}

.hero-masonry__video-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    background: #000;
}

.hero-masonry__video-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.7;
}

.hero-masonry__play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    color: var(--primary);
    font-size: 24px;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
    transition: 0.3s;
}

.hero-masonry__play-btn:hover {
    background: white;
    transform: translate(-50%, -50%) scale(1.1);
    color: var(--text-darker);
}

/* Floating nodes */
.hero-masonry__float {
    position: absolute;
    background: white;
    padding: 10px 18px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--text-darker);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    border: 1px solid #F0F5FA;
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 6;
    animation: floatBubble 6s ease-in-out infinite alternate;
}

.hero-masonry__float i {
    color: var(--primary);
    font-size: 1rem;
}

.float-node-1 {
    top: 15%;
    left: -5%;
    animation-delay: 0s;
}

.float-node-2 {
    top: 20%;
    right: -5%;
    animation-delay: 1s;
}

.float-node-3 {
    bottom: 25%;
    left: 0%;
    animation-delay: 2s;
}

.float-node-4 {
    bottom: 15%;
    right: 5%;
    animation-delay: 3s;
}

.hero-masonry__photo-node {
    position: absolute;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
    border: 3px solid white;
    z-index: 4;
    background: var(--bg-light);
    display: grid;
    place-items: center;
}

.hero-masonry__photo-node img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-masonry__photo-node i {
    font-size: 2rem;
    color: var(--primary);
    opacity: 0.5;
}

.p-node-1 {
    width: 120px;
    height: 120px;
    top: -5%;
    right: 15%;
    animation: floatBubble 7s ease-in-out infinite alternate-reverse;
}

.p-node-2 {
    width: 100px;
    height: 140px;
    bottom: 0;
    left: 15%;
    animation: floatBubble 8s ease-in-out infinite alternate;
}

@keyframes floatBubble {
    0% {
        transform: translateY(0px);
    }

    100% {
        transform: translateY(-15px);
    }
}

@media (max-width: 768px) {
    .hero-masonry {
        max-width: 100%;
        height: 320px;
    }

    .hero-masonry__center {
        width: 220px;
        height: 140px;
    }

    .hero-masonry__float {
        font-size: 0.65rem;
        padding: 8px 12px;
    }

    .hero-masonry__float i {
        font-size: 0.8rem;
    }

    .p-node-1 {
        width: 80px;
        height: 80px;
        top: 0;
        right: 5%;
    }

    .p-node-2 {
        width: 70px;
        height: 100px;
        bottom: 10%;
        left: 5%;
    }

    .float-node-1 {
        left: -2%;
    }

    .float-node-2 {
        right: -2%;
    }

    .float-node-3 {
        bottom: 15%;
        left: -2%;
    }

    .float-node-4 {
        bottom: 5%;
        right: 5%;
    }
}

.hero-v2__cd-wrapper {
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
}

.hero-v2__cd-grid {
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 115, 155, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.5);
    padding: 10px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.cd-prefix {
    font-family: var(--font-heading);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--primary);
    white-space: nowrap;
}

.hero-v2__cd-grid-units {
    display: flex;
    align-items: center;
}

.cd-unit {
    text-align: center;
    min-width: 48px;
    padding: 0 15px;
    position: relative;
}

.cd-unit:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 60%;
    width: 1px;
    background: rgba(0, 115, 155, 0.25);
}

.cd-val {
    display: block;
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: 2.2rem;
    color: var(--text-darker);
    line-height: 1;
    letter-spacing: -0.5px;
}

.cd-lbl {
    display: block;
    font-family: var(--font-body);
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-body);
    margin-top: 4px;
}

.hero-v2__stats {
    display: flex;
    justify-content: center;
    gap: 36px;
    flex-wrap: wrap;
    background: #FFFFFF;
    border: 1px solid #E4E4E7;
    padding: 16px 28px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.hero-v2__stat {
    text-align: center;
}

.hero-v2__stat-num {
    display: block;
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: 1.6rem;
    color: var(--primary);
    line-height: 1;
}

.hero-v2__stat-label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-body);
    margin-top: 4px;
    font-weight: 700;
}

/* ---- HERO RESPONSIVE ---- */
@media (max-width: 992px) {
    .hero-v2 {
        padding: 130px 0 70px;
    }

    .hero-v2__content {
        max-width: 100%;
    }

    .hero-v2__meta {
        gap: 10px;
    }

    .hero-v2__meta-chip {
        padding: 10px 16px;
    }
}

@media (max-width: 640px) {
    .hero-v2 {
        padding: 100px 0 50px;
    }

    .hero-v2__title {
        font-size: 2.2rem;
    }

    .hero-v2__btn {
        width: 100%;
        justify-content: center;
        padding: 14px 24px;
        font-size: 0.95rem;
    }

    .hero-v2__meta-chip {
        width: 100%;
        justify-content: center;
    }

    .hero-v2__action-row {
        margin-bottom: 40px;
    }

    .hero-v2__cd-grid {
        flex-direction: column;
        gap: 15px;
    }

    .hero-v2__cd-grid-units {
        flex-wrap: nowrap;
        justify-content: center;
        gap: 8px;
        width: 100%;
    }
    
    .cd-unit {
        min-width: 0;
        flex: 1;
        padding: 5px 0;
    }

    .cd-unit:not(:last-child)::after {
        display: none;
    }

    .hero-v2__stats {
        gap: 20px;
        padding: 14px 18px;
    }

    .hero-v2__right-content {
        margin-top: -34px;
    }
}

.shape-divider {
    position: absolute;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    z-index: 1;
}

.shape-divider.shape-top {
    top: 0;
    transform: rotate(180deg);
}

.shape-divider.shape-bottom {
    bottom: 0;
}

/* CONFERENCISTAS PREMIUM */
.seccion-conferencistas-premium {
    padding: 120px 0;
    background: radial-gradient(circle at 50% 0%, #FFFFFF 0%, #F0F5FA 100%);
    position: relative;
    overflow: hidden;
}

.cp-bg-glow {
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(26, 180, 216, 0.05) 0%, transparent 70%);
    z-index: 0;
    pointer-events: none;
}

.seccion-conferencistas-premium .wrapper {
    position: relative;
    z-index: 2;
    max-width: 1100px;
}

/* HEADER PREMIUM */
.cp-header {
    text-align: center;
    margin-bottom: 64px;
}

.cp-header-top {
    margin-bottom: 20px;
}

.cp-badge {
    font-family: var(--font-heading);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 20px;
    background: var(--text-darker);
    color: white;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    box-shadow: 0 4px 16px rgba(0, 75, 102, 0.25);
}

.cp-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--text-darker);
    line-height: 1.15;
    letter-spacing: -0.5px;
    font-weight: 900;
    margin-bottom: 36px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.cp-title-accent {
    color: var(--primary);
    position: relative;
    white-space: nowrap;
}

.cp-title-accent::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--primary), var(--accent-dark));
    border-radius: 3px;
    opacity: 0.5;
}

/* Stats row — reemplaza los viejos cp-indicators */
.cp-indicators {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
    background: #ffffff;
    border: 1px solid #E4E4E7;
    border-radius: 16px;
    padding: 20px 32px;
    box-shadow: 0 4px 20px rgba(0, 115, 155, 0.06);
    max-width: 680px;
    margin: 0 auto;
}

.cp-stat-pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 0 36px;
    flex: 1;
}

.cp-stat-num {
    font-family: var(--font-heading);
    font-size: 2.2rem;
    font-weight: 900;
    color: var(--primary);
    line-height: 1;
    letter-spacing: -1px;
}

.cp-stat-label {
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--text-body);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-align: center;
    line-height: 1.3;
}

.cp-stat-sep {
    width: 1px;
    height: 44px;
    background: #E4E4E7;
    flex-shrink: 0;
}

/* Mantener compatibilidad con el viejo cp-dot-sep en caso de que exista */
.cp-dot-sep {
    display: none;
}

@media (max-width: 580px) {
    .cp-indicators {
        flex-direction: column;
        gap: 16px;
        padding: 20px 24px;
    }
    .cp-stat-sep { width: 60px; height: 1px; }
    .cp-stat-pill { padding: 0; }
}

/* GRID DE CONFERENCISTAS */
.cp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

/* TARJETA INDIVIDUAL */
.cp-card {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 15px 35px rgba(0, 115, 155, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

@media (hover: hover) {
    .cp-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 20px 45px rgba(0, 115, 155, 0.12);
    }
}

.cp-card-photo {
    width: 100%;
    aspect-ratio: 1/1;
    position: relative;
    overflow: hidden;
    background: #fff;
}

.cp-card-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cp-card-photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 31, 46, 0.2), transparent 40%);
    pointer-events: none;
}

.cp-flags {
    position: absolute;
    top: 15px;
    right: 15px;
    display: flex;
    gap: 8px;
    z-index: 2;
}

.cp-flag-img {
    width: 30px;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.cp-card-info {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.cp-name {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    color: var(--text-darker);
    margin-bottom: 5px;
    font-weight: 900;
    line-height: 1.1;
}

.cp-role {
    font-family: var(--font-heading);
    font-size: 0.9rem;
    color: var(--primary);
    font-weight: 800;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.cp-bio {
    font-family: var(--font-body);
    font-size: 0.95rem;
    color: var(--text-body);
    line-height: 1.6;
    margin-bottom: 25px;
    flex-grow: 1;
}

.cp-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 25px;
}

.cp-chip {
    font-family: var(--font-heading);
    background: white;
    color: var(--text-darker);
    font-size: 0.75rem;
    font-weight: 800;
    padding: 6px 14px;
    border-radius: 50px;
    border: 1px solid rgba(0, 115, 155, 0.15);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
}

.cp-linkedin {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #0A66C2;
    color: white;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(10, 102, 194, 0.2);
}

@media (hover: hover) {
    .cp-linkedin:hover {
        transform: translateY(-2px);
        background: #004182;
    }
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .cp-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .cp-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .cp-card-photo {
        aspect-ratio: 4/3;
    }
}

/* AGENDA EDEAR 2026 */
.seccion-agenda {
    padding: 100px 0;
    background: var(--white);
    position: relative;
}

.agenda-grid {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.agenda-card {
    display: grid;
    grid-template-columns: 140px 1fr;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #E4E4E7;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background: #FFFFFF;
}

.agenda-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border-color: #E4E4E7;
}

.agenda-time {
    color: white;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1.3rem;
    text-align: center;
    line-height: 1.1;
    font-family: var(--font-heading);
}

.agenda-time span {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    opacity: 0.9;
    margin-top: 4px;
    letter-spacing: 1px;
}

.agenda-content {
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.agenda-content h4 {
    font-family: var(--font-heading);
    color: var(--text-darker);
    margin-bottom: 8px;
    font-size: 1.25rem;
}

.agenda-content p {
    font-family: var(--font-body);
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
}

/* Ajuste de jerarquía de color */
.bg-color-1 {
    background: var(--text-darker);
}

.bg-color-2 {
    background: var(--primary);
}

.bg-color-3 {
    background: var(--text-dark);
}

@media(max-width: 640px) {
    .agenda-card {
        grid-template-columns: 1fr;
    }

    .agenda-time {
        padding: 15px;
        flex-direction: row;
        gap: 10px;
    }

    .agenda-time span {
        margin-top: 0;
    }

    .agenda-content {
        padding: 25px;
        text-align: center;
    }
}

/* MASTERCLASS */
.seccion-video-masterclass {
    padding: 100px 0;
    background: #F0F5FA;
    color: var(--text-darker);
    position: relative;
    overflow: hidden;
}

.seccion-video-masterclass::before {
    content: none;
}

.masterclass-layout {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 2;
}

.mc-texto {
    text-align: left;
}

.mc-texto .section-badge {
    margin-bottom: 22px;
}

.mc-texto h2 {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.6vw, 2.7rem);
    color: var(--text-darker);
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.mc-texto h2 span {
    color: var(--primary);
}

.mc-texto p {
    font-family: var(--font-body);
    font-size: 1.05rem;
    color: var(--text-body);
    margin-bottom: 18px;
    line-height: 1.7;
}

.mc-texto .btn-primary {
    font-size: 0.9rem;
    padding: 14px 30px;
    background: var(--text-darker);
    box-shadow: 0 8px 20px rgba(0, 75, 102, 0.25);
}

.mc-texto .btn-primary:hover {
    background: var(--primary);
}

.video-wrapper {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: var(--radius-lg);
    overflow: hidden;
    position: relative;
    background: var(--white);
    box-shadow: var(--shadow-lg);
    border: 1px solid rgba(0, 115, 155, 0.08);
    padding: 16px;
    transition: 0.4s;
}

.video-wrapper .cvp-thumbnail,
.video-wrapper iframe {
    border-radius: calc(var(--radius-lg) - 16px);
}

@media (hover: hover) {
    .video-wrapper:hover {
        transform: translateY(-5px);
        box-shadow: 0 30px 60px rgba(0, 115, 155, 0.18);
    }
}

.video-wrapper iframe {
    width: 100%;
    height: 100%;
    border: none;
}

@media(max-width: 992px) {
    .masterclass-layout {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 40px;
    }

    .mc-texto {
        text-align: center;
    }

    .video-wrapper {
        transform: none;
    }
}

/* METODOLOGÍA UNIFICADA */
.seccion-metodologia-unificada {
    padding: 100px 0;
    background: #FFFFFF;
    position: relative;
    overflow: hidden;
}

.unif-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-top: 40px;
}

.unif-texto h3 {
    font-family: var(--font-heading);
    font-size: 2rem;
    color: var(--text-darker);
    margin-bottom: 20px;
}

.unif-texto p {
    font-family: var(--font-body);
    font-size: 1.15rem;
    line-height: 1.8;
    margin-bottom: 20px;
}

.resaltado {
    font-family: var(--font-heading);
    color: var(--text-dark);
    font-weight: 900;
    background: var(--primary-light);
    padding: 2px 8px;
    border-radius: 6px;
}

.tri-center {
    padding: 40px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 420px;
}

.tri-svg-container {
    width: 100%;
    max-width: 380px;
    aspect-ratio: 100/90;
    position: relative;
}

.tri-moderno {
    width: 100%;
    height: 100%;
    display: block;
    filter: drop-shadow(0 12px 24px rgba(0, 115, 155, 0.15));
}

/* Animación del trazado del SVG (Ajustado a 5s exactos para sincronizar) */
.tri-dash-anim {
    stroke-dasharray: 260;
    stroke-dashoffset: 260;
    animation: drawPath 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes drawPath {
    0% {
        stroke-dashoffset: 260;
    }

    40%,
    95% {
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

.tri-nodo {
    animation: nodoPulse 5s ease-in-out infinite;
}

.tri-nodo:nth-child(2) {
    animation-delay: 0.5s;
}

.tri-nodo:nth-child(3) {
    animation-delay: 1s;
}

@keyframes nodoPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.3);
        opacity: 0.8;
    }
}

.labels-flat-container {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
}

.labels-flat-wrapper {
    position: relative;
    width: 100%;
    max-width: 400px;
    aspect-ratio: 100/90;
}

.vertex {
    position: absolute;
    text-align: center;
    background: #FFFFFF;
    padding: 12px 24px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #E4E4E7;
    transform: none !important;
}

.label-swap {
    position: relative;
    height: 1.2rem;
    min-width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 1rem;
    color: var(--text-darker);
    margin: 0;
    font-weight: 900;
    letter-spacing: 0.5px;
}

.label-swap span {
    position: absolute;
    width: 100%;
    text-align: center;
}

.lbl-1 {
    animation: swapOut 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.lbl-2 {
    animation: swapIn 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    opacity: 0;
}

@keyframes swapOut {

    0%,
    40% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

    45%,
    95% {
        opacity: 0;
        transform: translateY(-10px) scale(0.9);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes swapIn {

    0%,
    40% {
        opacity: 0;
        transform: translateY(10px) scale(0.9);
    }

    45%,
    95% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

    100% {
        opacity: 0;
        transform: translateY(10px) scale(0.9);
    }
}

.vertex--top {
    top: -5%;
    left: 50%;
    transform: translateX(-50%) !important;
    margin: 0;
}

.vertex--left {
    top: 82%;
    left: -25%;
}

.vertex--right {
    top: 82%;
    right: -25%;
}

@media(max-width: 992px) {
    .unif-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .tri-center {
        padding: 20px 10px;
        min-height: 280px;
    }

    .tri-svg-container {
        max-width: 220px;
    }

    .labels-flat-wrapper {
        max-width: 220px;
    }

    .vertex {
        padding: 8px 12px;
        border-radius: 8px;
        border-left: 3px solid var(--primary);
    }

    .label-swap {
        font-size: 0.75rem;
        min-width: 100px;
        height: 1rem;
    }

    .vertex--top {
        top: -15%;
        left: 50%;
        transform: translateX(-50%) !important;
        margin: 0;
    }

    .vertex--left {
        top: 90%;
        left: -10%;
    }

    .vertex--right {
        top: 90%;
        right: -10%;
    }
}

/* POR QUÉ Y APRENDIZAJES */
.seccion-porque,
.seccion-aprendizajes-dos {
    padding: 100px 0;
    position: relative;
}

.seccion-aprendizajes-dos {
    background: #F0F5FA;
}

.grid-two {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;
    align-items: center;
}

.grid-two--reverse {
    grid-template-columns: 0.9fr 1.1fr;
}

.text-col h2 {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    margin-bottom: 25px;
    line-height: 1.2;
    font-weight: 900;
}

.lead-aprendizaje {
    font-family: var(--font-body);
    font-size: 1.15rem;
    margin-bottom: 20px;
    line-height: 1.7;
}

.blockquote-kvc {
    background: var(--white);
    border-left: 5px solid var(--primary);
    padding: 20px 25px;
    border-radius: 0 16px 16px 0;
    border: 1px solid #E4E4E7;
    margin: 30px 0;
}

.blockquote-kvc strong {
    font-family: var(--font-heading);
    color: var(--text-darker);
    font-size: 1.1rem;
    font-weight: 800;
}

.lista-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.lista-badges li {
    font-family: var(--font-heading);
    background: var(--white);
    color: var(--text-darker);
    padding: 12px 24px;
    border-radius: 50px;
    font-weight: 800;
    border: 1px solid rgba(0, 115, 155, 0.1);
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    gap: 8px;
    transition: 0.3s;
}

@media (hover: hover) {
    .lista-badges li:hover {
        background: var(--primary);
        color: white;
        transform: translateY(-3px);
    }

    .lista-badges li:hover i {
        color: white;
    }
}

.lista-badges li i {
    color: var(--primary);
    transition: 0.3s;
}

.media {
    position: relative;
}

.media::before {
    content: '';
    position: absolute;
    inset: 20px -20px -20px 20px;
    background: var(--primary-light);
    border-radius: var(--radius-lg);
    z-index: 0;
}

.grid-two--reverse .media::before {
    inset: 20px 20px -20px -20px;
    background: rgba(0, 115, 155, 0.05);
}

.media img {
    width: 100%;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    position: relative;
    z-index: 1;
    aspect-ratio: 4/5;
    object-fit: cover;
}

.apr-grid {
    display: grid;
    gap: 20px;
}

.apr-card {
    background: #FFFFFF;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #E4E4E7;
    transition: 0.2s;
    position: relative;
    overflow: hidden;
}

.apr-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--primary);
    transition: 0.2s;
}

@media (hover: hover) {
    .apr-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    }

    .apr-card:hover::before {
        width: 6px;
    }
}

.apr-title {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    color: var(--text-darker);
    margin-bottom: 10px;
    font-weight: 800;
}

@media(max-width: 768px) {

    .grid-two,
    .grid-two--reverse {
        grid-template-columns: 1fr;
    }
}

/* TESTIMONIOS */
.seccion-testimonios {
    padding: 100px 0;
    background: #FFFFFF;
    position: relative;
    overflow: hidden;
}

.testimonio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    position: relative;
    z-index: 2;
    margin-top: 40px;
}

.testimonio-card {
    background: rgba(255, 255, 255, 0.1);
    padding: 40px 35px;
    border-radius: var(--radius-lg);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.testimonio-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    background: rgba(255, 255, 255, 0.15);
}

.testimonio-quote {
    font-family: var(--font-body);
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 25px;
    font-style: italic;
    color: rgba(255, 255, 255, 0.95);
    flex-grow: 1;
}

.testimonio-author {
    display: flex;
    align-items: center;
    gap: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 20px;
}

.testimonio-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    display: grid;
    place-items: center;
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: 1.2rem;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.5);
}

.testimonio-author strong {
    font-family: var(--font-heading);
    display: block;
    font-size: 1.1rem;
    margin-bottom: 2px;
}

.testimonio-author span {
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.8);
}

/* A QUIEN VA DIRIGIDO */
.seccion-dirigido {
    padding: 100px 0;
    background: #F0F5FA;
    position: relative;
}


.dir-carousel-wrapper {
    position: relative;
    z-index: 2;
}

.dir-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    align-items: stretch;
    position: relative;
    padding-bottom: 40px;
}

.dir-card:nth-child(even) {
    margin-top: 40px;
}

.dir-card {
    background: #FFFFFF;
    padding: 40px 30px;
    border-radius: 16px;
    text-align: center;
    transition: 0.2s;
    border: 1px solid #E4E4E7;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.dir-ico {
    width: 70px;
    height: 70px;
    background: rgba(26, 180, 216, 0.1);
    color: var(--primary);
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    font-size: 30px;
    transition: 0.3s;
}

.dir-card h3 {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    color: var(--text-darker);
    margin-bottom: 15px;
    font-weight: 800;
}

.dir-card p {
    font-family: var(--font-body);
    color: var(--text-body);
    font-size: 1rem;
    line-height: 1.6;
}

@media (hover: hover) {
    .dir-card:hover {
        background: #FFFFFF;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
        transform: translateY(-4px);
        border-color: #E4E4E7;
    }

    .dir-card:hover .dir-ico {
        width: 70px;
        height: 70px;
        background: rgba(26, 180, 216, 0.1);
        color: var(--primary);
        border-radius: 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 25px;
        font-size: 30px;
        transition: 0.3s;
    }
}

@media(max-width: 768px) {
    .dir-carousel-wrapper {
        margin-left: -20px;
        margin-right: -20px;
        padding: 0 10px;
    }

    .dir-grid {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        gap: 15px;
        padding: 10px 20px 40px 20px;
        margin-top: 20px;
        scrollbar-width: none;
        align-items: stretch;
    }

    .dir-grid::-webkit-scrollbar {
        display: none;
    }

    .dir-card:nth-child(even) {
        margin-top: 0;
    }

    .dir-card {
        flex: 0 0 85%;
        scroll-snap-align: center;
        background: white;
        padding: 30px 20px;
        border-radius: var(--radius-lg);
        text-align: center;
        border: 1px solid rgba(0, 0, 0, 0.05);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    }
}

/* CAMPOS DE APLICACIÓN */
.seccion-campos {
    padding: 100px 0;
    background: #F0F5FA;
    position: relative;
}

/* PREMIUM HORIZONTAL CARDS (Alcance / Campos de Aplicación) */
.timeline {
    display: flex;
    gap: 25px;
    padding: 30px 20px 60px 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-width: 1400px;
    margin: 0 auto;
}

.timeline::-webkit-scrollbar {
    display: none;
}

.timeline-item {
    flex: 0 0 300px;
    display: flex;
}

.timeline-dot {
    display: none;
}

.timeline-content {
    background: #FFFFFF;
    border-radius: 24px;
    padding: 35px 30px;
    width: 100%;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 31, 46, 0.05);
    border: 1px solid rgba(0, 115, 155, 0.05);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 220px;
}

.timeline-content::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(240,245,250,0.6) 100%);
    z-index: 0;
}

.timeline-content::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    opacity: 0;
    transition: 0.4s ease;
}

.timeline-num {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 5.5rem;
    font-weight: 900;
    color: rgba(26, 180, 216, 0.04);
    line-height: 1;
    font-family: var(--font-heading);
    transition: all 0.4s ease;
    z-index: 1;
}

.timeline-text {
    position: relative;
    z-index: 2;
}

.timeline-text h4 {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--text-darker);
    line-height: 1.3;
    margin: 0;
    transition: 0.3s ease;
}

.timeline-text p {
    display: none;
}

/* Hover Effects */
@media (hover: hover) {
    .timeline-item:hover .timeline-content {
        transform: translateY(-10px);
        box-shadow: 0 20px 50px rgba(0, 31, 46, 0.12);
        border-color: rgba(26, 180, 216, 0.2);
    }
    
    .timeline-item:hover .timeline-content::after {
        opacity: 1;
    }

    .timeline-item:hover .timeline-num {
        color: rgba(26, 180, 216, 0.12);
        transform: scale(1.05) rotate(-3deg);
    }
    
    .timeline-item:hover .timeline-text h4 {
        color: var(--primary);
    }
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .timeline {
        padding: 20px 15px 40px 15px;
        gap: 15px;
    }
    .timeline-item {
        flex: 0 0 240px;
    }
    .timeline-content {
        padding: 25px 20px;
        min-height: 180px;
    }
    .timeline-text h4 {
        font-size: 1.1rem;
    }
    .timeline-num {
        font-size: 4rem;
    }
}

/* GALERÍA DE VIDEOS 3D */
.seccion-galeria-videos {
    padding: 100px 0;
    background: #FFFFFF;
    text-align: center;
    overflow: hidden;
    position: relative;
}

.wrap-gv {
    width: min(1200px, 96vw);
    margin: 0 auto;
    position: relative;
    z-index: 5;
}

:root {
    --card-w: min(320px, 60vw);
    --ratio: 9/16;
}

.stage-gv {
    perspective: 1400px;
    position: relative;
    height: calc((var(--card-w)/(var(--ratio))) + 40px);
    margin-top: 40px;
}

.track-gv {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-style: preserve-3d;
}

.card-gv {
    position: absolute;
    width: var(--card-w);
    aspect-ratio: var(--ratio);
    border-radius: 22px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 30px 60px rgba(0, 115, 155, 0.25), 0 4px 16px rgba(0, 115, 155, 0.12);
    opacity: .88;
    filter: saturate(.86) brightness(.96);
    cursor: pointer;
    transition: none;
}

.stage-gv.is-ready .card-gv {
    transition: transform .45s cubic-bezier(.2, .7, .1, 1), filter .45s, opacity .45s;
}

.card-gv[data-pos="0"] {
    opacity: 1;
    filter: none;
}

.card-gv video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: #000;
}

.overlay-gv {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-rows: 1fr auto auto;
    gap: 10px;
    padding: 14px;
    pointer-events: auto;
}

.badge-gv {
    justify-self: start;
    color: #fff;
    font-size: .8rem;
    background: rgba(255, 255, 255, .25);
    padding: .25rem .75rem;
    border-radius: 999px;
    max-height: 30px;
    font-weight: 800;
    backdrop-filter: blur(5px);
}

.title-gv {
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 1.1rem;
    justify-self: center;
    align-self: end;
    text-align: center;
    margin-bottom: 10px;
}

.play-gv {
    place-self: center;
    width: 68px;
    height: 68px;
    border: none;
    border-radius: 999px;
    background: #ffffffdd;
    display: grid;
    place-items: center;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .25);
    cursor: pointer;
    pointer-events: all;
    z-index: 110;
    transition: opacity .2s ease, transform .2s ease;
    color: #0f1b2d;
}

.card-gv.ui-off .play-gv,
.card-gv.ui-off .overlay-gv {
    opacity: 0;
    pointer-events: none;
}

.modal-btn-gv {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    color: white;
    border: 1px solid rgba(255,255,255,0.3);
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 20px;
    backdrop-filter: blur(5px);
    transition: 0.2s;
    pointer-events: auto;
}
.modal-btn-gv:hover {
    background: rgba(255,255,255,0.3);
    transform: translateY(-50%) scale(1.1);
}
.modal-prev-gv { left: 5vw; }
.modal-next-gv { right: 5vw; }
.modal-close-gv {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    color: white;
    border: 1px solid rgba(255,255,255,0.3);
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 20px;
    backdrop-filter: blur(5px);
    transition: 0.2s;
    pointer-events: auto;
}
.modal-close-gv:hover {
    background: rgba(255,255,255,0.3);
    transform: scale(1.1);
}

.loader-gv {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-weight: 600;
    color: var(--primary);
}

.nav-gv {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 30px;
    margin: 30px 0 10px;
    z-index: 100;
}

.btn-gv {
    pointer-events: auto;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: var(--white);
    border: none;
    box-shadow: var(--shadow-md);
    color: var(--text-darker);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: 0.3s;
}

@media (hover: hover) {
    .play-gv:hover {
        background: var(--primary);
        transform: scale(1.15);
        border-color: white;
    }

    .btn-gv:hover {
        background: var(--primary);
        color: white;
        transform: scale(1.1);
    }
}

.backdrop-gv {
    position: fixed;
    inset: 0;
    background: rgba(0, 26, 38, .95);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    z-index: 500;
    backdrop-filter: blur(15px);
}

.backdrop-gv.on {
    opacity: 1;
    pointer-events: auto;
}

.card-gv.expanded-fixed {
    position: fixed;
    z-index: 510 !important;
    box-shadow: 0 30px 100px rgba(0, 0, 0, .8);
    opacity: 1 !important;
    filter: none !important;
    transform-origin: top left;
}

/* PERFIL KELLY VALLE */
.seccion-perfil-KellyValle {
    padding: 140px 0;
    background: var(--white);
    position: relative;
}

.kvc-hero {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: center;
}

.kvc-title {
    font-family: var(--font-heading);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    color: var(--text-darker);
    margin-bottom: 10px;
    line-height: 1.1;
    font-weight: 900;
}

.kvc-sub {
    font-family: var(--font-heading);
    color: var(--primary);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.9rem;
}

.kvc-intro {
    font-family: var(--font-body);
    font-size: 1.15rem;
    margin: 25px 0;
    line-height: 1.7;
}

.kvc-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 30px;
}

.kvc-chip {
    font-family: var(--font-heading);
    background: var(--bg-light);
    color: var(--text-darker);
    padding: 8px 18px;
    border-radius: 50px;
    font-weight: 800;
    font-size: 0.85rem;
    border: 1px solid rgba(0, 115, 155, 0.1);
}

.kvc-chip--accent {
    background: var(--text-dark);
    color: white;
}

.kvc-list {
    display: grid;
    gap: 15px;
}

.kvc-list li {
    font-family: var(--font-body);
    background: var(--white);
    padding: 15px 20px 15px 50px;
    border-radius: 16px;
    box-shadow: var(--shadow-sm);
    position: relative;
    font-size: 0.95rem;
    border: 1px solid rgba(0, 0, 0, 0.02);
}

.kvc-list li::before {
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 20px;
    top: 15px;
    color: var(--primary);
    font-size: 1.2rem;
}

.kvc-photo-col {
    position: relative;
}

.kvc-photo-card {
    border-radius: 30px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    position: relative;
}

.kvc-photo-card::before {
    content: none;
}

.kvc-photo-card img {
    width: 100%;
    display: block;
}

.kvc-certs {
    margin-top: -40px;
    position: relative;
    z-index: 3;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(15px);
    padding: 25px;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 1);
}

.kvc-certs h3 {
    font-family: var(--font-heading);
    text-align: center;
    color: var(--text-darker);
    font-size: 0.85rem;
    text-transform: uppercase;
    margin-bottom: 15px;
    font-weight: 900;
    letter-spacing: 1px;
}

.kvc-certs-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.kvc-cert {
    background: transparent;
    height: 70px;
    flex: 0 0 calc(33.333% - 15px);
    max-width: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
}

.kvc-cert img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

@media(max-width: 768px) {
    .kvc-hero {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .kvc-certs {
        width: 100%;
        padding: 20px 15px;
        margin-top: -30px;
    }

    .kvc-certs-row {
        gap: 12px;
    }

    .kvc-cert {
        height: 85px;
        flex: 0 0 calc(33.333% - 12px);
        max-width: 120px;
        padding: 5px;
    }
}

/* ALBUM FLIPBOOK */
#eaGallery {
    padding: 140px 0;
    background: linear-gradient(to bottom, var(--white), var(--bg-light));
    text-align: center;
    overflow: hidden;
    position: relative;
}

#eaGallery .eaBook {
    width: min(1000px, 94vw);
    aspect-ratio: 1.6;
    margin: 0 auto;
    position: relative;
    perspective: 1800px;
}

#eaGallery .eaFrame {
    position: absolute;
    inset: 0;
    border-radius: 30px;
    box-shadow: 0 30px 60px rgba(0, 115, 155, 0.15);
    background: white;
}

#eaGallery .eaSpread {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 30px;
    overflow: hidden;
    background: white;
}

#eaGallery .eaPage {
    position: relative;
    background: white;
    padding: 25px;
}

#eaGallery .eaPage--left {
    border-right: 1px solid rgba(0, 0, 0, 0.05);
}

#eaGallery .eaLeftGrid {
    display: grid;
    grid-template-rows: 1fr auto;
    height: 100%;
    gap: 20px;
}

#eaGallery .eaPhoto {
    background-size: cover;
    background-position: center;
    border-radius: 16px;
    cursor: zoom-in;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
}

#eaGallery .eaZoomHint {
    position: absolute;
    bottom: 15px;
    right: 15px;
    background: rgba(255, 255, 255, 0.9);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    color: var(--text-darker);
    transition: 0.3s;
}

#eaGallery .eaZoomHint svg {
    width: 16px;
}

#eaGallery .eaMeta {
    background: var(--bg-light);
    padding: 20px;
    border-radius: 16px;
    text-align: left;
    border: 1px solid rgba(0, 115, 155, 0.05);
}

#eaGallery .eaTitle {
    color: var(--text-darker);
    font-size: 1.6rem;
    font-weight: 900;
    margin-bottom: 5px;
}

#eaGallery .eaPlace {
    font-size: 0.95rem;
    font-weight: 600;
}

#eaGallery .eaYear {
    display: inline-block;
    background: var(--primary);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 800;
    margin-top: 15px;
}

#eaGallery .eaRightGrid {
    display: grid;
    grid-template-areas: "a a" "b c" "d c";
    gap: 15px;
    height: 100%;
    grid-template-rows: 1.5fr 1fr 1fr;
}

#eaGallery .eaPhA {
    grid-area: a;
}

#eaGallery .eaPhB {
    grid-area: b;
}

#eaGallery .eaPhC {
    grid-area: c;
}

#eaGallery .eaPhD {
    grid-area: d;
}

#eaGallery .eaControls {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

#eaGallery .eaNav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    background: var(--white);
    color: var(--text-darker);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    z-index: 10;
    display: grid;
    place-items: center;
    box-shadow: var(--shadow-md);
    transition: 0.3s;
}

#eaGallery .eaNav svg {
    width: 20px;
    fill: currentColor;
}

#eaGallery .eaPrev {
    left: -28px;
}

#eaGallery .eaNext {
    right: -28px;
}

#eaGallery .eaDots {
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 10px;
    pointer-events: auto;
}

#eaGallery .eaDots button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #d1d5db;
    border: none;
    cursor: pointer;
    transition: 0.3s;
}

#eaGallery .eaDots button[aria-current="true"] {
    background: var(--primary);
    width: 30px;
    border-radius: 10px;
}

#eaGallery .eaLeaf {
    position: absolute;
    inset: 0;
    pointer-events: none;
    transform-style: preserve-3d;
    perspective: inherit;
    z-index: 5;
}

#eaGallery .eaLeaf .eaPaper {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    background: white;
    transform-origin: left center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

@keyframes ea-flip-next {
    0% {
        transform: rotateY(0deg);
    }

    100% {
        transform: rotateY(-180deg);
    }
}

@keyframes ea-flip-prev {
    0% {
        transform: rotateY(180deg);
    }

    100% {
        transform: rotateY(0deg);
    }
}

#eaGallery .eaLeaf.next .eaPaper {
    left: 50%;
    transform-origin: left center;
    animation: ea-flip-next 1100ms cubic-bezier(0.6, 0.15, 0.2, 1);
}

#eaGallery .eaLeaf.prev .eaPaper {
    left: 0;
    transform-origin: right center;
    animation: ea-flip-prev 1100ms cubic-bezier(0.6, 0.15, 0.2, 1);
}

@media(max-width: 768px) {
    #eaGallery .eaBook {
        aspect-ratio: auto;
        height: 600px;
        width: 100%;
        margin: 0 auto;
        border-radius: 20px;
    }

    #eaGallery .eaSpread {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
        border-radius: 20px;
    }

    #eaGallery .eaPage--left {
        border-right: none;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        padding: 15px;
    }

    #eaGallery .eaLeftGrid {
        grid-template-rows: 150px auto;
        gap: 15px;
    }

    #eaGallery .eaMeta {
        padding: 15px;
    }

    #eaGallery .eaTitle {
        font-size: 1.3rem;
    }

    #eaGallery .eaNav {
        width: 44px;
        height: 44px;
    }

    #eaGallery .eaPrev {
        left: -10px;
    }

    #eaGallery .eaNext {
        right: -10px;
    }
}

/* Lightbox del Álbum Corregido a nivel de raíz */
.eaLightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 26, 38, 0.98);
    z-index: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(10px);
}

.eaLightbox[hidden] {
    display: none !important;
}

.eaLightbox__img {
    width: 100%;
    height: 100%;
    max-width: 95vw;
    max-height: 90vh;
    border-radius: 12px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.8);
    object-fit: contain;
}

.eaLightbox__close {
    position: absolute;
    top: 30px;
    right: 30px;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: 0.3s ease;
    font-size: 20px;
}

@media (hover: hover) {
    .eaLightbox__close:hover {
        transform: scale(1.1) rotate(90deg);
        background: #ef4444;
        border-color: #ef4444;
    }
}

/* PATROCINADORES */
.patro {
    background: var(--white);
    position: relative;
}

/* JERARQUÍA DE PATROCINADORES */
#patroContainer {
    display: flex;
    flex-direction: column;
    gap: 60px;
    padding-top: 20px;
}

.patro-tier-title {
    font-family: var(--font-heading);
    text-align: center;
    font-size: 1.6rem;
    color: var(--text-darker);
    margin-bottom: 30px;
    font-weight: 900;
}

/* Diamante */
.patro-diamante {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: linear-gradient(135deg, #f0f7ff, #ffffff);
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid rgba(26, 180, 216, 0.15);
    box-shadow: 0 20px 40px rgba(0, 115, 155, 0.08);
    align-items: stretch;
}

.pd-content {
    padding: 60px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.pd-badge {
    font-family: var(--font-heading);
    display: inline-block;
    background: var(--primary);
    color: white;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
}

.pd-logo {
    height: 45px;
    margin-bottom: 25px;
    display: block;
}

.pd-content h3 {
    font-family: var(--font-heading);
    font-size: 2.2rem;
    margin-bottom: 15px;
    color: var(--text-darker);
    line-height: 1.2;
}

.pd-content p {
    font-family: var(--font-body);
    color: var(--text-body);
    line-height: 1.6;
    font-size: 1.05rem;
    margin-bottom: 30px;
}

.pd-image {
    position: relative;
}

.pd-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}

@media(max-width: 900px) {
    .patro-diamante {
        grid-template-columns: 1fr;
    }

    .pd-image {
        height: 300px;
    }

    .pd-image img {
        position: static;
    }

    .pd-content {
        padding: 40px 25px;
        align-items: center;
        text-align: center;
    }
}

/* Oro */
.patro-oro-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

@media(max-width: 1024px) {
    .patro-oro-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width: 600px) {
    .patro-oro-grid {
        grid-template-columns: 1fr;
    }
}

.po-card {
    background: white;
    border-radius: 20px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 115, 155, 0.08);
    transition: 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

@media(hover: hover) {
    .po-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0, 115, 155, 0.12);
        border-color: var(--primary-light);
    }
}

.po-logo-wrap {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    width: 100%;
}

.po-logo-wrap img {
    max-height: 100%;
    max-width: 180px;
    object-fit: contain;
}

.po-desc {
    font-family: var(--font-body);
    font-size: 0.95rem;
    margin-bottom: 25px;
    color: var(--text-body);
    line-height: 1.5;
}

.po-cta {
    font-family: var(--font-heading);
    font-weight: 800;
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    transition: 0.3s;
    background: var(--primary-light);
    padding: 10px 24px;
    border-radius: 50px;
}

.po-card:hover .po-cta {
    background: var(--primary);
    color: white;
}

/* Plata */
.patro-plata-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.pp-card {
    background: white;
    aspect-ratio: 1;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    gap: 15px;
    transition: 0.3s;
    border: 1px solid rgba(0, 0, 0, 0.04);
    flex: 0 0 calc(20% - 12px);
    min-width: 160px;
    max-width: 250px;
}

@media(hover: hover) {
    .pp-card:hover {
        background: white;
        border-color: var(--primary-light);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    }
}

.pp-card img {
    max-width: 140px;
    max-height: 70px;
    object-fit: contain;
    transition: 0.3s;
}

.pp-card:hover img {
    transform: scale(1.05);
}

.pp-cta {
    font-size: 0.85rem;
    font-weight: 800;
    color: #64748b;
    background: white;
    padding: 8px 20px;
    border-radius: 50px;
    border: 1px solid #e2e8f0;
    transition: 0.3s;
}

.pp-card:hover .pp-cta {
    background: var(--text-darker);
    color: white;
    border-color: var(--text-darker);
}

@media(max-width: 600px) {
    .pp-card {
        flex: 0 0 calc(50% - 7.5px);
        padding: 20px;
    }
}

/* Bronce (LogoCloud) */
.pb-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: #fafafa;
    border-radius: 16px;
    border-top: 1px solid #e2e8f0;
    border-left: 1px solid #e2e8f0;
    overflow: hidden;
}

@media(max-width: 767px) {
    .desktop-only {
        display: none !important;
    }
}

.pb-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    border-bottom: 1px solid #e2e8f0;
    border-right: 1px solid #e2e8f0;
    background: white;
    flex: 0 0 50%;
    box-sizing: border-box;
}

@media(min-width: 768px) {
    .pb-card {
        flex: 0 0 20%;
    }
}

.pb-card img {
    height: 28px;
    max-width: 100%;
    object-fit: contain;
    opacity: 0.8;
    transition: 0.3s;
}

.pb-card:hover img {
    opacity: 1;
    transform: scale(1.05);
}

.pb-plus {
    position: absolute;
    bottom: -12px;
    right: -12px;
    z-index: 10;
    color: #cbd5e1;
    pointer-events: none;
}

/* FAQ */
.seccion-faq {
    background: #ffffff; /* White background matching shadcn */
    position: relative;
    padding: 80px 0;
}

.faq-grid-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: center; /* Centrado vertical */
}

@media (min-width: 1024px) {
    .faq-grid-layout {
        grid-template-columns: 1fr 1fr;
        gap: 60px;
    }
}

.faq-text-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
    text-align: left;
}

.faq-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    border: 1px solid #E4E4E7;
    padding: 2px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-darker);
    width: fit-content;
}

.faq-desc {
    font-family: var(--font-body);
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--text-body);
    max-width: 38rem;
}

.faq-accordion-col {
    width: 100%;
}

.faq-details {
    border-bottom: 1px solid #E4E4E7;
    transition: all 0.2s ease;
}

.faq-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1rem;
    color: var(--text-darker);
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: all 0.2s ease;
}

.faq-summary::-webkit-details-marker {
    display: none;
}

.faq-summary:hover {
    color: var(--primary);
}

.faq-icon {
    font-size: 0.875rem;
    transition: transform 0.2s ease;
    color: #71717A;
}

.faq-details[open] .faq-icon {
    transform: rotate(180deg);
}

.faq-content {
    font-family: var(--font-body);
    padding: 0 0 16px 0;
    line-height: 1.5;
    font-size: 0.875rem;
    color: #71717A;
    animation: faqSlideDown 0.2s ease-out forwards;
}

@keyframes faqSlideDown {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* FORMULARIO — Reset del estilo viejo (sobreescrito por split-screen al final del archivo) */
.seccion-formulario-LEGACY {
    background: var(--text-darker);
    color: white;
    position: relative;
    overflow: hidden;
}

.seccion-formulario-LEGACY::before {
    content: '';
    position: absolute;
    width: 600px;
    height: 600px;
    background: rgba(26, 180, 216, 0.15);
    border-radius: 50%;
    filter: blur(100px);
    top: -200px;
    right: -200px;
}

.seccion-formulario .section-title {
    color: white;
}

.seccion-formulario .section-title::after {
    background: var(--accent);
}

.form-wrap {
    max-width: 850px;
    margin: 0 auto;
    background: white;
    color: var(--text-body);
    padding: 50px;
    border-radius: 30px;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.4);
    position: relative;
    z-index: 2;
}

.form-section-box {
    background: var(--bg-light);
    border: 1px solid rgba(0, 115, 155, 0.1);
    border-radius: 20px;
    padding: 35px;
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    position: relative;
}

.form-section-box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 35px;
    bottom: 35px;
    width: 4px;
    background: var(--primary);
    border-radius: 0 4px 4px 0;
}

.form-step-title {
    font-family: var(--font-heading);
    color: var(--text-darker);
    font-size: 1.3rem;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 900;
}

.form-step-title i {
    color: var(--primary);
    font-size: 1.5rem;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.span-2 {
    grid-column: span 2;
}

.field label {
    display: block;
    font-family: var(--font-heading);
    font-weight: 800;
    margin-bottom: 8px;
    font-size: 0.9rem;
    color: var(--text-darker);
}

.field input,
.field select {
    width: 100%;
    padding: 14px 18px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 1rem;
    transition: 0.3s;
    background: var(--white);
    color: var(--text-darker);
}

.field input:focus,
.field select:focus {
    outline: none;
    border-color: var(--primary);
    background: white;
    box-shadow: 0 0 0 4px rgba(26, 180, 216, 0.1);
}

.form-status {
    margin-top: 20px;
    padding: 15px;
    border-radius: 12px;
    font-weight: bold;
    text-align: center;
}

.form-status[data-type="success"] {
    background: #eefcf3;
    color: #28a745;
    border: 1px solid #cef1d7;
}

.form-status[data-type="error"] {
    background: #fff3f3;
    color: #dc3545;
    border: 1px solid #ffd6d6;
}

@media(max-width: 640px) {
    .form-grid {
        grid-template-columns: 1fr;
    }

    .span-2 {
        grid-column: span 1;
    }

    .form-wrap {
        padding: 40px 25px;
    }

    .form-section-box {
        padding: 25px;
    }
}

/* FOOTER */
.kvc-footer {
    background: #001a26;
    color: white;
    padding: 80px 0 30px;
    position: relative;
    overflow: hidden;
}

.kvc-footer::before {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 400px;
    height: 400px;
    background: rgba(26, 180, 216, 0.1);
    filter: blur(100px);
    border-radius: 50%;
    pointer-events: none;
}

.kvc-footer::after {
    content: '';
    position: absolute;
    bottom: -100px;
    right: -100px;
    width: 300px;
    height: 300px;
    background: rgba(84, 177, 212, 0.05);
    filter: blur(80px);
    border-radius: 50%;
    pointer-events: none;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 60px;
    margin-bottom: 60px;
    position: relative;
    z-index: 2;
}

.footer-col h4 {
    font-family: var(--font-heading);
    color: var(--white);
    margin-bottom: 25px;
    font-size: 1.3rem;
    font-weight: 900;
    position: relative;
    padding-bottom: 15px;
}

.footer-col h4::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: var(--primary);
    border-radius: 2px;
}

.footer-col p {
    font-family: var(--font-body);
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    margin-top: 25px;
    font-size: 0.95rem;
}

.footer-logo {
    max-width: 200px;
    filter: brightness(0) invert(1);
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-links a {
    font-family: var(--font-body);
    color: rgba(255, 255, 255, 0.7);
    font-weight: 600;
    transition: 0.3s;
    display: inline-block;
}

@media (hover: hover) {
    .footer-links a:hover {
        color: var(--primary);
        transform: translateX(5px);
    }
}

.kvc-social {
    display: flex;
    gap: 15px;
}

.kvc-social__btn {
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--white);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 1.2rem;
    transition: 0.3s;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

@media (hover: hover) {
    .kvc-social__btn:hover {
        background: var(--primary);
        color: white;
        transform: translateY(-5px) rotate(10deg);
        border-color: var(--primary);
        box-shadow: 0 10px 20px rgba(26, 180, 216, 0.3);
    }
}

.kvc-copy-bar {
    font-family: var(--font-body);
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.9rem;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-weight: 600;
    position: relative;
    z-index: 2;
}

@media(max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 40px;
    }

    .footer-col h4::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .kvc-social {
        justify-content: center;
    }

    .footer-logo {
        margin: 0 auto;
    }
}

.kvc-backtop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: var(--text-darker);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.2);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
    z-index: 110;
    display: grid;
    place-items: center;
    font-size: 20px;
}

.kvc-backtop.is-active {
    opacity: 1;
    pointer-events: auto;
}

@media (hover: hover) {
    .kvc-backtop:hover {
        background: var(--primary);
        transform: translateY(-5px);
        border-color: white;
    }
}

/* VAPI */
.kll-bot-fab {
    position: fixed;
    bottom: 100px;
    right: 25px;
    width: 65px;
    height: 65px;
    background: var(--primary);
    border-radius: 50%;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(26, 180, 216, 0.5);
    z-index: 200;
    border: 3px solid white;
    color: white;
    font-size: 26px;
    transition: 0.3s;
}

@media (hover: hover) {
    .kll-bot-fab:hover {
        transform: scale(1.1) rotate(5deg);
        background: var(--accent-dark);
    }
}
/* Floating Labels Form */
.form-grid {
    position: relative;
}

.field {
    position: relative;
    margin-bottom: 24px;
}

.field label {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    font-size: 1rem;
    font-weight: 400 !important;
    font-family: var(--font-body) !important;
    color: #64748b !important; /* Placeholder color */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    background: transparent;
    padding: 0 6px;
    z-index: 10;
}

.field input,
.field select {
    width: 100%;
    padding: 20px 15px 10px;
    font-size: 1.05rem;
    border: 2px solid rgba(0, 115, 155, 0.1);
    border-radius: 12px;
    background: #f8fafc;
    color: var(--text-darker);
    transition: all 0.3s ease;
    outline: none;
}

.field input:hover,
.field select:hover {
    background: #f1f5f9;
    border-color: rgba(0, 115, 155, 0.2);
}

.field input:focus,
.field select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(26, 180, 216, 0.15);
    background: white;
}

/* Ocultar placeholder si no hay foco para que no choque con el label */
.field input::placeholder {
    color: transparent;
    transition: color 0.2s ease;
}
.field input:focus::placeholder {
    color: #9ca3af;
}

/* Ocultar opcion por defecto en select si es invalido (no seleccionado) */
.field select:invalid {
    color: transparent;
}
.field select option {
    color: var(--text-darker);
}

.field input:focus+label,
.field input:not(:placeholder-shown)+label,
.field select:focus+label,
.field select:valid+label {
    top: -2px;
    font-size: 0.8rem;
    color: var(--primary) !important;
    background: white;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.field input:not(:focus):not(:placeholder-shown)+label,
.field select:not(:focus):valid+label {
    color: var(--text-body);
}

/* Optimizaciones extras de BG */
.bg-blobs {
    will-change: transform, filter;
}

/* ---- NUEVA AGENDA EDEAR 2026 ---- */
.ag-wrap {
    font-family: var(--font-body);
    background: transparent;
    padding: 0 10px;
    position: relative;
}

.ag-header {
    text-align: center;
    margin-bottom: 44px;
}

.ag-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(26, 180, 216, 0.12);
    color: #00739B;
    border: 1px solid rgba(26, 180, 216, 0.25);
    padding: 5px 16px;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.ag-title {
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 900;
    color: #004b66;
    line-height: 1.15;
    letter-spacing: -0.4px;
}

.ag-title span {
    color: #1AB4D8;
}

.ag-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: #1AB4D8;
    border-radius: 4px;
    margin: 14px auto 0;
}

.ag-track {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 0;
    max-width: 760px;
    margin: 0 auto;
    position: relative;
}

.ag-line {
    position: absolute;
    left: 35px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: linear-gradient(to bottom, #1AB4D8, rgba(26, 180, 216, 0.15));
    z-index: 0;
}

.ag-row {
    display: contents;
}

.ag-dot-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.ag-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #1AB4D8;
    flex-shrink: 0;
    transition: all 0.25s;
    cursor: pointer;
}

.ag-row:hover .ag-dot {
    background: #1AB4D8;
    transform: scale(1.25);
}

.ag-card {
    margin: 6px 0 6px 0;
    background: #fff;
    border-radius: 14px;
    border: 1px solid rgba(0, 115, 155, 0.08);
    display: flex;
    align-items: center;
    gap: 0;
    overflow: hidden;
    transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s;
    cursor: pointer;
}

.ag-row:hover .ag-card {
    box-shadow: 0 8px 28px rgba(0, 115, 155, 0.13);
    transform: translateX(4px);
    border-color: rgba(26, 180, 216, 0.3);
}

.ag-time-pill {
    flex-shrink: 0;
    width: 80px;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
    position: relative;
}

.ag-time-pill::after {
    content: '';
    position: absolute;
    right: 0;
    top: 14px;
    bottom: 14px;
    width: 1px;
    background: rgba(0, 115, 155, 0.1);
}

.ag-time-h {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.5px;
}

.ag-time-p {
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: 2px;
    opacity: 0.6;
}

.ag-body {
    flex: 1;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.ag-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 16px;
}

.ag-text h4 {
    font-family: var(--font-heading);
    font-size: 0.9rem;
    font-weight: 800;
    color: #004b66;
    line-height: 1.25;
    margin-bottom: 2px;
}

.ag-text p {
    font-family: var(--font-body);
    font-size: 0.78rem;
    color: #475569;
    line-height: 1.4;
    margin: 0;
}

.ag-tag {
    flex-shrink: 0;
    font-family: var(--font-heading);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 50px;
    margin-right: 14px;
}

@media (max-width: 560px) {
    .ag-track {
        grid-template-columns: 40px 1fr;
    }

    .ag-line {
        left: 19px;
    }

    .ag-dot-col {
        justify-content: center;
    }

    .ag-dot {
        width: 11px;
        height: 11px;
    }

    .ag-time-pill {
        width: 55px;
    }

    .ag-time-h {
        font-size: 0.85rem;
    }

    .ag-body {
        padding: 10px 12px;
        gap: 10px;
    }

    .ag-icon {
        width: 30px;
        height: 30px;
    }

    .ag-icon svg {
        width: 14px;
        height: 14px;
    }

    .ag-text h4 {
        font-size: 0.85rem;
    }

    .ag-text p {
        font-size: 0.75rem;
    }

    .ag-tag {
        display: none;
    }
}


/* FORMAL SECTION PADDING */
section {
    padding: 100px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
}

section:not(.seccion-dirigido):not(.seccion-formulario):not(.seccion-testimonios):not(.kvc-footer):nth-of-type(even) {
    background-color: var(--bg-light);
}

section:not(.seccion-dirigido):not(.seccion-formulario):not(.seccion-testimonios):not(.kvc-footer):nth-of-type(odd) {
    background-color: var(--white);
}

/* ANIMATED TESTIMONIALS (REACT PORT) */
.anim-testim-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

@media(max-width: 900px) {
    .anim-testim-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

.anim-testim-info {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.anim-testim-badge {
    font-family: var(--font-heading);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    background: rgba(26, 180, 216, 0.1);
    color: var(--primary);
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 800;
    width: fit-content;
}

.anim-testim-subtitle {
    font-family: var(--font-body);
    font-size: 1.1rem;
    color: var(--text-body);
    line-height: 1.6;
    max-width: 600px;
}

.anim-testim-dots {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.anim-dot {
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.1);
    border: none;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0;
}

.anim-dot.active {
    width: 40px;
    background: var(--primary);
}

.anim-testim-cards-wrapper {
    position: relative;
    min-height: 400px;
    width: 100%;
}

@media(max-width: 900px) {
    .anim-testim-cards-wrapper {
        min-height: 350px;
    }
}

.anim-testim-card-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: translateX(80px) scale(0.95);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
    pointer-events: none;
}

.anim-testim-card-wrap.active {
    opacity: 1;
    transform: translateX(0) scale(1);
    z-index: 10;
    pointer-events: auto;
}

.anim-testim-card {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 40px;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    position: relative;
    z-index: 2;
    border: 1px solid #E4E4E7;
}

.anim-stars {
    display: flex;
    gap: 5px;
    color: #fbbf24;
    margin-bottom: 24px;
    font-size: 1.1rem;
}

.anim-quote-content {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
}

.anim-quote-icon {
    position: absolute;
    top: -15px;
    left: -15px;
    font-size: 3rem;
    color: rgba(26, 180, 216, 0.1);
    transform: rotate(180deg);
    z-index: 1;
}

.anim-quote-content p {
    font-family: var(--font-body);
    position: relative;
    z-index: 2;
    font-size: 1.15rem;
    color: var(--text-darker);
    line-height: 1.7;
    font-weight: 500;
    font-style: italic;
}

.anim-separator {
    margin: 24px 0;
    border: none;
    border-top: 1px solid #e2e8f0;
}

.anim-author-info {
    display: flex;
    align-items: center;
    gap: 16px;
}

.anim-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid white;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.anim-author-info h4 {
    font-family: var(--font-heading);
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--text-darker);
}

.anim-author-info p {
    font-family: var(--font-body);
    margin: 0;
    font-size: 0.9rem;
    color: #64748b;
    font-weight: 500;
}

.anim-dec {
    position: absolute;
    width: 100px;
    height: 100px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    z-index: 1;
}

.anim-dec-tl {
    top: -20px;
    right: -20px;
}

.anim-dec-br {
    bottom: -20px;
    left: -20px;
}


/* CUSTOM VIDEO PLAYER & MODAL */
.custom-video-player {
    cursor: pointer;
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6);
}

.custom-video-player:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 4px;
}

.cvp-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
}

.custom-video-player:hover .cvp-thumbnail {
    transform: scale(1.05);
}

.cvp-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.2) 50%, transparent 100%);
    pointer-events: none;
}

.cvp-play-container {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.cvp-play-btn {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: white;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.4);
    padding-left: 6px;
}

.custom-video-player:hover .cvp-play-btn {
    transform: scale(1.15);
    background: rgba(255, 255, 255, 0.35);
}

.cvp-info {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 30px;
    text-align: left;
}

.cvp-info h3 {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 800;
    color: white;
    margin-bottom: 5px;
}

.cvp-info p {
    font-family: var(--font-body);
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

@media(max-width: 600px) {
    .cvp-info {
        padding: 20px;
    }

    .cvp-info h3 {
        font-size: 1.4rem;
    }

    .cvp-info p {
        font-size: 0.95rem;
    }
}

.video-modal {
    position: fixed;
    inset: 0;
    z-index: 410;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
    /* Sin pointer-events: el backdrop es solo visual, el click lo maneja .video-modal */
    pointer-events: none;
}

.video-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 420;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: white;
    font-size: 24px;
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-modal-close:hover {
    background: rgba(255, 255, 255, 0.25);
}

.video-modal-content {
    position: relative;
    z-index: 420;
    width: 95%;
    max-width: 1000px;
    aspect-ratio: 16/9;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5);
    animation: modalFadeIn 0.4s ease forwards;
}

.video-modal-content iframe {
    width: 100%;
    height: 100%;
}

@keyframes modalFadeIn {
    0% {
        opacity: 0;
        transform: scale(0.95) translateY(20px);
    }

    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* =========================================================================
   NUEVO BOTÓN FLOTANTE: Habla con KellIA
   ========================================================================= */
.kll-bot-fab-pill {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 200;
    background: #63B4FF;
    color: #000;
    border: none;
    padding: 12px 24px;
    border-radius: 50px;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(99, 180, 255, 0.4);
    display: flex;
    align-items: center;
    gap: 14px;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.kll-bot-fab-pill:hover {
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 15px 35px rgba(99, 180, 255, 0.5);
    background: #4EA3F3;
}

.kll-fab-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.6rem;
}

.kll-fab-text {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.kll-fab-title {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1rem;
    line-height: 1.2;
    color: #002b49;
}

.kll-fab-subtitle {
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 400;
    opacity: 0.75;
    color: #002b49;
}

@media(max-width: 768px) {
    .kll-bot-fab-pill {
        bottom: 20px;
        right: 20px;
        padding: 10px 20px;
    }

    .kll-fab-title {
        font-size: 1rem;
    }

    .kll-fab-subtitle {
        font-size: 0.8rem;
    }
}


/* ============================================================
   REDISEÑO V3 — NUEVAS SECCIONES
   Todos estos estilos sobreescriben/reemplazan los anteriores
   para las secciones radicalmente rediseñadas.
   ============================================================ */

/* OVERRIDE GLOBAL DE TÍTULOS DE SECCIÓN PARA UNIFICACIÓN VISUAL */
.section-title {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px;
}

/* ─────────────────────────────────────────────────────────────
   1. SECCION-AGENDA — Timeline horizontal glassmorphism oscuro
   ───────────────────────────────────────────────────────────── */

.seccion-agenda {
    padding: 100px 0;
    background: linear-gradient(135deg, #0b8db5 0%, #1AB4D8 50%, #0e9ec8 100%);
    position: relative;
    overflow: hidden;
}

.seccion-agenda::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 60%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 85% 40%, rgba(255, 255, 255, 0.07) 0%, transparent 50%);
    pointer-events: none;
}

.ag-wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

.ag-header {
    text-align: center;
    margin-bottom: 56px;
}

.ag-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 20px;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    color: #ffffff;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.75rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.ag-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    color: #ffffff;
    line-height: 1.15;
    font-weight: 900;
    margin-bottom: 14px;
}

.ag-title span {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: underline;
    text-decoration-color: rgba(255,255,255,0.35);
    text-decoration-thickness: 3px;
    text-underline-offset: 5px;
}

.ag-subtitle {
    font-family: var(--font-body);
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.75);
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.6;
}

.ag-scroll-container {
    position: relative;
}

.ag-scroll-container::before,
.ag-scroll-container::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 60px;
    z-index: 5;
    pointer-events: none;
}

.ag-scroll-container::before {
    left: 0;
    background: linear-gradient(to right, #0e9ec8, transparent);
}

.ag-scroll-container::after {
    right: 0;
    background: linear-gradient(to left, #0e9ec8, transparent);
}

.ag-timeline-track {
    display: flex;
    gap: 18px;
    padding: 50px 50px 40px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    position: relative;
    align-items: stretch;
}

.ag-timeline-track::before {
    content: '';
    position: absolute;
    top: 54px;
    left: 50px;
    right: 50px;
    height: 2px;
    background: linear-gradient(to right, transparent, rgba(26, 180, 216, 0.25) 15%, rgba(26, 180, 216, 0.25) 85%, transparent);
    z-index: 0;
    pointer-events: none;
}

.ag-timeline-track::-webkit-scrollbar { display: none; }

.ag-evt-card {
    flex: 0 0 210px;
    scroll-snap-align: start;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 20px;
    padding: 30px 18px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
    position: relative;
    transition: all 0.35s ease;
    cursor: default;
    z-index: 1;
}

@media (hover: hover) {
    .ag-evt-card:hover {
        background: rgba(255, 255, 255, 0.28);
        border-color: rgba(255, 255, 255, 0.55);
        transform: translateY(-8px);
        box-shadow: 0 24px 48px rgba(0, 0, 0, 0.15), 0 0 24px rgba(255, 255, 255, 0.1);
    }
}

.ag-evt-dot {
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%);
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid #1AB4D8;
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.6);
    z-index: 2;
}

.ag-evt-time {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
}

.ag-evt-time-h {
    font-family: var(--font-heading);
    font-size: 1.9rem;
    font-weight: 900;
}

.ag-evt-time-p {
    font-family: var(--font-body);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    opacity: 0.75;
    margin-top: 3px;
}

.ag-evt-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.ag-evt-title {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.3;
    margin: 0;
}

.ag-evt-desc {
    font-family: var(--font-body);
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.5;
    margin: 0;
}

.ag-evt-tag {
    font-family: var(--font-heading);
    font-size: 0.62rem;
    font-weight: 800;
    padding: 4px 13px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: auto;
}

@media (max-width: 768px) {
    .ag-evt-card { flex: 0 0 175px; padding: 26px 14px 20px; }
    .ag-timeline-track { padding: 50px 24px 40px; }
    .ag-scroll-container::before, .ag-scroll-container::after { width: 24px; }
}


/* ─────────────────────────────────────────────────────────────
   2. SECCION-VIDEO-MASTERCLASS — Tarjeta de Video Clara
   ───────────────────────────────────────────────────────────── */

.seccion-video-masterclass {
    position: relative;
    padding: 100px 24px;
    background: radial-gradient(circle at 50% 0%, #FFFFFF 0%, #F0F5FA 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.mc-content {
    position: relative;
    z-index: 3;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
    width: 100%;
}

.mc-badge {
    background: rgba(26, 180, 216, 0.15) !important;
    color: #1AB4D8 !important;
    border: 1px solid rgba(26, 180, 216, 0.35) !important;
    margin-bottom: 28px;
}

.mc-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--text-darker);
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: -0.5px;
    margin-bottom: 20px;
}

.mc-title span {
    color: #1AB4D8;
}

.mc-desc {
    font-family: var(--font-body);
    font-size: 1.1rem;
    color: var(--text-body);
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto 44px;
}

/* LA TARJETA DEL VIDEO (MINIATURA) */
.mc-video-card {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0 auto 44px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), 0 0 40px rgba(26, 180, 216, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    cursor: pointer;
    background: #000;
}

.mc-video-card img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.mc-video-overlay {
    position: absolute;
    inset: 0;
    background: rgba(3, 15, 26, 0.4);
    transition: background 0.4s ease;
}

@media (hover: hover) {
    .mc-video-card:hover img {
        transform: scale(1.05);
    }
    .mc-video-card:hover .mc-video-overlay {
        background: rgba(3, 15, 26, 0.2);
    }
}

.mc-play-area {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    z-index: 2;
}

.mc-play-ring {
    position: relative;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(26, 180, 216, 0.15);
    border: 2px solid rgba(26, 180, 216, 0.4);
    transition: all 0.35s ease;
    animation: mc-pulse-ring 3s ease-in-out infinite;
}

@keyframes mc-pulse-ring {
    0%, 100% { box-shadow: 0 0 0 0 rgba(26, 180, 216, 0); }
    50% { box-shadow: 0 0 0 20px rgba(26, 180, 216, 0); }
}

.mc-play-ring::before {
    content: '';
    position: absolute;
    inset: -12px;
    border-radius: 50%;
    border: 1px solid rgba(26, 180, 216, 0.2);
    animation: mc-pulse-ring 3s ease-in-out infinite 0.5s;
}

.mc-play-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #1AB4D8;
    display: grid;
    place-items: center;
    color: white;
    font-size: 22px;
    padding-left: 4px;
    box-shadow: 0 12px 35px rgba(26, 180, 216, 0.4);
    transition: all 0.3s ease;
}

@media (hover: hover) {
    .mc-video-card:hover .mc-play-ring {
        background: rgba(26, 180, 216, 0.22);
        border-color: rgba(26, 180, 216, 0.7);
    }
    .mc-video-card:hover .mc-play-icon {
        background: #00ADDA;
        transform: scale(1.1);
        box-shadow: 0 18px 45px rgba(26, 180, 216, 0.55);
    }
}

.mc-play-label {
    font-family: var(--font-heading);
    font-size: 0.85rem;
    font-weight: 800;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.8);
}

.mc-actions {
    display: flex;
    justify-content: center;
}

.mc-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 34px;
    background: #ffffff;
    color: var(--text-darker);
    border: 1.5px solid rgba(0, 115, 155, 0.15);
    border-radius: 999px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.9rem;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 115, 155, 0.05);
}

@media (hover: hover) {
    .mc-cta-btn:hover {
        background: #F0F5FA;
        border-color: var(--primary);
        color: var(--primary);
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(0, 115, 155, 0.1);
    }
}

@media (max-width: 640px) {
    .mc-cta-btn { width: 100%; justify-content: center; }
    .mc-play-ring { width: 80px; height: 80px; }
    .mc-play-icon { width: 56px; height: 56px; font-size: 18px; }
}


/* ─────────────────────────────────────────────────────────────
   3. SECCION-METODOLOGIA-UNIFICADA — 3 Pilares glassmorphism
   ───────────────────────────────────────────────────────────── */

.seccion-metodologia-unificada {
    padding: 100px 0;
    background: linear-gradient(135deg, #0d4b6b 0%, #1AB4D8 50%, #006688 100%);
    position: relative;
    overflow: hidden;
}

.met-bg-deco {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 80%, rgba(255, 255, 255, 0.06) 0%, transparent 50%),
        radial-gradient(circle at 90% 20%, rgba(255, 255, 255, 0.04) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}

.seccion-metodologia-unificada .wrapper {
    position: relative;
    z-index: 2;
}

.met-header {
    margin-bottom: 56px;
}

.met-badge {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.met-section-title {
    color: #ffffff !important;
}

.met-section-title span {
    color: rgba(255, 255, 255, 0.95) !important;
}

.seccion-metodologia-unificada .section-header::after {
    background: rgba(255, 255, 255, 0.4) !important;
}

.met-intro-text {
    font-family: var(--font-body);
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.75);
    max-width: 650px;
    margin: 20px 0 40px 0;
    line-height: 1.6;
}

.met-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.met-card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 24px;
    padding: 40px 30px 36px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
}

.met-card--center {
    background: rgba(255, 255, 255, 0.13);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-12px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.2);
}

@media (hover: hover) {
    .met-card:hover {
        background: rgba(255, 255, 255, 0.14);
        border-color: rgba(255, 255, 255, 0.35);
        transform: translateY(-6px);
        box-shadow: 0 24px 50px rgba(0, 0, 0, 0.2);
    }
    .met-card--center:hover {
        transform: translateY(-18px);
    }
}

.met-card-num {
    position: absolute;
    top: 20px;
    right: 24px;
    font-family: var(--font-heading);
    font-size: 3.5rem;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.08);
    line-height: 1;
    user-select: none;
}

.met-card-icon-wrap {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    display: grid;
    place-items: center;
    font-size: 1.6rem;
    color: #ffffff;
    margin-bottom: 20px;
}

@media (max-width: 900px) {
    .met-cards-grid { 
        grid-template-columns: repeat(3, 1fr); 
        gap: 12px; 
    }
    .met-card--center { transform: none; }
    .met-card {
        padding: 24px 12px 20px;
        align-items: center;
        text-align: center;
    }
    .met-card-icon-wrap {
        width: 44px;
        height: 44px;
        font-size: 1.2rem;
        margin-bottom: 12px;
    }
    .met-card-title {
        font-size: 1.1rem;
    }
    .met-card-sub {
        font-size: 0.65rem;
        letter-spacing: 0.5px;
    }
    .met-card-num {
        font-size: 2rem;
        top: 10px;
        right: 10px;
    }
}

.met-card-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 4px;
    line-height: 1.2;
}

.met-card-sub {
    font-family: var(--font-heading);
    font-size: 0.8rem;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 0;
}

.met-card-divider {
    width: 40px;
    height: 2px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 2px;
    margin: 20px 0;
}

.met-card-desc {
    font-family: var(--font-body);
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.65;
    margin: 0;
}

@media (max-width: 900px) {
    .met-cards-grid { grid-template-columns: 1fr; gap: 16px; }
    .met-card--center { transform: none; }
}


/* ─────────────────────────────────────────────────────────────
   4. SECCION-PORQUE — Grid Original (V2)
   ───────────────────────────────────────────────────────────── */

.seccion-porque {
    padding: 100px 0;
    position: relative;
    background: #ffffff;
}

.grid-two { 
    display: grid; 
    grid-template-columns: 1.1fr 0.9fr; 
    gap: 60px; 
    align-items: center; 
}
.grid-two--reverse { 
    grid-template-columns: 0.9fr 1.1fr; 
}
.text-col h2 { 
    font-size: clamp(2rem, 4vw, 3rem); 
    margin-bottom: 25px; 
    line-height: 1.15; 
    font-weight: 900; 
    color: var(--text-darker); 
    letter-spacing: -0.5px;
}
.text-col h2 span { 
    color: var(--primary); 
}
.lead-aprendizaje { 
    font-size: 1.1rem; 
    margin-bottom: 20px; 
    line-height: 1.6; 
    color: var(--text-body); 
}
.blockquote-kvc { 
    background: var(--white); 
    border-left: 5px solid var(--primary); 
    padding: 20px 25px; 
    border-radius: 0 16px 16px 0; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); 
    margin: 30px 0;
}
.blockquote-kvc strong { 
    color: var(--text-darker); 
    font-size: 1.1rem; 
    font-weight: 800;
}
.lista-badges { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 12px; 
    list-style: none; 
    padding: 0; 
}
.lista-badges li { 
    background: var(--white); 
    color: var(--text-darker); 
    padding: 12px 24px; 
    border-radius: 50px; 
    font-weight: 800; 
    border: 1px solid rgba(0,115,155,0.1); 
    box-shadow: 0 4px 10px rgba(0,0,0,0.03); 
    display: flex; 
    align-items: center; 
    gap: 8px; 
    transition: 0.3s;
}
@media (hover: hover) { 
    .lista-badges li:hover { 
        background: var(--primary); 
        color: white; 
        transform: translateY(-3px);
    } 
    .lista-badges li:hover i { 
        color: white; 
    } 
}
.lista-badges li i { 
    color: var(--primary); 
    transition: 0.3s;
}
.media { 
    position: relative; 
}
.media::before { 
    content:''; 
    position:absolute; 
    inset: 20px -20px -20px 20px; 
    background: rgba(26, 180, 216, 0.1); 
    border-radius: 20px; 
    z-index: 0;
}
.grid-two--reverse .media::before { 
    inset: 20px 20px -20px -20px; 
    background: rgba(0,115,155,0.05);
}
.media img { 
    width: 100%; 
    border-radius: 20px; 
    box-shadow: 0 20px 40px rgba(0,0,0,0.15); 
    position: relative; 
    z-index: 1; 
    aspect-ratio: 4/5; 
    object-fit: cover;
}

@media(max-width: 768px){ 
    .grid-two, .grid-two--reverse { 
        grid-template-columns: 1fr; 
    } 
    .text-col h2 {
        font-size: 2rem;
    }
}


/* ─────────────────────────────────────────────────────────────
   5. SECCION-APRENDIZAJES-DOS — Cards horizontales
   ───────────────────────────────────────────────────────────── */

.seccion-aprendizajes-dos {
    padding: 100px 0;
    background: #F0F5FA;
    position: relative;
}

.seccion-aprendizajes-dos .section-header::after {
    display: none;
}

.apr2-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.apr2-item {
    display: grid;
    grid-template-columns: 72px 60px 1fr;
    align-items: center;
    gap: 24px;
    background: #ffffff;
    border: 1px solid #E4E4E7;
    border-radius: 20px;
    padding: 32px 36px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.apr2-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(to bottom, var(--primary), var(--accent-dark));
    border-radius: 20px 0 0 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

@media (hover: hover) {
    .apr2-item:hover {
        border-color: rgba(26, 180, 216, 0.3);
        box-shadow: 0 12px 35px rgba(0, 115, 155, 0.1);
        transform: translateX(4px);
    }
    .apr2-item:hover::before { opacity: 1; }
}

.apr2-num {
    font-family: var(--font-heading);
    font-size: 3.2rem;
    font-weight: 900;
    color: rgba(0, 115, 155, 0.1);
    line-height: 1;
    text-align: center;
    user-select: none;
}

.apr2-icon-wrap {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: var(--primary-light);
    display: grid;
    place-items: center;
    font-size: 1.5rem;
    color: var(--primary);
    flex-shrink: 0;
    border: 1px solid rgba(26, 180, 216, 0.15);
}

.apr2-content {}

.apr2-title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--text-darker);
    margin-bottom: 8px;
}

.apr2-desc {
    font-family: var(--font-body);
    font-size: 0.95rem;
    color: var(--text-body);
    line-height: 1.65;
    margin: 0;
}

@media (max-width: 768px) {
    .apr2-item {
        grid-template-columns: 50px 1fr;
        grid-template-rows: auto auto;
        gap: 16px;
        padding: 24px 22px;
    }
    .apr2-num { font-size: 2.2rem; }
    .apr2-icon-wrap { display: none; }
}


/* ─────────────────────────────────────────────────────────────
   6. SECCION-CAMPOS — Grid de iconos por industria
   ───────────────────────────────────────────────────────────── */

.seccion-campos {
    padding: 100px 0;
    background: #ffffff;
    position: relative;
}

.campos-subtitle {
    font-family: var(--font-body);
    font-size: 1.1rem;
    color: var(--text-body);
    margin-top: 12px;
    line-height: 1.6;
    opacity: 0.8;
}

.campos-grid {
    position: relative;
    width: 100%;
    min-height: 460px;
    margin-top: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    perspective: 1200px;
}

.campo-card-arc {
    position: absolute;
    width: 200px;
    height: 250px;
    background: #ffffff;
    border: 1px solid #E4E4E7;
    border-radius: 20px;
    padding: 24px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    
    /* Initial state (hidden at center) */
    opacity: 0;
    transform: scale(0.5) translate(0, 0) rotate(0deg);
    transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.8s ease, box-shadow 0.4s ease, border-color 0.4s ease, background 0.4s ease;
    transform-origin: center center;
    cursor: pointer;
}

/* Animate to fanned position when container is in view */
.campos-grid.arc-in-view .campo-card-arc {
    opacity: 1;
    transform: scale(1) translate(calc(var(--dist) * 140px), calc(var(--abs-dist) * -20px));
}

.campos-grid.arc-in-view .campo-card-arc:hover, .campos-grid.arc-in-view .campo-card-arc.mobile-focus {
    z-index: 99 !important;
    border-color: var(--primary);
    background: #ffffff;
    transform: scale(1.05) translate(calc(var(--dist) * 140px), calc(var(--abs-dist) * -20px - 10px)) !important;
    box-shadow: 0 20px 40px rgba(26, 180, 216, 0.15);
}

.campos-grid.arc-in-view .campo-card-arc:hover .campo-icon-wrap, .campos-grid.arc-in-view .campo-card-arc.mobile-focus .campo-icon-wrap {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

.campo-icon-wrap {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    background: #F0F5FA;
    border: 1px solid #E4E4E7;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    color: var(--primary);
    transition: all 0.3s ease;
}

.campo-text-col {
    display: contents;
}

.campo-title {
    font-family: var(--font-heading);
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--text-darker);
    line-height: 1.3;
    margin: 0;
}

.campo-desc {
    font-family: var(--font-body);
    font-size: 0.75rem;
    color: var(--text-body);
    line-height: 1.5;
    margin: 0;
    opacity: 0.8;
}

@media (max-width: 1024px) {
    .campos-grid {
        min-height: 380px;
    }
    .campos-grid.arc-in-view .campo-card-arc {
        transform: scale(1) translate(calc(var(--dist) * 105px), calc(var(--abs-dist) * -18px));
    }
    .campos-grid.arc-in-view .campo-card-arc:hover, .campos-grid.arc-in-view .campo-card-arc.mobile-focus {
        transform: scale(1.05) translate(calc(var(--dist) * 105px), calc(var(--abs-dist) * -18px - 8px)) !important;
    }
    .campo-card-arc {
        width: 180px;
        height: 230px;
        padding: 20px 14px;
        gap: 10px;
    }
    .campo-icon-wrap {
        width: 45px;
        height: 45px;
        font-size: 1.2rem;
    }
    .campo-title {
        font-size: 0.85rem;
    }
    .campo-desc {
        font-size: 0.7rem;
    }
}

@media (max-width: 768px) {
    .campos-grid {
        min-height: auto;
        margin-top: 40px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        gap: 15px;
    }
    .campo-card-arc {
        position: relative;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        width: 100%;
        height: auto;
        min-height: auto;
        padding: 16px 16px;
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 16px;
    }
    .campos-grid.arc-in-view .campo-card-arc:hover, .campo-card-arc:hover {
        transform: none !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1) !important;
        z-index: auto !important;
        border-color: #E4E4E7 !important;
    }
    .campos-grid.arc-in-view .campo-card-arc:hover .campo-icon-wrap, .campo-card-arc:hover .campo-icon-wrap {
        background: #F0F5FA !important;
        color: var(--primary) !important;
        border-color: #E4E4E7 !important;
    }
    .campo-icon-wrap {
        width: 48px;
        height: 48px;
        font-size: 1.2rem;
        flex-shrink: 0;
    }
    .campo-title {
        font-size: 0.9rem;
        margin-bottom: 4px;
    }
    .campo-desc {
        font-size: 0.75rem;
    }
    .campo-text-col {
        display: flex;
        flex-direction: column;
    }
}




/* ─────────────────────────────────────────────────────────────
   7. SECCION-GALERIA-VIDEOS — Rediseño visual (mantiene 3D JS)
   ───────────────────────────────────────────────────────────── */

.seccion-galeria-videos {
    padding: 100px 0 120px;
    background: linear-gradient(180deg, #F0F5FA 0%, #e8f3fa 100%);
    position: relative;
    overflow: hidden;
}

.seccion-galeria-videos::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 0%, rgba(26, 180, 216, 0.08) 0%, transparent 60%);
    pointer-events: none;
}

.wrap-gv {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

.gv-header {
    text-align: center;
    margin-bottom: 20px;
}

.gv-badge {
    margin-bottom: 20px;
}

.gv-subtitle {
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--text-body);
    max-width: 580px;
    margin: 14px auto 0;
    line-height: 1.6;
    opacity: 0.8;
}

.gv-divider {
    width: 100%;
    max-width: 600px;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(26, 180, 216, 0.3), transparent);
    margin: 36px auto 0;
}

/* Mejora de los botones nav */
.btn-gv {
    pointer-events: auto;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #ffffff;
    border: 1.5px solid #E4E4E7;
    box-shadow: 0 8px 24px rgba(0, 115, 155, 0.12);
    color: var(--text-darker);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: 0.3s;
    font-size: 1rem;
}

@media (hover: hover) {
    .btn-gv:hover {
        background: var(--primary);
        border-color: var(--primary);
        color: white;
        transform: scale(1.08);
        box-shadow: 0 12px 30px rgba(26, 180, 216, 0.3);
    }
}


/* ─────────────────────────────────────────────────────────────
   8. SECCION-PERFIL-KELLYVALLE — 2 sub-bloques segmentados
   ───────────────────────────────────────────────────────────── */

.seccion-perfil-KellyValle {
    background: #ffffff;
    position: relative;
    padding-bottom: 0;
}

.seccion-perfil-KellyValle .wrapper {
    padding-bottom: 80px;
}

/* Sub-bloque 2 removido para volver al diseño original dentro de la tarjeta */


/* ─────────────────────────────────────────────────────────────
   9. SECCION-FORMULARIO — Split screen 50/50
   ───────────────────────────────────────────────────────────── */

.seccion-formulario {
    background: none;
    padding: 0;
}

.form-split-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
}

/* Panel izquierdo — oscuro */
.form-left-panel {
    background: linear-gradient(160deg, #003B52 0%, #001a26 100%);
    padding: 80px 60px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.form-left-panel::before {
    content: '';
    position: absolute;
    top: -30%;
    right: -20%;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(26, 180, 216, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

@media (max-width: 768px) {
    .seccion-agenda,
    .seccion-video-masterclass,
    .seccion-metodologia-unificada,
    .seccion-porque,
    .seccion-aprendizajes-dos,
    .seccion-campos,
    .seccion-galeria-videos {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.form-left-inner {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
}

.form-left-logo-wrap { margin-bottom: 36px; }

.form-left-logo {
    height: 48px;
    width: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.form-left-title {
    font-family: var(--font-heading);
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    color: #ffffff;
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 16px;
}

.form-left-title span {
    color: #1AB4D8;
}

.form-left-desc {
    font-family: var(--font-body);
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.65;
    margin-bottom: 36px;
}

.form-benefits-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}

.form-benefits-list li {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.form-ben-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(26, 180, 216, 0.15);
    border: 1px solid rgba(26, 180, 216, 0.25);
    display: grid;
    place-items: center;
    color: #1AB4D8;
    font-size: 1rem;
    flex-shrink: 0;
}

.form-ben-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-top: 4px;
}

.form-ben-text strong {
    font-family: var(--font-heading);
    font-size: 0.92rem;
    font-weight: 800;
    color: #ffffff;
}

.form-ben-text span {
    font-family: var(--font-body);
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.5;
}

.form-left-event-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.form-ei-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-body);
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.65);
}

.form-ei-item i {
    color: #1AB4D8;
    width: 16px;
    text-align: center;
}

/* Panel derecho — blanco */
.form-right-panel {
    background: #f8fafc;
    padding: 80px 60px;
    display: flex;
    align-items: center;
}

.form-right-inner {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
}

.form-right-header {
    margin-bottom: 36px;
}

.form-badge {
    margin-bottom: 16px;
}

.form-right-title {
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    color: var(--text-darker);
    font-weight: 900;
    margin-bottom: 10px;
    line-height: 1.2;
}

.form-right-sub {
    font-family: var(--font-body);
    font-size: 0.95rem;
    color: var(--text-body);
    line-height: 1.6;
    margin: 0;
}

.form-submit-btn {
    width: 100%;
    max-width: 100%;
    padding: 17px 32px;
    font-size: 1rem;
    background: linear-gradient(135deg, #FF9000, #E64A19);
    border: none;
    box-shadow: 0 8px 24px rgba(255, 100, 0, 0.3);
}

@media (hover: hover) {
    .form-submit-btn:hover {
        background: linear-gradient(135deg, #E64A19, #C93400);
        transform: translateY(-2px);
        box-shadow: 0 14px 32px rgba(255, 100, 0, 0.4);
    }
}

/* Ajuste del form-section-box en el panel derecho */
.form-right-panel .form-section-box {
    background: #ffffff;
    border: 1px solid #E4E4E7;
    border-radius: 16px;
    padding: 24px 24px 20px;
    margin-bottom: 16px;
}

.form-right-panel .form-step-title {
    font-size: 0.9rem;
    color: var(--text-darker);
    margin-bottom: 18px;
}

@media (max-width: 960px) {
    .form-split-layout {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .form-left-panel {
        padding: 60px 32px;
    }
    .form-right-panel {
        padding: 60px 32px;
    }
}

@media (max-width: 480px) {
    .form-left-panel, .form-right-panel { padding: 48px 20px; }
}

/* ==================== HERO: BADGE AMARILLO ==================== */
.hero-v2__tag--yellow {
    color: #B45309;
    background: linear-gradient(135deg, #FEF3C7, #FDE68A);
    border: 1.5px solid #F59E0B;
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.25);
}

/* Hero images: efecto espejo para nueva posición */
.hero-img-mirror {
    transform: scaleX(-1);
    filter: drop-shadow(0 20px 40px rgba(0, 115, 155, 0.2));
}

/* ==================== SECCIÓN HEADER: LÍNEA ANIMADA ==================== */
@keyframes gradientLineMove {
    0% { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

.section-header::after {
    background: linear-gradient(90deg, #ffffff, #1AB4D8, #00ADDA, #ffffff) !important;
    background-size: 200% 100% !important;
    animation: gradientLineMove 3s linear infinite !important;
}

/* ==================== BOTÓN FLOTANTE WHATSAPP ==================== */
.wa-fab-wrapper {
    position: fixed;
    bottom: 28px;
    left: 28px;
    z-index: 200;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
}

.wa-fab-wrapper.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.wa-fab-btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #25D366, #128C7E);
    color: white;
    font-size: 1.7rem;
    border: none;
    cursor: pointer;
    display: grid;
    place-items: center;
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.45);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}

.wa-fab-btn:hover {
    transform: translateY(-4px) scale(1.08);
    box-shadow: 0 14px 35px rgba(37, 211, 102, 0.55);
}

.wa-fab-btn::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(37, 211, 102, 0.4);
    animation: waPulse 2.5s ease-in-out infinite;
}

@keyframes waPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0; transform: scale(1.4); }
}

.wa-fab-tag {
    background: linear-gradient(135deg, #004b66, #00739B);
    color: white;
    font-family: var(--font-heading);
    font-size: 0.78rem;
    font-weight: 800;
    padding: 7px 14px;
    border-radius: 20px;
    box-shadow: 0 4px 14px rgba(0, 75, 102, 0.3);
    white-space: nowrap;
    opacity: 0;
    transform: translateY(8px) scale(0.9);
    transition: opacity 0.4s ease, transform 0.4s ease;
    pointer-events: none;
}

.wa-fab-tag.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

/* ==================== MODAL WHATSAPP ==================== */
.wa-modal {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wa-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 20, 40, 0.65);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
}

.wa-modal-box {
    position: relative;
    background: #FFFFFF;
    border-radius: 28px;
    padding: 40px 36px 36px;
    max-width: 480px;
    width: calc(100% - 40px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
    z-index: 1;
    animation: modalPop 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes modalPop {
    from { opacity: 0; transform: scale(0.85) translateY(20px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

.wa-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #F0F5FA;
    border: none;
    cursor: pointer;
    color: var(--text-body);
    font-size: 1rem;
    display: grid;
    place-items: center;
    transition: 0.2s;
}

.wa-modal-close:hover { background: var(--primary); color: white; }

.wa-modal-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #25D366, #128C7E);
    color: white;
    display: grid;
    place-items: center;
    font-size: 1.8rem;
    margin: 0 auto 20px;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
}

.wa-modal-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    color: var(--text-darker);
    text-align: center;
    margin-bottom: 8px;
}

.wa-modal-sub {
    font-family: var(--font-body);
    color: var(--text-body);
    text-align: center;
    font-size: 0.95rem;
    margin-bottom: 28px;
}

.wa-modal-options {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.wa-option {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    border-radius: 16px;
    border: 1.5px solid #E4E4E7;
    background: #F8FAFC;
    text-decoration: none;
    transition: all 0.25s ease;
    cursor: pointer;
}

.wa-option:hover {
    border-color: #25D366;
    background: #F0FFF5;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.12);
}

.wa-option-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-size: 1.3rem;
    flex-shrink: 0;
    color: white;
}

.wa-option-icon--human { background: linear-gradient(135deg, #00739B, #1AB4D8); }
.wa-option-icon--ai { background: linear-gradient(135deg, #128C7E, #25D366); }

.wa-option-text { flex: 1; }
.wa-option-text strong { display: block; font-family: var(--font-heading); font-size: 1rem; color: var(--text-darker); margin-bottom: 2px; }
.wa-option-text span { font-family: var(--font-body); font-size: 0.85rem; color: var(--text-body); }
.wa-option-arrow { color: #CBD5E1; font-size: 0.9rem; flex-shrink: 0; transition: 0.2s; }
.wa-option:hover .wa-option-arrow { color: #25D366; transform: translateX(3px); }

/* Hero btn WA */
.hero-v2__btn--wa {
    background: rgba(37, 211, 102, 0.15) !important;
    border-color: rgba(37, 211, 102, 0.5) !important;
    color: #064e3b !important;
}
.hero-v2__btn--wa:hover {
    background: rgba(37, 211, 102, 0.3) !important;
    border-color: #25D366 !important;
}

/* ==================== MODAL PATROCINAR ==================== */
.sponsor-modal {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sponsor-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 20, 40, 0.65);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

.sponsor-modal-box {
    position: relative;
    background: #FFFFFF;
    border-radius: 28px;
    padding: 40px 36px 36px;
    max-width: 500px;
    width: calc(100% - 40px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
    z-index: 1;
    text-align: center;
    animation: modalPop 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.sponsor-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #F0F5FA;
    border: none;
    cursor: pointer;
    color: var(--text-body);
    display: grid;
    place-items: center;
    transition: 0.2s;
}

.sponsor-modal-close:hover { background: var(--primary); color: white; }

.sponsor-modal-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--text-darker), var(--primary));
    color: white;
    display: grid;
    place-items: center;
    font-size: 2rem;
    margin: 0 auto 20px;
    box-shadow: 0 10px 30px rgba(0, 115, 155, 0.3);
}

.sponsor-modal-title {
    font-family: var(--font-heading);
    font-size: 1.7rem;
    color: var(--text-darker);
    margin-bottom: 14px;
}
.sponsor-modal-title span { color: var(--primary); }

.sponsor-modal-text {
    font-family: var(--font-body);
    color: var(--text-body);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 28px;
}

.sponsor-modal-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sponsor-modal-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 28px;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.95rem;
    text-decoration: none;
    transition: 0.25s;
    cursor: pointer;
}

.sponsor-modal-btn--primary {
    background: linear-gradient(135deg, #25D366, #128C7E);
    color: white;
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.35);
}
.sponsor-modal-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(37, 211, 102, 0.45); color: white; }

.sponsor-modal-btn--ghost {
    background: #F0F5FA;
    color: var(--text-darker);
    border: 1.5px solid #E4E4E7;
}
.sponsor-modal-btn--ghost:hover { background: var(--primary); color: white; border-color: var(--primary); }

.patro-sponsor-cta {
    text-align: center;
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid rgba(0, 115, 155, 0.1);
}

.patro-sponsor-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    background: linear-gradient(135deg, var(--text-darker), var(--primary));
    color: white;
    border: none;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 10px 30px rgba(0, 115, 155, 0.3);
    transition: 0.3s;
}
.patro-sponsor-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(0, 115, 155, 0.4);
}

/* ==================== MASTERCLASS & EVENTOS YOUTUBE (IDEEM STYLE) ==================== */
.seccion-video-masterclass {
    padding: 100px 0;
    background: #F8FAFC;
    position: relative;
    overflow: visible !important;
    overflow-x: clip !important;
}

.mc-split-layout {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 100px;
}

/* Columna izquierda Sticky */
.mc-sticky-col {
    position: -webkit-sticky;
    position: sticky;
    top: calc(50vh - 160px);
    width: 360px;
    flex-shrink: 0;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    z-index: 10;
}

.mc-sticky-badge {
    font-family: var(--font-heading);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--primary);
    background: rgba(26, 180, 216, 0.1);
    padding: 6px 14px;
    border-radius: 50px;
    margin-bottom: 18px;
}

.mc-sticky-title {
    font-family: var(--font-heading);
    font-size: 2.2rem;
    color: var(--text-darker);
    line-height: 1.2;
    margin-bottom: 18px;
    font-weight: 900;
}

.mc-sticky-title span {
    color: var(--primary);
}

.mc-sticky-desc {
    font-family: var(--font-body);
    font-size: 0.95rem;
    color: var(--text-body);
    line-height: 1.65;
    margin-bottom: 26px;
}

.mc-sticky-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    border-radius: 50px;
    background: linear-gradient(135deg, var(--text-darker), var(--primary));
    color: white;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.92rem;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(0, 115, 155, 0.3);
    transition: all 0.3s ease;
}

.mc-sticky-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 35px rgba(0, 115, 155, 0.4);
    color: white;
}

/* Columna derecha: Timeline de Eventos con línea central */
.mc-events-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 36px;
    position: relative;
    max-width: 580px;
}

/* Línea continua conectora por el centro de las fechas */
.mc-events-col::before {
    content: '';
    position: absolute;
    left: 36px;
    top: 30px;
    bottom: 30px;
    width: 3px;
    background: linear-gradient(180deg, #CBD5E1 0%, #1AB4D8 50%, #004b66 100%);
    border-radius: 3px;
    z-index: 1;
}

.mc-event-item {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 24px;
    align-items: flex-start;
    position: relative;
    z-index: 2;
}

.mc-event-date-badge {
    position: relative;
    z-index: 3;
    width: 72px;
    background: #1E293B;
    color: white;
    border-radius: 16px;
    padding: 12px 8px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    border: 2px solid #FFFFFF;
}

.mc-event-day {
    font-family: var(--font-heading);
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1;
}

.mc-event-month {
    font-family: var(--font-heading);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.85;
    margin-top: 3px;
}

.mc-event-card-wrap {
    width: 100%;
}

.mc-event-card {
    background: #FFFFFF;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
    border: 1px solid #E2E8F0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.mc-event-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 40px rgba(0, 115, 155, 0.14);
}

.mc-event-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    background: #000000;
    overflow: hidden;
}

.mc-event-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.88;
    transition: transform 0.35s ease, opacity 0.35s ease;
}

.mc-event-card:hover .mc-event-thumb img {
    transform: scale(1.03);
    opacity: 0.78;
}

.mc-thumb-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.1) 40%, rgba(0,0,0,0.75) 100%);
    pointer-events: none;
}

.mc-overlay-live {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(8px);
    color: white;
    font-family: var(--font-heading);
    font-size: 0.68rem;
    font-weight: 800;
    padding: 5px 12px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 7px;
    letter-spacing: 0.8px;
}

.mc-overlay-live i {
    color: #EF4444;
    font-size: 0.55rem;
    animation: livePulse 1.8s infinite;
}

@keyframes livePulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

.mc-overlay-logos {
    position: absolute;
    top: 14px;
    right: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: white;
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 900;
    text-shadow: 0 2px 4px rgba(0,0,0,0.6);
}

.mc-logo-ideem { letter-spacing: 1.2px; opacity: 0.9; }
.mc-logo-kvc { opacity: 0.9; font-style: italic; }

.mc-event-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #DC2626;
    color: white;
    display: grid;
    place-items: center;
    font-size: 1.2rem;
    box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45);
    transition: transform 0.3s ease, background 0.3s ease;
}

.mc-event-card:hover .mc-event-play-btn {
    transform: translate(-50%, -50%) scale(1.12);
    background: #B91C1C;
}

.mc-overlay-date {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-family: var(--font-heading);
    font-size: 0.82rem;
    font-weight: 800;
    text-shadow: 0 2px 6px rgba(0,0,0,0.85);
    white-space: nowrap;
    text-align: center;
}

.mc-event-body {
    padding: 18px 22px;
}

.mc-event-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.mc-tag {
    font-family: var(--font-heading);
    font-size: 0.68rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 50px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.mc-tag--cat { background: #F1F5F9; color: #475569; }
.mc-tag--time { background: #F8FAFC; color: #64748B; border: 1px solid #E2E8F0; }
.mc-tag--status { background: #F0FDF4; color: #166534; border: 1px solid #BBF7D0; }

.mc-event-title {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    color: var(--text-darker);
    font-weight: 900;
    margin-bottom: 6px;
    line-height: 1.3;
}

.mc-event-sub {
    font-family: var(--font-body);
    font-size: 0.88rem;
    color: #64748B;
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 900px) {
    .mc-split-layout {
        flex-direction: column;
        gap: 36px;
    }
    .mc-sticky-col {
        position: static;
        width: 100%;
    }
    .mc-events-col {
        max-width: 100%;
    }
    .mc-events-col::before {
        left: 28px;
    }
    .mc-event-item {
        grid-template-columns: 56px 1fr;
        gap: 16px;
    }
    .mc-event-date-badge {
        width: 56px;
        padding: 8px 4px;
    }
    .mc-event-day { font-size: 1.3rem; }
}

.mc-card:hover .mc-card-thumb img {
    opacity: 0.75;
    transform: scale(1.04);
}

.mc-card-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(26, 180, 216, 0.92);
    color: white;
    display: grid;
    place-items: center;
    font-size: 1.3rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    transition: 0.3s;
}

.mc-card:hover .mc-card-play {
    background: var(--text-darker);
    transform: translate(-50%, -50%) scale(1.12);
}

.mc-card-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--text-darker);
    font-family: var(--font-heading);
    font-size: 0.7rem;
    font-weight: 800;
    padding: 5px 12px;
    border-radius: 50px;
    letter-spacing: 1px;
    text-transform: uppercase;
    backdrop-filter: blur(6px);
}

.mc-card-body {
    padding: 22px 24px;
}

.mc-card-title {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    color: var(--text-darker);
    margin-bottom: 6px;
    font-weight: 800;
}

.mc-card-sub {
    font-family: var(--font-body);
    color: var(--text-body);
    font-size: 0.9rem;
    line-height: 1.5;
}

/* ==================== MODAL CAPTURA MASTERCLASS ==================== */
.mc-lead-modal {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mc-lead-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 20, 40, 0.7);
    backdrop-filter: blur(10px);
    cursor: pointer;
}

.mc-lead-box {
    position: relative;
    background: #FFFFFF;
    border-radius: 28px;
    padding: 44px 40px 40px;
    max-width: 460px;
    width: calc(100% - 40px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.22);
    z-index: 1;
    text-align: center;
    animation: modalPop 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.mc-lead-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #F0F5FA;
    border: none;
    cursor: pointer;
    display: grid;
    place-items: center;
    color: var(--text-body);
    transition: 0.2s;
}
.mc-lead-close:hover { background: var(--primary); color: white; }

.mc-lead-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: linear-gradient(135deg, #FF0000, #CC0000);
    color: white;
    display: grid;
    place-items: center;
    font-size: 2rem;
    margin: 0 auto 20px;
    box-shadow: 0 10px 28px rgba(255, 0, 0, 0.3);
}

.mc-lead-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    color: var(--text-darker);
    margin-bottom: 10px;
    line-height: 1.3;
}
.mc-lead-title span { color: var(--primary); }

.mc-lead-sub {
    font-family: var(--font-body);
    color: var(--text-body);
    font-size: 0.95rem;
    margin-bottom: 24px;
}

.mc-lead-field {
    margin-bottom: 12px;
}

.mc-lead-field input {
    width: 100%;
    padding: 13px 18px;
    border: 1.5px solid #E4E4E7;
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 0.95rem;
    color: var(--text-darker);
    outline: none;
    transition: border-color 0.2s;
    background: #FAFAFA;
}

.mc-lead-field input:focus {
    border-color: var(--primary);
    background: #FFFFFF;
}

.mc-lead-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 18px;
}

.mc-lead-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    border-radius: 50px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.92rem;
    cursor: pointer;
    border: none;
    transition: 0.25s;
}

.mc-lead-btn--primary {
    background: linear-gradient(135deg, var(--text-darker), var(--primary));
    color: white;
    box-shadow: 0 8px 20px rgba(0, 115, 155, 0.3);
}
.mc-lead-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 115, 155, 0.4); }

.mc-lead-btn--ghost {
    background: #F0F5FA;
    color: var(--text-body);
    border: 1.5px solid #E4E4E7;
}
.mc-lead-btn--ghost:hover { background: #E4E4E7; }

/* ==================== METODOLOGÍA SPLIT LAYOUT ==================== */
.met-split-layout {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 60px;
    align-items: center;
    padding-top: 20px;
}

.met-left .met-section-title { margin-bottom: 18px; }

.met-right {
    display: flex;
    align-items: center;
    justify-content: center;
}

.met-video-wrapper {
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 115, 155, 0.2);
    background: #000;
    position: relative;
}

.met-video-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 */
}

.met-video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 24px;
}

@media (max-width: 900px) {
    .met-split-layout {
        grid-template-columns: 1fr;
    }
    .met-video-wrapper { border-radius: 16px; }
    .met-video-container iframe { border-radius: 16px; }
}

/* ==================== DIR CARDS: IGUAL TAMAÑO ==================== */
.dir-grid--equal {
    grid-template-columns: repeat(4, 1fr);
    align-items: stretch;
}

.dir-grid--equal .dir-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dir-grid--equal .dir-card:nth-child(even) {
    margin-top: 0;
}

@media (max-width: 900px) {
    .dir-grid--equal { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 580px) {
    .dir-grid--equal { grid-template-columns: 1fr; }
}

/* ==================== AGENDA: RELOJ CIRCULAR SEGMENTADO ==================== */
.ag-clock-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding: 10px 0;
}

.ag-clock-wrapper {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFFFFF;
    border-radius: 28px;
    padding: 35px 35px;
    box-shadow: 0 16px 50px rgba(0, 40, 70, 0.12);
    border: 1px solid #E2E8F0;
    overflow: hidden;
}

.ag-clock-svg {
    width: 100%;
    height: auto;
    max-height: 580px;
    overflow: visible;
}

.ag-clock-slice {
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease, filter 0.3s ease;
}

.ag-clock-line {
    transition: opacity 0.3s ease, stroke-width 0.3s ease;
}

.ag-clock-label-group {
    transition: opacity 0.3s ease;
}

.ag-clock-hub circle {
    transition: transform 0.3s ease;
}

@media (max-width: 768px) {
    .ag-clock-svg {
        max-height: 480px;
    }
}

/* ==================== FOOTER DOS COLUMNAS ==================== */
.footer-grid--two {
    grid-template-columns: 1fr 1fr !important;
}

@media (max-width: 768px) {
    .footer-grid--two { grid-template-columns: 1fr !important; }
}

.footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 8px;
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    text-decoration: none;
    color: inherit;
    transition: 0.2s;
}

.footer-contact-item:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(26, 180, 216, 0.3);
}

.footer-contact-item i {
    font-size: 1.2rem;
    color: var(--primary);
    width: 20px;
    text-align: center;
    flex-shrink: 0;
}

.footer-contact-label {
    display: block;
    font-size: 0.72rem;
    opacity: 0.65;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-family: var(--font-body);
}

.footer-contact-item strong {
    display: block;
    font-family: var(--font-heading);
    font-size: 0.92rem;
    font-weight: 800;
}

/* ===================================================
   CTA-HEADER AS BUTTON (fix appearance)
   =================================================== */
button.cta-header {
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    text-decoration: none;
}

/* ===================================================
   AGENDA DISCLAIMER NOTE
   =================================================== */
.ag-disclaimer {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    font-family: var(--font-body);
    font-size: 0.82rem;
    color: var(--text-body);
    background: rgba(26, 180, 216, 0.08);
    border: 1px solid rgba(26, 180, 216, 0.25);
    border-radius: 10px;
    padding: 10px 16px;
    max-width: 680px;
    text-align: left;
    line-height: 1.5;
}

.ag-disclaimer i {
    color: var(--primary);
    flex-shrink: 0;
    font-size: 0.9rem;
}

/* ===================================================
   VIDEO GALLERY — SIDE ARROWS LAYOUT
   =================================================== */
.gv-stage-wrapper {
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
}

.gv-stage-wrapper .stage-gv {
    flex: 1;
    min-width: 0;
}

.btn-gv--side {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--white);
    border: none;
    box-shadow: 0 4px 20px rgba(0, 115, 155, 0.18);
    color: var(--text-darker);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all 0.3s;
    font-size: 1rem;
    z-index: 10;
}

.btn-gv--side:hover {
    background: var(--primary);
    color: white;
    transform: scale(1.1);
    box-shadow: 0 8px 24px rgba(26, 180, 216, 0.4);
}

@media (max-width: 600px) {
    .gv-stage-wrapper {
        gap: 8px;
        padding: 0 4px;
    }
    .btn-gv--side { width: 40px; height: 40px; font-size: 0.85rem; }
}

/* ===================================================
   SPONSOR MODAL — 2 COLUMN LAYOUT + FORM
   =================================================== */
.sponsor-modal-box--wide {
    max-width: 960px !important;
    width: 95vw !important;
    padding: 40px !important;
}

.sponsor-modal-header {
    text-align: center;
    margin-bottom: 28px;
}

.sponsor-modal-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
}

@media (max-width: 720px) {
    .sponsor-modal-body {
        grid-template-columns: 1fr;
    }
    .sponsor-modal-box--wide {
        padding: 24px !important;
    }
}

.sponsor-form-col-title {
    font-family: var(--font-heading);
    font-size: 0.95rem;
    color: var(--text-darker);
    font-weight: 800;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(26, 180, 216, 0.2);
}

.sponsor-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 14px;
}

.sponsor-field {
    display: flex;
    flex-direction: column;
}

.sponsor-field--full {
    grid-column: 1 / -1;
}

.sponsor-field input,
.sponsor-field textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid rgba(0, 115, 155, 0.2);
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--text-darker);
    background: var(--bg-light);
    transition: border 0.25s;
    outline: none;
    resize: vertical;
}

.sponsor-field input:focus,
.sponsor-field textarea:focus {
    border-color: var(--primary);
    background: white;
}

.sponsor-form-submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 999px;
    padding: 12px 28px;
    font-family: var(--font-heading);
    font-size: 0.88rem;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s;
    letter-spacing: 0.5px;
    width: 100%;
    justify-content: center;
}

.sponsor-form-submit:hover {
    background: var(--text-darker);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(26, 180, 216, 0.35);
}

.sponsor-form-note {
    font-family: var(--font-body);
    font-size: 0.78rem;
    color: var(--text-body);
    text-align: center;
    margin-top: 10px;
    opacity: 0.85;
}

.sponsor-form-status {
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 0.85rem;
    font-family: var(--font-body);
    text-align: center;
}

.sponsor-form-status[data-type="success"] { background: #e8f7eb; color: #2d6a4f; border: 1px solid #b7e4c7; }
.sponsor-form-status[data-type="error"] { background: #fce8e8; color: #c0392b; border: 1px solid #f5b7b1; }

.sponsor-cta-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 4px;
}

.sponsor-cta-desc {
    font-family: var(--font-body);
    font-size: 0.88rem;
    color: var(--text-body);
    line-height: 1.55;
    margin-bottom: 4px;
}

.sponsor-modal-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* ===================================================
   INFO / REGISTRO MODAL — CTA Buttons
   =================================================== */
.info-modal {
    position: fixed;
    inset: 0;
    z-index: 410;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.info-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 30, 50, 0.75);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

.info-modal-box {
    position: relative;
    z-index: 1;
    background: white;
    border-radius: 28px;
    box-shadow: 0 30px 80px rgba(0, 115, 155, 0.25);
    max-width: 980px;
    width: 100%;
    max-height: 92vh;
    overflow-y: auto;
    animation: modalSlideIn 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes modalSlideIn {
    from { opacity: 0; transform: scale(0.9) translateY(20px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

.info-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 10;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.07);
    border: none;
    color: var(--text-darker);
    font-size: 1rem;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all 0.25s;
}

.info-modal-close:hover {
    background: var(--primary);
    color: white;
    transform: scale(1.1);
}

.info-modal-layout {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    min-height: 500px;
}

@media (max-width: 768px) {
    .info-modal-layout {
        grid-template-columns: 1fr;
    }
}

/* Left Panel */
.info-modal-left {
    background: linear-gradient(145deg, var(--text-darker) 0%, #006a8e 100%);
    padding: 48px 36px;
    border-radius: 28px 0 0 28px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (max-width: 768px) {
    .info-modal-left { border-radius: 28px 28px 0 0; padding: 32px 24px; }
    .info-modal-right { border-radius: 0 0 28px 28px; }
}

.info-modal-logo-wrap { margin-bottom: 4px; }

.info-modal-logo {
    max-width: 140px;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.info-modal-left-title {
    font-family: var(--font-heading);
    font-size: clamp(1.1rem, 2.5vw, 1.5rem);
    color: white;
    line-height: 1.25;
    font-weight: 900;
}

.info-modal-left-title span {
    color: var(--primary);
    display: inline;
}

.info-modal-left-title span::after { display: none; }

.info-modal-benefits {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
}

.info-modal-benefits li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.info-modal-ben-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(26, 180, 216, 0.25);
    display: grid;
    place-items: center;
    color: var(--primary);
    flex-shrink: 0;
    font-size: 0.9rem;
}

.info-modal-benefits li > div:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.info-modal-benefits li strong {
    font-family: var(--font-heading);
    font-size: 0.82rem;
    color: white;
    font-weight: 800;
}

.info-modal-benefits li span {
    font-family: var(--font-body);
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.65);
}

.info-modal-event-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.info-modal-ei-item {
    display: flex;
    gap: 10px;
    align-items: center;
    font-family: var(--font-body);
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.8);
}

.info-modal-ei-item i { color: var(--primary); font-size: 0.88rem; }

/* Right Panel */
.info-modal-right {
    padding: 48px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    overflow-y: auto;
}

@media (max-width: 600px) {
    .info-modal-right { padding: 28px 20px; }
}

.info-modal-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--primary-light);
    color: var(--primary);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 0.78rem;
    font-family: var(--font-heading);
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: 1px solid rgba(26, 180, 216, 0.3);
}

.info-modal-form-title {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    color: var(--text-darker);
    font-weight: 900;
    margin: 6px 0 2px;
}

.info-modal-form-sub {
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--text-body);
    line-height: 1.5;
}

.info-modal-section-box {
    background: var(--bg-light);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid rgba(26, 180, 216, 0.1);
}

.info-modal-step-title {
    font-family: var(--font-heading);
    font-size: 0.82rem;
    color: var(--primary);
    font-weight: 800;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-modal-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.info-modal-field {
    position: relative;
}

.info-modal-field--full {
    grid-column: 1 / -1;
}

.info-modal-field input,
.info-modal-field select {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid rgba(0, 115, 155, 0.15);
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--text-darker);
    background: white;
    transition: border 0.25s, box-shadow 0.25s;
    outline: none;
}

.info-modal-field input:focus,
.info-modal-field select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(26, 180, 216, 0.12);
}

.info-modal-field label {
    position: absolute;
    left: 14px;
    top: 12px;
    font-size: 0.82rem;
    color: var(--text-body);
    pointer-events: none;
    transition: all 0.2s;
    background: white;
    padding: 0 4px;
}

.info-modal-field input:not(:placeholder-shown) + label,
.info-modal-field input:focus + label {
    top: -8px;
    font-size: 0.72rem;
    color: var(--primary);
}

.info-modal-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 999px;
    padding: 14px 36px;
    font-family: var(--font-heading);
    font-size: 0.92rem;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s;
    letter-spacing: 0.5px;
}

.info-modal-submit-btn:hover {
    background: var(--text-darker);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(26, 180, 216, 0.35);
}

.info-modal-status {
    margin-top: 12px;
    padding: 12px 16px;
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 0.85rem;
    text-align: center;
}

.info-modal-status[data-type="success"] { background: #e8f7eb; color: #2d6a4f; border: 1px solid #b7e4c7; }
.info-modal-status[data-type="error"] { background: #fce8e8; color: #c0392b; border: 1px solid #f5b7b1; }

/* Scrollbar for modal */
.info-modal-box::-webkit-scrollbar { width: 6px; }
.info-modal-box::-webkit-scrollbar-track { background: transparent; }
.info-modal-box::-webkit-scrollbar-thumb { background: rgba(26, 180, 216, 0.3); border-radius: 99px; }

/* ===================================================
   BUG FIXES — v3 EDEAR
   =================================================== */

/* 1. INFO MODAL — Fix scrollbar que sale del border-radius */
.info-modal-box {
    overflow: hidden;
}
.info-modal-layout {
    overflow-y: auto;
    max-height: 92vh;
    border-radius: 28px;
}

/* 3. NAVBAR — Restaurar estilo completo del botón cta-header */
button.cta-header {
    background: #FF9000;
    color: var(--white);
    padding: 10px 24px;
    border-radius: 999px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: 0.2s;
    box-shadow: none;
    border: none;
    cursor: pointer;
    outline: none;
    text-decoration: none;
    line-height: 1;
    -webkit-appearance: none;
}

button.cta-header:hover {
    background: #E64A19;
    color: white;
}

/* 4. MC-STICKY-BTN — Quitar borde/outline default del navegador en button */
button.mc-sticky-btn {
    border: none !important;
    outline: none;
    cursor: pointer;
    line-height: 1.2;
    font-family: var(--font-heading);
}

button.mc-sticky-btn:focus-visible {
    outline: 2px solid rgba(255,255,255,0.5);
    outline-offset: 2px;
}

/* 5. SECTION-HEADER::AFTER — Ocultar la barra decorativa antigua (reemplazada por span::after animado) */
.section-header::after {
    display: none;
}

/* 6. MET-SECTION-TITLE SPAN — Línea animada en versión blanca sobre fondo oscuro */
.met-section-title span::after {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.7), rgba(26,180,216,0.9), rgba(255,255,255,0.7), transparent) !important;
    height: 3px;
}

/* 7. TESTIMONIALS — Ocultar badge dinámico del carrusel de testimonios */
.anim-testim-badge {
    display: none;
}

/* 8. .field DENTRO DEL MODAL — Igualar tamaño/estilo al resto de inputs del modal */
.info-modal-grid .field {
    margin-bottom: 0;
    position: relative;
}

.info-modal-grid .field select {
    padding: 12px 14px;
    font-size: 0.85rem;
    border: 1.5px solid rgba(0, 115, 155, 0.15);
    border-radius: 10px;
    background: white;
    color: var(--text-darker);
    transition: border 0.25s, box-shadow 0.25s;
    outline: none;
    font-family: var(--font-body);
}

.info-modal-grid .field select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(26, 180, 216, 0.12);
    background: white;
}

.info-modal-grid .field label {
    top: 50%;
    font-size: 0.82rem;
    font-weight: 400 !important;
    font-family: var(--font-body) !important;
    color: #64748b !important;
}

.info-modal-grid .field select:focus + label,
.info-modal-grid .field select:valid + label {
    top: -8px;
    font-size: 0.72rem;
    color: var(--primary) !important;
    background: white;
    box-shadow: none;
    border-radius: 0;
}

/* 9. GAP entre secciones del formulario del modal */
#infoModalForm {
    display: flex;
    flex-direction: column;
    gap: 18px;
}


/* ============================================================
   FC RESPONSE MODAL (Información & Patrocinio)
   ============================================================ */

#fc-response-modal {
    position: fixed;
    inset: 0;
    z-index: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

#fc-response-modal.fc-modal--visible {
    opacity: 1;
    visibility: visible;
}

.fc-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 20, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.fc-modal-card {
    position: relative;
    background: #ffffff;
    border-radius: 24px;
    padding: 48px 40px 40px;
    max-width: 500px;
    width: 100%;
    text-align: center;
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.25);
    transform: translateY(24px) scale(0.97);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    overflow: hidden;
}

#fc-response-modal.fc-modal--visible .fc-modal-card {
    transform: translateY(0) scale(1);
}

/* Borde de color en la parte superior */
.fc-modal-card--success::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, #00C9A7, #00739B);
    border-radius: 24px 24px 0 0;
}

.fc-modal-card--error::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, #f43f5e, #e11d48);
    border-radius: 24px 24px 0 0;
}

.fc-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #f1f5f9;
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #64748b;
    font-size: 1rem;
    transition: background 0.2s, color 0.2s;
}

.fc-modal-close:hover {
    background: #e2e8f0;
    color: #1e293b;
}

.fc-modal-icon-wrap {
    margin-bottom: 20px;
}

.fc-modal-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    font-size: 2rem;
}

.fc-modal-card--success .fc-modal-icon {
    background: #dcfce7;
    color: #16a34a;
}

.fc-modal-card--error .fc-modal-icon {
    background: #ffe4e6;
    color: #e11d48;
}

.fc-modal-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 16px;
    line-height: 1.3;
    font-family: var(--font-heading, 'Century Gothic', sans-serif);
}

.fc-modal-body {
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.7;
    text-align: left;
}

.fc-modal-body p {
    margin: 0 0 12px;
}

.fc-modal-list {
    list-style: none;
    padding: 0;
    margin: 12px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fc-modal-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #f8fafc;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.9rem;
    color: #334155;
}

.fc-modal-list li i {
    margin-top: 2px;
    color: #00739B;
    flex-shrink: 0;
}

.fc-modal-card--error .fc-modal-list li i {
    color: #e11d48;
}

.fc-modal-note {
    text-align: center;
    font-size: 0.85rem;
    color: #94a3b8;
    margin-top: 16px !important;
    font-style: italic;
}

/* ============================================================
   FC TOAST (Masterclass — éxito y error)
   ============================================================ */

#fc-toast {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 601;
    border-radius: 16px;
    padding: 16px 48px 16px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 370px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
    border: 1.5px solid transparent;
    transform: translateX(calc(100% + 40px));
    opacity: 0;
    transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease;
}

#fc-toast.fc-toast--visible {
    transform: translateX(0);
    opacity: 1;
}

/* Variante éxito — modo claro */
#fc-toast.fc-toast--success {
    background: #ffffff;
    border-color: #bbf7d0;
    color: #0f172a;
}

#fc-toast.fc-toast--success .fc-toast-icon {
    color: #16a34a;
}

#fc-toast.fc-toast--success .fc-toast-message {
    color: #0f172a;
}

#fc-toast.fc-toast--success .fc-toast-sub {
    color: #64748b;
}

#fc-toast.fc-toast--success .fc-toast-close {
    color: #94a3b8;
}

#fc-toast.fc-toast--success .fc-toast-close:hover {
    color: #0f172a;
    background: #f1f5f9;
}

/* Variante error — modo claro */
#fc-toast.fc-toast--error {
    background: #ffffff;
    border-color: #fecdd3;
    color: #0f172a;
}

#fc-toast.fc-toast--error .fc-toast-icon {
    color: #e11d48;
}

#fc-toast.fc-toast--error .fc-toast-message {
    color: #0f172a;
}

#fc-toast.fc-toast--error .fc-toast-sub {
    color: #64748b;
}

#fc-toast.fc-toast--error .fc-toast-close {
    color: #94a3b8;
}

#fc-toast.fc-toast--error .fc-toast-close:hover {
    color: #e11d48;
    background: #fff1f2;
}

.fc-toast-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.fc-toast-content {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.fc-toast-message {
    font-weight: 700;
    font-size: 0.93rem;
    margin: 0;
    line-height: 1.3;
}

.fc-toast-sub {
    font-size: 0.81rem;
    margin: 0;
}

.fc-toast-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: transparent;
    border: none;
    font-size: 0.85rem;
    cursor: pointer;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: color 0.2s, background 0.2s;
}

@media (max-width: 480px) {
    #fc-toast {
        bottom: 16px;
        right: 16px;
        left: 16px;
        max-width: 100%;
    }

    .fc-modal-card {
        padding: 40px 24px 32px;
    }

    .fc-modal-title {
        font-size: 1.25rem;
    }
}

/* =========================================================================
   SECCIÓN RECAP EDEAR 2025 — Grid Layout Design (Platform Style)
   ========================================================================= */
.seccion-recap {
    padding: 100px 0;
    background: #ffffff;
    position: relative;
}

.recap-grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    border: 1px solid #E4E4E7;
    border-radius: 20px;
    padding: 40px;
    background: #FAFAFA;
    box-shadow: 0 4px 24px rgba(0,0,0,0.03);
}

.recap-text-col {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.recap-header-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
}

.recap-badge {
    display: inline-block;
    padding: 4px 12px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--primary);
    border: 1px solid var(--primary);
    border-radius: 50px;
    letter-spacing: 1px;
}

.recap-title {
    font-family: var(--font-heading);
    font-size: 3rem;
    font-weight: 900;
    color: var(--text-darker);
    line-height: 1.1;
    letter-spacing: -1px;
}

.recap-desc {
    font-size: 1.1rem;
    color: var(--text-body);
    line-height: 1.6;
    max-width: 90%;
}

.recap-features-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.recap-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.recap-feature-item i {
    color: var(--primary);
    font-size: 1.1rem;
    margin-top: 4px;
}

.recap-feature-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.recap-feature-text strong {
    color: var(--text-darker);
    font-weight: 700;
    font-size: 1.05rem;
}

.recap-feature-text span {
    color: var(--text-body);
    font-size: 0.9rem;
    line-height: 1.5;
}

.recap-video-col {
    width: 100%;
}

.recap-video-frame {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: 0 12px 32px rgba(0,0,0,0.1);
    background: #E4E4E7;
}

.recap-video-frame iframe {
    width: 100%;
    height: 100%;
    display: block;
}

@media (max-width: 992px) {
    .recap-grid-container {
        grid-template-columns: 1fr;
        padding: 30px;
    }
    .recap-desc {
        max-width: 100%;
    }
    .recap-features-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .seccion-recap {
        padding: 60px 0;
    }
    .recap-grid-container {
        padding: 24px;
        gap: 30px;
    }
    .recap-title {
        font-size: 2.2rem;
    }
    .recap-features-list {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}
/* =========================================================================
   SECCIÓN QUÉ TE LLEVARÁS
   ========================================================================= */
.seccion-llevara {
    padding: 100px 0;
    background: linear-gradient(160deg, #f8fbff 0%, #eef6ff 100%);
    position: relative;
    overflow: hidden;
}

.seccion-llevara::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(26,180,216,0.07) 0%, transparent 70%);
    pointer-events: none;
}

.llevara-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.llevara-video-frame {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: 0 30px 80px rgba(0,0,0,0.15);
    border: 1px solid rgba(26, 180, 216, 0.15);
}

.llevara-video-frame iframe {
    width: 100%;
    height: 100%;
    display: block;
}

.llevara-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(26, 180, 216, 0.1);
    border: 1px solid rgba(26, 180, 216, 0.3);
    color: #0e9ec8;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 999px;
    margin-bottom: 20px;
}

/* DELETED BAD CONTENT BELOW */
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 999px;
    margin-bottom: 20px;
}

.llevara-title {
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 900;
    color: var(--text-darker);
    line-height: 1.15;
    margin-bottom: 16px;
}

.llevara-title span {
    color: #1AB4D8;
}

.llevara-desc {
    font-family: var(--font-body);
    font-size: 1rem;
    color: rgba(10, 30, 60, 0.65);
    line-height: 1.7;
    margin-bottom: 32px;
}

.llevara-items {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.llevara-item {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

.llevara-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #1AB4D8, #0e9ec8);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.2rem;
    box-shadow: 0 8px 20px rgba(26, 180, 216, 0.3);
}

.llevara-text h3 {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-darker);
    margin: 0 0 4px;
}

.llevara-text p {
    font-family: var(--font-body);
    font-size: 0.9rem;
    color: rgba(10, 30, 60, 0.65);
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 900px) {
    .llevara-split {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 768px) {
    .ag-clock-label-group, .ag-clock-line, .ag-clock-labels, .ag-clock-lines { display: none !important; opacity: 0 !important; visibility: hidden !important; }
    .ag-clock-svg { transform: scale(1.10) !important; transform-origin: center center !important; overflow: visible !important; }
    .ag-clock-wrapper { overflow: visible !important; }
}

@media (max-width: 900px) { .met-cards-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; } .met-card { padding: 24px 12px 20px !important; align-items: center !important; text-align: center !important; } .met-card-icon-wrap { width: 44px !important; height: 44px !important; font-size: 1.2rem !important; margin-bottom: 12px !important; } .met-card-title { font-size: 1.1rem !important; } .met-card-sub { font-size: 0.65rem !important; letter-spacing: 0.5px !important; } .met-card-num { font-size: 2rem !important; top: 10px !important; right: 10px !important; } } @media (max-width: 500px) { .met-cards-grid { gap: 8px !important; } .met-card { padding: 20px 6px 16px !important; border-radius: 16px !important; } .met-card-title { font-size: 0.95rem !important; } .met-card-sub { font-size: 0.55rem !important; letter-spacing: 0 !important; } .met-card-icon-wrap { width: 38px !important; height: 38px !important; font-size: 1rem !important; } }

@media (max-width: 900px) { .met-card { align-items: flex-start !important; text-align: left !important; } .met-card-num { color: rgba(255, 255, 255, 0.25) !important; right: 12px !important; top: 12px !important; } }

@media (max-width: 900px) { .met-card { align-items: center !important; text-align: center !important; } }

@media (max-width: 900px) { .met-card-title { font-size: 1.25rem !important; } .met-card-sub { font-size: 0.75rem !important; } .met-card-num { font-size: 1.6rem !important; top: 15px !important; right: 15px !important; } } @media (max-width: 500px) { .met-card-title { font-size: 1.15rem !important; } .met-card-sub { font-size: 0.65rem !important; } .met-card-num { font-size: 1.4rem !important; top: 12px !important; right: 12px !important; } }

@media (max-width: 768px) { .seccion-porque .grid-two { display: flex !important; flex-direction: column !important; } .seccion-porque .text-col { display: contents !important; } .seccion-porque .text-col h2 { order: 1 !important; } .seccion-porque .text-col .lead-aprendizaje { order: 2 !important; } .seccion-porque .text-col .lista-badges { order: 3 !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-bottom: 30px !important; } .seccion-porque .text-col .lista-badges li { padding: 12px 10px !important; font-size: 0.8rem !important; justify-content: center !important; text-align: center !important; } .seccion-porque .media { order: 4 !important; } .seccion-porque .text-col .blockquote-kvc { order: 5 !important; position: relative !important; z-index: 10 !important; margin-top: -70px !important; margin-left: 15px !important; margin-right: 15px !important; margin-bottom: 0 !important; border-radius: 16px !important; box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important; border-left: 5px solid var(--primary) !important; } }

@media (max-width: 768px) { .seccion-porque .text-col h2 { text-align: center !important; margin-bottom: 12px !important; } .seccion-porque .text-col .lead-aprendizaje { text-align: center !important; margin-bottom: 25px !important; } .seccion-porque .text-col .lista-badges { gap: 12px !important; margin-bottom: 25px !important; } .seccion-porque .text-col .lista-badges li { padding: 12px !important; font-size: 0.95rem !important; } .seccion-porque .text-col .blockquote-kvc { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; margin-top: -60px !important; border-radius: 16px !important; box-sizing: border-box !important; } }

@media (max-width: 768px) { .seccion-aprendizajes-dos .grid-two { display: flex !important; flex-direction: column !important; } .seccion-aprendizajes-dos .text-col { display: contents !important; } .seccion-aprendizajes-dos .section-header { order: 1 !important; width: 100% !important; text-align: center !important; align-items: center !important; margin-bottom: 15px !important; } .seccion-aprendizajes-dos .section-title { text-align: center !important; } .seccion-aprendizajes-dos .media { order: 2 !important; margin-bottom: 25px !important; } .seccion-aprendizajes-dos .apr2-list { order: 3 !important; } }

@media (max-width: 768px) { .seccion-llevara { padding: 60px 0 !important; } .llevara-split { display: flex !important; flex-direction: column !important; gap: 20px !important; } .llevara-content { display: contents !important; } .llevara-title { order: 1 !important; text-align: center !important; font-size: 2rem !important; margin-bottom: 10px !important; } .llevara-desc { order: 2 !important; text-align: center !important; margin-bottom: 10px !important; } .llevara-video-col { order: 3 !important; margin-bottom: 20px !important; width: 100% !important; } .llevara-items { order: 4 !important; } }





@media (max-width: 768px) { .kvc-hero { display: flex !important; flex-direction: column !important; gap: 15px !important; } .kvc-hero > .reveal:first-child { display: contents !important; } .kvc-sub { order: 1 !important; text-align: center !important; margin-bottom: 5px !important; } .kvc-title { order: 2 !important; text-align: center !important; margin-bottom: 10px !important; } .kvc-photo-col { order: 3 !important; margin-bottom: 15px !important; width: 100% !important; } .kvc-intro { order: 4 !important; text-align: center !important; } .kvc-chips { order: 5 !important; justify-content: center !important; } .kvc-list { order: 6 !important; } }

@media (max-width: 768px) { .patro-sponsor-btn { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; padding: 24px 20px !important; gap: 16px !important; white-space: normal !important; line-height: 1.5 !important; border-radius: 20px !important; font-size: 0.95rem !important; margin: 0 15px !important; width: calc(100% - 30px) !important; box-sizing: border-box !important; } .patro-sponsor-btn i { font-size: 2.2rem !important; margin-bottom: 5px !important; margin-right: 0 !important; } }

.wa-fab-wrapper { bottom: 30px !important; } @media (max-width: 768px) { .wa-fab-wrapper { bottom: 20px !important; left: 20px !important; } }

@media (max-width: 768px) { .ag-clock-wrapper { background: transparent !important; box-shadow: none !important; border: none !important; padding: 0 !important; border-radius: 0 !important; } }

/* RESTORED STYLES */
.seccion-llevara { padding: 100px 0; background: linear-gradient(160deg, #f8fbff 0%, #eef6ff 100%); position: relative; overflow: hidden; } .seccion-llevara::before { content: ''; position: absolute; top: 0; right: 0; width: 500px; height: 500px; background: radial-gradient(circle, rgba(26,180,216,0.07) 0%, transparent 70%); pointer-events: none; } .llevara-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; position: relative; z-index: 1; } .llevara-video-frame { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 16/9; box-shadow: 0 30px 80px rgba(0,0,0,0.15); border: 1px solid rgba(26, 180, 216, 0.15); } .llevara-video-frame iframe { width: 100%; height: 100%; display: block; } .llevara-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(26, 180, 216, 0.1); border: 1px solid rgba(26, 180, 216, 0.3); color: #0e9ec8; font-size: 0.75rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 6px 16px; border-radius: 999px; margin-bottom: 20px; } .recap-video-wrap { max-width: 900px; margin: 0 auto 40px; position: relative; z-index: 1; } .recap-video-frame { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 16/9; box-shadow: 0 4px 24px rgba(26,180,216,0.12), 0 20px 60px rgba(0,0,0,0.12); border: 1px solid rgba(26, 180, 216, 0.18); } .recap-video-frame iframe { width: 100%; height: 100%; display: block; }

.patro { z-index: 20 !important; } .seccion-faq { position: relative; z-index: 20 !important; } .seccion-formulario { position: relative; z-index: 20 !important; } .kvc-footer { position: relative; z-index: 20 !important; }
