/* FIX: production CSS normalized to UTF-8 without BOM, LF line endings, no mojibake comments, and native overscroll restored - 2026-05-17 */
:root {
    
    --cyan:       #00E5FF;
    --cyan-dim:   #00B8D4;
    --cyan-light: #33ECFF;
    --green:      #00FF88;
    --green-dim:  #00C96B;
    --blue:       #0A84FF;

    
    --grad-primary: linear-gradient(135deg, #00E5FF 0%, #00FF88 100%);
    --grad-text:    linear-gradient(135deg, #00E5FF 0%, #0A84FF 50%, #00FF88 100%);
    --grad-line:    linear-gradient(180deg, #00E5FF 0%, #00FF88 100%);
    --grad-cyan:    linear-gradient(135deg, #00E5FF, #00B8D4);

    
    --bg-deep:    #020408;
    --bg-dark:    #060d14;
    --bg-card:    #0A1628;
    --bg-card-alt: #0D1B2A;
    --bg-glass:   rgba(0, 229, 255, 0.04);

    
    --border-glow: rgba(0, 229, 255, 0.3);
    --border-card: rgba(0, 229, 255, 0.12);

    
    --text-primary:   #F0F4FF;
    --text-secondary: rgba(240, 244, 255, 0.7);
    --text-muted:     #4A6275;

    
    --font-display: 'Montserrat', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --font-body:    'Montserrat', sans-serif;
    --font-mono:    'Montserrat', sans-serif;

    
    --section-padding: 120px 0;
    --container-width: 1200px;
    --container-padding: 0 24px;

    
    --transition-fast: 0.2s ease;
    --transition-med:  0.3s ease;
    --transition-slow: 0.5s ease;

    
    --shadow-card: 0 8px 32px rgba(0, 0, 0, 0.5);
    --glow-cyan: 0 0 30px rgba(0, 229, 255, 0.15);
    --glow-green: 0 0 30px rgba(0, 255, 136, 0.15);
}

/* Glow ellipse that follows the image contour precisely (uses SVG filter defined in <defs>) */
@keyframes glow-ellipse {
    0% {
        opacity: 0.25;
        stroke-width: 14px;
        stroke: #00E676;
    }
    33% {
        stroke: #00C1D4;
    }
    50% {
        opacity: 1;
        stroke-width: 28px;
        stroke: #1A6FDB;
    }
    66% {
        stroke: #00C1D4;
    }
    100% {
        opacity: 0.25;
        stroke-width: 14px;
        stroke: #00E676;
    }
}

#sobre .sobre__svg-border-glow {
    fill: none !important;
    stroke: url(#sobreVisualStrokeGlow) !important;
    stroke-width: 20px !important;
    vector-effect: non-scaling-stroke !important;
    filter: url(#sobreVisualGlow) !important;
    opacity: 0.28 !important;
    animation: glow-ellipse 3.6s ease-in-out infinite !important;
    -webkit-animation: glow-ellipse 3.6s ease-in-out infinite !important;
}

/* Secondary glow ellipse: thicker, lower-frequency pulse to make glow obvious */
@keyframes glow-ellipse-2 {
    0% { opacity: 0.12; stroke-width: 36px; stroke: #00E676; }
    33% { stroke: #00C1D4; }
    50% { opacity: 0.95; stroke-width: 64px; stroke: #1A6FDB; }
    66% { stroke: #00C1D4; }
    100% { opacity: 0.12; stroke-width: 36px; stroke: #00E676; }
}

#sobre .sobre__svg-border-glow-2 {
    fill: none !important;
    stroke: url(#sobreVisualStrokeGlow) !important;
    stroke-width: 36px !important;
    vector-effect: non-scaling-stroke !important;
    filter: url(#sobreVisualGlow) !important;
    opacity: 0.12 !important;
    animation: glow-ellipse-2 5.2s ease-in-out infinite !important;
    -webkit-animation: glow-ellipse-2 5.2s ease-in-out infinite !important;
}

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

html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-body);
    font-weight: 400;
    color: var(--text-primary);
    background-color: var(--bg-deep);
    line-height: 1.7;
    overflow-x: hidden;
    cursor: auto;
    position: relative;
-webkit-tap-highlight-color: transparent;
}

body::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 99998;
    opacity: 0.03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
    background-size: 200px 200px;
}

.scroll-progress {
    position: fixed;
    top: 0; left: 0;
    z-index: 100001;
    height: 2px;
    width: 0%;
    background: var(--grad-primary);
    transition: none;
    pointer-events: none;
}

#globalCityBg {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 0;
    pointer-events: none;
    opacity: 0.08;
}

.section, .hero, .footer, .nav {
    position: relative;
    z-index: 1;
}

@media (hover: none) { body { cursor: auto; } }

a {
    color: var(--cyan);
    text-decoration: none;
    transition: color var(--transition-fast);
}
a:hover { color: var(--cyan-light); }

img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }

a,
button,
[role="button"],
.speaker-card,
.hub-progress span {
    -webkit-tap-highlight-color: transparent;
}

h1, h2, h3, h4 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.1;
}

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: var(--container-padding);
}

.section { padding: var(--section-padding); }

.section-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--cyan);
    border: 1px solid var(--border-glow);
    border-radius: 100px;
    padding: 8px 20px;
    margin-bottom: 24px;
    background: rgba(0, 229, 255, 0.06);
}

.section-title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 20px;
    color: var(--text-primary);
}

.section-subtitle {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 400;
    color: var(--text-secondary);
    max-width: 600px;
    margin-bottom: 48px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 15px;
    padding: 14px 32px;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    transition: all var(--transition-med);
    text-decoration: none;
    position: relative;
    overflow: hidden;
}
.btn-primary {
    background: var(--grad-primary);
    color: #000;
    font-weight: 600;
    box-shadow: 0 4px 20px rgba(0, 229, 255, 0.3);
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 229, 255, 0.45);
    color: #000;
}
.btn-ghost {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border-glow);
}
.btn-ghost:hover {
    background: rgba(0, 229, 255, 0.1);
    border-color: var(--cyan);
    color: var(--cyan);
    transform: translateY(-2px);
}
.btn-sm { padding: 10px 24px; font-size: 14px; border-radius: 10px; }
.btn-lg { padding: 18px 40px; font-size: 16px; border-radius: 14px; }

.cursor-dot {
    width: 6px;
    height: 6px;
    background: var(--cyan);
    border-radius: 50%;
    position: fixed;
    top: 0; left: 0;
    pointer-events: none;
    z-index: 99999;
    transform: translate(-50%, -50%);
}
.cursor-ring {
    width: 36px;
    height: 36px;
    border: 1.5px solid rgba(0, 229, 255, 0.6);
    border-radius: 50%;
    position: fixed;
    top: 0; left: 0;
    pointer-events: none;
    z-index: 99998;
    transform: translate(-50%, -50%);
    mix-blend-mode: difference;
}
.cursor-ring.hovering {
    border-color: var(--green);
    width: 52px;
    height: 52px;
}
@media (hover: none) {
    .cursor-dot, .cursor-ring { display: none; }
}

.loader {
    position: fixed;
    inset: 0;
    background: var(--bg-deep);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100000;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}
.loader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.loader__content { text-align: center; }
.loader__text {
    font-family: var(--font-display);
    font-size: 72px;
    background: var(--grad-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.05em;
}
.loader__bar {
    width: 120px;
    height: 2px;
    background: rgba(255,255,255,0.08);
    margin: 20px auto 0;
    border-radius: 2px;
    overflow: hidden;
    position: relative;
}
.loader__bar::after {
    content: '';
    position: absolute;
    left: 0; top: 0;
    width: 40%;
    height: 100%;
    background: var(--grad-primary);
    border-radius: 2px;
    animation: loaderSlide 0.8s ease-in-out infinite alternate;
}

.nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    padding: 16px 0;
    transition: all var(--transition-med);
}
.nav.scrolled {
    background: rgba(2, 4, 8, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(0, 229, 255, 0.1);
    padding: 12px 0;
}
.nav__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 24px;
}
.nav__logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--text-primary);
}
.nav__logo-img { height: 40px; width: auto; }
.nav__logo-text {
    font-family: var(--font-display);
    font-size: 20px;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
.nav__links {
    display: flex;
    align-items: center;
    gap: 32px;
}
.nav__link {
    font-size: 14px;
    font-weight: 400;
    color: var(--text-secondary);
    transition: color var(--transition-fast);
    text-decoration: none;
    position: relative;
}
.nav__link::after {
    content: '';
    position: absolute;
    bottom: -4px; left: 0;
    width: 0; height: 2px;
    background: var(--grad-primary);
    transition: width var(--transition-med);
    border-radius: 2px;
}
.nav__link:hover { color: var(--text-primary); }
.nav__link:hover::after { width: 100%; }
.nav__cta { margin-left: 16px; }
.nav__hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
}
.nav__hamburger span {
    width: 24px; height: 2px;
    background: var(--text-primary);
    border-radius: 2px;
    transition: all var(--transition-med);
}
.nav__hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.nav__hamburger.active span:nth-child(2) { opacity: 0; }
.nav__hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

.nav__mobile {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(2, 4, 8, 0.95);
    backdrop-filter: blur(30px);
    z-index: 999;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-med);
}
.nav__mobile.open { opacity: 1; visibility: visible; }
.nav__mobile .nav__link {
    font-size: 24px;
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--text-primary);
}

.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    padding: 120px 24px 80px;
    background: var(--bg-deep);
}

.hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 5;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0,229,255,0.012) 2px,
        rgba(0,229,255,0.012) 4px
    );
    pointer-events: none;
}

.hero__layer {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    will-change: transform;
}
.hero__layer--bg {
    z-index: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.hero__layer--particles {
    z-index: 1;
}
.hero__layer--circuit {
    z-index: 2;
    pointer-events: none;
}

.circuit-path {
    stroke-linecap: round;
    stroke-linejoin: round;
}
.hero__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
    z-index: 3;
}
.hero__orb--cyan {
    width: 500px; height: 500px;
    background: var(--cyan);
    left: -10%; top: 20%;
    opacity: 0.12;
}
.hero__orb--green {
    width: 400px; height: 400px;
    background: var(--green);
    right: -5%; bottom: 10%;
    opacity: 0.08;
}
.hero__grid {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image:
        linear-gradient(rgba(0, 229, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 229, 255, 0.02) 1px, transparent 1px);
    background-size: 60px 60px;
}
.hero__watermark {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    font-family: var(--font-display);
    font-size: 400px;
    background: var(--grad-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: 0.02;
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
    letter-spacing: 0.1em;
}

.hero__content {
    position: relative;
    z-index: 6;
    max-width: 800px;
}
.hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--cyan);
    border: 1px solid var(--border-glow);
    border-radius: 100px;
    padding: 8px 24px;
    margin-bottom: 32px;
    background: rgba(0, 229, 255, 0.06);
}
.hero__badge span { opacity: 0.5; }

.hero__mind {
    font-family: var(--font-display);
    font-size: clamp(60px, 12vw, 140px);
    line-height: 0.95;
    letter-spacing: 0.02em;
    margin-bottom: 8px;
    
    background: var(--grad-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% 200%;
}

.hero__mind .char {
    display: inline-block;
    will-change: transform, opacity;
    background: var(--grad-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero__summit {
    font-family: var(--font-display);
    font-size: clamp(40px, 8vw, 72px);
    color: var(--text-primary);
    letter-spacing: 0.35em;
    margin-bottom: 24px;
    line-height: 1;
}
.hero__tagline {
    font-size: 18px;
    color: var(--text-muted);
    margin-bottom: 16px;
    letter-spacing: 0.05em;
}
.hero__desc {
    font-size: 17px;
    color: var(--text-secondary);
    max-width: 580px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

.countdown {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 48px;
}
.countdown__block {
    text-align: center;
    padding: 20px 16px;
    min-width: 90px;
    border: 1px solid var(--border-card);
    border-radius: 16px;
    background: rgba(0, 229, 255, 0.03);
    backdrop-filter: blur(10px);
}
.countdown__number {
    font-family: var(--font-mono);
    font-size: 42px;
    font-weight: 500;
    color: var(--cyan);
    line-height: 1;
    display: block;
    margin-bottom: 4px;
}
.countdown__label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-muted);
}
.event-live {
    font-family: var(--font-heading);
    font-size: 28px;
    color: var(--green);
    font-weight: 700;
}

.hero__cta {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.scroll-indicator {
    position: absolute;
    bottom: 32px; left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    z-index: 2;
}
.scroll-indicator__text {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--text-muted);
    writing-mode: vertical-rl;
    margin-bottom: 8px;
}
.scroll-indicator__line {
    width: 1px; height: 40px;
    background: rgba(0, 229, 255, 0.3);
    position: relative;
    overflow: hidden;
}
.scroll-indicator__line::after {
    content: '';
    position: absolute;
    top: -100%; left: 0;
    width: 100%; height: 50%;
    background: var(--cyan);
    animation: scrollLine 1.5s ease-in-out infinite;
}

.sobre {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 200vh;
    position: relative;
    z-index: 1;
}

.sobre__sticky-img {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
}
.sobre__sticky-img img {
    width: 100%; height: 100%;
    object-fit: cover;
}
.sobre__sticky-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(2,4,8,0.2), rgba(2,4,8,0.7));
    pointer-events: none;
}

.sobre__scroll-content {
    display: flex;
    flex-direction: column;
}
.sobre__panel {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem 3rem;
    opacity: 0;
    transform: translateY(40px);
}
.sobre__panel-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--cyan);
    border: 1px solid var(--border-glow);
    border-radius: 100px;
    padding: 8px 20px;
    margin-bottom: 24px;
    background: rgba(0, 229, 255, 0.06);
    width: fit-content;
}
.sobre__panel-title {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 24px;
    color: var(--text-primary);
    line-height: 1.15;
}
.sobre__panel p {
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 1.7;
}

.stats-editorial {
    display: flex;
    gap: 0;
    margin-top: 2rem;
    border-top: 1px solid rgba(0, 229, 255, 0.15);
    flex-wrap: wrap;
}
.stat-item {
    flex: 1;
    min-width: 45%;
    padding: 2rem 1.5rem;
    border-right: 1px solid rgba(0, 229, 255, 0.08);
    position: relative;
    overflow: hidden;
}
.stat-item:nth-child(even) { border-right: none; }
.stat-item:nth-child(1), .stat-item:nth-child(2) {
    border-bottom: 1px solid rgba(0, 229, 255, 0.08);
}
.stat-number {
    font-family: var(--font-display);
    font-size: clamp(48px, 8vw, 80px);
    color: transparent;
    -webkit-text-stroke: 1.5px var(--cyan);
    line-height: 1;
    display: inline;
    transition: -webkit-text-stroke-color 0.3s;
}
.stat-number[data-accent="true"] {
    -webkit-text-stroke-color: var(--green);
}
.stat-suffix {
    font-family: var(--font-display);
    font-size: clamp(24px, 4vw, 48px);
    color: transparent;
    -webkit-text-stroke: 1px var(--cyan);
    opacity: 0.6;
}
.stat-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-muted);
    margin-top: 8px;
    display: block;
}
.stat-bar {
    position: absolute;
    bottom: 0; left: 0;
    height: 2px;
    width: 0;
    background: linear-gradient(90deg, var(--cyan), transparent);
    transform-origin: left;
}

.section-divider {
    height: 200px;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.ejes { background: transparent; }
.ejes-interactive {
    display: grid;
    grid-template-columns: 1.4fr 0.6fr;
    gap: 28px;
    margin-top: 48px;
    align-items: stretch;
}
.eje-main {
    background: var(--bg-card);
    border: 1px solid var(--border-card);
    border-radius: 24px;
    padding: 48px 40px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.eje-main:hover { border-color: var(--border-glow); }
.eje-main__letter {
    position: absolute;
    top: -30px; right: 20px;
    font-family: var(--font-display);
    font-size: 200px;
    opacity: 0.04;
    line-height: 1;
    pointer-events: none;
    transition: color 0.4s;
}
.eje-main__content { position: relative; z-index: 1; }
.eje-main__tag {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--cyan);
    font-weight: 500;
    margin-bottom: 12px;
    display: block;
    font-family: var(--font-mono);
}
.eje-main__title {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 16px;
    color: var(--text-primary);
}
.eje-main__desc {
    font-size: 16px;
    color: var(--text-secondary);
    line-height: 1.7;
    margin-bottom: 24px;
}
.eje-main__topics {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.eje-main__topics li {
    font-size: 14px;
    color: var(--text-secondary);
    padding-left: 20px;
    position: relative;
}
.eje-main__topics li::before {
    content: '>';
    position: absolute;
    left: 0;
    color: var(--cyan);
}
.eje-main__num {
    position: absolute;
    bottom: 20px; right: 24px;
    font-family: var(--font-mono);
    font-size: 13px;
    color: var(--text-muted);
}

.ejes-tabs {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.eje-tab {
    background: var(--bg-card);
    border: 1px solid var(--border-card);
    border-radius: 16px;
    padding: 20px 24px;
    cursor: pointer;
    display: flex; align-items: center;
    gap: 16px;
    transition: all var(--transition-med);
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}
.eje-tab:hover { border-color: var(--border-glow); }
.eje-tab.active {
    border-color: var(--tab-color, var(--cyan));
    background: rgba(0, 229, 255, 0.05);
}
.eje-tab::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(6,13,26,0.88), rgba(6,13,26,0.7));
    pointer-events: none;
}
.eje-tab__letter,
.eje-tab__name,
.eje-tab__progress {
    position: relative;
    z-index: 1;
}
.eje-tab__letter {
    font-family: var(--font-display);
    font-size: 32px;
    line-height: 1;
    min-width: 32px;
}
.eje-tab__name {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 600;
    color: var(--text-secondary);
}
.eje-tab.active .eje-tab__name { color: var(--text-primary); }
.eje-tab__progress {
    position: absolute;
    bottom: 0; left: 0;
    height: 2px;
    width: 0;
    background: var(--tab-color, var(--cyan));
    border-radius: 0 0 16px 16px;
}

.speakers { background: transparent; }
.speakers-swiper {
    margin-top: 48px;
    padding-bottom: 60px;
    overflow: visible;
}
.speakers-swiper .swiper-slide {
    width: 300px;
    transition: transform 0.3s;
}
.speakers-swiper .swiper-pagination-bullet {
    background: var(--cyan);
    opacity: 0.3;
}
.speakers-swiper .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--cyan);
}
.speakers-swiper .swiper-button-prev,
.speakers-swiper .swiper-button-next {
    color: var(--cyan);
    width: 44px; height: 44px;
}
.speakers-swiper .swiper-button-prev::after,
.speakers-swiper .swiper-button-next::after {
    font-size: 18px;
}

.speaker-card {
    border-radius: 16px;
    padding: 0;
    transition: transform 0.3s ease, border-color 0.3s ease;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    background: linear-gradient(135deg, #0A1628, #060D1A);
    border: 1px solid rgba(0,229,255,0.15);
    user-select: none;
}
.speaker-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0,229,255,0.5);
    animation: speakerPulse 1.5s ease infinite;
}
.speaker-card:focus-visible {
    outline: 2px solid rgba(0,229,255,0.8);
    outline-offset: 3px;
}
@keyframes speakerPulse {
    0%, 100% {
        box-shadow:
            0 0 0 0 rgba(0,229,255,0),
            0 20px 60px rgba(0,229,255,0.15);
    }
    50% {
        box-shadow:
            0 0 0 8px rgba(0,229,255,0.08),
            0 20px 60px rgba(0,229,255,0.25);
    }
}
.speaker-card__front {
    position: relative;
}
.speaker-card__photo-wrap {
    position: relative;
    height: 260px;
    overflow: hidden;
}
.speaker-card__photo {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.speaker-card:hover .speaker-card__photo {
    transform: scale(1.05);
}
.speaker-card__photo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 40%,
        rgba(6,13,26,0.95) 100%
    );
}
.speaker-card__info {
    padding: 1.25rem 1.5rem 1rem;
    text-align: left;
}
.speaker-card__name {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.25rem;
}
.speaker-card__role {
    font-size: 0.85rem;
    color: #00C6FF;
    font-weight: 500;
    margin-bottom: 0.15rem;
    font-family: var(--font-body);
}
.speaker-card__company {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
}

.speaker-card__overlay {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    background: linear-gradient(to top, rgba(2,4,8,0.95) 0%, transparent 100%);
    padding: 24px;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}
.speaker-card:hover .speaker-card__overlay {
    opacity: 1;
    transform: translateY(0);
}
.speaker-card__badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.shimmer { position: relative; overflow: hidden; }
.shimmer::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(0,229,255,0.04) 50%, transparent 100%);
    animation: shimmer 2.5s infinite;
}

.agenda { background: transparent; }
.timeline {
    position: relative;
    max-width: 900px;
    margin: 48px auto 0;
}
.timeline__line {
    position: absolute;
    left: 50%; top: 0; bottom: 0;
    width: 2px;
    background: var(--grad-line);
    transform: translateX(-50%);
    transform-origin: top center;
}
.timeline__light {
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 12px; height: 12px;
    background: var(--green);
    border-radius: 50%;
    box-shadow: 0 0 20px var(--green), 0 0 40px rgba(0,255,136,0.5);
    z-index: 10;
}
.timeline__item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 48px;
    position: relative;
}
.timeline__item:nth-child(odd) {
    flex-direction: row;
    padding-right: calc(50% + 40px);
    text-align: right;
}
.timeline__item:nth-child(even) {
    flex-direction: row-reverse;
    padding-left: calc(50% + 40px);
    text-align: left;
}
.timeline__dot {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 16px; height: 16px;
    border-radius: 50%;
    border: 3px solid var(--cyan);
    background: var(--bg-deep);
    z-index: 2;
    top: 20px;
}
.timeline__dot--keynote  { border-color: var(--cyan); box-shadow: 0 0 12px rgba(0,229,255,0.4); }
.timeline__dot--panel    { border-color: var(--green); box-shadow: 0 0 12px rgba(0,255,136,0.4); }
.timeline__dot--break    { border-color: var(--text-muted); }
.timeline__dot--workshop { border-color: var(--blue); box-shadow: 0 0 12px rgba(10,132,255,0.4); }
.timeline__dot--visita   { border-color: var(--green-dim); box-shadow: 0 0 12px rgba(0,201,107,0.4); }
.timeline__dot--general  { border-color: var(--cyan); }

.timeline-item[data-tipo="keynote"] .timeline-dot { background: #00C6FF; box-shadow: 0 0 12px #00C6FF; border-color: #00C6FF; }
.timeline-item[data-tipo="panel"] .timeline-dot { background: #00FF87; box-shadow: 0 0 12px #00FF87; border-color: #00FF87; }
.timeline-item[data-tipo="workshop"] .timeline-dot { background: #0072FF; box-shadow: 0 0 12px #0072FF; border-color: #0072FF; }
.timeline-item[data-tipo="visita"] .timeline-dot { background: #00D68F; box-shadow: 0 0 12px #00D68F; border-color: #00D68F; }
.timeline-item[data-tipo="break"] .timeline-dot { background: #888; box-shadow: none; border-color: #888; }

.timeline__card {
    background: var(--bg-card);
    border: 1px solid var(--border-card);
    border-radius: 16px;
    padding: 24px;
    transition: all var(--transition-med);
    width: 100%;
}
.timeline__card:hover { border-color: var(--border-glow); }
.timeline__hora {
    font-family: var(--font-mono);
    font-size: 14px;
    color: var(--cyan);
    margin-bottom: 8px;
    display: block;
}
.timeline__titulo {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 6px;
}
.timeline__desc {
    font-size: 14px;
    color: var(--text-muted);
}
.timeline__tipo-badge {
    display: inline-block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 3px 10px;
    border-radius: 6px;
    margin-bottom: 8px;
    font-weight: 500;
}
.timeline__tipo-badge--keynote  { background: rgba(0,229,255,0.12); color: var(--cyan); }
.timeline__tipo-badge--panel    { background: rgba(0,255,136,0.12); color: var(--green); }
.timeline__tipo-badge--break    { background: rgba(255,255,255,0.06); color: var(--text-muted); }
.timeline__tipo-badge--workshop { background: rgba(10,132,255,0.12); color: var(--blue); }
.timeline__tipo-badge--visita   { background: rgba(0,201,107,0.12); color: var(--green-dim); }
.timeline__tipo-badge--general  { background: rgba(0,229,255,0.08); color: var(--cyan-dim); }

.pricing { background: transparent; }
.pricing__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 48px;
    align-items: stretch;
    perspective: 1200px;
}
.plan-card {
    background: var(--bg-card);
    border: 1px solid var(--border-card);
    border-radius: 24px;
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    cursor: pointer;
}
.plan-card:hover {
    transform: translateY(-6px);
    border-color: var(--border-glow);
}

.plan-lite {
    background: radial-gradient(ellipse at top, rgba(74,98,117,0.08) 0%, transparent 70%), var(--bg-card);
}
.plan-lite .plan-card__price { color: #4A6275; }
.plan-lite .plan-card__feature svg { color: #4A6275; }

.plan-access {
    background: radial-gradient(ellipse at top, rgba(0,229,255,0.08) 0%, transparent 70%), var(--bg-card);
    border-color: rgba(0,229,255,0.2);
    box-shadow: 0 0 40px rgba(0,229,255,0.06);
}
.plan-access .plan-card__badge-popular {
    position: absolute;
    top: -14px; left: 50%;
    transform: translateX(-50%);
    background: var(--grad-cyan);
    color: #000;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 6px 18px;
    border-radius: 100px;
    white-space: nowrap;
}

.plan-black {
    background: radial-gradient(ellipse at top, rgba(0,229,255,0.1) 0%, transparent 60%), #030810;
    border: 2px solid rgba(0,229,255,0.5);
    box-shadow: 0 0 60px rgba(0,229,255,0.12), 0 0 100px rgba(0,229,255,0.04);
    transform: scale(1.03);
}
.plan-black:hover {
    transform: scale(1.03) translateY(-6px);
    box-shadow: 0 0 80px rgba(0,229,255,0.2);
}
.plan-black .plan-card__price { color: var(--cyan); }
.plan-black .plan-card__feature svg { color: var(--cyan); }

.plan-card__badge {
    position: absolute;
    top: -14px; left: 50%;
    transform: translateX(-50%);
    background: var(--grad-primary);
    color: #000;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 6px 20px;
    border-radius: 100px;
    white-space: nowrap;
    animation: badgePulse 2s ease-in-out infinite;
}
.plan-card__name {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 4px;
}
.plan-card__price {
    font-family: var(--font-mono);
    font-size: 40px;
    font-weight: 500;
    color: var(--cyan);
    margin-bottom: 8px;
}
.plan-card__desc {
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 28px;
}
.plan-card__features {
    flex: 1;
    margin-bottom: 28px;
}
.plan-card__feature {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    font-size: 14px;
    color: var(--text-secondary);
    border-bottom: 1px solid rgba(255,255,255,0.03);
}
.plan-card__feature:last-child { border-bottom: none; }
.plan-card__feature svg {
    width: 18px; height: 18px;
    flex-shrink: 0;
    color: var(--green);
}
.plan-card__cta {
    width: 100%;
    text-align: center;
}

.orbital-container {
    position: absolute;
    inset: -40px;
    pointer-events: none;
    z-index: 0;
}
.orbital-particle {
    position: absolute;
    width: 3px; height: 3px;
    border-radius: 50%;
    background: var(--cyan);
    opacity: 0.4;
    top: 50%; left: 50%;
}

.sponsors { background: transparent; }
.sponsors__marquee {
    overflow: hidden;
    position: relative;
    margin-top: 48px;
    padding: 24px 0;
}
.sponsors__marquee::before,
.sponsors__marquee::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 100px;
    z-index: 2;
}
.sponsors__marquee::before {
    left: 0;
    background: linear-gradient(90deg, var(--bg-deep), transparent);
}
.sponsors__marquee::after {
    right: 0;
    background: linear-gradient(270deg, var(--bg-deep), transparent);
}
.sponsors__track {
    display: flex;
    gap: 40px;
    align-items: center;
    width: max-content;
}
.sponsor-item {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    border: 1px solid var(--border-card);
    border-radius: 12px;
    min-width: 160px;
    height: 60px;
    transition: all var(--transition-med);
}
.sponsor-item:hover {
    border-color: var(--border-glow);
}
.sponsor-item canvas {
    max-height: 100%;
}

.sponsors__placeholder {
    text-align: center;
    padding: 60px 40px;
    border: 1px dashed var(--border-card);
    border-radius: 24px;
    margin-top: 48px;
}
.sponsors__placeholder p {
    font-size: 18px;
    color: var(--text-secondary);
    margin-bottom: 24px;
}

.brochure { background: transparent; }
.brochure__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.brochure__visual { perspective: 1000px; }
.brochure__canvas-wrap {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--border-card);
    box-shadow: var(--glow-cyan);
    transition: transform 0.5s ease;
    transform-style: preserve-3d;
}
.brochure__canvas-wrap:hover {
    transform: rotateY(-8deg) rotateX(3deg);
}
.brochure__canvas-wrap canvas {
    width: 100%;
    display: block;
}

.brochure__img-wrap {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--border-card);
    box-shadow: var(--glow-cyan);
    transition: transform 0.5s ease;
    transform-style: preserve-3d;
}
.brochure__img-wrap:hover {
    transform: rotateY(-8deg) rotateX(3deg);
}
.brochure__img-wrap img { width: 100%; display: block; }
.brochure__text .section-tag { margin-bottom: 20px; }
.brochure__meta {
    display: flex; gap: 12px;
    margin-top: 20px; flex-wrap: wrap;
}
.brochure__meta-badge {
    font-size: 12px;
    padding: 6px 14px;
    border-radius: 100px;
    border: 1px solid var(--border-card);
    color: var(--text-muted);
    background: rgba(0, 229, 255, 0.03);
}

.gallery { background: transparent; overflow: hidden; }
.galeria-masonry {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 48px;
    align-items: start;
}
.galeria-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
    will-change: transform;
}
.galeria-item {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    border: 1px solid var(--border-card);
    background: var(--bg-card);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color var(--transition-med);
}
.galeria-item:hover { border-color: var(--border-glow); }
.galeria-item canvas {
    width: 100%; height: 100%;
    display: block;
}
.galeria-item--tall  { aspect-ratio: 3/4; }
.galeria-item--wide  { aspect-ratio: 16/10; }
.galeria-item--sq    { aspect-ratio: 1/1; }

.footer {
    background: #010204;
    position: relative;
    padding: 80px 0 40px;
    overflow: hidden;
}
.footer::before {
    content: 'MIND';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-display);
    font-size: 30vw;
    color: rgba(0,198,255,0.025);
    pointer-events: none;
    white-space: nowrap;
}
.footer::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--grad-primary);
}
.footer__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 24px;
}
.footer__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 48px;
    flex-wrap: wrap;
    gap: 40px;
}
.footer__brand { max-width: 360px; }
.footer__logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.footer__logo img { height: 36px; }
.footer__logo span {
    font-family: var(--font-display);
    font-size: 18px;
    letter-spacing: 0.05em;
}
.footer__brand p {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.6;
}
.footer__links {
    display: flex;
    gap: 48px;
    flex-wrap: wrap;
}
.footer__col h4 {
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
    color: var(--text-secondary);
}
.footer__col a {
    display: block;
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 10px;
    transition: color var(--transition-fast);
}
.footer__col a:hover { color: var(--cyan); }
.footer__social {
    display: flex;
    gap: 16px;
    margin-top: 20px;
}
.footer__social a {
    width: 40px; height: 40px;
    border-radius: 10px;
    border: 1px solid var(--border-card);
    display: flex; align-items: center; justify-content: center;
    transition: all var(--transition-med);
}
.footer__social a:hover {
    border-color: var(--cyan);
    background: rgba(0, 229, 255, 0.08);
}
.footer__social a svg {
    width: 18px; height: 18px;
    fill: var(--text-secondary);
    transition: fill var(--transition-fast);
}
.footer__social a:hover svg { fill: var(--cyan); }
.footer__bottom {
    border-top: 1px solid rgba(255,255,255,0.04);
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.footer__copy {
    font-size: 13px;
    color: var(--text-muted);
}
.footer__watermark {
    font-family: var(--font-display);
    font-size: 200px;
    position: absolute;
    bottom: 20px; left: 50%;
    transform: translateX(-50%);
    background: var(--grad-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: 0.015;
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
    letter-spacing: 0.1em;
}

.cta-final {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    z-index: 1;
    padding: 80px 24px;
}
.cta-final__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center top;
    opacity: 0.25;
    z-index: 0;
}
.cta-final__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, var(--bg-deep) 0%, transparent 30%, transparent 70%, var(--bg-deep) 100%),
        linear-gradient(to right, rgba(2,4,8,0.5), rgba(2,4,8,0.5));
}
.cta-final__content {
    position: relative;
    z-index: 2;
    max-width: 700px;
}
.cta-final__pre {
    font-family: var(--font-mono);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--cyan);
    margin-bottom: 24px;
}
.cta-final__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 6vw, 60px);
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 16px;
    background: var(--grad-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cta-final__sub {
    font-size: 18px;
    color: var(--text-muted);
    margin-bottom: 40px;
    letter-spacing: 0.1em;
}
.cta-final__btn {
    animation: ctaPulse 2.5s ease-in-out infinite;
}

.floating-badge {
    position: fixed;
    bottom: 2rem; right: 2rem;
    background: var(--grad-primary);
    color: #000;
    padding: 0.75rem 1.5rem;
    border-radius: 50px;
    font-weight: 600;
    font-family: var(--font-body);
    font-size: 14px;
    cursor: pointer;
    z-index: 999;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 24px rgba(0, 229, 255, 0.35);
}
.floating-badge:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 32px rgba(0, 229, 255, 0.5);
    color: #000;
}
.floating-badge__arrow {
    font-size: 16px;
    transition: transform 0.2s;
}
.floating-badge:hover .floating-badge__arrow {
    transform: translateX(3px);
}

.hero__eje-ciclo {
    color: var(--cyan);
    border-right: 2px solid var(--cyan);
    padding-right: 4px;
}

.hero__live {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.6);
    margin-top: 1rem;
    justify-content: center;
}
.hero__live strong {
    color: var(--green);
    font-family: var(--font-mono);
}
.hero__live-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 8px var(--green);
    animation: livePulse 2s ease infinite;
    flex-shrink: 0;
}

.speaker-card__hint {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 24px;
    font-size: 0.8rem;
    color: rgba(0,229,255,0.4);
    border-top: 1px solid rgba(0,229,255,0.06);
    transition: color 0.2s;
}
.speaker-card__hint svg {
    width: 14px; height: 14px;
    transition: transform 0.2s;
}
.speaker-card:hover .speaker-card__hint {
    color: var(--cyan);
}
.speaker-card:hover .speaker-card__hint svg {
    transform: translateX(3px);
}

.speaker-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    pointer-events: none;
    opacity: 0;
    overscroll-behavior: contain;
    touch-action: none;
}
.speaker-modal.is-open {
    pointer-events: all;
}
.speaker-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(2,5,12,0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.speaker-modal__content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 0;
    max-width: 900px;
    width: 100%;
    max-height: 85vh;
    background: #0A1628;
    border: 1px solid rgba(0,229,255,0.25);
    border-radius: 20px;
    overflow: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    box-shadow:
        0 0 0 1px rgba(0,229,255,0.1),
        0 40px 120px rgba(0,0,0,0.8),
        0 0 80px rgba(0,229,255,0.08);
}
.speaker-modal__left {
    position: relative;
    background: #060D1A;
}
.speaker-modal__photo-container {
    position: relative;
    height: 100%;
    min-height: 400px;
}
.speaker-modal__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.speaker-modal__photo-glow {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent 60%, #0A1628 100%);
}
.speaker-modal__badge {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.4rem 1rem;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.speaker-modal__right {
    padding: 2.5rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.speaker-modal__name {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}
.speaker-modal__role {
    font-size: 1rem;
    color: var(--cyan);
    font-weight: 500;
    margin-top: 0.35rem;
}
.speaker-modal__company {
    font-size: 0.9rem;
    color: rgba(255,255,255,0.5);
    margin-top: 0.2rem;
}
.speaker-modal__divider {
    height: 1px;
    background: linear-gradient(to right, rgba(0,229,255,0.3), transparent);
}
.speaker-modal__bio {
    font-size: 0.95rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.75);
}
.speaker-modal__topics h4 {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255,255,255,0.4);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.75rem;
}
.speaker-modal__topics ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.speaker-modal__topics li {
    background: rgba(0,229,255,0.08);
    border: 1px solid rgba(0,229,255,0.2);
    padding: 0.35rem 0.9rem;
    border-radius: 20px;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.7);
}
.speaker-modal__close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 10;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: rgba(255,255,255,0.6);
    transition: all 0.2s;
}
.speaker-modal__close:hover {
    background: rgba(255,255,255,0.1);
    color: #fff;
}
.btn--linkedin {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: #0077B5;
    color: #fff;
    padding: 0.85rem 1.75rem;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.95rem;
    transition: background 0.2s, transform 0.2s;
    width: fit-content;
    margin-top: auto;
    border: none;
    cursor: pointer;
}
.btn--linkedin:hover {
    background: #005885;
    transform: translateY(-2px);
    color: #fff;
}

.speaker-card__badge--tecnologias { background: rgba(0,229,255,0.2); color: var(--cyan); border: 1px solid rgba(0,229,255,0.4); }
.speaker-card__badge--investigacion { background: rgba(0,255,136,0.2); color: var(--green); border: 1px solid rgba(0,255,136,0.4); }
.speaker-card__badge--desarrollo { background: rgba(10,132,255,0.2); color: var(--blue); border: 1px solid rgba(10,132,255,0.4); }

.img-loading {
    position: relative;
    overflow: hidden;
    background: #0A1628;
}
.img-loading::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(0,229,255,0.08) 50%,
        transparent 100%
    );
    background-size: 200% 100%;
    animation: imgShimmer 1.5s infinite;
}
@keyframes imgShimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}
.img-loaded {
    animation: imgReveal 0.6s ease forwards;
}
@keyframes imgReveal {
    from { opacity: 0; filter: blur(10px); transform: scale(1.02); }
    to   { opacity: 1; filter: blur(0px); transform: scale(1); }
}

.sponsor-placeholder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 48px;
}
.sponsor-slot {
    background: rgba(0,229,255,0.02);
    border: 1px solid var(--border-card);
    border-radius: 16px;
    padding: 32px 24px;
    text-align: center;
    backdrop-filter: blur(12px);
    transition: all var(--transition-med);
    cursor: default;
}
.sponsor-slot:hover {
    border-color: var(--border-glow);
    background: rgba(0,229,255,0.04);
}
.sponsor-slot__tier {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    padding: 4px 14px;
    border-radius: 100px;
    margin-bottom: 16px;
}
.sponsor-slot--gold .sponsor-slot__tier {
    background: rgba(255,193,7,0.15);
    color: #FFC107;
    border: 1px solid rgba(255,193,7,0.3);
}
.sponsor-slot--silver .sponsor-slot__tier {
    background: rgba(176,190,197,0.15);
    color: #B0BEC5;
    border: 1px solid rgba(176,190,197,0.3);
}
.sponsor-slot--bronze .sponsor-slot__tier {
    background: rgba(255,152,0,0.12);
    color: #FF9800;
    border: 1px solid rgba(255,152,0,0.25);
}
.sponsor-slot__logo-area {
    font-size: 15px;
    color: var(--text-muted);
    margin-bottom: 8px;
}
.sponsor-slot__reach {
    font-size: 12px;
    color: var(--text-muted);
    opacity: 0.6;
}
.sponsor-slot__cta {
    margin-top: 24px;
    text-align: center;
}

.hero-floating-cards {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 4;
}

.floating-card {
    position: absolute;
    width: 180px;
    background: rgba(2, 4, 8, 0.72);
    border: 1px solid rgba(0, 229, 255, 0.25);
    border-radius: 16px;
    overflow: hidden;
    backdrop-filter: blur(12px);
    box-shadow: 0 0 30px rgba(0, 229, 255, 0.12);
}

.floating-card img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
}

.card-label {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--cyan);
    letter-spacing: 1px;
}

.card-1 { top: 15%; left: 5%; }
.card-2 { top: 55%; left: 3%; }
.card-3 { top: 20%; right: 5%; }

.about-floating-ui {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.ui-card {
    position: absolute;
    background: rgba(6, 13, 20, 0.85);
    border: 1px solid rgba(0, 229, 255, 0.2);
    border-radius: 12px;
    padding: 12px 16px;
    backdrop-filter: blur(16px);
    color: #F0F4FF;
    font-family: var(--font-body);
}

.ui-card-number {
    font-family: var(--font-display);
    font-size: 32px;
    color: var(--cyan);
    display: block;
    line-height: 1;
}

.ui-card-label {
    font-size: 11px;
    color: #4A6275;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ui-card-date {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    letter-spacing: 1px;
    color: rgba(240, 244, 255, 0.65);
}

.ui-axes-letters {
    display: flex;
    gap: 6px;
    font-family: var(--font-display);
    font-size: 26px;
    line-height: 1;
    margin-bottom: 6px;
}

.ui-card-participants { top: 10%; right: -15%; width: 140px; }
.ui-card-days { bottom: 20%; right: -10%; width: 140px; }
.ui-card-axes { top: 40%; left: -10%; width: 120px; }
.ui-card-live { bottom: 5%; left: 5%; }

.ui-live-dot {
    width: 8px;
    height: 8px;
    background: #00FF88;
    border-radius: 50%;
    display: inline-block;
    margin-right: 6px;
    animation: pulse-live 2s ease-in-out infinite;
}

.floating-animation {
    animation: float-gentle 6s ease-in-out infinite;
}

@keyframes float-gentle {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-12px) rotate(0.5deg); }
}

@keyframes pulse-live {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(0.8); }
}

:root {
    --cyan: #00E5FF;
    --cyan-dim: #00C6FF;
    --green: #00FF87;
    --gold: #FFD700;
    --purple: #B44FFF;
    --bg-void: #000000;
    --bg-deep: #020810;
    --bg-dark: #050A0E;
    --bg-card: rgba(5, 15, 30, 0.85);
    --bg-glass: rgba(0, 198, 255, 0.04);
    --border-cyan: rgba(0, 229, 255, 0.25);
    --white: #F0F4FF;
    --muted: #4A6275;
    --font-display: 'Montserrat', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Montserrat', sans-serif;
    --font-mono: 'Montserrat', sans-serif;
}

body {
    background: var(--bg-void);
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    background-image: linear-gradient(rgba(2, 4, 8, 0.16), rgba(2, 4, 8, 0.84)), url('../assets/hero.webp');
    background-size: cover;
    background-position: center;
    opacity: 0.12;
    filter: saturate(0.6) blur(2px);
    transform: scale(1.05);
}

.hero {
    min-height: 100svh;
    padding: 120px 24px 90px;
}

.hero__video-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.hero__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.55;
}

.hero__video-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(2, 8, 16, 0.3) 0%, rgba(2, 8, 16, 0) 30%, rgba(2, 8, 16, 0.5) 70%, rgba(2, 8, 16, 0.95) 100%),
        linear-gradient(to right, rgba(2, 8, 16, 0.2), transparent, rgba(2, 8, 16, 0.2));
}

.hero__layer--bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform-origin: center top;
    will-change: transform;
}

.hero__layer--bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(2, 4, 8, 0.4), rgba(2, 4, 8, 0.85));
}

.hero__content {
    max-width: 1120px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 6;
}

.hero__title-summit,
.hero__title-year {
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 0.3em;
    line-height: 0.9;
}

.hero__title-summit {
    font-size: clamp(2rem, 8vw, 7rem);
    color: var(--white);
    margin-bottom: -0.35rem;
}

.hero__title-mind {
    font-family: var(--font-heading);
    font-size: clamp(5rem, 20vw, 18rem);
    line-height: 0.88;
    color: var(--cyan);
    text-shadow: 0 0 60px rgba(0, 229, 255, 0.5);
    letter-spacing: 0.12em;
    margin: 0;
    background: none;
    -webkit-background-clip: initial;
    background-clip: initial;
    -webkit-text-fill-color: var(--cyan);
}

.hero__title-mind .char {
    display: inline-block;
    will-change: transform, opacity;
}

.hero__title-year {
    font-size: clamp(1.5rem, 5vw, 4rem);
    color: rgba(240, 244, 255, 0.6);
    margin-top: -0.1rem;
}

.scroll-indicator {
    bottom: 24px;
    animation: float 2.4s ease-in-out infinite;
}

.sobre {
    padding-top: 0;
}

.sobre__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 2.5rem;
    align-items: center;
}

.sobre__media {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(0, 229, 255, 0.18);
    min-height: 640px;
    background: rgba(5, 10, 14, 0.9);
    clip-path: polygon(0 0, 100% 0, 92% 100%, 0% 100%);
}

.sobre__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease, filter 0.6s ease;
    will-change: transform;
}

.sobre__media:hover .sobre__image {
    transform: scale(1.04);
    filter: saturate(1.05) contrast(1.05);
}

.sobre__media-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0, 229, 255, 0.08), rgba(2, 8, 16, 0.7) 60%, rgba(2, 4, 8, 0.95));
    pointer-events: none;
}

.sobre__media-chip {
    position: absolute;
    left: 1.25rem;
    bottom: 1.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    z-index: 2;
}

.sobre__media-chip span {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(2, 8, 16, 0.75);
    border: 1px solid rgba(0, 229, 255, 0.18);
    color: var(--white);
    backdrop-filter: blur(12px);
}

.sobre__content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.stats-editorial--countup {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0.75rem;
}

.countup-card {
    position: relative;
    padding: 1.25rem 1.1rem 1.1rem;
    border-radius: 18px;
    background: var(--bg-card);
    border: 1px solid rgba(0, 229, 255, 0.12);
    overflow: hidden;
}

.countup-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0, 229, 255, 0.07), transparent 60%);
    pointer-events: none;
}

.countup-card__index {
    display: block;
    margin-bottom: 0.55rem;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    color: rgba(240, 244, 255, 0.4);
    letter-spacing: 0.15em;
}

.countup-card__value {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4vw, 4.6rem);
    color: var(--white);
    line-height: 0.95;
}

.countup-card__label {
    display: block;
    margin-top: 0.4rem;
    font-size: 0.85rem;
    color: rgba(240, 244, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.sobre__panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.sobre-card {
    padding: 1.4rem 1.25rem;
    border-radius: 18px;
    background: rgba(5, 15, 30, 0.85);
    border: 1px solid rgba(0, 229, 255, 0.08);
    backdrop-filter: blur(14px);
}

.sobre-card__tag {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.8rem;
    margin-bottom: 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 229, 255, 0.2);
    color: var(--cyan);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.sobre-card h3 {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    margin-bottom: 0.55rem;
}

.sobre-card p {
    color: rgba(240, 244, 255, 0.7);
    font-size: 0.94rem;
    line-height: 1.7;
}

.ejes-grid-premium {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.eje-card {
    position: relative;
    min-height: 420px;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid var(--eje-color, rgba(0, 229, 255, 0.2));
    background: #06101a;
    background-size: cover;
    background-position: center;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.35);
    transform-style: preserve-3d;
    will-change: transform;
}

.eje-card__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(0.1) saturate(0.95);
    transition: transform 0.7s ease, filter 0.7s ease;
}

.eje-card:hover .eje-card__bg {
    transform: scale(1.05);
    filter: grayscale(0) saturate(1.15);
}

.eje-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(2, 4, 8, 0.95), rgba(2, 4, 8, 0.2) 45%, rgba(2, 4, 8, 0.55));
}

.eje-card__content {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    padding: 1.5rem 1.4rem 1.35rem;
}

.eje-card__num {
    display: inline-block;
    margin-bottom: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.8rem;
    letter-spacing: 0.18em;
    color: rgba(240, 244, 255, 0.55);
}

.eje-card__title {
    font-family: var(--font-heading);
    font-size: clamp(1.2rem, 2vw, 2rem);
    line-height: 1.1;
    color: var(--white);
    margin-bottom: 0.8rem;
    text-transform: uppercase;
}

.eje-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
}

.eje-card__tags span {
    display: inline-flex;
    align-items: center;
    padding: 0.32rem 0.65rem;
    border-radius: 999px;
    border: 1px solid var(--eje-color, rgba(0, 229, 255, 0.35));
    background: rgba(0, 0, 0, 0.18);
    color: var(--white);
    font-size: 0.72rem;
}

.eje-card__desc {
    max-height: 0;
    overflow: hidden;
    color: rgba(240, 244, 255, 0.75);
    font-size: 0.92rem;
    line-height: 1.7;
    transition: max-height 0.45s ease, opacity 0.45s ease;
    opacity: 0;
}

.eje-card:hover .eje-card__desc {
    max-height: 140px;
    opacity: 1;
}

.eje-card__badge {
    display: inline-flex;
    margin-top: 0.9rem;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--white);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.speakers {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background: linear-gradient(180deg, rgba(2, 8, 16, 0.92), rgba(2, 4, 8, 1));
    padding-left: 0;
    padding-right: 0;
}

.speakers .container {
    max-width: 1440px;
}

.speakers-shell {
    margin-top: 3rem;
}

.speakers-swiper {
    padding-bottom: 60px;
    overflow: visible;
}

.speakers-swiper .swiper-wrapper {
    align-items: stretch;
    transition-timing-function: linear !important;
}

.speakers-swiper .swiper-slide {
    width: 300px !important;
    height: auto;
}

.speakers-swiper .swiper-pagination-bullet {
    background: var(--cyan);
    opacity: 0.3;
}

.speakers-swiper .swiper-pagination-bullet-active {
    opacity: 1;
}

.speakers-swiper .swiper-button-prev,
.speakers-swiper .swiper-button-next {
    color: var(--cyan);
    width: 44px;
    height: 44px;
}

.speakers-swiper .swiper-button-prev::after,
.speakers-swiper .swiper-button-next::after {
    font-size: 18px;
}

.speaker-card {
    height: 420px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(5, 15, 30, 0.88);
    position: relative;
    transform: translateY(0);
    transition: transform 0.45s ease, border-color 0.45s ease, box-shadow 0.45s ease;
}

.speaker-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0, 229, 255, 0.3);
    box-shadow: 0 20px 80px rgba(0, 229, 255, 0.12);
}

.speaker-card__front {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.speaker-card__photo-wrap {
    position: relative;
    flex: 1;
    overflow: hidden;
}

.speaker-card__photo-wrap canvas {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.speaker-initials-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-family: var(--font-heading);
    font-size: 3rem;
    letter-spacing: 0.1em;
    background: radial-gradient(circle at 30% 20%, rgba(0, 229, 255, 0.2), rgba(2, 8, 16, 0.95));
}

.speaker-card__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) saturate(0);
    transition: filter 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s ease;
}

.speaker-card:hover .speaker-card__photo {
    filter: grayscale(0) saturate(1.2);
    transform: scale(1.04);
}

.speaker-card__photo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(2, 4, 8, 0.1), rgba(2, 4, 8, 0.92));
}

.speaker-card__badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    font-family: var(--font-mono);
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.speaker-card__info {
    padding: 1.15rem 1.15rem 0.7rem;
}

.speaker-card__name {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.speaker-card__role,
.speaker-card__company {
    color: rgba(240, 244, 255, 0.7);
}

.speaker-card__hint {
    margin-top: auto;
    justify-content: space-between;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.speaker-card:hover .speaker-card__hint {
    opacity: 1;
}

.agenda__day-meta {
    margin-top: 1rem;
    margin-bottom: 1.25rem;
    font-family: var(--font-mono);
    font-size: 0.82rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--cyan);
    min-height: 1.2rem;
}

.agenda__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.agenda__day-btn {
    border: 1px solid rgba(0, 229, 255, 0.14);
    background: rgba(5, 15, 30, 0.85);
    color: rgba(240, 244, 255, 0.75);
    padding: 0.9rem 1rem;
    border-radius: 999px;
    letter-spacing: 0.12em;
}

.agenda__day-btn.active {
    color: var(--white);
    border-color: var(--day-color, var(--cyan));
    box-shadow: 0 0 0 1px rgba(0, 229, 255, 0.12), 0 18px 40px rgba(0, 229, 255, 0.08);
}

.agenda__activities {
    display: grid;
    gap: 1rem;
}

.activity-card {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 1rem;
    padding: 1.15rem 1.2rem;
    border-radius: 18px;
    background: rgba(5, 15, 30, 0.84);
    border: 1px solid rgba(0, 229, 255, 0.08);
}

.activity-card__time {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    color: var(--cyan);
    line-height: 1;
}

.activity-card__tipo {
    display: inline-flex;
    margin-bottom: 0.45rem;
}

.activity-card__title {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    margin-bottom: 0.45rem;
}

.activity-card__desc {
    color: rgba(240, 244, 255, 0.68);
    line-height: 1.7;
}

.sponsors__marquee {
    overflow: hidden;
    position: relative;
    margin-top: 3rem;
}

.sponsors__track {
    display: flex;
    gap: 1rem;
    width: max-content;
    will-change: transform;
}

.sponsor-item {
    min-width: 280px;
    padding: 1.2rem 1.1rem;
    border-radius: 18px;
    border: 1px solid rgba(0, 229, 255, 0.12);
    background: rgba(5, 15, 30, 0.82);
    backdrop-filter: blur(12px);
}

.sponsor-item__mark {
    display: inline-flex;
    margin-bottom: 0.7rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    color: var(--cyan);
    border: 1px solid rgba(0, 229, 255, 0.2);
}

.sponsor-item__name {
    font-family: var(--font-heading);
    font-size: 1rem;
    margin-bottom: 0.35rem;
}

.sponsor-item__benefit {
    color: rgba(240, 244, 255, 0.68);
    line-height: 1.65;
    font-size: 0.92rem;
}

.sponsor-cta-area {
    margin-top: 1.6rem;
}

@media (max-width: 1024px) {
    .sobre__grid {
        grid-template-columns: 1fr;
    }

    .sobre__media {
        min-height: 480px;
    }

    .ejes-grid-premium {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .eje-card:last-child {
        grid-column: 1 / -1;
    }

    .speakers-swiper .swiper-slide {
        width: 280px !important;
    }
}

@media (max-width: 768px) {
    .hero {
        padding: 96px 18px 72px;
    }

    .hero__badge {
        letter-spacing: 0.08em;
        font-size: 11px;
    }

    .hero__title-summit {
        font-size: clamp(1.8rem, 10vw, 4rem);
    }

    .hero__title-mind {
        font-size: clamp(4.2rem, 21vw, 8rem);
    }

    .hero__title-year {
        font-size: clamp(1.4rem, 6vw, 2.4rem);
    }

    .hero__cta {
        flex-direction: column;
        width: 100%;
    }

    .hero__cta .btn {
        width: 100%;
    }

    .sobre__media {
        min-height: 360px;
        clip-path: none;
    }

    .stats-editorial--countup,
    .sobre__panels {
        grid-template-columns: 1fr;
    }

    .ejes-grid-premium {
        grid-template-columns: 1fr;
    }

    .eje-card {
        min-height: 320px;
    }

    .speaker-card {
        height: 380px;
    }

    .speakers-swiper .swiper-slide {
        width: 260px !important;
    }

    .speakers-swiper .swiper-button-prev,
    .speakers-swiper .swiper-button-next {
        display: none;
    }

    .activity-card {
        grid-template-columns: 1fr;
    }

    .sponsor-item {
        min-width: 240px;
    }
}

/* FIX passes final order: asegurar look oscuro premium sobre estilos legacy — agente */
#precios.passes-section {
    background:
        radial-gradient(circle at 22% 10%, color-mix(in srgb, var(--glow) 18%, transparent), transparent 26%),
        radial-gradient(circle at 84% 22%, rgba(124,58,237,0.18), transparent 26%),
        linear-gradient(180deg, #050814 0%, #071229 52%, #050814 100%) !important;
    color: #fff !important;
}

#precios.passes-section .passes__title,
#precios.passes-section .passes__active-title,
#precios.passes-section .passes__benefits h3,
#precios.passes-section .passes__gallery-title,
#precios.passes-section .passes__contact-bar strong {
    color: #fff !important;
}

#precios.passes-section .passes__title {
    text-shadow: 0 0 28px rgba(0,193,212,0.08) !important;
}

#precios.passes-section .passes__detail,
#precios.passes-section .passes__contact-bar {
    background: rgba(5,8,20,0.72) !important;
    border-color: color-mix(in srgb, var(--pass-color) 30%, rgba(255,255,255,0.08)) !important;
    box-shadow: 0 0 44px color-mix(in srgb, var(--pass-color) 10%, transparent) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

#precios.passes-section .passes__active-desc,
#precios.passes-section .passes__contact-bar p {
    color: rgba(255,255,255,0.64) !important;
}

#precios.passes-section .passes__watching,
#precios.passes-section .passes__price span {
    color: rgba(255,255,255,0.50) !important;
}

#precios.passes-section .benefit-item strong,
#precios.passes-section .passes__price strong {
    color: #fff !important;
}

#precios.passes-section .benefit-item small {
    color: rgba(255,255,255,0.54) !important;
}

/* FIX final typography + pricing polish: auditoría global aplicada al final real del cascade — agente */
:root {
    --font-display: 'Montserrat', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Montserrat', sans-serif;
    --font-mono: 'Montserrat', sans-serif;
}

html,
body,
button,
input,
textarea,
select,
#sobre,
#ejes,
#agenda,
#innovation-hub,
#precios,
#alianzas {
    font-family: var(--font-body) !important;
}

#sobre *,
#ejes *,
#agenda *,
#innovation-hub *,
#precios *,
#alianzas * {
    font-family: inherit !important;
}

.hero--singularity .hero__mind,
.hero--singularity .hero__mind .char,
.hero--singularity .hero__summit,
.section-title,
.section-title-premium,
.passes__title,
.passes__active-title,
.innovahub__title,
.alliances__heading {
    font-family: var(--font-heading) !important;
}

#sobre .section-title-premium,
#ejes .section-title,
#agenda .agenda__title,
#innovation-hub .innovahub__title,
#precios .passes__title,
#alianzas .alliances__heading {
    line-height: 1.02 !important;
}

#sobre p,
#ejes p,
#agenda p,
#innovation-hub p,
#precios p,
#alianzas p {
    line-height: 1.68 !important;
}

#precios .passes__selector {
    padding-top: 24px !important;
    overflow: visible !important;
}

#precios .pass-card {
    overflow: visible !important;
}

#precios .pass-card__visual {
    overflow: hidden !important;
    border-radius: inherit !important;
}

#precios .pass-card__popular {
    top: -16px !important;
    left: 50% !important;
    z-index: 8 !important;
    transform: translateX(-50%) !important;
}

@media (max-width: 768px) {
    #precios .passes__contact-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        padding: 20px !important;
    }

    #precios .passes__contact-actions {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
    }

    #precios .passes__contact-actions a,
    #precios .passes__contact-actions button {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

/* FIX final typography + pricing polish: auditoría global aplicada al final del cascade — agente */
:root {
    --font-display: 'Montserrat', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Montserrat', sans-serif;
    --font-mono: 'Montserrat', sans-serif;
}

html,
body,
button,
input,
textarea,
select,
#sobre,
#ejes,
#agenda,
#innovation-hub,
#precios,
#alianzas {
    font-family: var(--font-body) !important;
}

#sobre *,
#ejes *,
#agenda *,
#innovation-hub *,
#precios *,
#alianzas * {
    font-family: inherit !important;
}

.hero--singularity .hero__mind,
.hero--singularity .hero__mind .char,
.hero--singularity .hero__summit,
.section-title,
.section-title-premium,
.passes__title,
.passes__active-title,
.innovahub__title,
.alliances__heading {
    font-family: var(--font-heading) !important;
}

#sobre .section-title-premium,
#ejes .section-title,
#agenda .agenda__title,
#innovation-hub .innovahub__title,
#precios .passes__title,
#alianzas .alliances__heading {
    line-height: 1.02 !important;
}

#sobre p,
#ejes p,
#agenda p,
#innovation-hub p,
#precios p,
#alianzas p {
    line-height: 1.68 !important;
}

#precios .passes__selector {
    padding-top: 24px !important;
    overflow: visible !important;
}

#precios .pass-card {
    overflow: visible !important;
}

#precios .pass-card__visual {
    overflow: hidden !important;
    border-radius: inherit !important;
}

#precios .pass-card__popular {
    top: -16px !important;
    left: 50% !important;
    z-index: 8 !important;
    transform: translateX(-50%) !important;
}

@media (max-width: 768px) {
    #precios .passes__contact-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        padding: 20px !important;
    }

    #precios .passes__contact-actions {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
    }

    #precios .passes__contact-actions a,
    #precios .passes__contact-actions button {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

/* FIX typography audit: Montserrat como fuente única global, alineada a Hero/Precios — agente */
:root {
    --font-display: 'Montserrat', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Montserrat', sans-serif;
    --font-mono: 'Montserrat', sans-serif;
}

html,
body,
button,
input,
textarea,
select,
#sobre,
#ejes,
#agenda,
#innovation-hub,
#precios,
#alianzas {
    font-family: var(--font-body) !important;
}

#sobre *,
#ejes *,
#agenda *,
#innovation-hub *,
#precios *,
#alianzas * {
    font-family: inherit !important;
}

.hero--singularity .hero__mind,
.hero--singularity .hero__mind .char,
.hero--singularity .hero__summit,
.section-title,
.section-title-premium,
.passes__title,
.passes__active-title,
.innovahub__title,
.alliances__heading {
    font-family: var(--font-heading) !important;
}

#sobre .section-title-premium,
#ejes .section-title,
#agenda .agenda__title,
#innovation-hub .innovahub__title,
#precios .passes__title,
#alianzas .alliances__heading {
    line-height: 1.02 !important;
}

#sobre p,
#ejes p,
#agenda p,
#innovation-hub p,
#precios p,
#alianzas p {
    line-height: 1.68 !important;
}

/* FIX strategic alliances redesign: infinite logo marquees + premium CTA — agente */
#alianzas.strategic-alliances {
    position: relative;
    overflow: hidden;
    padding: clamp(86px, 8vw, 124px) 0 !important;
    background:
        radial-gradient(circle at 20% 12%, rgba(0,193,212,0.11), transparent 28%),
        radial-gradient(circle at 86% 80%, rgba(0,230,118,0.09), transparent 28%),
        linear-gradient(180deg, #071B42 0%, #0D1F4E 58%, #061631 100%) !important;
    color: #fff;
}

#alianzas.strategic-alliances::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 92px 92px;
    opacity: 0.54;
}

#alianzas .strategic-alliances__inner {
    position: relative;
    z-index: 2;
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
}

#alianzas .strategic-alliances__header {
    max-width: 1020px;
    margin: 0 auto 34px;
    text-align: center;
}

#alianzas .alliances__heading {
    margin: 0;
    color: #fff;
    font-family: 'Gordita', 'Montserrat', sans-serif;
    font-size: clamp(32px, 4vw, 58px);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.03em;
}

#alianzas .alliances__heading span {
    background: linear-gradient(90deg, #00C1D4, #00E676);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

#alianzas .alliances__subtitle {
    max-width: 780px;
    margin: 18px auto 0;
    color: rgba(255,255,255,0.62);
    font-size: 16px;
    line-height: 1.65;
}

.alliance-stats {
    display: flex;
    justify-content: center;
    gap: clamp(32px, 5vw, 60px);
    margin: 32px 0 48px;
}

.alliance-stat {
    display: grid;
    gap: 6px;
    text-align: center;
}

.alliance-stat strong {
    color: #00C1D4;
    font-size: clamp(34px, 4vw, 42px);
    font-weight: 900;
    line-height: 1;
}

.alliance-stat:nth-child(2) strong { color: #00E676; }
.alliance-stat:nth-child(3) strong { color: #7C3AED; }

.alliance-stat span {
    color: rgba(255,255,255,0.50);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.alliance-category {
    margin-bottom: 40px;
}

.alliance-category__label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px;
    padding-left: 8px;
    color: rgba(255,255,255,0.52);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.alliance-category__label::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #00C1D4;
    box-shadow: 0 0 16px rgba(0,193,212,0.48);
}

.alliance-category__label::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, rgba(0,193,212,0.32), transparent);
}

.marquee__wrapper {
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
}

.marquee__track {
    display: flex;
    width: max-content;
    gap: 24px;
    animation: marquee-scroll var(--speed, 30s) linear infinite;
}

.marquee__track--reverse {
    animation-name: marquee-scroll-reverse;
}

.marquee__wrapper:hover .marquee__track {
    animation-play-state: paused;
}

@keyframes marquee-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes marquee-scroll-reverse {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}

.alliance-logo-card {
    flex: 0 0 auto;
    width: 180px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    background: rgba(255,255,255,0.05);
    color: rgba(255,255,255,0.70);
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.alliance-logo-card span {
    color: inherit;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.alliance-logo-card img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.65;
    transition: filter 0.3s ease, opacity 0.3s ease;
}

.alliance-logo-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,193,212,0.40);
    background: rgba(255,255,255,0.10);
    box-shadow: 0 0 20px rgba(0,193,212,0.15);
    color: #fff;
}

.alliance-logo-card:hover img {
    filter: none;
    opacity: 1;
}

.alliance-cta {
    margin-top: 48px;
    padding: 28px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 20px;
    background: rgba(255,255,255,0.035);
    box-shadow: 0 30px 80px rgba(0,0,0,0.16);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.alliance-cta__copy,
.alliance-cta__actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

.alliance-cta__icon {
    width: 58px;
    height: 58px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid rgba(0,193,212,0.30);
    border-radius: 50%;
    background: rgba(0,193,212,0.12);
    color: #00C1D4;
}

.alliance-cta__icon svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.alliance-cta h3 {
    margin: 0 0 6px;
    color: #fff;
    font-size: 20px;
}

.alliance-cta p {
    margin: 0;
    color: rgba(255,255,255,0.58);
    font-size: 14px;
}

.alliance-avatars {
    display: flex;
    align-items: center;
}

.alliance-avatars span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin-left: -10px;
    border: 2px solid #0D1F4E;
    border-radius: 50%;
    background: linear-gradient(135deg, #00C1D4, #00E676);
    color: #061631;
    font-size: 12px;
    font-weight: 900;
}

.alliance-avatars span:first-child {
    margin-left: 0;
}

.alliance-cta__button {
    min-height: 50px;
    padding: 0 28px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #00C1D4, #00E676);
    color: #061631;
    font-size: 14px;
    font-weight: 900;
    transition: transform 0.25s ease, filter 0.25s ease, box-shadow 0.25s ease;
}

.alliance-cta__button:hover {
    transform: translateY(-2px);
    filter: brightness(1.1);
    box-shadow: 0 8px 24px rgba(0,193,212,0.35);
}

@media (max-width: 1200px) {
    .alliance-logo-card {
        width: 150px;
        height: 70px;
    }

    .alliance-stats {
        gap: 40px;
    }

    .alliance-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    #alianzas .strategic-alliances__inner {
        width: min(100% - 28px, 1320px);
    }

    .alliance-stats {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .alliance-logo-card {
        width: 140px;
        height: 64px;
    }

    .marquee__wrapper {
        mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
    }

    .marquee__track {
        animation-duration: calc(var(--speed, 30s) * 1.7);
    }

    .alliance-cta,
    .alliance-cta__copy,
    .alliance-cta__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .alliance-cta {
        padding: 22px;
    }

    .alliance-cta__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .marquee__track {
        animation-play-state: paused !important;
    }
}

/* FIX passes redesign: selector dinámico de pases estilo referencia — agente */
.passes-section {
    --pass-color: #00E676;
    --glow: #00E676;
    position: relative;
    overflow: hidden;
    padding: clamp(86px, 9vw, 128px) 0;
    background:
        radial-gradient(circle at 22% 10%, color-mix(in srgb, var(--glow) 18%, transparent), transparent 26%),
        radial-gradient(circle at 84% 22%, rgba(124,58,237,0.18), transparent 26%),
        linear-gradient(180deg, #050814 0%, #071229 52%, #050814 100%);
    color: #fff;
}

.passes-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 78px 78px;
    mask-image: linear-gradient(180deg, transparent, #000 16%, #000 86%, transparent);
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 16%, #000 86%, transparent);
}

.passes__container {
    position: relative;
    z-index: 2;
    width: min(1320px, calc(100% - 48px));
}

.passes__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 24px;
}

.passes__label,
.passes__limited {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border-radius: 999px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
}

.passes__label {
    margin-bottom: 14px;
    color: #00C1D4;
    font-size: 0.72rem;
    letter-spacing: 0.18em;
}

.passes__limited {
    padding: 15px 20px;
    border: 1px solid rgba(0,230,118,0.32);
    background: rgba(255,255,255,0.035);
    color: #7DFFB2;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
    text-transform: none;
    box-shadow: 0 0 28px rgba(0,230,118,0.10);
}

.passes__title {
    margin: 0;
    max-width: 740px;
    color: #fff;
    font-family: 'Gordita', 'Montserrat', sans-serif;
    font-size: clamp(2.7rem, 5.2vw, 5.35rem);
    font-weight: 900;
    line-height: 0.94;
    letter-spacing: -0.045em;
}

.passes__title span {
    background: linear-gradient(90deg, #00C1D4, #00E676 48%, #7C3AED);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.passes__selector {
    display: grid;
    grid-template-columns: 1fr 1.15fr 1fr;
    gap: 16px;
    align-items: end;
    padding-top: 24px;
    overflow: visible;
}

.pass-card {
    position: relative;
    min-height: 260px;
    overflow: visible;
    border: 2px solid rgba(255,255,255,0.10);
    border-radius: 20px;
    background: #071229;
    color: #fff;
    cursor: pointer;
    text-align: left;
    transition: transform 0.4s cubic-bezier(0.23,1,0.32,1), border-color 0.4s ease, box-shadow 0.4s ease;
}

.pass-card--access {
    min-height: 286px;
}

.pass-card__visual {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
    background:
        linear-gradient(to top, rgba(5,8,20,0.96) 0%, rgba(5,8,20,0.35) 100%),
        radial-gradient(circle at 28% 20%, color-mix(in srgb, var(--card-color) 42%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--card-color) 24%, #09152D), #050814 70%);
}

.pass-card__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.16) 1px, transparent 1.8px);
    background-size: 24px 24px;
    opacity: 0.20;
}

.pass-card.active {
    border-color: var(--card-color);
    box-shadow:
        0 0 0 1px var(--card-color),
        0 0 30px color-mix(in srgb, var(--card-color) 42%, transparent),
        0 -40px 60px color-mix(in srgb, var(--card-color) 15%, transparent);
    transform: translateY(-12px) scale(1.02);
}

.pass-card:not(.active):hover {
    border-color: color-mix(in srgb, var(--card-color) 50%, rgba(255,255,255,0.18));
    box-shadow: 0 0 20px color-mix(in srgb, var(--card-color) 20%, transparent);
    transform: translateY(-6px);
}

.pass-card__popular {
    position: absolute;
    left: 50%;
    top: -16px;
    z-index: 6;
    transform: translateX(-50%);
    padding: 8px 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, #00C1D4, #00E676);
    color: #071229;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.pass-card__content {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    display: grid;
    gap: 8px;
}

.pass-card__icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--card-color) 18%, transparent);
    color: var(--card-color);
    box-shadow: 0 0 24px color-mix(in srgb, var(--card-color) 28%, transparent);
}

.pass-card__icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.pass-card__content strong {
    font-size: clamp(1.55rem, 2.4vw, 2.25rem);
    font-weight: 900;
    line-height: 1;
}

.pass-card__content small {
    color: var(--card-color);
    font-size: 1rem;
    font-weight: 800;
}

.pass-card__content em {
    width: fit-content;
    margin-top: 8px;
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.88);
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 700;
}

.pass-card__arrow {
    position: absolute;
    right: 24px;
    bottom: 24px;
    z-index: 3;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.20);
    background: rgba(255,255,255,0.08);
    color: #fff;
    font-size: 1.5rem;
}

.passes__detail {
    --pass-color: #00E676;
    margin-top: 24px;
    display: grid;
    grid-template-columns: 280px minmax(0,1fr) 320px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--pass-color) 30%, rgba(255,255,255,0.08));
    border-radius: 20px;
    background: rgba(255,255,255,0.035);
    box-shadow: 0 0 40px color-mix(in srgb, var(--pass-color) 8%, transparent);
}

.passes__detail-identity,
.passes__benefits,
.passes__gallery {
    padding: 32px 28px;
}

.passes__detail-identity,
.passes__benefits {
    border-right: 1px solid rgba(255,255,255,0.07);
}

.passes__watching {
    display: block;
    color: rgba(255,255,255,0.46);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.passes__active-name {
    display: block;
    margin: 6px 0 18px;
    color: var(--pass-color);
    font-size: 1.28rem;
    font-weight: 900;
}

.passes__active-title {
    margin: 0 0 12px;
    color: #fff;
    font-family: 'Gordita', 'Montserrat', sans-serif;
    font-size: 1.75rem;
    line-height: 1.05;
}

.passes__active-desc {
    margin: 0 0 24px;
    color: rgba(255,255,255,0.62);
    font-size: 0.92rem;
    line-height: 1.65;
}

.passes__price span {
    display: block;
    color: rgba(255,255,255,0.50);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.passes__price strong {
    display: inline-block;
    margin-right: 12px;
    color: #fff;
    font-size: 3rem;
    font-weight: 900;
}

.passes__price em {
    display: inline-flex;
    padding: 8px 10px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--pass-color) 16%, transparent);
    color: var(--pass-color);
    font-style: normal;
    font-size: 0.78rem;
    font-weight: 900;
}

.passes__actions {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}

.passes__primary,
.passes__secondary,
.passes__contact {
    min-height: 46px;
    border-radius: 12px;
    font-weight: 800;
    transition: transform 0.22s ease, filter 0.22s ease;
}

.passes__primary {
    border: 0;
    background: var(--pass-color);
    color: #05101F;
}

.passes__secondary {
    border: 1.5px solid rgba(255,255,255,0.20);
    background: transparent;
    color: #fff;
}

.passes__primary:hover,
.passes__secondary:hover,
.passes__contact:hover {
    transform: translateY(-2px);
    filter: brightness(1.12);
}

.passes__benefits h3,
.passes__gallery-title {
    margin: 0 0 16px;
    color: #fff;
    font-size: 1rem;
}

.benefits__list {
    columns: 2;
    column-gap: 24px;
}

.benefit-item {
    display: flex;
    gap: 11px;
    break-inside: avoid;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.benefit-item span {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: color-mix(in srgb, var(--pass-color) 14%, transparent);
    color: var(--pass-color);
}

.benefit-item svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
}

.benefit-item strong,
.benefit-item small {
    display: block;
}

.benefit-item strong {
    color: #fff;
    font-size: 0.86rem;
}

.benefit-item small {
    margin-top: 3px;
    color: rgba(255,255,255,0.52);
    font-size: 0.74rem;
    line-height: 1.34;
}

.passes__gallery {
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 12px;
}

.passes__gallery-main,
.passes__thumbs span {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.10);
    background:
        linear-gradient(to top, rgba(5,8,20,0.74), transparent),
        radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--pass-color) 38%, transparent), transparent 34%),
        linear-gradient(135deg, #071229, #050814);
}

.passes__gallery-main {
    min-height: 200px;
    display: grid;
    place-items: center;
    border-radius: 14px;
}

.passes__gallery-main span {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,0.18);
    backdrop-filter: blur(10px);
}

.passes__thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.passes__thumbs span {
    display: block;
    height: 78px;
    border-radius: 10px;
}

.passes__thumbs figcaption {
    margin-top: 7px;
    color: rgba(255,255,255,0.60);
    font-size: 0.72rem;
    text-align: center;
}

.passes__contact-bar {
    margin-top: 20px;
    padding: 20px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    background: rgba(255,255,255,0.035);
}

.passes__contact-bar strong {
    color: #fff;
    font-size: 1rem;
}

.passes__contact-bar p {
    margin: 4px 0 0;
    color: rgba(255,255,255,0.56);
}

.passes__contact-actions {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    gap: 10px;
}

.passes__contact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 18px;
    text-decoration: none;
}

.passes__contact--wa { background: #25D366; color: #05101F; }
.passes__contact--wa::before {
    content: "💬";
    font-size: 0.95rem;
}
.passes__contact--mail { border: 1px solid rgba(255,255,255,0.16); color: #fff; }
.passes__contact--call { border: 1px solid rgba(0,193,212,0.30); background: rgba(0,193,212,0.14); color: #fff; }

@media (max-width: 1200px) {
    .passes__detail {
        grid-template-columns: 0.95fr 1.15fr;
    }

    .passes__gallery {
        grid-column: 1 / -1;
        border-top: 1px solid rgba(255,255,255,0.07);
    }
}

@media (max-width: 768px) {
    .passes__header,
    .passes__contact-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .passes__selector,
    .passes__detail {
        grid-template-columns: 1fr;
    }

    .pass-card,
    .pass-card--access {
        min-height: 230px;
    }

    .pass-card.active {
        transform: translateY(-4px) scale(1);
    }

    .passes__detail-identity,
    .passes__benefits {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }

    .passes__contact-bar {
        gap: 20px;
        padding: 20px;
    }

    .passes__contact-actions {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 10px;
    }

    .passes__contact-actions a,
    .passes__contact-actions button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .passes__container {
        width: min(100% - 28px, 1320px);
    }

    .passes__title {
        font-size: 2.45rem;
    }

    .passes__price strong {
        font-size: 2.25rem;
    }

    .benefits__list {
        columns: 1;
    }

    .passes__thumbs {
        display: none;
    }
}

.section {
    padding-top: clamp(4.5rem, 8vw, 7rem);
    padding-bottom: clamp(4.5rem, 8vw, 7rem);
}

.section-tag {
    backdrop-filter: blur(10px);
}

.section-title {
    letter-spacing: 0.02em;
    text-wrap: balance;
}

.section-subtitle {
    max-width: 740px;
    margin-left: auto;
    margin-right: auto;
    text-wrap: pretty;
}

.hero__desc,
.sobre-card p,
.activity-card__desc,
.sponsor-item__benefit {
    text-wrap: pretty;
}

.hero__badge,
.countdown__block,
.sobre-card,
.countup-card,
.activity-card,
.plan-card,
.sponsor-item {
    backdrop-filter: blur(12px);
}

.countdown__block {
    border-color: rgba(0, 229, 255, 0.16);
}

.hero__cta .btn {
    min-height: 52px;
}

.btn:focus-visible,
.nav__link:focus-visible,
.agenda__day-btn:focus-visible,
.speaker-card:focus-visible,
.plan-card:focus-visible,
.sponsor-item:focus-visible {
    outline: 2px solid rgba(0, 229, 255, 0.8);
    outline-offset: 3px;
}

.eje-card,
.speaker-card,
.plan-card,
.sponsor-item {
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.eje-card:hover,
.speaker-card:hover,
.plan-card:hover,
.sponsor-item:hover {
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);
}

.hero__video-wrap {
    z-index: 1;
}

.hero__layer--bg {
    z-index: 0;
}

.hero__layer--particles {
    z-index: 2;
}

.hero__layer--circuit {
    z-index: 2;
}

.hero__content {
    z-index: 3;
}

.brochure-3d-wrapper {
    filter: drop-shadow(0 16px 34px rgba(0, 0, 0, 0.4));
}

.brochure-front {
    border: 1px solid rgba(0, 229, 255, 0.18);
}

.sponsors__track {
    gap: 1.2rem;
}

@media (max-width: 1024px) {
    .section {
        padding-top: clamp(4rem, 7vw, 5.2rem);
        padding-bottom: clamp(4rem, 7vw, 5.2rem);
    }

    .hero__title-mind {
        letter-spacing: 0.08em;
    }
}

@media (max-width: 768px) {
    .hero__video {
        opacity: 0.46;
    }

    .hero__badge {
        padding: 0.5rem 0.9rem;
    }

    .countdown {
        gap: 0.7rem;
    }

    .countdown__block {
        border-radius: 12px;
        padding: 0.8rem 0.6rem;
    }

    .agenda__day-btn {
        padding: 0.72rem 0.85rem;
        font-size: 0.75rem;
    }

    .speaker-card__hint {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

.eje-main {
    background-size: cover;
    background-position: center;
}

.eje-main__image {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.eje-main__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.28;
}

.sponsor-tier-layout {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 48px;
}

.sponsor-card {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    padding: 18px;
    transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}

.sponsor-card[data-tier="gold"] {
    background: rgba(255, 180, 50, 0.06);
    border: 1px solid rgba(255, 180, 50, 0.5);
    box-shadow: 0 0 40px rgba(255, 180, 50, 0.12), inset 0 0 20px rgba(255,180,50,0.03);
}

.sponsor-card[data-tier="gold"]:hover {
    border-color: rgba(255, 180, 50, 0.8);
    box-shadow: 0 0 60px rgba(255,180,50,0.2);
    transform: translateY(-4px);
}

.sponsor-card[data-tier="silver"] {
    background: rgba(160, 200, 220, 0.04);
    border: 1px solid rgba(160, 200, 220, 0.4);
    box-shadow: 0 0 30px rgba(160, 200, 220, 0.08), inset 0 0 20px rgba(160,200,220,0.03);
}

.sponsor-card[data-tier="silver"]:hover {
    border-color: rgba(160, 200, 220, 0.75);
    box-shadow: 0 0 50px rgba(160,200,220,0.2);
    transform: translateY(-4px);
}

.sponsor-card[data-tier="bronze"] {
    background: rgba(180, 120, 70, 0.04);
    border: 1px solid rgba(180, 120, 70, 0.4);
    box-shadow: 0 0 30px rgba(180, 120, 70, 0.08), inset 0 0 20px rgba(180,120,70,0.03);
}

.sponsor-card[data-tier="bronze"]:hover {
    border-color: rgba(180, 120, 70, 0.8);
    box-shadow: 0 0 50px rgba(180,120,70,0.2);
    transform: translateY(-4px);
}

.sponsor-logo-area {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.1);
}

.sponsor-logo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sponsor-info {
    margin-top: 12px;
}

.sponsor-tier-badge {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.sponsor-card[data-tier="gold"] .sponsor-tier-badge { color: #FFB432; }
.sponsor-card[data-tier="silver"] .sponsor-tier-badge { color: #A0C8DC; }
.sponsor-card[data-tier="bronze"] .sponsor-tier-badge { color: #B47846; }

.sponsor-benefit {
    margin-top: 8px;
    color: var(--text-secondary);
    font-size: 13px;
}

.sponsor-border-anim {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: conic-gradient(from var(--angle, 0deg), transparent 70%, currentColor 100%);
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.sponsor-card:hover .sponsor-border-anim {
    opacity: 0.4;
    animation: rotate-border 2s linear infinite;
}

@keyframes rotate-border {
    to { --angle: 360deg; }
}

.sponsor-cta-area {
    text-align: center;
    margin-top: 32px;
}

.sponsor-cta-text {
    color: var(--text-secondary);
    margin-bottom: 14px;
}

.btn-sponsor-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 32px;
    border: 1px solid rgba(0, 229, 255, 0.4);
    color: #00E5FF;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
    border-radius: 12px;
}

.btn-sponsor-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 229, 255, 0.08);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.btn-sponsor-cta > * {
    position: relative;
    z-index: 1;
}

.btn-sponsor-cta:hover::before { transform: scaleX(1); }
.btn-sponsor-cta:hover { border-color: rgba(0, 229, 255, 0.8); }

.sponsor-cta-sub {
    margin-top: 10px;
    font-size: 12px;
    color: var(--text-muted);
}

.sponsors-marquee {
    margin-top: 24px;
    overflow: hidden;
    border-top: 1px solid rgba(255,255,255,0.06);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    padding: 12px 0;
}

.sponsors-marquee-track {
    display: flex;
    gap: 24px;
    width: max-content;
}

.sponsors-marquee-track img {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,0.1);
}

.gallery-placeholder-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
}

.gallery-placeholder {
    aspect-ratio: 4/3;
    background: rgba(6, 13, 20, 0.8);
    border: 1px dashed rgba(0, 229, 255, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: default;
}

.gallery-placeholder-inner {
    text-align: center;
}

.gallery-add-icon {
    font-size: 32px;
    color: rgba(0, 229, 255, 0.3);
    display: block;
    text-align: center;
}

.gallery-add-text {
    font-size: 11px;
    color: #4A6275;
    text-align: center;
    letter-spacing: 1px;
    margin-top: 8px;
}

.brochure-3d-wrapper {
    width: min(320px, 100%);
    aspect-ratio: 3 / 4;
    transform-style: preserve-3d;
    perspective: 1000px;
    cursor: pointer;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    margin: 0 auto;
    position: relative;
}

.brochure-3d-wrapper:hover {
    transform: rotateY(-25deg) rotateX(5deg);
}

.brochure-front,
.brochure-img {
    width: 100%;
    height: 100%;
}

.brochure-front {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
}

.brochure-img {
    object-fit: cover;
    display: block;
}

.brochure-holographic-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 30%, rgba(0, 229, 255, 0.08) 50%, transparent 70%);
    background-size: 200% 200%;
    animation: holographic-shift 4s ease-in-out infinite;
}

.brochure__holo-list {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    z-index: 2;
}

.holo-item {
    background: rgba(0, 229, 255, 0.08);
    border: 1px solid rgba(0, 229, 255, 0.2);
    backdrop-filter: blur(10px);
    padding: 0.45rem 0.75rem;
    border-radius: 6px;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    color: var(--cyan);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

@keyframes holographic-shift {
    0% { background-position: 0% 0%; }
    50% { background-position: 100% 100%; }
    100% { background-position: 0% 0%; }
}

.divider--1 {
    height: clamp(18px, 3vw, 46px);
    opacity: 0.55;
}

.sobre.section {
    padding-top: clamp(2rem, 4vw, 3.25rem);
}

.sobre .container {
    max-width: min(1660px, 95vw);
}

.sobre__grid {
    grid-template-columns: minmax(360px, 0.92fr) minmax(620px, 1.08fr);
    gap: clamp(1.2rem, 2.4vw, 3rem);
}

.sobre__content {
    max-width: none;
}

.ejes .container {
    max-width: min(1680px, 95vw);
}

.ejes-grid-premium {
    gap: clamp(1rem, 1.8vw, 2rem);
}

.eje-card {
    border-radius: 36px 14px 28px 12px;
    clip-path: polygon(0 4%, 93% 0, 100% 88%, 8% 100%, 0 62%);
    border-width: 1px;
    animation: ejeFloat 5.8s ease-in-out infinite;
}

.eje-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    border: 1px solid color-mix(in srgb, var(--eje-color) 70%, white 30%);
    box-shadow: 0 0 28px color-mix(in srgb, var(--eje-color) 28%, transparent), inset 0 0 22px rgba(2, 8, 16, 0.45);
    pointer-events: none;
    z-index: 1;
}

.eje-card:nth-child(2) {
    animation-delay: 0.35s;
}

.eje-card:nth-child(3) {
    animation-delay: 0.7s;
}

.eje-card__overlay {
    background: linear-gradient(to top, rgba(2, 6, 12, 0.86), rgba(2, 8, 16, 0.14) 44%, rgba(2, 6, 12, 0.52));
}

.eje-card__bg {
    filter: saturate(1.02) contrast(1.04);
}

.eje-card:hover {
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.38), 0 0 46px color-mix(in srgb, var(--eje-color) 38%, transparent);
}

.speakers {
    width: 100%;
    margin-left: 0;
    background: linear-gradient(180deg, rgba(2, 8, 16, 0.82), rgba(2, 4, 8, 1));
}

.speakers .container {
    max-width: min(1760px, 96vw);
}

.speakers-shell {
    width: 100%;
    padding-inline: clamp(0.5rem, 2vw, 2.4rem);
}

.speakers-swiper .swiper-slide {
    width: 320px !important;
}

.speakers-swiper .swiper-button-prev {
    left: clamp(4px, 1.2vw, 14px);
}

.speakers-swiper .swiper-button-next {
    right: clamp(4px, 1.2vw, 14px);
}

.agenda .container {
    max-width: min(1520px, 94vw);
}

.agenda__activities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
}

.activity-card {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.activity-card::before {
    content: '';
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at 20% 20%, rgba(0, 229, 255, 0.15), transparent 52%);
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

.activity-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 229, 255, 0.24);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.32), 0 0 20px rgba(0, 229, 255, 0.12);
}

.activity-card:hover::before {
    opacity: 1;
}

@keyframes ejeFloat {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-7px);
    }
}

@media (max-width: 1100px) {
    .agenda__activities {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1024px) {
    .divider--1 {
        height: clamp(14px, 2.8vw, 28px);
    }

    .sobre .container,
    .ejes .container,
    .speakers .container,
    .agenda .container {
        max-width: min(98vw, 1200px);
    }

    .speakers-swiper .swiper-slide {
        width: 285px !important;
    }
}

.sobre {
    display: block !important;
    min-height: auto !important;
}

.sobre > .container {
    margin-left: auto !important;
    margin-right: auto !important;
    width: min(1660px, 95vw);
    max-width: min(1660px, 95vw);
}

.sobre__grid {
    display: grid;
    grid-template-columns: minmax(360px, 0.88fr) minmax(0, 1.12fr);
    align-items: start;
    gap: clamp(1rem, 2vw, 2.2rem);
}

.sobre.section {
    padding-top: clamp(1.5rem, 3vw, 2.6rem);
    padding-bottom: clamp(3rem, 5.5vw, 5rem);
}

.sobre__media {
    min-height: clamp(420px, 52vw, 600px);
}

@media (max-width: 1200px) {
    .sobre > .container {
        width: min(1200px, 96vw);
        max-width: min(1200px, 96vw);
    }

    .sobre__grid {
        grid-template-columns: 1fr;
    }
}

.speakers .container {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(1720px, 96vw) !important;
}

.speakers-shell {
    padding-inline: clamp(0.35rem, 1.8vw, 1.8rem);
}

.speakers-swiper {
    overflow: hidden;
    padding-bottom: 72px;
}

.speakers-swiper .swiper-wrapper {
    align-items: stretch;
}

.speakers-swiper .swiper-slide {
    width: auto !important;
    height: auto;
}

.speaker-card {
    min-height: 420px;
    height: 100%;
}

.speakers-swiper .swiper-button-prev,
.speakers-swiper .swiper-button-next {
    top: 48%;
}

@media (max-width: 1024px) {
    .speakers-swiper {
        overflow: visible;
    }

    .speaker-card {
        min-height: 390px;
    }
}

.speakers-swiper.speakers-swiper--static {
    overflow: visible;
}

.speakers-swiper.speakers-swiper--static .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    transform: none !important;
}

.speakers-swiper.speakers-swiper--static .swiper-slide {
    width: auto !important;
}

.speakers-swiper.speakers-swiper--static .speakers-pagination,
.speakers-swiper.speakers-swiper--static .speakers-prev,
.speakers-swiper.speakers-swiper--static .speakers-next {
    display: none !important;
}

.speakers {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding-left: 0;
    padding-right: 0;
}

.speakers .container {
    width: 100%;
    max-width: none !important;
    padding-inline: clamp(16px, 3.4vw, 68px);
    margin-inline: auto !important;
}

.speakers-shell {
    width: 100%;
    margin-top: 2.8rem;
}

.speakers-swiper {
    width: 100%;
    overflow: visible;
    padding: 18px 0 82px;
}

.speakers-swiper .swiper-slide {
    width: clamp(250px, 20vw, 340px) !important;
    opacity: 0.58;
    filter: saturate(0.72) brightness(0.82);
    transform-origin: center center;
    transition: transform 0.45s ease, opacity 0.45s ease, filter 0.45s ease;
}

.speakers-swiper .swiper-slide-active {
    opacity: 1;
    filter: saturate(1.05) brightness(1);
}

.speakers-swiper .swiper-slide-prev,
.speakers-swiper .swiper-slide-next {
    opacity: 0.84;
    filter: saturate(0.9) brightness(0.92);
}

.speakers-swiper .swiper-button-prev,
.speakers-swiper .swiper-button-next {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(0, 229, 255, 0.36);
    background: rgba(2, 8, 16, 0.62);
    backdrop-filter: blur(8px);
}

.speakers-swiper .swiper-button-prev {
    left: clamp(2px, 1vw, 14px);
}

.speakers-swiper .swiper-button-next {
    right: clamp(2px, 1vw, 14px);
}

.speakers-swiper .swiper-pagination {
    bottom: 8px !important;
}

@media (max-width: 1024px) {
    .speakers .container {
        padding-inline: clamp(14px, 3.8vw, 30px);
    }

    .speakers-swiper .swiper-slide {
        width: clamp(236px, 72vw, 320px) !important;
    }
}

.brochure__visual {
    position: relative;
    overflow: visible;
}

.brochure__visual::before {
    content: '';
    position: absolute;
    left: -14%;
    top: 10%;
    width: 120%;
    height: 80%;
    background: linear-gradient(90deg, rgba(0, 229, 255, 0.24) 0%, rgba(0, 229, 255, 0.06) 36%, transparent 75%);
    filter: blur(36px);
    pointer-events: none;
    z-index: 0;
}

.brochure__canvas-wrap {
    position: relative;
    overflow: visible;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.brochure__canvas-wrap:hover {
    transform: rotateY(8deg) rotateX(3deg);
}

.brochure-3d-wrapper {
    width: min(430px, 100%);
    margin: 0;
    transform: translateX(-42px) rotate(-2deg);
    animation: float 5.5s ease-in-out infinite;
    filter: drop-shadow(0 36px 58px rgba(0, 0, 0, 0.58)) drop-shadow(0 0 42px rgba(0, 229, 255, 0.24));
    z-index: 2;
}

.brochure-3d-wrapper:hover {
    transform: translateX(-52px) rotateY(24deg) rotateX(6deg) rotateZ(1deg) scale(1.04);
}

.brochure-front {
    border-radius: 20px;
    overflow: visible;
}

.brochure-img,
#brochureFallbackCanvas {
    border-radius: 20px;
    box-shadow: 0 24px 42px rgba(0, 0, 0, 0.52), 0 0 28px rgba(0, 229, 255, 0.2);
}

.brochure-holographic-overlay {
    border-radius: 20px;
    background: linear-gradient(90deg, rgba(0, 229, 255, 0.12) 0%, transparent 46%, rgba(0, 255, 136, 0.08) 100%);
}

@media (max-width: 1024px) {
    .brochure__canvas-wrap {
        justify-content: center;
        min-height: 470px;
    }

    .brochure-3d-wrapper {
        width: min(360px, 84vw);
        transform: rotate(-1deg);
    }

    .brochure-3d-wrapper:hover {
        transform: rotateY(16deg) rotateX(4deg) scale(1.02);
    }
}

@media (max-width: 768px) {
    .brochure__canvas-wrap {
        min-height: 430px;
    }

    .brochure-3d-wrapper {
        width: min(320px, 88vw);
    }
}

:root {
    --cyan: #00AEEB;
    --cyan-dim: #087FA8;
    --cyan-light: #41D9FF;
    --green: #00B871;
    --green-dim: #078659;
    --blue: #315CFF;
    --ink: #07111F;
    --ink-soft: #203044;
    --paper: #F8FBFF;
    --paper-warm: #FFFFFF;
    --paper-blue: #EAF7FF;
    --paper-green: #EAFBF3;
    --line-soft: rgba(7, 17, 31, 0.1);
    --grad-primary: linear-gradient(135deg, #00AEEB 0%, #00B871 100%);
    --grad-text: linear-gradient(135deg, #07111F 0%, #00AEEB 48%, #00B871 100%);
    --grad-line: linear-gradient(180deg, #00AEEB 0%, #00B871 100%);
    --grad-cyan: linear-gradient(135deg, #00AEEB, #41D9FF);
    --bg-deep: var(--paper);
    --bg-dark: #EEF7FC;
    --bg-card: rgba(255, 255, 255, 0.82);
    --bg-card-alt: rgba(248, 251, 255, 0.94);
    --bg-glass: rgba(255, 255, 255, 0.72);
    --border-glow: rgba(0, 174, 235, 0.28);
    --border-card: rgba(7, 17, 31, 0.1);
    --text-primary: var(--ink);
    --text-secondary: rgba(7, 17, 31, 0.68);
    --text-muted: #66768A;
    --shadow-card: 0 18px 50px rgba(30, 64, 96, 0.11);
    --glow-cyan: 0 22px 70px rgba(0, 174, 235, 0.16);
    --glow-green: 0 22px 70px rgba(0, 184, 113, 0.13);
}

html {
    background: var(--paper);
}

body {
    color: var(--text-primary);
    background:
        linear-gradient(120deg, rgba(0, 174, 235, 0.06) 0 18%, transparent 18% 100%),
        linear-gradient(300deg, transparent 0 64%, rgba(0, 184, 113, 0.08) 64% 100%),
        var(--paper);
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(rgba(7, 17, 31, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7, 17, 31, 0.035) 1px, transparent 1px),
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(234, 247, 255, 0.88) 48%, rgba(234, 251, 243, 0.9));
    background-size: 72px 72px, 72px 72px, auto;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.9), rgba(0,0,0,0.25));
}

body::after {
    opacity: 0.018;
    mix-blend-mode: multiply;
}

#globalCityBg {
    opacity: 0.035;
    filter: invert(1) saturate(0.4);
}

.loader {
    background: var(--paper);
}

.nav {
    color: var(--ink);
}

.nav.scrolled {
    background: rgba(255, 255, 255, 0.82);
    border-bottom: 1px solid rgba(7, 17, 31, 0.08);
    box-shadow: 0 14px 38px rgba(30, 64, 96, 0.08);
}

.nav__logo,
.nav__link {
    color: var(--ink-soft);
}

.nav__link:hover,
.nav__mobile .nav__link {
    color: var(--ink);
}

.nav__hamburger span {
    background: var(--ink);
}

.nav__mobile {
    background: rgba(255, 255, 255, 0.96);
    z-index: 1190;
    padding-top: 90px;
}

.section {
    isolation: isolate;
    background: transparent;
}

.section::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0.82;
}

.sobre::before {
    background: linear-gradient(180deg, rgba(255,255,255,0.8), rgba(234,247,255,0.58));
}

.ejes::before {
    background:
        linear-gradient(105deg, transparent 0 12%, rgba(0, 174, 235, 0.08) 12% 26%, transparent 26% 100%),
        linear-gradient(180deg, rgba(255,255,255,0.78), rgba(248,251,255,0.96));
}

.speakers::before {
    background:
        repeating-linear-gradient(90deg, rgba(7,17,31,0.035) 0 1px, transparent 1px 80px),
        linear-gradient(180deg, rgba(234,251,243,0.52), rgba(255,255,255,0.88));
}

.agenda::before {
    background:
        linear-gradient(130deg, rgba(49, 92, 255, 0.08) 0 28%, transparent 28%),
        linear-gradient(180deg, rgba(248,251,255,0.98), rgba(234,247,255,0.58));
}

.pricing::before {
    background:
        linear-gradient(70deg, transparent 0 58%, rgba(0, 184, 113, 0.09) 58% 75%, transparent 75%),
        linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,251,255,0.98));
}

.sponsors::before,
.brochure::before,
.gallery::before {
    background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(234,247,255,0.48));
}

.section-tag {
    color: var(--cyan-dim);
    border-color: rgba(0, 174, 235, 0.24);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 10px 32px rgba(0, 174, 235, 0.08);
}

.section-title {
    color: var(--ink);
}

.section-subtitle {
    color: var(--text-secondary);
}

.btn {
    border-radius: 999px;
}

.btn-primary {
    color: #fff;
    box-shadow: 0 14px 34px rgba(0, 174, 235, 0.22);
}

.btn-primary:hover {
    color: #fff;
    box-shadow: 0 20px 44px rgba(0, 184, 113, 0.2);
}

.btn-ghost {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(7, 17, 31, 0.16);
}

.btn-ghost:hover {
    color: var(--cyan-dim);
    background: #fff;
}

.hero {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.92), rgba(248,251,255,0.8)),
        var(--paper);
}

.hero__video-wrap {
    display: none;
}

.hero__video-overlay {
    background:
        linear-gradient(90deg, rgba(255,255,255,0.96), rgba(255,255,255,0.58) 46%, rgba(255,255,255,0.92)),
        linear-gradient(180deg, rgba(255,255,255,0.72), rgba(248,251,255,0.98));
}

.hero__layer--bg {
    opacity: 0.92;
    filter: saturate(0.85) brightness(1.08);
}

.hero__orb {
    display: none;
}

.hero__grid {
    opacity: 0.7;
    background-image:
        linear-gradient(rgba(0, 174, 235, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 174, 235, 0.055) 1px, transparent 1px);
}

.hero::after {
    background:
        linear-gradient(90deg, transparent 0 58%, rgba(0, 174, 235, 0.08) 58% 59%, transparent 59%),
        repeating-linear-gradient(0deg, transparent 0 20px, rgba(7, 17, 31, 0.025) 20px 21px);
}

.hero__watermark {
    opacity: 0.045;
}

.hero__badge,
.countdown__block,
.hero__live,
.sobre-card,
.countup-card,
.activity-card,
.plan-card,
.sponsor-item,
.gallery-placeholder,
.brochure__canvas-wrap {
    background: rgba(255, 255, 255, 0.76);
    border-color: rgba(7, 17, 31, 0.1);
    box-shadow: var(--shadow-card);
}

.hero__summit,
.hero__desc,
.countdown__label,
.scroll-indicator__text {
    color: var(--text-secondary);
}

.hero__mind,
.hero__mind .char,
.loader__text,
.stat-number {
    background: var(--grad-text);
    -webkit-background-clip: text;
    background-clip: text;
}

.countdown__number {
    color: var(--cyan-dim);
}

.hero__live {
    width: fit-content;
    margin: -24px auto 32px;
    padding: 0.55rem 0.9rem;
    border: 1px solid rgba(0, 184, 113, 0.18);
    border-radius: 999px;
}

.sobre__media {
    border-color: rgba(7, 17, 31, 0.1);
    box-shadow: 0 28px 70px rgba(30, 64, 96, 0.16);
}

.sobre__media-overlay {
    background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.24) 55%, rgba(0,174,235,0.2));
}

.sobre__media-chip span,
.holo-item {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.78);
    border-color: rgba(7, 17, 31, 0.12);
}

.sobre-card h3,
.countup-card__label,
.activity-card__title,
.plan-card__name,
.sponsor-item__name {
    color: var(--ink);
}

.sobre-card p,
.activity-card__desc,
.plan-card__feature,
.sponsor-item__benefit,
.brochure__text p {
    color: var(--text-secondary) !important;
}

.eje-card {
    box-shadow: 0 24px 60px rgba(30, 64, 96, 0.14);
}

.eje-card::before {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--eje-color) 34%, transparent), inset 0 0 30px rgba(255,255,255,0.18);
}

.eje-card__overlay {
    background: linear-gradient(to top, rgba(7,17,31,0.9), rgba(7,17,31,0.18) 48%, rgba(255,255,255,0.2));
}

.speakers {
    background: transparent;
}

.speaker-card {
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(7, 17, 31, 0.1);
    box-shadow: 0 22px 60px rgba(30, 64, 96, 0.13);
}

.speaker-card:hover {
    border-color: rgba(0, 174, 235, 0.28);
    box-shadow: 0 28px 80px rgba(0, 174, 235, 0.14);
}

.speaker-card__photo-overlay {
    background: linear-gradient(to bottom, rgba(255,255,255,0.02), rgba(7,17,31,0.86));
}

.speaker-card__name {
    color: #fff;
}

.speaker-card__role,
.speaker-card__company {
    color: rgba(255, 255, 255, 0.72);
}

.agenda__day-btn {
    color: var(--ink-soft);
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(7, 17, 31, 0.12);
    box-shadow: 0 12px 34px rgba(30, 64, 96, 0.08);
}

.agenda__day-btn.active {
    color: #fff;
    background: var(--grad-primary);
    border-color: transparent;
}

.activity-card__time {
    color: var(--cyan-dim);
}

.plan-card {
    color: var(--ink);
}

.plan-lite,
.plan-access,
.plan-black {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.72)),
        var(--paper-warm);
}

.plan-black {
    border-color: rgba(7, 17, 31, 0.2);
    box-shadow: 0 28px 80px rgba(7, 17, 31, 0.14), 0 0 0 1px rgba(0,174,235,0.18);
}

.sponsors__marquee::before {
    background: linear-gradient(90deg, var(--paper), transparent);
}

.sponsors__marquee::after {
    background: linear-gradient(270deg, var(--paper), transparent);
}

.brochure__visual::before {
    background: linear-gradient(90deg, rgba(0, 174, 235, 0.16), rgba(0, 184, 113, 0.07) 48%, transparent 78%);
}

.cta-final {
    color: var(--ink);
    background:
        linear-gradient(110deg, rgba(255,255,255,0.95), rgba(234,247,255,0.82)),
        var(--paper);
}

.cta-final__bg {
    opacity: 0.22;
    filter: saturate(0.7) brightness(1.2);
    mix-blend-mode: multiply;
}

.cta-final__bg::after {
    background:
        linear-gradient(to bottom, var(--paper) 0%, transparent 34%, transparent 70%, var(--paper) 100%),
        linear-gradient(to right, rgba(255,255,255,0.78), rgba(255,255,255,0.34));
}

.cta-final__title {
    color: var(--ink);
}

.footer {
    background:
        linear-gradient(180deg, rgba(234,247,255,0.82), rgba(255,255,255,0.98));
    color: var(--ink);
    border-top: 1px solid rgba(7, 17, 31, 0.08);
}

.footer::before,
.footer__watermark {
    color: rgba(0, 174, 235, 0.08);
}

.footer::after {
    background: linear-gradient(90deg, var(--cyan), var(--green));
}

.footer__bottom {
    border-color: rgba(7, 17, 31, 0.08);
}

.footer__social a {
    background: rgba(255,255,255,0.72);
}

.footer__social a svg {
    fill: var(--ink-soft);
}

.floating-badge {
    color: #fff;
    border-color: transparent;
    background: var(--ink);
    box-shadow: 0 16px 40px rgba(7, 17, 31, 0.18);
}

@media (max-width: 768px) {
    .hero__video-wrap {
        opacity: 0.16;
    }

    .hero__live {
        margin-top: -18px;
    }
}

.nav {
    top: 0;
    padding: 13px 0;
}

.nav.scrolled {
    padding: 10px 0;
}

.hero {
    min-height: 100svh;
    align-items: stretch;
    padding: 100px clamp(18px, 4vw, 54px) 74px;
    text-align: left;
    background:
        linear-gradient(118deg, rgba(255,255,255,0.98) 0 34%, rgba(234,247,255,0.82) 34% 68%, rgba(234,251,243,0.92) 68%),
        var(--paper);
}

.hero::before {
    content: '';
    position: absolute;
    inset: 86px clamp(14px, 3vw, 42px) 28px;
    z-index: 0;
    border: 1px solid rgba(7, 17, 31, 0.08);
    border-radius: 32px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.72), rgba(255,255,255,0.16)),
        radial-gradient(circle at 75% 22%, rgba(0,174,235,0.16), transparent 34%),
        radial-gradient(circle at 10% 80%, rgba(0,184,113,0.12), transparent 30%);
    box-shadow: 0 34px 90px rgba(30, 64, 96, 0.12);
    pointer-events: none;
}

.hero__video-wrap,
.hero__layer--bg,
.hero__layer--particles,
.hero__layer--circuit,
.hero__grid,
.hero__watermark {
    border-radius: 32px;
    inset: 86px clamp(14px, 3vw, 42px) 28px;
}

.hero__layer--circuit {
    opacity: 0.34;
    mix-blend-mode: multiply;
}

.hero__content {
    width: min(1240px, 100%);
    max-width: none;
    margin: auto;
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(330px, 0.72fr);
    grid-template-areas:
        "badge panel"
        "summit panel"
        "mind panel"
        "year panel"
        "tagline panel"
        "desc panel"
        "live panel"
        "cta panel"
        "countdown countdown";
    column-gap: clamp(2rem, 5vw, 5.5rem);
    row-gap: 0.45rem;
    align-items: center;
    text-align: left;
}

.hero__content > :not(.hero__panel) {
    position: relative;
    z-index: 2;
}

.hero__badge { grid-area: badge; justify-self: start; margin-bottom: 1rem; }
.hero__title-summit { grid-area: summit; }
.hero__title-mind { grid-area: mind; }
.hero__title-year { grid-area: year; }
.hero__tagline { grid-area: tagline; }
.hero__desc { grid-area: desc; }
.hero__live { grid-area: live; justify-self: start; }
.hero__cta { grid-area: cta; justify-content: flex-start; }
.countdown { grid-area: countdown; }
.hero__panel { grid-area: panel; }

.hero__summit {
    font-size: clamp(2.4rem, 7vw, 6.2rem);
    color: rgba(7, 17, 31, 0.84);
    letter-spacing: 0.24em;
    margin: 0 0 -0.25rem;
}

.hero__mind,
.hero__mind .char {
    font-family: var(--font-display);
    font-size: clamp(5.4rem, 16vw, 13.8rem);
    line-height: 0.82;
    letter-spacing: 0.055em;
    background:
        linear-gradient(120deg, var(--ink) 0 18%, var(--cyan) 42%, var(--green) 78%, var(--blue) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.hero__year {
    display: inline-flex;
    width: fit-content;
    padding: 0.15rem 1rem;
    border-radius: 999px;
    color: #fff;
    background: var(--ink);
    font-size: clamp(1.2rem, 3.2vw, 2.8rem);
    letter-spacing: 0.16em;
    margin: 0.2rem 0 0.8rem;
}

.hero__tagline {
    margin: 0 0 0.6rem;
    color: var(--cyan-dim);
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.hero__desc {
    max-width: 680px;
    margin: 0 0 1.6rem;
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    color: rgba(7, 17, 31, 0.72);
}

.hero__live {
    margin: 0 0 1rem;
    color: var(--ink-soft);
}

.hero__live strong {
    color: var(--green-dim);
}

.hero__panel {
    position: relative;
    z-index: 2;
    min-height: clamp(440px, 50vw, 620px);
    padding: clamp(1.1rem, 2vw, 1.6rem);
    border-radius: 30px;
    border: 1px solid rgba(7, 17, 31, 0.1);
    background:
        linear-gradient(145deg, rgba(255,255,255,0.95), rgba(255,255,255,0.62)),
        linear-gradient(135deg, rgba(0,174,235,0.1), rgba(0,184,113,0.08));
    box-shadow: 0 30px 90px rgba(30, 64, 96, 0.16);
    overflow: hidden;
}

.hero__panel::before {
    content: '';
    position: absolute;
    inset: 14px;
    border-radius: 22px;
    border: 1px solid rgba(7, 17, 31, 0.08);
    background:
        linear-gradient(rgba(7, 17, 31, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7, 17, 31, 0.04) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: radial-gradient(circle at 50% 46%, transparent 0 26%, #000 56%);
}

.hero__panel-glow {
    position: absolute;
    width: 72%;
    aspect-ratio: 1;
    right: -18%;
    top: 8%;
    border-radius: 50%;
    background: conic-gradient(from 90deg, rgba(0,174,235,0.34), rgba(0,184,113,0.24), rgba(49,92,255,0.24), rgba(0,174,235,0.34));
    filter: blur(22px);
    opacity: 0.62;
}

.hero__panel-header {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--ink);
}

.hero__panel-logo {
    width: 70px;
    height: 70px;
    object-fit: contain;
    border-radius: 18px;
    background: #fff;
    padding: 0.55rem;
    box-shadow: 0 12px 34px rgba(30, 64, 96, 0.12);
}

.hero__panel-header span {
    display: block;
    color: var(--text-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.hero__panel-header strong {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 0.95;
}

.hero__orbit {
    position: relative;
    z-index: 2;
    width: min(360px, 76%);
    aspect-ratio: 1;
    margin: clamp(2rem, 5vw, 4.4rem) auto 2rem;
    display: grid;
    place-items: center;
}

.hero__orbit > span {
    position: absolute;
    inset: calc(var(--i, 0) * 8%);
    border: 1px solid rgba(7, 17, 31, 0.12);
    border-radius: 50%;
    transform: rotate(calc(var(--i, 0) * 18deg)) scaleX(1.12);
}

.hero__orbit > span:nth-child(1) { --i: 0; animation: orbitSpin 12s linear infinite; }
.hero__orbit > span:nth-child(2) { --i: 1; animation: orbitSpin 16s linear infinite reverse; }
.hero__orbit > span:nth-child(3) { --i: 2; animation: orbitSpin 20s linear infinite; }

.hero__orbit-core {
    width: 46%;
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,0.5), transparent 26%),
        var(--grad-primary);
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4.5vw, 4.4rem);
    letter-spacing: 0.05em;
    box-shadow: 0 20px 70px rgba(0, 174, 235, 0.26);
}

.hero__routes {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 0.65rem;
}

.hero__routes span {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.82rem 0.95rem;
    border: 1px solid rgba(7, 17, 31, 0.09);
    border-radius: 16px;
    color: var(--ink-soft);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 10px 28px rgba(30, 64, 96, 0.08);
}

.hero__routes span::before {
    content: '';
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--grad-primary);
    flex: 0 0 auto;
}

.countdown {
    width: min(760px, 100%);
    justify-content: flex-start;
    margin: clamp(1.4rem, 3vw, 2.4rem) 0 0;
}

.countdown__block {
    min-width: 118px;
    border-radius: 20px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.62)),
        rgba(234,247,255,0.74);
}

.section-divider {
    height: clamp(40px, 8vw, 110px);
    background:
        linear-gradient(135deg, transparent 0 18%, rgba(0,174,235,0.12) 18% 36%, transparent 36% 64%, rgba(0,184,113,0.1) 64% 82%, transparent 82%),
        linear-gradient(180deg, rgba(248,251,255,0.95), rgba(255,255,255,0.2));
}

@keyframes orbitSpin {
    to { transform: rotate(360deg) scaleX(1.12); }
}

@media (max-width: 980px) {

    .hero {
        padding-top: 126px;
    }

    .hero::before,
    .hero__video-wrap,
    .hero__layer--bg,
    .hero__layer--particles,
    .hero__layer--circuit,
    .hero__grid,
    .hero__watermark {
        inset: 76px 12px 18px;
        border-radius: 24px;
    }

    .hero__content {
        grid-template-columns: 1fr;
        grid-template-areas:
            "badge"
            "summit"
            "mind"
            "year"
            "tagline"
            "desc"
            "cta"
            "panel"
            "live"
            "countdown";
        row-gap: 0.55rem;
        text-align: center;
    }

    .hero__badge,
    .hero__year,
    .hero__live {
        justify-self: center;
    }

    .hero__desc {
        margin-left: auto;
        margin-right: auto;
    }

    .hero__cta {
        justify-content: center;
    }

    .hero__panel {
        min-height: 390px;
        margin-top: 1.4rem;
    }

    .countdown {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(520px, 100%);
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 560px) {
    .nav {
        top: 0;
    }

    .hero {
        padding-inline: 18px;
    }

    .hero__summit {
        letter-spacing: 0.16em;
    }

    .hero__mind,
    .hero__mind .char {
        font-size: clamp(4.4rem, 23vw, 7.6rem);
    }

    .hero__panel {
        min-height: 340px;
    }

    .hero__orbit {
        width: min(270px, 84%);
        margin: 1.8rem auto 1.4rem;
    }
}

#liquidCanvas {
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    opacity: 0.5;
    mix-blend-mode: screen;
}

.ripple-surface {
    position: relative;
    overflow: hidden;
}

.surface-ripple {
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    background:
        radial-gradient(circle, rgba(255,255,255,0.72) 0 18%, rgba(0,174,235,0.24) 42%, rgba(0,184,113,0.12) 64%, transparent 72%);
    pointer-events: none;
    animation: surfaceRipple 0.72s ease-out forwards;
    z-index: 4;
}

@keyframes surfaceRipple {
    to {
        transform: translate(-50%, -50%) scale(18);
        opacity: 0;
    }
}

.hero {
    min-height: 124svh;
    padding-bottom: clamp(110px, 14vw, 180px);
}

.hero::before {
    bottom: 60px;
}

.hero__content {
    padding-top: clamp(1rem, 4vw, 4rem);
}

.hero__floating-gallery {
    position: absolute;
    inset: 86px clamp(14px, 3vw, 42px) 28px;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
    border-radius: 32px;
}

.hero-float {
    position: absolute;
    margin: 0;
    padding: 3px;
    border-radius: 28px;
    background: var(--grad-primary);
    box-shadow: 0 24px 70px rgba(30, 64, 96, 0.18);
    opacity: 0.94;
    animation: imageFloat 7.5s ease-in-out infinite;
}

.hero-float::after {
    content: '';
    position: absolute;
    inset: -12px;
    border-radius: inherit;
    background: inherit;
    filter: blur(22px);
    opacity: 0.22;
    z-index: -1;
}

.hero-float img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 25px;
    clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 92%);
    filter: saturate(1.05) contrast(1.02);
}

.hero-float--one {
    width: clamp(120px, 13vw, 210px);
    aspect-ratio: 4 / 5;
    right: clamp(18px, 26vw, 360px);
    top: clamp(96px, 16vw, 210px);
    transform: rotate(-7deg);
}

.hero-float--two {
    width: clamp(112px, 12vw, 190px);
    aspect-ratio: 1;
    right: clamp(8px, 5vw, 90px);
    bottom: clamp(96px, 12vw, 170px);
    border-radius: 50%;
    animation-delay: 0.9s;
}

.hero-float--two img {
    border-radius: 50%;
    clip-path: circle(49% at 50% 50%);
}

.hero-float--three {
    width: clamp(120px, 14vw, 230px);
    aspect-ratio: 16 / 11;
    left: clamp(16px, 4vw, 80px);
    bottom: clamp(76px, 10vw, 150px);
    transform: rotate(5deg);
    animation-delay: 1.4s;
}

@keyframes imageFloat {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 -16px; }
}

.hero__panel {
    min-height: clamp(520px, 55vw, 720px);
    transform: translateY(28px);
}

.hero__panel::after {
    content: '';
    position: absolute;
    inset: auto 8% 8% 8%;
    height: 34%;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(0,174,235,0.2), rgba(0,184,113,0.16), rgba(49,92,255,0.14));
    filter: blur(34px);
    opacity: 0.65;
    pointer-events: none;
}

.hero__orbit-core {
    animation: corePulse 3.8s ease-in-out infinite;
}

@keyframes corePulse {
    0%, 100% { box-shadow: 0 20px 70px rgba(0, 174, 235, 0.26); }
    50% { box-shadow: 0 30px 94px rgba(0, 184, 113, 0.3); }
}

.section::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 160px;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(135deg, transparent 0 18%, rgba(0,174,235,0.08) 18% 36%, transparent 36% 64%, rgba(0,184,113,0.07) 64% 82%, transparent 82%);
    opacity: 0.8;
}

.speaker-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.76)),
        rgba(234,247,255,0.72);
    border: 1px solid rgba(7, 17, 31, 0.1);
    cursor: pointer;
}

.speaker-card__front {
    position: relative;
    background: transparent;
}

.speaker-card__photo-wrap {
    min-height: 250px;
    border-bottom: 1px solid rgba(7,17,31,0.08);
}

.speaker-card__photo-overlay {
    background:
        linear-gradient(to bottom, rgba(255,255,255,0.02), rgba(255,255,255,0.06) 45%, rgba(255,255,255,0.74));
}

.speaker-card__info {
    position: relative;
    z-index: 3;
    padding: 1rem 1.15rem 0.4rem;
    background: rgba(255,255,255,0.86);
}

.speaker-card__name {
    color: var(--ink) !important;
}

.speaker-card__role {
    color: var(--cyan-dim) !important;
}

.speaker-card__company {
    color: var(--text-secondary) !important;
}

.speaker-card__hint {
    position: relative;
    z-index: 3;
    color: var(--ink-soft);
    background: rgba(255,255,255,0.86);
    opacity: 1;
}

.speaker-modal__overlay {
    background: rgba(248, 251, 255, 0.82);
}

.speaker-modal__content {
    background: #fff;
    border-color: rgba(7,17,31,0.1);
    box-shadow: 0 34px 100px rgba(30,64,96,0.18);
}

.speaker-modal__left {
    background: linear-gradient(135deg, rgba(234,247,255,0.94), rgba(234,251,243,0.9));
}

.speaker-modal__photo-glow {
    background: linear-gradient(to right, transparent 58%, rgba(255,255,255,0.88) 100%);
}

.speaker-modal__name {
    color: var(--ink);
}

.speaker-modal__company,
.speaker-modal__bio,
.speaker-modal__topics h4 {
    color: var(--text-secondary);
}

.speaker-modal__divider {
    background: linear-gradient(to right, rgba(0,174,235,0.28), transparent);
}

.speaker-modal__close {
    color: var(--ink);
    background: rgba(7,17,31,0.05);
    border-color: rgba(7,17,31,0.1);
}

.speaker-modal__close:hover {
    color: var(--ink);
    background: rgba(0,174,235,0.1);
}

@media (max-width: 980px) {
    .hero {
        min-height: auto;
        padding-bottom: 96px;
    }

    .hero__floating-gallery {
        opacity: 0.28;
    }

    .hero-float--one,
    .hero-float--two {
        display: none;
    }

    .hero-float--three {
        left: auto;
        right: 18px;
        bottom: 42%;
    }

    .hero__panel {
        transform: none;
        min-height: 430px;
    }
}

@media (max-width: 560px) {
    #liquidCanvas {
        opacity: 0.45;
    }

    .hero__floating-gallery {
        display: none;
    }
}

.top-header {
    background: rgba(248, 252, 255, 0.78);
    border-bottom: 1px solid rgba(0, 174, 235, 0.16);
    box-shadow: 0 12px 32px rgba(7, 17, 31, 0.05);
}

.top-header::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -1px;
    width: min(560px, 78vw);
    height: 2px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, var(--cyan), var(--blue), transparent);
}

.top-header__inner {
    position: relative;
}

.top-header__inner::before,
.top-header__inner::after {
    content: '';
    position: absolute;
    top: 50%;
    width: clamp(72px, 12vw, 190px);
    height: 14px;
    border-top: 2px solid rgba(0, 174, 235, 0.45);
    border-bottom: 1px solid rgba(7, 17, 31, 0.12);
    transform: translateY(-50%) skewX(-26deg);
    opacity: 0.78;
}

.top-header__inner::before {
    right: calc(100% + 18px);
    background: linear-gradient(90deg, rgba(0, 174, 235, 0.16), transparent);
}

.top-header__inner::after {
    left: calc(100% + 18px);
    background: linear-gradient(90deg, transparent, rgba(0, 184, 113, 0.16));
}

.nav {
    background: transparent;
}

.nav.scrolled {
    background: rgba(248, 252, 255, 0.84);
}

.hero {
    min-height: 116svh;
    padding: 150px clamp(24px, 7vw, 120px) 130px;
    align-items: center;
    overflow: hidden;
    background: #f7fbff;
}

.hero::before {
    display: none;
}

.hero__video-wrap,
.hero__layer--bg,
.hero__layer--particles,
.hero__layer--circuit,
.hero__grid,
.hero__watermark,
.hero__floating-gallery {
    inset: 0;
    border-radius: 0;
}

.hero__video-wrap {
    display: block;
    opacity: 1;
    filter: saturate(0.9) contrast(0.95) brightness(1.12);
    mix-blend-mode: normal;
}

.hero__video-overlay {
    background:
        linear-gradient(90deg, rgba(248,252,255,0.98) 0 34%, rgba(248,252,255,0.86) 48%, rgba(248,252,255,0.62) 66%, rgba(248,252,255,0.88) 100%),
        linear-gradient(180deg, rgba(248,252,255,0.86), rgba(234,247,255,0.44) 48%, rgba(248,252,255,0.96));
}

.hero__layer--bg {
    opacity: 0.26;
}

.hero__layer--particles {
    opacity: 0.48;
}

.hero__layer--circuit {
    opacity: 0.14;
}

.hero__grid {
    opacity: 0.36;
}

.hero__watermark {
    left: 20%;
    opacity: 0.035;
}

#liquidCanvas {
    opacity: 0.38;
}

.hero__content {
    width: min(1280px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(360px, 560px) minmax(360px, 1fr);
    grid-template-areas:
        "badge visual"
        "summit visual"
        "mind visual"
        "year visual"
        "tagline visual"
        "desc visual"
        "live visual"
        "cta visual"
        "countdown visual";
    column-gap: clamp(3rem, 8vw, 9rem);
}

.hero__panel {
    display: none;
}

.hero__floating-gallery {
    z-index: 3;
    pointer-events: none;
    overflow: visible;
}

.hero-float {
    opacity: 1;
    animation-duration: 8.5s;
    box-shadow: 0 32px 90px rgba(0, 174, 235, 0.18), 0 22px 70px rgba(7, 17, 31, 0.12);
}

.hero-float img {
    clip-path: polygon(5% 0, 100% 0, 94% 100%, 0 92%);
}

.hero-float--one {
    width: clamp(260px, 25vw, 460px);
    aspect-ratio: 4 / 5;
    right: clamp(190px, 20vw, 390px);
    top: clamp(250px, 28vh, 360px);
    transform: rotate(-7deg);
    z-index: 2;
}

.hero-float--two {
    width: clamp(280px, 28vw, 520px);
    aspect-ratio: 4 / 5;
    right: clamp(52px, 10vw, 200px);
    top: clamp(190px, 22vh, 280px);
    border-radius: 30px;
    transform: rotate(5deg);
    z-index: 3;
}

.hero-float--two img {
    border-radius: 27px;
    clip-path: polygon(5% 0, 100% 0, 94% 100%, 0 92%);
}

.hero-float--three {
    width: clamp(220px, 22vw, 390px);
    aspect-ratio: 4 / 5;
    right: clamp(0px, 4vw, 88px);
    top: clamp(330px, 39vh, 470px);
    left: auto;
    bottom: auto;
    transform: rotate(10deg);
    z-index: 1;
}

.hero__badge {
    color: var(--cyan-dim);
    background: rgba(255,255,255,0.86);
    border-color: rgba(0,174,235,0.2);
}

.hero__summit {
    color: rgba(7, 17, 31, 0.72);
    text-shadow: none;
}

.hero__mind,
.hero__mind .char {
    filter: drop-shadow(0 18px 28px rgba(0, 174, 235, 0.16));
}

.hero__year {
    background: #07111F;
    box-shadow: 0 14px 30px rgba(7,17,31,0.14);
}

.hero__tagline {
    min-height: 1.4em;
}

.hero__desc {
    font-weight: 500;
    color: rgba(7,17,31,0.72);
}

.countdown {
    margin-top: 2.2rem;
    gap: 1rem;
}

.countdown__block {
    min-width: 112px;
    background: rgba(255,255,255,0.88);
}

@media (max-width: 1080px) {
    .hero {
        min-height: auto;
        padding-top: 132px;
    }

    .hero__content {
        grid-template-columns: 1fr;
        grid-template-areas:
            "badge"
            "summit"
            "mind"
            "year"
            "tagline"
            "desc"
            "live"
            "cta"
            "countdown";
        text-align: center;
    }

    .hero__floating-gallery {
        display: none;
    }
}

@media (max-width: 620px) {
    .hero__floating-gallery {
        display: none;
    }
}

.speakers {
    position: relative;
    overflow: hidden;
    background: var(--paper);
}

.speakers > .container {
    position: relative;
    z-index: 1;
}

.speakers::before,
.speakers::after,
.speakers__deco--1,
.speakers__deco--2 {
    content: '';
    position: absolute;
    z-index: 0;
    pointer-events: none;
    display: block;
    border-radius: 2px;
}

.speakers::before {
    top: -14%;
    right: -12%;
    width: 520px;
    height: 620px;
    background: rgba(0, 229, 255, 0.06);
    transform: skewX(-16deg);
}

.speakers::after {
    left: -10%;
    bottom: -18%;
    width: 450px;
    height: 520px;
    background: rgba(49, 92, 255, 0.05);
    transform: skewX(-14deg);
}

.speakers__deco--1 {
    left: -8%;
    top: 34%;
    width: 280px;
    height: 400px;
    background: rgba(0, 255, 136, 0.06);
    transform: skewX(-20deg);
}

.speakers__deco--2 {
    right: 10%;
    top: 42%;
    width: 180px;
    height: 300px;
    background: rgba(0, 229, 255, 0.05);
    transform: skewX(-18deg);
}

.cta-final {
    position: relative;
    overflow: hidden;
    background: var(--paper);
    color: var(--ink);
}

.cta-final > .cta-final__bg,
.cta-final > .cta-final__aurora,
.cta-final > .cta-final__deco--1,
.cta-final > .cta-final__deco--2 {
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.cta-final > .cta-final__content {
    position: relative;
    z-index: 1;
}

.cta-final::before,
.cta-final::after,
.cta-final__deco--1,
.cta-final__deco--2 {
    content: '';
    position: absolute;
    z-index: 0;
    pointer-events: none;
    display: block;
    border-radius: 2px;
}

.cta-final::before {
    top: -16%;
    left: -14%;
    width: 520px;
    height: 580px;
    background: rgba(0, 255, 136, 0.06);
    transform: skewX(-15deg);
}

.cta-final::after {
    right: -12%;
    bottom: -16%;
    width: 480px;
    height: 520px;
    background: rgba(49, 92, 255, 0.05);
    transform: skewX(-13deg);
}

.cta-final__deco--1 {
    right: -6%;
    top: 12%;
    width: 300px;
    height: 420px;
    background: rgba(0, 229, 255, 0.05);
    transform: skewX(-19deg);
}

.cta-final__deco--2 {
    left: -8%;
    top: 48%;
    width: 160px;
    height: 280px;
    background: rgba(0, 255, 136, 0.06);
    transform: skewX(-17deg);
}

.cta-final__bg {
    opacity: 0.08;
    mix-blend-mode: normal;
    filter: saturate(0.8) brightness(1.15);
}

.cta-final__bg::after {
    background:
        linear-gradient(to bottom, rgba(248, 251, 255, 0.96) 0%, transparent 30%, transparent 70%, rgba(248, 251, 255, 0.96) 100%),
        linear-gradient(to right, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0.74));
}

.cta-final__aurora {
    opacity: 0.04;
    filter: blur(28px);
}

.cta-final__content {
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(7, 17, 31, 0.08);
    box-shadow: 0 24px 60px rgba(30, 64, 96, 0.12);
}

.cta-final__pre {
    color: var(--cyan-dim);
}

.cta-final__title {
    color: var(--ink);
    background: none;
    -webkit-text-fill-color: var(--ink);
    text-shadow: none;
}

.cta-final__sub {
    color: var(--text-secondary);
}

.cta-final__meta span {
    color: var(--text-secondary);
    border: 1px solid rgba(7, 17, 31, 0.10);
    background: rgba(255, 255, 255, 0.82);
}

@keyframes livePulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.5); opacity: 0.5; }
}

@keyframes floatFragment {
    0%, 100% {
        transform: translateY(0px) rotate(-1deg);
        opacity: 0.3;
    }
    50% {
        transform: translateY(-10px) rotate(1deg);
        opacity: 0.6;
    }
}

@keyframes glowPulse {
    0%, 100% { box-shadow: 0 0 20px rgba(0,229,255,0.1); }
    50% { box-shadow: 0 0 40px rgba(0,229,255,0.25); }
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes rotateSlow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes borderScan {
    0% {
        background-position: 0% 0%;
    }
    50% {
        background-position: 100% 100%;
    }
    100% {
        background-position: 0% 0%;
    }
}

@keyframes scrollLine {
    0% { transform: scaleY(0); transform-origin: top; }
    50% { transform: scaleY(1); transform-origin: top; }
    51% { transform-origin: bottom; }
    100% { transform: scaleY(0); transform-origin: bottom; }
}

.animate-float { animation: float 3s ease-in-out infinite; }
.animate-glow { animation: glowPulse 3s ease-in-out infinite; }
.animate-shimmer {
    background: linear-gradient(90deg, transparent, rgba(0,229,255,0.08), transparent);
    background-size: 200% 100%;
    animation: shimmer 3s ease-in-out infinite;
}

.reveal-up {
    opacity: 0;
    transform: translateY(40px);
}
.reveal-left {
    opacity: 0;
    transform: translateX(-40px);
}
.reveal-right {
    opacity: 0;
    transform: translateX(40px);
}
.reveal-scale {
    opacity: 0;
    transform: scale(0.9);
}

.img-loading {
    position: relative;
    overflow: hidden;
}
.img-loading::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(0,229,255,0.06), transparent);
    background-size: 200% 100%;
    animation: shimmer 1.5s ease-in-out infinite;
}
.img-loaded::after {
    display: none;
}

.nav--tech {
    background: linear-gradient(90deg, rgba(255,255,255,0.94), rgba(234,247,255,0.9), rgba(234,251,243,0.94)) !important;
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1200 !important;
    isolation: isolate;
    overflow: visible;
}

.nav--tech .nav__inner {
    padding: 14px 24px;
    position: relative;
    z-index: 2;
}

.nav--tech.scrolled {
    background: rgba(255,255,255,0.97) !important;
    box-shadow: 0 4px 30px rgba(30,64,96,0.08), 0 1px 0 rgba(0,174,235,0.08);
}

.nav__circuit {
    position: absolute;
    width: 28px;
    height: 28px;
    z-index: 3;
    pointer-events: none;
    opacity: 0.75;
    transition: opacity 0.4s ease;
}
.nav--tech:hover .nav__circuit { opacity: 1; }
.nav__circuit svg { width: 100%; height: 100%; overflow: visible; }
.nav__circuit--tl { top: 4px; left: 6px; }
.nav__circuit--tr { top: 4px; right: 6px; }
.nav__circuit--bl { bottom: 4px; left: 6px; }
.nav__circuit--br { bottom: 4px; right: 6px; }

.nav__scan-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(0,174,235,0.06), rgba(0,184,113,0.04), transparent);
    animation: navScan 6s ease-in-out infinite;
    opacity: 0.8;
}
@keyframes navScan {
    0%, 100% { left: -120px; opacity: 0; }
    10% { opacity: 0.8; }
    90% { opacity: 0.8; }
    100% { left: calc(100% + 120px); opacity: 0; }
}

.nav__glow-line {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 5%, rgba(0,174,235,0.45) 20%, rgba(0,184,113,0.35) 50%, rgba(49,92,255,0.3) 80%, transparent 95%);
    opacity: 0.7;
    z-index: 2;
    transition: opacity 0.3s;
}
.nav--tech.scrolled .nav__glow-line { opacity: 1; }

.nav__glow-dot {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    animation: glowDotPulse 2.5s ease-in-out infinite;
}
.nav__glow-dot--left { left: 8%; background: var(--green, #00B871); box-shadow: 0 0 10px rgba(0,184,113,0.5); }
.nav__glow-dot--right { right: 8%; background: var(--cyan, #00AEEB); box-shadow: 0 0 10px rgba(0,174,235,0.5); animation-delay: 1.25s; }
@keyframes glowDotPulse {
    0%, 100% { opacity: 0.4; transform: translateY(-50%) scale(0.8); }
    50% { opacity: 1; transform: translateY(-50%) scale(1.2); }
}

.nav__info-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 14px;
    border-radius: 100px;
    border: 1px solid rgba(0,174,235,0.12);
    background: rgba(255,255,255,0.7);
    font-family: var(--font-mono, 'Share Tech Mono', monospace);
    font-size: 11px;
    letter-spacing: 0.06em;
    color: var(--text-muted, #66768A);
    white-space: nowrap;
    backdrop-filter: blur(8px);
}
.nav__info-chip svg { color: var(--cyan-dim, #0093C4); opacity: 0.65; flex-shrink: 0; }
.nav__info-sep { opacity: 0.3; }

.nav__logo-accent { font-weight: 400; opacity: 0.45; margin-left: 4px; font-size: 0.85em; }

.nav__cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 24px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    font-family: var(--font-body);
    color: #fff !important;
    background: var(--grad-primary);
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 6px 24px rgba(0,174,235,0.25);
    position: relative;
    overflow: hidden;
}
.nav__cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 36px rgba(0,174,235,0.35);
    color: #fff !important;
}
.nav__cta-glow {
    position: absolute;
    inset: -2px;
    border-radius: 999px;
    background: var(--grad-primary);
    opacity: 0;
    filter: blur(12px);
    transition: opacity 0.3s;
    z-index: -1;
}
.nav__cta-btn:hover .nav__cta-glow { opacity: 0.5; }

.nav__actions { display: flex; align-items: center; gap: 12px; }

.hero {
    min-height: 100svh !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    padding: 140px 24px 100px !important;
    text-align: left !important;
    background:
        linear-gradient(180deg, rgba(248,251,255,0.95) 0%, rgba(234,247,255,0.6) 40%, rgba(234,251,243,0.5) 70%, rgba(248,251,255,0.98) 100%),
        var(--paper, #F8FBFF) !important;
}

.hero::before {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    right: 0 !important;
    height: 160px !important;
    z-index: 5 !important;
    pointer-events: none !important;
    background: linear-gradient(to bottom,
        transparent,
        rgba(248,251,255,0.5) 40%,
        var(--paper, #F8FBFF) 100%
    ) !important;
}

.hero::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    background: repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0,174,235,0.008) 3px, rgba(0,174,235,0.008) 6px) !important;
    pointer-events: none !important;
}

.hero__bottom-glow {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 6;
    background: linear-gradient(90deg,
        transparent 5%, rgba(0,174,235,0.5) 25%, rgba(0,184,113,0.4) 50%, rgba(49,92,255,0.3) 75%, transparent 95%
    );
    filter: blur(0.5px);
}
.hero__bottom-glow::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 10%;
    right: 10%;
    height: 16px;
    background: linear-gradient(90deg, transparent, rgba(0,174,235,0.12), rgba(0,184,113,0.08), transparent);
    filter: blur(10px);
}

.hero__video-wrap {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    overflow: hidden !important;
    opacity: 0.15 !important;
}
.hero__video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%,-50%) scale(1.05);
    object-fit: cover;
    filter: saturate(0.6) brightness(0.9);
}
.hero__video-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(180deg,
        rgba(248,251,255,0.85) 0%,
        rgba(248,251,255,0.3) 30%,
        rgba(234,247,255,0.4) 60%,
        rgba(248,251,255,0.9) 100%
    ) !important;
}

.hero__lines {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
}
.hero__line {
    position: absolute;
    width: 2px;
    opacity: 0;
    animation: heroLineAppear 2s ease-out forwards;
}
.hero__line::after {
    content: '';
    position: absolute;
    top: 0;
    left: -3px;
    width: 8px;
    height: 50px;
    border-radius: 4px;
    background: linear-gradient(180deg, transparent, rgba(0,174,235,0.6), rgba(0,184,113,0.5), transparent);
    filter: blur(3px);
    animation: linePulse 5s ease-in-out infinite;
}
.hero__line--1 { height: 100%; left: 6%; background: linear-gradient(180deg, transparent, rgba(0,174,235,0.2) 25%, rgba(0,184,113,0.15) 55%, transparent); animation-delay: 0.3s; }
.hero__line--2 { height: 55%; left: 20%; bottom: 0; background: linear-gradient(0deg, transparent, rgba(0,184,113,0.12) 40%, transparent); animation-delay: 0.7s; }
.hero__line--3 { height: 75%; right: 16%; top: 8%; background: linear-gradient(180deg, transparent, rgba(49,92,255,0.15) 30%, rgba(0,174,235,0.1) 65%, transparent); animation-delay: 1s; }
.hero__line--4 { height: 40%; right: 5%; top: 0; background: linear-gradient(180deg, transparent, rgba(0,174,235,0.12) 50%, transparent); animation-delay: 1.3s; }
.hero__line--5 { height: 30%; left: 40%; bottom: 0; background: linear-gradient(0deg, transparent, rgba(0,184,113,0.1) 50%, transparent); animation-delay: 1.6s; }
@keyframes heroLineAppear { 0% { opacity: 0; transform: scaleY(0); transform-origin: top; } 100% { opacity: 1; transform: scaleY(1); } }
@keyframes linePulse { 0% { top: -50px; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { top: calc(100% + 50px); opacity: 0; } }

.hero__orb {
    display: block !important;
    position: absolute !important;
    border-radius: 50% !important;
    filter: blur(100px) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
.hero__orb--cyan { width: 450px; height: 450px; background: rgba(0,174,235,0.12) !important; left: -8%; top: 15%; opacity: 1 !important; }
.hero__orb--green { width: 380px; height: 380px; background: rgba(0,184,113,0.08) !important; right: -5%; bottom: 20%; opacity: 1 !important; }
.hero__orb--blue { width: 320px; height: 320px; background: rgba(49,92,255,0.06) !important; left: 50%; top: -8%; transform: translateX(-50%); opacity: 1 !important; }

.hero .hero__grid {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    opacity: 0.5 !important;
    background-image: linear-gradient(rgba(0,174,235,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0,174,235,0.04) 1px, transparent 1px) !important;
    background-size: 72px 72px !important;
    pointer-events: none !important;
    mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, transparent 70%) !important;
    -webkit-mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, transparent 70%) !important;
}

.hero__split {
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 5vw, 80px);
    align-items: center;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.hero__text-col { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }

.hero .hero__badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    color: var(--cyan-dim) !important;
    border: 1px solid rgba(0,174,235,0.2) !important;
    border-radius: 100px !important;
    padding: 8px 22px !important;
    margin-bottom: 28px !important;
    background: rgba(255,255,255,0.8) !important;
    backdrop-filter: blur(12px) !important;
    box-shadow: 0 8px 28px rgba(0,174,235,0.08) !important;
}
.hero__badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); animation: livePulse 2s ease-in-out infinite; flex-shrink: 0; }
.hero__badge-sep { opacity: 0.3; }

.hero__titles { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 12px; }

.hero .hero__summit {
    font-family: var(--font-display) !important;
    font-size: clamp(28px, 5vw, 52px) !important;
    color: var(--ink, #07111F) !important;
    letter-spacing: 0.45em !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
    opacity: 0.6;
}

.hero .hero__mind,
.hero .hero__mind .char {
    font-family: var(--font-display) !important;
    font-size: clamp(90px, 14vw, 200px) !important;
    line-height: 0.88 !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 4px !important;
    background: var(--grad-text) !important;
    background-size: 100% !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 4px 30px rgba(0,174,235,0.15));
}

.hero .hero__year {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 4px !important;
    margin-bottom: 12px !important;
    width: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: inherit !important;
    font-size: inherit !important;
}
.hero__year-text {
    font-family: 'Share Tech Mono', var(--font-mono);
    font-size: clamp(16px, 2.5vw, 26px);
    letter-spacing: 0.3em;
    color: var(--ink, #07111F);
    opacity: 0.35;
}
.hero__year-line {
    display: block;
    width: clamp(30px, 6vw, 80px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0,174,235,0.4), rgba(0,184,113,0.3), transparent);
}

.hero .hero__tagline {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 15px !important;
    margin-bottom: 14px !important;
    min-height: 24px !important;
}
.hero__tagline-label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); font-weight: 500; }
.hero .hero__eje-ciclo { background: var(--grad-text) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; font-weight: 700; font-size: 16px; }
.hero__tagline-cursor { color: var(--cyan-dim); font-weight: 300; animation: cursorBlink 1s step-end infinite; }
@keyframes cursorBlink { 0%,100% { opacity: 1; } 50% { opacity: 0; } }

.hero .hero__desc {
    font-size: 16px !important;
    color: var(--text-secondary) !important;
    max-width: 520px !important;
    margin: 0 0 28px !important;
    line-height: 1.75 !important;
    text-align: left !important;
}

.hero .countdown {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin-bottom: 20px !important;
    justify-content: flex-start !important;
}
.hero .countdown__block {
    text-align: center !important;
    padding: 14px 16px !important;
    min-width: 72px !important;
    border: 1px solid rgba(0,174,235,0.12) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.8) !important;
    backdrop-filter: blur(12px) !important;
    box-shadow: 0 8px 24px rgba(30,64,96,0.06) !important;
    transition: all 0.3s !important;
    position: relative !important;
    overflow: hidden !important;
}
.hero .countdown__block:hover { border-color: rgba(0,174,235,0.3) !important; transform: translateY(-2px) !important; box-shadow: 0 12px 32px rgba(0,174,235,0.12) !important; }
.hero .countdown__number {
    font-family: 'Share Tech Mono', var(--font-mono) !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    color: var(--cyan-dim) !important;
    -webkit-text-fill-color: var(--cyan-dim) !important;
    background: none !important;
    line-height: 1 !important;
    display: block !important;
    margin-bottom: 4px !important;
}
.hero .countdown__label { font-size: 10px !important; text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-muted) !important; }
.countdown__sep { font-family: var(--font-mono); font-size: 24px; color: rgba(0,174,235,0.25); padding: 0 6px; animation: sepPulse 1s ease-in-out infinite; margin-bottom: 12px; }
@keyframes sepPulse { 0%,100% { opacity: 1; } 50% { opacity: 0.2; } }

.hero .hero__live {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    margin: 0 0 24px !important;
    padding: 8px 16px !important;
    width: auto !important;
    border: 1px solid rgba(0,184,113,0.15) !important;
    border-radius: 100px !important;
    background: rgba(255,255,255,0.7) !important;
    box-shadow: 0 6px 20px rgba(0,184,113,0.06) !important;
    color: var(--text-muted) !important;
}
.hero .hero__live strong { color: var(--green) !important; font-weight: 700; }
.hero .hero__live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); animation: livePulse 2s ease-in-out infinite; box-shadow: 0 0 10px rgba(0,184,113,0.3); flex-shrink: 0; }

.hero .hero__cta { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; }
.hero__cta-main { position: relative; overflow: hidden; }
.hero__cta-main span, .hero__cta-main svg { position: relative; z-index: 1; }

.hero__images-col { position: relative; min-height: 560px; perspective: 1000px; }
.hero__float-stack { position: relative; width: 100%; height: 100%; min-height: 560px; }

.hero__float-card {
    position: absolute;
    margin: 0;
    padding: 0;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0,174,235,0.12);
    box-shadow: 0 20px 60px rgba(30,64,96,0.12), 0 0 0 1px rgba(0,174,235,0.05);
    transition: transform 0.4s cubic-bezier(0.23,1,0.32,1), box-shadow 0.4s ease;
    cursor: pointer;
    will-change: transform;
}
.hero__float-card:hover {
    border-color: rgba(0,174,235,0.3);
    box-shadow: 0 30px 80px rgba(30,64,96,0.18), 0 0 40px rgba(0,174,235,0.1);
    z-index: 10;
}
.hero__float-card img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 19px; transition: transform 0.6s ease; }
.hero__float-card:hover img { transform: scale(1.04); }

.hero__float-card-glow {
    position: absolute;
    inset: -3px;
    border-radius: 24px;
    background: var(--grad-primary);
    opacity: 0;
    transition: opacity 0.4s;
    z-index: -1;
    filter: blur(18px);
}
.hero__float-card:hover .hero__float-card-glow { opacity: 0.25; }

.hero__float-card-label {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 14px 16px;
    background: linear-gradient(to top, rgba(7,17,31,0.85), transparent);
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: #fff;
    text-transform: uppercase;
    border-radius: 0 0 19px 19px;
}
.hero__float-card-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

.hero__float-card--1 { width: 55%; aspect-ratio: 4/5; top: 0; right: 5%; transform: rotate(-3deg); animation: heroFloat1 6s ease-in-out infinite; z-index: 3; }
.hero__float-card--2 { width: 48%; aspect-ratio: 1; bottom: 5%; left: 0; transform: rotate(4deg); animation: heroFloat2 7s ease-in-out 0.5s infinite; z-index: 2; }
.hero__float-card--3 { width: 42%; aspect-ratio: 16/11; top: 45%; right: -2%; transform: rotate(-2deg); animation: heroFloat3 5.5s ease-in-out 1s infinite; z-index: 1; }
@keyframes heroFloat1 { 0%,100% { translate: 0 0; } 50% { translate: -8px -14px; } }
@keyframes heroFloat2 { 0%,100% { translate: 0 0; } 50% { translate: 10px -10px; } }
@keyframes heroFloat3 { 0%,100% { translate: 0 0; } 50% { translate: -6px -18px; } }

.hero__info-bar {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 12px 28px;
    border-radius: 100px;
    background: rgba(255,255,255,0.8);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(0,174,235,0.1);
    box-shadow: 0 12px 40px rgba(30,64,96,0.08);
}
.hero__info-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; color: var(--text-muted, #66768A); white-space: nowrap; }
.hero__info-item svg { color: var(--cyan-dim); opacity: 0.7; }
.hero__info-sep { width: 1px; height: 16px; background: rgba(0,174,235,0.15); }

.hero .scroll-indicator { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 10; }

#liquidCanvas {
    z-index: 9999 !important;
    mix-blend-mode: multiply !important;
    opacity: 0.35 !important;
    filter: blur(8px);
}

.divider--1 {
    position: relative !important;
}
.divider--1::after {
    content: '';
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0,174,235,0.3), rgba(0,184,113,0.25), rgba(49,92,255,0.2), transparent);
}

@media (max-width: 1024px) {
    .hero__split { grid-template-columns: 1fr !important; text-align: center !important; }
    .hero__text-col { align-items: center !important; }
    .hero .hero__titles { align-items: center !important; }
    .hero .hero__desc { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
    .hero .countdown { justify-content: center !important; }
    .hero .hero__cta { justify-content: center !important; }
    .hero__images-col { min-height: 420px; margin-top: 24px; }
    .hero__float-card--1 { width: 45%; right: 10%; }
    .hero__float-card--2 { width: 40%; left: 5%; }
    .hero__float-card--3 { width: 36%; right: 5%; }
}
@media (max-width: 768px) {
    .hero { padding: 110px 18px 80px !important; }
    .hero .hero__mind { font-size: clamp(70px, 20vw, 120px) !important; }
    .hero .hero__summit { letter-spacing: 0.3em !important; }
    .hero .hero__cta { flex-direction: column !important; width: 100% !important; }
    .hero .hero__cta .btn { width: 100% !important; }
    .hero__images-col { min-height: 350px; }
    .hero__float-card--1 { width: 50%; }
    .hero__float-card--2 { width: 44%; }
    .hero__float-card--3 { width: 38%; }
    .hero__info-bar { padding: 10px 20px; gap: 12px; bottom: 64px; }
    .hero__line--2, .hero__line--5 { display: none; }
    .hero .countdown__block { min-width: 60px !important; padding: 10px 12px !important; }
    .hero .countdown__number { font-size: 26px !important; }
}
@media (max-width: 480px) {
    .hero .hero__mind { font-size: clamp(56px, 22vw, 90px) !important; }
    .hero .hero__summit { font-size: clamp(20px, 6vw, 32px) !important; }
    .hero .hero__badge { font-size: 10px !important; padding: 6px 16px !important; }
    .hero__images-col { min-height: 300px; }
    .hero__info-bar { flex-wrap: wrap; justify-content: center; border-radius: 16px; gap: 8px; }
    .hero__info-sep { display: none; }
    .hero__line--3, .hero__line--4 { display: none; }
}

@media (max-width: 1024px) {
    .ejes-interactive {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .ejes-tabs {
        flex-direction: row;
        overflow-x: auto;
        gap: 10px;
        padding-bottom: 8px;
    }
    .eje-tab {
        min-width: 200px;
        flex-shrink: 0;
    }
    .sobre {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .sobre__sticky-img {
        position: relative;
        height: 50vh;
        order: -1;
    }
    .sobre__panel {
        opacity: 1;
        transform: none;
        min-height: auto;
        padding: 3rem 2rem;
    }
    .brochure__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .pricing__grid {
        gap: 20px;
    }

    .sponsor-tier-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-placeholder-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .galeria-masonry {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    :root {
        --section-padding: 80px 0;
    }

    
    .nav__links, .nav__cta.desktop-only, .nav__info-chip { display: none; }
    .nav__hamburger { display: flex; }
    .nav__mobile { display: flex; }

    
    .hero { padding: 100px 20px 60px; }
    .hero__mind { font-size: clamp(48px, 14vw, 80px); }
    .hero__summit { font-size: clamp(28px, 8vw, 48px); letter-spacing: 0.2em; }
    .hero__desc { font-size: 15px; }
    .hero-floating-cards { display: none; }

    
    .countdown {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        max-width: 300px;
        margin-left: auto;
        margin-right: auto;
    }
    .countdown__number { font-size: 32px; }

    
    .sobre {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .sobre__sticky-img {
        position: relative;
        height: 40vh;
        order: -1;
    }
    .about-floating-ui { display: none; }
    .sobre__panel {
        opacity: 1;
        transform: none;
        min-height: auto;
        padding: 2.5rem 1.5rem;
    }
    .sobre__panel-title { font-size: 32px; }
    .stats-editorial { flex-wrap: wrap; }
    .stat-item {
        flex: 1 1 45%;
        min-width: 45%;
        border-right: none;
    }
    .stat-item:nth-child(1), .stat-item:nth-child(2) {
        border-bottom: 1px solid rgba(0,229,255,0.08);
    }
    .stat-number { font-size: 56px; }

    
    .section-divider { height: 100px; }

    
    .eje-main { padding: 28px 24px; }
    .eje-main__letter { font-size: 120px; }
    .eje-main__title { font-size: 26px; }

    
    .speakers-swiper .swiper-slide { width: 260px; }
    .speaker-card__photo-wrap { height: 260px; }
    .speakers-swiper .swiper-button-prev,
    .speakers-swiper .swiper-button-next { display: none; }

    
    .timeline__line { left: 20px; }
    .timeline__light { left: 20px; }
    .timeline__item:nth-child(odd),
    .timeline__item:nth-child(even) {
        flex-direction: row;
        padding-right: 0;
        padding-left: 56px;
        text-align: left;
    }
    .timeline__dot {
        left: 20px;
    }

    
    .pricing__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .plan-black { order: -1; transform: none; }
    .plan-black:hover { transform: translateY(-4px); }

    
    .galeria-masonry {
        grid-template-columns: repeat(2, 1fr);
    }

    
    .cta-final { min-height: 60vh; padding: 60px 20px; }
    .cta-final__title { font-size: clamp(28px, 8vw, 48px); }
    .cta-final__sub { font-size: 15px; }

    
    .speaker-modal { padding: 0; align-items: flex-end; }
    .speaker-modal__content {
        grid-template-columns: 1fr;
        max-height: 92vh;
        border-radius: 20px 20px 0 0;
    }
    .speaker-modal__photo-container { min-height: 250px; }
    .speaker-modal__right { padding: 1.5rem; }
    .speaker-modal__name { font-size: 1.5rem; }

    
    .hero__live { font-size: 0.8rem; }

    .sponsor-tier-layout {
        grid-template-columns: 1fr;
    }

    .gallery-placeholder-grid {
        grid-template-columns: 1fr;
    }

    
    .footer__top {
        flex-direction: column;
        gap: 32px;
    }
    .footer__links { gap: 32px; }
    .footer__watermark { font-size: 100px; }
}

@media (max-width: 480px) {
    .hero__mind { font-size: 48px; }
    .hero__summit { font-size: 24px; letter-spacing: 0.15em; }
    .hero__badge { font-size: 11px; padding: 6px 16px; }

    .section-title { font-size: 32px; }
    .section-subtitle { font-size: 17px; }

    .stat-number { font-size: 48px; }
    .stat-item { padding: 1.2rem 1rem; }

    .eje-tab { min-width: 160px; padding: 14px 16px; }
    .eje-tab__letter { font-size: 24px; }
    .eje-tab__name { font-size: 13px; }

    .plan-card { padding: 28px 20px; }
    .plan-card__price { font-size: 32px; }

    .galeria-masonry { grid-template-columns: 1fr; }

    .sponsors__marquee { padding: 16px 0; }

    
    .floating-badge { display: none; }

    
    .section-divider { height: 60px; }
}

.nav--tech {
    position: fixed !important;
    top: 14px !important;
    left: 50% !important;
    right: auto !important;
    width: min(1240px, calc(100% - 32px)) !important;
    transform: translateX(-50%) !important;
    padding: 0 !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.80), rgba(239,251,255,0.64), rgba(255,255,255,0.78)) !important;
    border: 1px solid rgba(0,174,235,0.18) !important;
    border-bottom-color: rgba(0,184,113,0.20) !important;
    border-radius: 0 !important;
    clip-path: polygon(18px 0, calc(100% - 48px) 0, 100% 50%, calc(100% - 18px) 100%, 48px 100%, 0 50%);
    box-shadow: 0 18px 60px rgba(8,32,52,0.10), inset 0 1px 0 rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(24px) saturate(1.25) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.25) !important;
}

.nav--tech.scrolled {
    top: 10px !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.92), rgba(240,251,255,0.86), rgba(255,255,255,0.92)) !important;
    box-shadow: 0 18px 52px rgba(8,32,52,0.13) !important;
}

.nav--tech .nav__inner {
    min-height: 58px !important;
    padding: 0 clamp(20px, 3vw, 42px) !important;
}

.nav__logo-img {
    width: 34px;
    height: 34px;
}

.nav__logo-text,
.nav__link,
.nav__info-chip {
    color: rgba(7,17,31,0.76) !important;
}

.nav__link::after {
    background: linear-gradient(90deg, #00AEEB, #00B871) !important;
}

.nav__cta-btn {
    color: #fff !important;
    background: linear-gradient(120deg, #07111F, #123C68 48%, #00AEEB) !important;
    box-shadow: 0 12px 32px rgba(0,174,235,0.24) !important;
}

.nav__circuit {
    opacity: 0.42 !important;
}

.nav__glow-line {
    bottom: -2px;
    left: 6%;
    right: 6%;
    opacity: 0.72 !important;
}

.hero {
    min-height: max(920px, 112svh) !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(120px, 14vh, 170px) clamp(24px, 6vw, 108px) 130px !important;
    background: #F8FBFF !important;
    isolation: isolate;
}

.hero::before {
    display: block !important;
    height: 220px !important;
    z-index: 7 !important;
    background: linear-gradient(180deg, transparent, rgba(248,251,255,0.66) 54%, #F8FBFF 100%) !important;
}

.hero::after {
    z-index: 5 !important;
    opacity: 0.54 !important;
    background:
        linear-gradient(90deg, transparent 0 18%, rgba(0,174,235,0.10) 18.08%, transparent 18.18% 56%, rgba(0,184,113,0.10) 56.08%, transparent 56.18%),
        repeating-linear-gradient(0deg, transparent 0 4px, rgba(0,174,235,0.018) 4px 5px) !important;
}

.hero__video-wrap {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    opacity: 1 !important;
    filter: saturate(1.08) contrast(1.02) brightness(1.08) !important;
    mix-blend-mode: normal !important;
}

.hero__video {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    transform: translate(-50%, -50%) scale(1.08) !important;
    filter: none !important;
}

.hero__video-overlay {
    background:
        radial-gradient(circle at 74% 45%, rgba(0,174,235,0.18), transparent 30%),
        radial-gradient(circle at 46% 34%, rgba(0,184,113,0.12), transparent 28%),
        linear-gradient(90deg, rgba(248,251,255,0.93) 0%, rgba(248,251,255,0.84) 36%, rgba(248,251,255,0.52) 62%, rgba(248,251,255,0.82) 100%),
        linear-gradient(180deg, rgba(248,251,255,0.88) 0%, rgba(248,251,255,0.40) 38%, rgba(248,251,255,0.94) 100%) !important;
}

.hero__lines {
    z-index: 3 !important;
    opacity: 0.56;
}

.hero .hero__grid {
    z-index: 2 !important;
    opacity: 0.72 !important;
    background-size: 96px 96px !important;
    background-image:
        linear-gradient(rgba(0,174,235,0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,174,235,0.052) 1px, transparent 1px) !important;
    mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent) !important;
}

.hero__orb {
    filter: blur(110px) !important;
    opacity: 0.72 !important;
}

.hero__layer--particles {
    z-index: 4 !important;
    opacity: 0.34 !important;
}

#liquidCanvas {
    opacity: 0.24 !important;
    filter: blur(9px);
}

.hero__split {
    z-index: 10 !important;
    width: min(1320px, 100%) !important;
    grid-template-columns: minmax(390px, 0.82fr) minmax(470px, 1fr) !important;
    gap: clamp(44px, 7vw, 116px) !important;
    align-items: center !important;
}

.hero__text-col {
    position: relative;
    padding: clamp(18px, 3vw, 36px) 0;
}

.hero__text-col::before {
    content: '';
    position: absolute;
    left: -28px;
    top: 2%;
    width: 5px;
    height: 86%;
    background: linear-gradient(180deg, transparent, #00AEEB, #00B871, transparent);
    box-shadow: 0 0 28px rgba(0,174,235,0.34);
    clip-path: polygon(0 0, 100% 12px, 100% calc(100% - 12px), 0 100%);
    opacity: 0.72;
}

.hero .hero__badge {
    border-radius: 0 !important;
    clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%) !important;
    background: rgba(255,255,255,0.76) !important;
    border-color: rgba(0,174,235,0.26) !important;
    box-shadow: 0 14px 34px rgba(8,32,52,0.08) !important;
}

.hero .hero__summit {
    font-size: clamp(44px, 5.6vw, 82px) !important;
    letter-spacing: 0.36em !important;
    color: rgba(7,17,31,0.68) !important;
}

.hero .hero__mind,
.hero .hero__mind .char {
    font-size: clamp(124px, 14vw, 238px) !important;
    letter-spacing: 0 !important;
    background: linear-gradient(180deg, #0F2538 0%, #008AC2 48%, #00D5D8 86%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    filter: drop-shadow(0 24px 36px rgba(0,174,235,0.18)) !important;
}

.hero__year-text {
    color: rgba(7,17,31,0.48) !important;
}

.hero .hero__tagline {
    margin-top: 10px !important;
}

.hero .hero__desc {
    max-width: 600px !important;
    font-size: clamp(16px, 1.15vw, 18px) !important;
    color: rgba(7,17,31,0.70) !important;
    line-height: 1.82 !important;
}

.hero .hero__cta {
    margin-top: 2px;
}

.hero .btn-lg {
    min-height: 54px;
    border-radius: 0 !important;
    clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}

.hero .btn-ghost {
    background: rgba(255,255,255,0.58) !important;
    color: rgba(7,17,31,0.74) !important;
}

.hero .countdown {
    margin: 22px 0 18px !important;
}

.hero .countdown__block {
    min-width: 82px !important;
    border-radius: 0 !important;
    clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    background: rgba(255,255,255,0.72) !important;
}

.hero__images-col {
    min-height: clamp(560px, 62vh, 720px) !important;
    display: grid;
    place-items: center;
}

.hero__float-stack {
    min-height: inherit !important;
    width: min(640px, 100%) !important;
}

.hero__float-card {
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform-style: preserve-3d;
}

.hero__float-card::before {
    content: '';
    position: absolute;
    inset: -10px;
    z-index: -1;
    background: linear-gradient(135deg, #00E5FF, #00B871 50%, #315CFF);
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 92%);
    opacity: 0.92;
    filter: drop-shadow(0 28px 48px rgba(0,174,235,0.24));
}

.hero__float-card::after {
    content: '';
    position: absolute;
    inset: 10px -16px -18px 18px;
    z-index: -2;
    background: rgba(0,174,235,0.14);
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 92%);
    filter: blur(24px);
}

.hero__float-card img {
    border-radius: 0 !important;
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 92%);
    box-shadow: 0 36px 86px rgba(8,32,52,0.22);
}

.hero__float-card-label {
    left: 18px !important;
    right: 18px !important;
    bottom: 18px !important;
    border-radius: 0 !important;
    clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    background: linear-gradient(90deg, rgba(7,17,31,0.88), rgba(9,44,68,0.76)) !important;
}

.hero__float-card--1 {
    width: min(440px, 62%) !important;
    top: 4% !important;
    right: 2% !important;
    transform: rotate(3deg) !important;
    z-index: 4 !important;
}

.hero__float-card--2 {
    width: min(390px, 54%) !important;
    left: 3% !important;
    bottom: 8% !important;
    transform: rotate(-5deg) !important;
    z-index: 3 !important;
}

.hero__float-card--3 {
    width: min(330px, 46%) !important;
    right: 0 !important;
    bottom: 2% !important;
    top: auto !important;
    transform: rotate(8deg) !important;
    z-index: 2 !important;
}

.hero__info-bar {
    bottom: 58px !important;
    border-radius: 0 !important;
    clip-path: polygon(18px 0, 100% 0, calc(100% - 18px) 100%, 0 100%);
    background: rgba(255,255,255,0.70) !important;
    border-color: rgba(0,174,235,0.16) !important;
}

.hero .scroll-indicator {
    display: none !important;
}

@media (max-width: 1180px) {
    .hero {
        min-height: auto !important;
        padding-top: 120px !important;
    }

    .hero__split {
        grid-template-columns: 1fr !important;
        max-width: 760px;
        text-align: center;
    }

    .hero__text-col,
    .hero .hero__titles {
        align-items: center !important;
    }

    .hero__text-col::before {
        display: none;
    }

    .hero .hero__desc {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero .countdown,
    .hero .hero__cta {
        justify-content: center !important;
    }

    .hero__images-col {
        min-height: 480px !important;
        width: 100%;
    }
}

@media (max-width: 760px) {
    .nav--tech {
        top: 10px !important;
        width: calc(100% - 20px) !important;
        clip-path: polygon(12px 0, calc(100% - 24px) 0, 100% 50%, calc(100% - 12px) 100%, 24px 100%, 0 50%);
    }

    .nav--tech .nav__inner {
        min-height: 54px !important;
        padding: 0 22px !important;
    }

    .hero {
        padding: 104px 18px 100px !important;
    }

    .hero .hero__summit {
        font-size: clamp(30px, 10vw, 48px) !important;
        letter-spacing: 0.22em !important;
    }

    .hero .hero__mind,
    .hero .hero__mind .char {
        font-size: clamp(78px, 24vw, 126px) !important;
    }

    .hero .hero__tagline {
        justify-content: center;
        flex-wrap: wrap;
    }

    .hero .countdown {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: min(100%, 320px);
    }

    .countdown__sep {
        display: none;
    }

    .hero__images-col {
        min-height: 350px !important;
    }

    .hero__float-card--1 {
        width: 62% !important;
        right: 3% !important;
    }

    .hero__float-card--2 {
        width: 52% !important;
        left: 0 !important;
    }

    .hero__float-card--3 {
        width: 46% !important;
        right: 2% !important;
    }

    .hero__info-bar {
        width: calc(100% - 32px);
        justify-content: center;
        flex-wrap: wrap;
        bottom: 34px !important;
        gap: 8px 14px !important;
    }

    .hero__info-sep {
        display: none;
    }
}

@media (max-width: 460px) {
    .hero .hero__badge {
        font-size: 9px !important;
        letter-spacing: 0.08em !important;
        padding-inline: 16px !important;
    }

    .hero .hero__cta {
        width: 100%;
    }

    .hero .hero__cta .btn {
        width: 100% !important;
    }

    .hero__images-col {
        min-height: 300px !important;
    }
}

@media (max-width: 380px) {
    .hero__mind { font-size: 40px; }
    .hero__summit { font-size: 20px; }
    .countdown__block { padding: 12px 8px; min-width: auto; }
    .countdown__number { font-size: 28px; }
}

@media (max-width: 1024px) {
    .hero__title-summit { font-size: clamp(1.8rem, 8vw, 4.6rem); }
    .hero__title-mind { font-size: clamp(4.4rem, 20vw, 9rem); }
    .hero__title-year { font-size: clamp(1.5rem, 5vw, 2.8rem); }
    .sobre__grid { grid-template-columns: 1fr; }
    .sobre__media { min-height: 480px; clip-path: none; }
    .stats-editorial--countup { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sobre__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ejes-grid-premium { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eje-card:last-child { grid-column: 1 / -1; }
    .speaker-card { height: 400px; }
}

@media (min-width: 900px) and (max-width: 1200px) {
    .sobre__grid {
        grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr) !important;
        align-items: start;
    }

    .sobre__media {
        min-height: 460px;
    }

    .sobre__panels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .hero { padding: 96px 18px 72px; }
    .hero__title-summit { font-size: clamp(1.8rem, 10vw, 4rem); }
    .hero__title-mind { font-size: clamp(4rem, 22vw, 8rem); }
    .hero__title-year { font-size: clamp(1.4rem, 6vw, 2.4rem); }
    .hero__cta { flex-direction: column; width: 100%; }
    .hero__cta .btn { width: 100%; }
    .sobre__media { min-height: 360px; }
    .stats-editorial--countup,
    .sobre__panels,
    .ejes-grid-premium { grid-template-columns: 1fr; }
    .eje-card { min-height: 320px; }
    .speaker-card { height: 380px; }
    .activity-card { grid-template-columns: 1fr; }
    .sponsor-item { min-width: 240px; }
}

.nav--tech {
    top: 22px !important;
    width: min(1380px, calc(100% - 40px)) !important;
    min-height: 76px !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.54), rgba(230,250,255,0.34) 42%, rgba(255,255,255,0.50)) !important;
    border-color: rgba(0,174,235,0.28) !important;
    box-shadow:
        0 26px 80px rgba(8,32,52,0.14),
        0 0 0 1px rgba(255,255,255,0.46) inset,
        0 0 42px rgba(0,174,235,0.10) !important;
}

.nav--tech.scrolled {
    top: 12px !important;
    min-height: 66px !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.84), rgba(238,250,255,0.72), rgba(255,255,255,0.84)) !important;
}

.nav--tech .nav__inner {
    min-height: 76px !important;
}

.nav--tech.scrolled .nav__inner {
    min-height: 66px !important;
}

.nav__logo-img {
    width: 40px !important;
    height: 40px !important;
}

.nav__logo-text {
    font-size: 1.04rem !important;
    letter-spacing: 0.08em !important;
}

.nav__link {
    font-size: 0.96rem !important;
}

.nav__cta-btn {
    min-height: 48px !important;
    padding-inline: 30px !important;
}

.hero {
    margin-top: 0 !important;
    min-height: max(900px, 112svh) !important;
    padding-top: clamp(145px, 16vh, 190px) !important;
    background: #F8FBFF !important;
}

.hero::before {
    inset: auto 0 0 0 !important;
    height: 180px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: linear-gradient(180deg, transparent, rgba(248,251,255,0.54) 52%, #F8FBFF 100%) !important;
}

.hero__video-wrap,
.hero__layer--bg,
.hero__layer--particles,
.hero__layer--circuit,
.hero__grid,
.hero__watermark,
.hero__floating-gallery {
    inset: 0 !important;
    border-radius: 0 !important;
}

.hero__video-overlay {
    background:
        radial-gradient(circle at 73% 38%, rgba(0,174,235,0.22), transparent 32%),
        radial-gradient(circle at 44% 28%, rgba(0,184,113,0.16), transparent 30%),
        linear-gradient(90deg, rgba(248,251,255,0.84) 0%, rgba(248,251,255,0.66) 34%, rgba(248,251,255,0.34) 62%, rgba(248,251,255,0.70) 100%),
        linear-gradient(180deg, rgba(248,251,255,0.46) 0%, rgba(248,251,255,0.28) 26%, rgba(248,251,255,0.76) 100%) !important;
}

.hero__split {
    transform: translateY(-10px);
}

.hero__info-bar {
    bottom: 44px !important;
}

@media (max-width: 1180px) {
    .hero {
        padding-top: 138px !important;
    }

    .hero__split {
        transform: none;
    }
}

@media (max-width: 760px) {
    .nav--tech {
        top: 10px !important;
        width: calc(100% - 20px) !important;
        min-height: 60px !important;
    }

    .nav--tech .nav__inner {
        min-height: 60px !important;
    }

    .nav__logo-img {
        width: 34px !important;
        height: 34px !important;
    }

    .hero {
        padding-top: 112px !important;
    }
}

.nav--tech {
    --nav-mx: 50%;
    --nav-my: 50%;
    color: #fff !important;
    background:
        radial-gradient(circle at var(--nav-mx) var(--nav-my), rgba(0,229,255,0.28), transparent 30%),
        linear-gradient(100deg, rgba(4,76,104,0.96) 0%, rgba(5,28,79,0.94) 46%, rgba(0,174,235,0.86) 100%) !important;
    border: 1px solid rgba(0,229,255,0.42) !important;
    clip-path: polygon(34px 0, calc(100% - 72px) 0, 100% 42%, calc(100% - 30px) 100%, 78px 100%, 0 58%);
    transform: translateX(-50%) translateY(0) perspective(900px) rotateX(var(--nav-rx, 0deg)) rotateY(var(--nav-ry, 0deg)) !important;
    transition: top 0.28s ease, min-height 0.28s ease, box-shadow 0.28s ease, filter 0.28s ease, background 0.28s ease;
    filter: saturate(1.08);
}

.nav--tech::before,
.nav--tech::after {
    content: '';
    position: absolute;
    pointer-events: none;
    z-index: 1;
}

.nav--tech::before {
    inset: 7px 12px;
    clip-path: polygon(28px 0, calc(100% - 58px) 0, 100% 40%, calc(100% - 24px) 100%, 64px 100%, 0 60%);
    border: 1px solid rgba(255,255,255,0.22);
    background:
        linear-gradient(90deg, transparent 0 15%, rgba(255,255,255,0.20) 15.2% 15.5%, transparent 15.7% 78%, rgba(255,255,255,0.18) 78.2% 78.5%, transparent 78.7%),
        linear-gradient(180deg, rgba(255,255,255,0.14), transparent 42%);
    opacity: 0.82;
}

.nav--tech::after {
    left: 7%;
    right: 7%;
    bottom: -7px;
    height: 14px;
    background: linear-gradient(90deg, transparent, rgba(0,229,255,0.70), rgba(0,184,113,0.58), transparent);
    filter: blur(14px);
    opacity: 0.72;
}

.nav--tech:hover {
    top: 18px !important;
    box-shadow:
        0 34px 90px rgba(8,32,52,0.22),
        0 0 0 1px rgba(255,255,255,0.28) inset,
        0 0 54px rgba(0,229,255,0.22) !important;
    filter: saturate(1.22) brightness(1.04);
}

.nav--tech.scrolled {
    background:
        radial-gradient(circle at var(--nav-mx) var(--nav-my), rgba(0,229,255,0.20), transparent 30%),
        linear-gradient(100deg, rgba(4,76,104,0.90) 0%, rgba(5,28,79,0.88) 48%, rgba(0,174,235,0.78) 100%) !important;
}

.nav--tech .nav__inner,
.nav--tech .nav__scan-line,
.nav--tech .nav__glow-line {
    position: relative;
    z-index: 3;
}

.nav__scan-line {
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), rgba(0,229,255,0.24), transparent) !important;
    mix-blend-mode: screen;
}

.nav__circuit {
    z-index: 4 !important;
    opacity: 0.95 !important;
    filter: drop-shadow(0 0 8px rgba(0,229,255,0.42));
}

.nav--tech .nav__logo,
.nav--tech .nav__link,
.nav--tech .nav__logo-text,
.nav--tech .nav__info-chip {
    color: rgba(255,255,255,0.88) !important;
}

.nav--tech .nav__logo-text {
    text-shadow: 0 0 18px rgba(0,229,255,0.24);
}

.nav--tech .nav__logo-img {
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.22);
    box-shadow: 0 0 22px rgba(0,229,255,0.28);
}

.nav--tech .nav__link {
    position: relative;
    padding: 10px 2px;
    text-shadow: 0 0 12px rgba(0,229,255,0.16);
}

.nav--tech .nav__link:hover {
    color: #fff !important;
}

.nav--tech .nav__link::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 2px;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #00E5FF, transparent);
    transform: translateX(-50%);
    transition: width 0.24s ease;
}

.nav--tech .nav__link:hover::before {
    width: 120%;
}

.nav--tech .nav__info-chip {
    background: rgba(255,255,255,0.10) !important;
    border-color: rgba(255,255,255,0.18) !important;
}

.nav--tech .nav__info-chip svg {
    color: #6FFBFF !important;
}

.nav--tech .nav__cta-btn {
    background: linear-gradient(120deg, #00E5FF, #0098D8 48%, #07111F) !important;
    color: #fff !important;
    box-shadow: 0 14px 34px rgba(0,229,255,0.26), inset 0 1px 0 rgba(255,255,255,0.36) !important;
}

.nav--tech .nav__cta-btn:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 18px 44px rgba(0,229,255,0.36), inset 0 1px 0 rgba(255,255,255,0.48) !important;
}

.nav__glow-line {
    background: linear-gradient(90deg, transparent, #00E5FF 20%, #00B871 55%, #315CFF 82%, transparent) !important;
    height: 3px !important;
    filter: drop-shadow(0 0 10px rgba(0,229,255,0.52));
}

@media (max-width: 760px) {
    .nav--tech {
        clip-path: polygon(20px 0, calc(100% - 38px) 0, 100% 44%, calc(100% - 18px) 100%, 42px 100%, 0 58%);
    }

    .nav--tech::before {
        inset: 6px 9px;
        clip-path: polygon(18px 0, calc(100% - 32px) 0, 100% 44%, calc(100% - 16px) 100%, 36px 100%, 0 58%);
    }
}

.hero__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    width: min(620px, 100%);
    margin: 22px 0 6px;
}

.hero__metric {
    position: relative;
    min-height: 86px;
    padding: 16px 14px 14px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.78), rgba(238,250,255,0.42)),
        radial-gradient(circle at 18% 18%, rgba(0,229,255,0.18), transparent 38%);
    border: 1px solid rgba(0,174,235,0.18);
    clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    box-shadow: 0 18px 42px rgba(8,32,52,0.08);
}

.hero__metric::after {
    content: '';
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, #00E5FF, #00B871, transparent);
}

.hero__metric strong {
    display: block;
    font-family: var(--font-mono);
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    line-height: 1;
    color: #0089BD;
}

.hero__metric span {
    display: block;
    margin-top: 7px;
    font-size: 0.76rem;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(7,17,31,0.62);
}

.sobre__grid--story {
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1fr) !important;
    gap: clamp(40px, 7vw, 110px);
    align-items: center;
}

.sobre__content--story {
    position: relative;
    z-index: 2;
}

.mind-story {
    display: grid;
    gap: 14px;
    margin-top: 32px;
}

.mind-story__item {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 16px;
    align-items: start;
    padding: 18px 0;
    border-top: 1px solid rgba(0,174,235,0.14);
}

.mind-story__item span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    font-family: var(--font-mono);
    color: #fff;
    background: linear-gradient(135deg, #005B7C, #00AEEB);
    clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
    box-shadow: 0 12px 28px rgba(0,174,235,0.22);
}

.mind-story__item p {
    margin: 0;
    color: rgba(7,17,31,0.70);
    line-height: 1.75;
}

.mind-visual {
    min-height: clamp(520px, 58vw, 700px) !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    clip-path: none !important;
}

.mind-visual::before {
    content: '';
    position: absolute;
    inset: 8% 3% 6% 10%;
    z-index: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.78), rgba(234,247,255,0.52)),
        radial-gradient(circle at 70% 24%, rgba(0,174,235,0.18), transparent 34%);
    border: 1px solid rgba(0,174,235,0.14);
    clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 92%);
    box-shadow: 0 30px 90px rgba(8,32,52,0.12);
}

.mind-visual__card {
    position: absolute;
    margin: 0;
    padding: 6px;
    background: linear-gradient(135deg, #00E5FF, #00B871 48%, #315CFF);
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 92%);
    box-shadow: 0 26px 70px rgba(8,32,52,0.18);
    animation: mindCardDrift 8s ease-in-out infinite;
}

.mind-visual__card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 92%);
}

.mind-visual__card--main {
    z-index: 3;
    width: min(470px, 74%);
    aspect-ratio: 4 / 5;
    left: 18%;
    top: 4%;
}

.mind-visual__card--one {
    z-index: 2;
    width: min(330px, 52%);
    aspect-ratio: 4 / 5;
    left: 2%;
    bottom: 6%;
    animation-delay: -1.8s;
}

.mind-visual__card--two {
    z-index: 4;
    width: min(280px, 45%);
    aspect-ratio: 16 / 11;
    right: 0;
    bottom: 13%;
    animation-delay: -3.2s;
}

.mind-visual__orb {
    position: absolute;
    inset: 12% 4% auto auto;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,229,255,0.26), transparent 68%);
    filter: blur(12px);
}

.mind-visual__chip {
    z-index: 5 !important;
    right: auto !important;
    left: 8% !important;
    bottom: 2% !important;
    display: flex !important;
    gap: 8px;
}

@keyframes mindCardDrift {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(-2deg); }
    50% { transform: translate3d(10px, -16px, 0) rotate(1deg); }
}

.ejes-grid-premium {
    align-items: stretch;
}

.eje-card {
    min-height: 470px !important;
    border: 0 !important;
    background: #07111F !important;
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 92%);
    box-shadow: 0 28px 80px rgba(8,32,52,0.16) !important;
}

.eje-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--eje-color) 34%, transparent), transparent 44%),
        linear-gradient(to top, rgba(7,17,31,0.94) 0%, rgba(7,17,31,0.62) 42%, rgba(7,17,31,0.20) 100%);
}

.eje-card__bg {
    filter: saturate(1.12) contrast(1.04) brightness(0.86) !important;
}

.eje-card:hover .eje-card__bg {
    transform: scale(1.07) rotate(0.6deg) !important;
    filter: saturate(1.28) contrast(1.08) brightness(0.94) !important;
}

.eje-card__letter {
    position: absolute;
    right: -4%;
    top: 0;
    z-index: 2;
    font-family: var(--font-display);
    font-size: clamp(11rem, 18vw, 18rem);
    line-height: 0.8;
    color: transparent;
    -webkit-text-stroke: 1px color-mix(in srgb, var(--eje-color) 72%, white);
    opacity: 0.42;
    transform: rotate(-6deg);
    pointer-events: none;
}

.eje-card__overlay {
    z-index: 1;
    background:
        radial-gradient(circle at 18% 20%, color-mix(in srgb, var(--eje-color) 24%, transparent), transparent 34%),
        linear-gradient(to top, rgba(7,17,31,0.96), rgba(7,17,31,0.28)) !important;
}

.eje-card__content {
    inset: auto 18px 18px 18px !important;
    z-index: 3 !important;
    padding: 22px !important;
    background: rgba(7,17,31,0.76);
    border: 1px solid color-mix(in srgb, var(--eje-color) 35%, transparent);
    backdrop-filter: blur(16px);
    clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}

.eje-card__num,
.eje-card__title,
.eje-card__tags span,
.eje-card__desc,
.eje-card__badge {
    text-shadow: 0 2px 18px rgba(0,0,0,0.42);
}

.eje-card__desc {
    max-height: none !important;
    opacity: 1 !important;
    color: rgba(255,255,255,0.84) !important;
}

.eje-card__badge {
    display: none !important;
}

.speakers-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

.speakers-swiper:hover .swiper-wrapper {
    transition-timing-function: linear !important;
}

.speakers-swiper .swiper-button-prev,
.speakers-swiper .swiper-button-next,
.speakers-pagination {
    opacity: 0.22;
    transition: opacity 0.25s ease;
}

.speakers:hover .swiper-button-prev,
.speakers:hover .swiper-button-next,
.speakers:hover .speakers-pagination {
    opacity: 1;
}

@media (max-width: 1024px) {
    .hero__metrics {
        margin-inline: auto;
    }

    .sobre__grid--story {
        grid-template-columns: 1fr !important;
    }

    .mind-visual {
        min-height: 500px !important;
        order: -1;
    }
}

@media (max-width: 720px) {
    .hero__metrics {
        grid-template-columns: 1fr;
    }

    .mind-visual {
        min-height: 360px !important;
    }

    .mind-story__item {
        grid-template-columns: 44px 1fr;
    }

    .eje-card {
        min-height: 430px !important;
        clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 96%);
    }

    .eje-card__content {
        inset: auto 12px 12px 12px !important;
        padding: 18px !important;
    }
}

@property --eje-spin {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0deg;
}

#liquidCanvas {
    z-index: 9998 !important;
    opacity: 0.68 !important;
    mix-blend-mode: screen !important;
    filter: blur(7px) saturate(1.35) !important;
}

.cursor-ring {
    border-color: rgba(0,229,255,0.42) !important;
    box-shadow:
        0 0 22px rgba(0,229,255,0.20),
        0 0 42px rgba(0,184,113,0.10);
}

.cursor-dot {
    background: #00E5FF !important;
    box-shadow:
        0 0 16px rgba(0,229,255,0.55),
        0 0 28px rgba(0,184,113,0.25);
}

.eje-card {
    isolation: isolate;
    overflow: visible !important;
}

.eje-card::before {
    content: '';
    position: absolute;
    inset: -14px;
    z-index: -1;
    pointer-events: none;
    background:
        conic-gradient(from var(--eje-spin, 0deg), transparent 0deg, color-mix(in srgb, var(--eje-color) 82%, white) 70deg, transparent 142deg, rgba(255,255,255,0.24) 212deg, transparent 300deg),
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--eje-color) 24%, transparent), transparent 68%);
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 92%);
    opacity: 0.42;
    filter: blur(10px);
    animation: ejeAuraSpin 8s linear infinite;
    transition: opacity 0.35s ease, filter 0.35s ease, inset 0.35s ease;
}

.eje-card:hover::before {
    inset: -20px;
    opacity: 0.88;
    filter: blur(12px) saturate(1.25);
}

.eje-card:hover {
    box-shadow:
        0 34px 95px rgba(8,32,52,0.22),
        0 0 58px color-mix(in srgb, var(--eje-color) 28%, transparent) !important;
}

.eje-card__content::before {
    content: '';
    position: absolute;
    left: 18px;
    right: 18px;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--eje-color), transparent);
    opacity: 0.9;
}

.eje-card__tags span {
    background: color-mix(in srgb, var(--eje-color) 18%, rgba(7,17,31,0.72)) !important;
}

@keyframes ejeAuraSpin {
    0% { --eje-spin: 0deg; transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(0, -4px, 0) scale(1.015); }
    100% { --eje-spin: 360deg; transform: translate3d(0, 0, 0) scale(1); }
}

.cta-final {
    min-height: 86vh !important;
    padding: clamp(90px, 12vw, 150px) 24px !important;
    color: var(--ink) !important;
    background: var(--paper) !important;
}

.cta-final__bg {
    opacity: 0.08 !important;
    mix-blend-mode: normal !important;
    filter: saturate(0.8) brightness(1.15) !important;
}

.cta-final__bg::after {
    background:
        linear-gradient(180deg, rgba(248,251,255,0.96), rgba(248,251,255,0.42) 42%, rgba(248,251,255,0.96)) !important,
        linear-gradient(90deg, rgba(255,255,255,0.78), rgba(255,255,255,0.78), rgba(255,255,255,0.78)) !important;
}

.cta-final__aurora {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 42% 52%, rgba(0,229,255,0.08), transparent 34%),
        radial-gradient(ellipse at 58% 42%, rgba(0,184,113,0.06), transparent 31%),
        conic-gradient(from 180deg at 50% 50%, transparent, rgba(0,229,255,0.04), rgba(49,92,255,0.03), transparent);
    filter: blur(28px);
    opacity: 0.12;
    animation: ctaAuroraDrift 9s ease-in-out infinite;
}

.cta-final__content {
    max-width: 920px !important;
    padding: clamp(36px, 6vw, 70px);
    background: rgba(255,255,255,0.84) !important;
    border: 1px solid rgba(7,17,31,0.08) !important;
    clip-path: polygon(24px 0, 100% 0, calc(100% - 24px) 100%, 0 100%);
    box-shadow:
        0 36px 110px rgba(30,64,96,0.16),
        0 0 70px rgba(0,229,255,0.08),
        inset 0 1px 0 rgba(255,255,255,0.32) !important;
    backdrop-filter: blur(18px);
}

.cta-final__pre {
    color: #087FA8 !important;
    margin-bottom: 18px !important;
}

.cta-final__title {
    font-size: clamp(48px, 8vw, 94px) !important;
    color: var(--ink) !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: var(--ink) !important;
    text-shadow: none !important;
}

.cta-final__sub {
    max-width: 680px;
    margin: 0 auto 28px !important;
    color: rgba(7,17,31,0.68) !important;
    letter-spacing: 0 !important;
    line-height: 1.7;
}

.cta-final__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0 0 34px;
}

.cta-final__meta span {
    padding: 9px 14px;
    font-family: var(--font-mono);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(7,17,31,0.68) !important;
    border: 1px solid rgba(7,17,31,0.10) !important;
    background: rgba(255,255,255,0.82) !important;
    clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}

@keyframes ctaAuroraDrift {
    0%, 100% { transform: translate3d(-2%, 1%, 0) scale(1); }
    50% { transform: translate3d(2%, -2%, 0) scale(1.08); }
}

@media (max-width: 720px) {
    .cta-final__content {
        clip-path: polygon(16px 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
        padding: 34px 22px;
    }
}

:root {
    --cyan: #00C1D4;
    --cyan-dim: #0097AA;
    --cyan-light: #42DCE8;
    --green: #00E676;
    --green-dim: #00B85F;
    --blue: #2B6CB0;
    --teal: #3BD6A4;
    --navy: #0D1F4E;
    --navy-deep: #07132F;
    --ice: #F0F8FF;
    --grad-primary: linear-gradient(135deg, var(--cyan) 0%, var(--green) 100%);
    --grad-text: linear-gradient(135deg, #F8FCFF 0%, var(--cyan) 48%, var(--teal) 100%);
    --grad-line: linear-gradient(180deg, var(--cyan) 0%, var(--green) 100%);
    --grad-cyan: linear-gradient(135deg, var(--cyan), var(--teal));
    --border-glow: rgba(0, 193, 212, 0.28);
    --glow-cyan: 0 22px 70px rgba(0, 193, 212, 0.16);
    --glow-green: 0 22px 70px rgba(0, 230, 118, 0.13);
}

body {
    background:
        linear-gradient(180deg, var(--navy-deep) 0 26%, var(--ice) 26% 100%) !important;
}

#globalCityBg {
    opacity: 0.035 !important;
    filter: saturate(0.72) brightness(0.92) !important;
}

.hero {
    color: #F8FCFF !important;
    background: var(--navy) !important;
}

.hero::before {
    display: block !important;
    inset: auto 0 0 !important;
    width: auto !important;
    height: 34% !important;
    z-index: 7 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, transparent 0%, rgba(13,31,78,0.86) 64%, var(--navy) 100%) !important;
    box-shadow: none !important;
}

.hero::after {
    opacity: 0.38 !important;
    background:
        linear-gradient(90deg, transparent 0 22%, rgba(0,193,212,0.14) 22.08%, transparent 22.18% 60%, rgba(0,230,118,0.10) 60.08%, transparent 60.18%),
        repeating-linear-gradient(0deg, transparent 0 5px, rgba(255,255,255,0.025) 5px 6px) !important;
}

.hero__video-wrap {
    opacity: 1 !important;
    filter: none !important;
    background: var(--navy) !important;
}

.hero__video-wrap::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(13,31,78,0.86) 0%, rgba(13,31,78,0.54) 46%, rgba(13,31,78,0.32) 100%),
        url('../assets/fachada-industrial.webp') center / cover no-repeat;
    filter: saturate(0.82) contrast(1.06) brightness(0.74);
    transform: scale(1.02);
}

.hero__video {
    z-index: 1 !important;
    opacity: 0.24 !important;
    mix-blend-mode: screen !important;
    filter: saturate(0.72) contrast(1.08) brightness(0.82) !important;
}

.hero__video-overlay {
    z-index: 2 !important;
    background:
        linear-gradient(180deg, #0D1F4E 0%, rgba(13,31,78,0.82) 22%, rgba(13,31,78,0.36) 60%, rgba(7,19,47,0.94) 100%),
        linear-gradient(90deg, rgba(7,19,47,0.92) 0%, rgba(13,31,78,0.62) 42%, rgba(13,31,78,0.34) 100%),
        radial-gradient(circle at 72% 34%, rgba(0,193,212,0.16), transparent 32%) !important;
}

.hero .hero__badge,
.hero .countdown__block,
.hero .hero__live,
.hero__info-bar {
    color: rgba(248,252,255,0.82) !important;
    background: rgba(7, 19, 47, 0.58) !important;
    border-color: rgba(0, 193, 212, 0.26) !important;
    box-shadow: 0 18px 46px rgba(0,0,0,0.22), 0 0 36px rgba(0,193,212,0.08) !important;
}

.hero .hero__summit,
.hero__year-text,
.hero .hero__desc,
.hero__tagline-label,
.hero__info-item {
    color: rgba(248,252,255,0.74) !important;
}

.hero .hero__mind,
.hero .hero__mind .char {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--cyan) 50%, var(--teal) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    filter: drop-shadow(0 24px 42px rgba(0,193,212,0.22)) !important;
}

.hero__year-line,
.scroll-indicator__line {
    background: linear-gradient(90deg, transparent, var(--cyan), var(--teal), transparent) !important;
}

.hero .btn-ghost {
    color: #F8FCFF !important;
    background: rgba(248,252,255,0.08) !important;
    border-color: rgba(248,252,255,0.24) !important;
}

.hero .btn-ghost:hover {
    color: var(--cyan-light) !important;
    background: rgba(0,193,212,0.12) !important;
}

.hero__text-col::before,
.hero__float-card::before,
.mind-visual__card {
    background: linear-gradient(135deg, var(--cyan), var(--teal) 48%, var(--green)) !important;
}

.section {
    background: transparent !important;
}

.section--light {
    color: var(--ink) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.95), rgba(240,248,255,0.98)),
        var(--ice) !important;
}

.section--light::before {
    opacity: 1 !important;
    background:
        linear-gradient(115deg, rgba(0,193,212,0.05) 0 18%, transparent 18% 100%),
        linear-gradient(300deg, transparent 0 68%, rgba(0,230,118,0.06) 68% 100%) !important;
}

.section--dark {
    color: #F8FCFF !important;
    background:
        radial-gradient(circle at 82% 18%, rgba(0,193,212,0.16), transparent 32%),
        radial-gradient(circle at 14% 86%, rgba(0,230,118,0.10), transparent 30%),
        linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%) !important;
}

.section--dark::before {
    opacity: 0.78 !important;
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.032) 1px, transparent 1px) !important;
    background-size: 76px 76px !important;
    mask-image: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
}

.section--dark .section-title,
.section--dark .section-subtitle {
    color: #F8FCFF !important;
}

.section--dark .section-subtitle {
    color: rgba(248,252,255,0.72) !important;
}

.section--dark .section-tag {
    color: var(--cyan-light) !important;
    background: rgba(248,252,255,0.08) !important;
    border-color: rgba(0,193,212,0.34) !important;
    box-shadow: 0 16px 42px rgba(0,0,0,0.18) !important;
}

.section--dark .eje-card,
.section--dark .activity-card,
.section--dark .agenda__day-btn,
.section--dark .timeline__content {
    color: #F8FCFF !important;
    background: rgba(7, 19, 47, 0.76) !important;
    border-color: rgba(0,193,212,0.20) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,0.24), 0 0 38px rgba(0,193,212,0.07) !important;
}

.section--dark .activity-card__desc,
.section--dark .activity-card__speaker,
.section--dark .timeline__desc,
.section--dark .agenda__day-meta {
    color: rgba(248,252,255,0.70) !important;
}

.section--dark .activity-card__time,
.section--dark .timeline__time {
    color: var(--cyan-light) !important;
}

.section--dark .agenda__day-btn.active {
    background: var(--grad-primary) !important;
    color: #06132F !important;
}

.pricing,
.speakers,
.sobre,
.sponsors,
.brochure,
.gallery {
    background-color: var(--ice) !important;
}

.sponsors__marquee::before {
    background: linear-gradient(90deg, var(--ice), transparent) !important;
}

.sponsors__marquee::after {
    background: linear-gradient(270deg, var(--ice), transparent) !important;
}

.section-divider {
    background:
        linear-gradient(180deg, var(--navy-deep), var(--ice)) !important;
    height: clamp(44px, 7vw, 96px) !important;
}

.divider--2,
.agenda + .section-divider {
    background:
        linear-gradient(180deg, var(--navy-deep), var(--ice)) !important;
}

.cta-final {
    color: #F8FCFF !important;
    background: linear-gradient(135deg, var(--cyan) 0%, var(--teal) 48%, var(--green) 100%) !important;
}

.cta-final__bg {
    opacity: 0.18 !important;
    mix-blend-mode: multiply !important;
}

.cta-final__bg::after {
    background:
        linear-gradient(180deg, rgba(7,19,47,0.10), rgba(7,19,47,0.26)),
        linear-gradient(90deg, rgba(13,31,78,0.24), transparent 48%, rgba(13,31,78,0.20)) !important;
}

.cta-final__content {
    color: #F8FCFF !important;
    background: rgba(7, 19, 47, 0.56) !important;
    border-color: rgba(255,255,255,0.28) !important;
    box-shadow: 0 38px 110px rgba(7,19,47,0.28), inset 0 1px 0 rgba(255,255,255,0.18) !important;
}

.cta-final__pre,
.cta-final__title,
.cta-final__sub {
    color: #F8FCFF !important;
    -webkit-text-fill-color: currentColor !important;
}

.cta-final__sub {
    color: rgba(248,252,255,0.78) !important;
}

.cta-final__meta span {
    color: rgba(248,252,255,0.82) !important;
    background: rgba(255,255,255,0.10) !important;
    border-color: rgba(255,255,255,0.26) !important;
}

.footer {
    color: rgba(248,252,255,0.78) !important;
    background:
        radial-gradient(circle at 18% 0%, rgba(0,193,212,0.14), transparent 34%),
        linear-gradient(180deg, var(--navy) 0%, #050D22 100%) !important;
    border-top-color: rgba(0,193,212,0.18) !important;
}

.footer__logo-text,
.footer__col h4,
.footer__bottom {
    color: #F8FCFF !important;
}

.footer__col a,
.footer__copy {
    color: rgba(248,252,255,0.64) !important;
}

.footer__social a {
    background: rgba(248,252,255,0.08) !important;
    border: 1px solid rgba(248,252,255,0.12) !important;
}

.footer__social a svg {
    fill: rgba(248,252,255,0.76) !important;
}

@media (max-width: 760px) {
    .hero__video-wrap::before {
        background:
            linear-gradient(180deg, rgba(13,31,78,0.88) 0%, rgba(13,31,78,0.66) 48%, rgba(7,19,47,0.96) 100%),
            url('../assets/fachada-industrial.webp') center / cover no-repeat;
    }

    .hero__video {
        opacity: 0.16 !important;
    }
}

.hero--singularity {
    --hero-navy: #0D1F4E;
    --hero-cyan: #00C1D4;
    --hero-green: #00E676;
    min-height: 100svh !important;
    padding: clamp(96px, 13vh, 132px) clamp(18px, 4vw, 72px) clamp(72px, 10vh, 104px) !important;
    display: grid !important;
    place-items: center !important;
    isolation: isolate;
    overflow: hidden !important;
    /* FIX v2: fallback neutro para que la foto no quede tapada por navy sólido — agente */
    background: #020408;
    color: #fff !important;
}

.hero--singularity::before,
.hero--singularity::after {
    content: none !important;
}

.hero--singularity .hero__photo,
.hero--singularity .hero__photo img,
.hero--singularity .hero__veil,
.hero--singularity .hero__layer--particles {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.hero--singularity .hero__photo {
    z-index: 0;
}

.hero--singularity .hero__photo img {
    object-fit: cover;
    object-position: center;
    filter: saturate(0.76) contrast(1.08) brightness(0.52);
    transform: scale(1.035);
}

.hero--singularity .hero__veil {
    z-index: 1;
    /* FIX v2: overlay negro neutro para dar protagonismo a la fachada — agente */
    background:
        linear-gradient(180deg, rgba(2,4,8,0.78) 0%, rgba(2,4,8,0.52) 36%, rgba(2,4,8,0.82) 100%),
        linear-gradient(135deg, rgba(0,193,212,0.14), transparent 42%, rgba(0,230,118,0.08));
}

.hero--singularity .hero__layer--particles {
    z-index: 2 !important;
    opacity: 0.22 !important;
    mix-blend-mode: screen;
}

.hero--singularity .hero__split {
    position: relative !important;
    z-index: 5 !important;
    width: min(1180px, 100%) !important;
    min-height: clamp(620px, 76vh, 780px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    place-items: center !important;
    gap: 0 !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.hero--singularity .hero__logos {
    position: absolute;
    top: clamp(8px, 2vh, 20px);
    left: 50%;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* FIX v2: logos institucionales con presencia real sobre el hero — agente */
    gap: clamp(32px, 5vw, 64px);
    width: min(760px, 100%);
    filter: drop-shadow(0 14px 28px rgba(0,0,0,0.38));
}

.hero--singularity .hero__logo-mark {
    flex: 0 0 auto;
    color: rgba(255,255,255,0.92);
}

.hero--singularity .hero__logo-mark--text {
    min-width: 76px;
    min-height: 34px;
    display: inline-grid;
    place-items: center;
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 0.12em;
    border: 1px solid rgba(255,255,255,0.28);
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
}

.hero--singularity .hero__logo-mark--image {
    width: clamp(54px, 6vw, 86px);
    height: clamp(34px, 4vw, 46px);
    object-fit: contain;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
}

.hero--singularity .hero__logo-mark--unsa,
.hero--singularity .hero__logo-mark--ccii,
.hero--singularity .hero__logo-mark--mind {
    object-fit: contain;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

.hero--singularity .hero__logo-mark--unsa {
    /* FIX v2: UNSA más legible en desktop — agente */
    width: clamp(100px, 10vw, 160px);
    height: clamp(100px, 10vw, 160px);
}

.hero--singularity .hero__logo-mark--ccii {
    /* FIX v2: CCII más legible en desktop — agente */
    width: clamp(90px, 9vw, 148px);
    height: clamp(90px, 9vw, 148px);
}

.hero--singularity .hero__logo-mark--mind {
    /* FIX v2: MIND acompaña la escala del título principal — agente */
    width: clamp(110px, 11vw, 172px);
    height: clamp(110px, 11vw, 172px);
    filter: none;
}

.hero--singularity .hero__center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(1040px, 100%);
    /* FIX v2: más aire vertical para que los logos no presionen el título — agente */
    padding-top: clamp(148px, 20vh, 192px);
}

.hero--singularity .hero__eyebrow {
    margin: 0 0 10px;
    font-family: var(--font-mono);
    font-size: clamp(11px, 1.4vw, 14px);
    letter-spacing: 0.36em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.72);
}

.hero--singularity .hero__titles {
    align-items: center !important;
    margin: 0 0 clamp(14px, 2.3vh, 24px) !important;
}

.hero--singularity .hero__summit {
    font-family: var(--font-display) !important;
    font-size: clamp(28px, 6vw, 78px) !important;
    line-height: 0.82 !important;
    letter-spacing: clamp(0.16em, 1vw, 0.28em) !important;
    color: #fff !important;
    opacity: 0.94 !important;
    text-shadow: 0 12px 42px rgba(0,0,0,0.36);
}

.hero--singularity .hero__mind,
.hero--singularity .hero__mind .char {
    font-family: var(--font-display) !important;
    font-size: clamp(104px, 19vw, 260px) !important;
    line-height: 0.74 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    background: linear-gradient(135deg, #ffffff 0%, #CFFBFF 36%, var(--hero-cyan) 58%, var(--hero-green) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 18px 52px rgba(0,193,212,0.24));
}

.hero--singularity .hero__desc {
    max-width: 760px !important;
    margin: 0 0 clamp(22px, 4vh, 34px) !important;
    text-align: center !important;
    color: rgba(255,255,255,0.86) !important;
    font-size: clamp(17px, 2.2vw, 24px) !important;
    line-height: 1.35 !important;
    font-weight: 600;
    text-shadow: 0 8px 28px rgba(0,0,0,0.42);
}

.hero--singularity .countdown {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(74px, 108px)) !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    margin: 0 0 clamp(18px, 3vh, 28px) !important;
}

.hero--singularity .countdown__block {
    min-width: 0 !important;
    padding: 12px 12px 11px !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,0.08) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 18px 48px rgba(0,0,0,0.18) !important;
    backdrop-filter: blur(16px) !important;
}

.hero--singularity .countdown__number {
    font-family: var(--font-mono) !important;
    font-size: clamp(24px, 4vw, 38px) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    line-height: 1 !important;
}

.hero--singularity .countdown__label {
    margin-top: 4px;
    display: block;
    color: rgba(255,255,255,0.62) !important;
    font-size: 10px !important;
    letter-spacing: 0.16em;
}

.hero--singularity .hero__impact {
    width: min(760px, 100%);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    margin: 0 0 clamp(14px, 2.4vh, 22px);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.12), rgba(255,255,255,0.04)),
        rgba(13,31,78,0.34);
    box-shadow: 0 22px 60px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.12);
    backdrop-filter: blur(20px);
    overflow: hidden;
}

.hero--singularity .hero-impact__item {
    position: relative;
    min-width: 0;
    padding: 13px clamp(8px, 1.4vw, 18px) 12px;
    display: grid;
    gap: 2px;
    place-items: center;
}

.hero--singularity .hero-impact__item + .hero-impact__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 20%;
    bottom: 20%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(0,193,212,0.45), transparent);
}

.hero--singularity .hero-impact__number {
    font-family: "Bebas Neue", var(--font-display);
    font-size: clamp(30px, 4.8vw, 58px);
    line-height: 0.9;
    font-weight: 400;
    letter-spacing: 0;
    color: transparent;
    background: linear-gradient(135deg, #fff 0%, #BFF8FF 34%, var(--hero-cyan) 62%, var(--hero-green) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 10px 22px rgba(0,193,212,0.18));
}

.hero--singularity .hero-impact__item span {
    color: rgba(255,255,255,0.68);
    font-size: clamp(9px, 1.2vw, 12px);
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.hero--singularity .hero__badges {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.hero--singularity .hero__badges span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(13,31,78,0.34);
    color: rgba(255,255,255,0.82);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    backdrop-filter: blur(12px);
}

.hero--singularity .hero__badges span::before {
    content: "";
    width: 6px;
    height: 6px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--hero-cyan);
    box-shadow: 0 0 16px rgba(0,193,212,0.7);
}

.hero--singularity .hero__badges span:nth-child(n+3)::before {
    background: var(--hero-green);
    box-shadow: 0 0 16px rgba(0,230,118,0.62);
}

.hero--singularity .hero__cta {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    width: min(560px, 100%) !important;
}

.hero--singularity .btn {
    border-radius: 8px !important;
    min-height: 48px;
}

.hero--singularity .btn-primary {
    background: linear-gradient(135deg, var(--hero-cyan), var(--hero-green)) !important;
    color: #07131F !important;
    box-shadow: 0 18px 48px rgba(0,193,212,0.28) !important;
}

.hero--singularity .btn-ghost {
    color: #fff !important;
    border-color: rgba(255,255,255,0.28) !important;
    background: rgba(255,255,255,0.08) !important;
    backdrop-filter: blur(14px);
}

.hero--singularity .hero__curve {
    position: absolute;
    right: -1px;
    bottom: -1px;
    z-index: 4;
    width: min(46vw, 640px);
    height: min(54vh, 520px);
    pointer-events: none;
    opacity: 0.9;
}

.hero--singularity .hero__curve svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.hero--singularity .hero__curve-path {
    fill: none;
    stroke: url(#heroCurveGradient);
    stroke-width: 3;
    stroke-linecap: round;
    filter: drop-shadow(0 0 18px rgba(0,193,212,0.36));
    stroke-dasharray: 720;
    stroke-dashoffset: 720;
    animation: heroCurveDraw 2.2s ease 0.8s forwards;
}

@keyframes heroCurveDraw {
    to { stroke-dashoffset: 0; }
}

.hero--singularity .hero__bottom-glow {
    z-index: 6;
    background: linear-gradient(90deg, transparent 4%, rgba(0,193,212,0.55), rgba(0,230,118,0.45), transparent 96%) !important;
}

.hero--singularity .scroll-indicator {
    left: auto !important;
    right: clamp(16px, 3vw, 36px) !important;
    bottom: clamp(18px, 4vh, 34px) !important;
    transform: none !important;
    z-index: 7 !important;
    color: rgba(255,255,255,0.7) !important;
}

.hero--singularity .hero__info-bar,
.hero--singularity .hero__images-col,
.hero--singularity .hero__line,
.hero--singularity .hero__orb,
.hero--singularity .hero__grid,
.hero--singularity .hero__video-wrap {
    display: none !important;
}

@media (max-width: 900px) {
    .hero--singularity {
        padding: 96px 18px 92px !important;
    }

    .hero--singularity .hero__split {
        min-height: 710px !important;
    }

    .hero--singularity .hero__logos {
        top: 0;
        gap: 18px;
    }

    .hero--singularity .hero__logo-mark--unsa {
        /* FIX v2: tablet conserva jerarquía institucional — agente */
        width: 100px;
        height: 100px;
    }

    .hero--singularity .hero__logo-mark--ccii {
        /* FIX v2: tablet conserva jerarquía institucional — agente */
        width: 92px;
        height: 92px;
    }

    .hero--singularity .hero__logo-mark--mind {
        /* FIX v2: tablet conserva jerarquía institucional — agente */
        width: 108px;
        height: 108px;
    }

    .hero--singularity .hero__logo-mark--text {
        min-width: 60px;
        min-height: 30px;
        font-size: 13px;
    }

    .hero--singularity .countdown {
        grid-template-columns: repeat(4, minmax(58px, 78px)) !important;
        gap: 7px !important;
    }

    .hero--singularity .countdown__block {
        padding: 10px 6px 9px !important;
    }

    .hero--singularity .hero__impact {
        width: min(620px, 100%);
    }

    .hero--singularity .hero-impact__item {
        padding: 11px 8px 10px;
    }

    .hero--singularity .hero__curve {
        width: 62vw;
        height: 38vh;
        opacity: 0.72;
    }
}

@media (pointer: coarse), (max-width: 900px) {
    #globalCityBg,
    #liquidCanvas,
    .site-accent-line {
        display: none !important;
    }

    .hero--singularity .hero__split,
    .hero--singularity .hero__logos,
    .hero--singularity .hero__logos > *,
    .hero--singularity .hero__center,
    .hero--singularity .hero__mind,
    .hero--singularity .hero__summit,
    .hero--singularity .hero__desc,
    .hero--singularity .countdown,
    .hero--singularity .hero__impact,
    .hero--singularity .hero__badges,
    .hero--singularity .hero__cta,
    .hero--singularity .hero__cta .btn {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
}

@media (max-width: 560px) {
    .hero--singularity {
        min-height: 100svh !important;
        padding: 86px 14px 84px !important;
    }

    .hero--singularity .hero__split {
        min-height: 660px !important;
    }

    .hero--singularity .hero__center {
        padding-top: 110px;
    }

    .hero--singularity .hero__logos {
        gap: 12px;
    }

    .hero--singularity .hero__logo-mark--unsa {
        /* FIX v2: mobile agranda logos sin romper el ancho disponible — agente */
        width: clamp(64px, 18vw, 78px);
        height: clamp(64px, 18vw, 78px);
    }

    .hero--singularity .hero__logo-mark--ccii {
        /* FIX v2: mobile agranda logos sin romper el ancho disponible — agente */
        width: clamp(58px, 16vw, 70px);
        height: clamp(58px, 16vw, 70px);
    }

    .hero--singularity .hero__logo-mark--mind {
        /* FIX v2: mobile agranda logos sin romper el ancho disponible — agente */
        width: clamp(68px, 19vw, 82px);
        height: clamp(68px, 19vw, 82px);
    }

    .hero--singularity .hero__mind,
    .hero--singularity .hero__mind .char {
        font-size: clamp(86px, 25vw, 122px) !important;
    }

    .hero--singularity .hero__summit {
        font-size: clamp(28px, 10vw, 46px) !important;
    }

    .hero--singularity .hero__desc {
        font-size: 17px !important;
    }

    .hero--singularity .countdown {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    .hero--singularity .countdown__number {
        font-size: 22px !important;
    }

    .hero--singularity .hero__impact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-radius: 12px;
    }

    .hero--singularity .hero-impact__item:nth-child(3),
    .hero--singularity .hero-impact__item:nth-child(4) {
        border-top: 1px solid rgba(255,255,255,0.12);
    }

    .hero--singularity .hero-impact__item:nth-child(3)::before {
        content: none;
    }

    .hero--singularity .hero-impact__number {
        font-size: 34px;
    }

    .hero--singularity .hero-impact__item span {
        font-size: 9px;
        letter-spacing: 0.1em;
    }

    .hero--singularity .hero__badges span {
        min-height: 30px;
        padding: 6px 10px;
        font-size: 11px;
    }

    .hero--singularity .hero__cta {
        flex-direction: column !important;
    }

    .hero--singularity .hero__cta .btn {
        width: 100% !important;
    }

    .hero--singularity .scroll-indicator {
        display: none !important;
    }
}

.nav--tech {
    background: linear-gradient(90deg, rgba(7,19,47,0.82), rgba(13,31,78,0.72), rgba(7,19,47,0.82)) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 18px 46px rgba(0,0,0,0.12) !important;
}

.nav--tech.scrolled {
    background: rgba(7,19,47,0.92) !important;
    box-shadow: 0 18px 52px rgba(0,0,0,0.2), 0 1px 0 rgba(0,193,212,0.18) !important;
}

.nav--tech .nav__logo-img {
    filter: brightness(0) invert(1);
}

.nav--tech .nav__logo-text,
.nav--tech .nav__link {
    color: rgba(255,255,255,0.86) !important;
}

.nav--tech .nav__link:hover {
    color: #fff !important;
}

.nav--tech .nav__info-chip {
    color: rgba(255,255,255,0.72) !important;
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.14) !important;
}

.nav--tech .nav__hamburger span {
    background: rgba(255,255,255,0.86) !important;
}

:root {
    --navy: #0D1F4E;
    --royal: #1A3A7C;
    --cyan: #00C1D4;
    --green: #00E676;
}

.nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1200 !important;
    width: 100% !important;
    padding: 18px clamp(18px, 4vw, 56px) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    clip-path: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: background 0.3s ease, padding 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease !important;
}

.nav::before,
.nav::after {
    content: none !important;
}

.nav.scrolled {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    background: rgba(13,31,78,0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    box-shadow: 0 18px 45px rgba(2,8,23,0.18) !important;
}

.nav .nav__inner {
    width: min(1240px, 100%) !important;
    min-height: 52px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(420px, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(22px, 4vw, 48px) !important;
    position: relative !important;
    z-index: 2 !important;
}

.nav__logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: max-content !important;
    color: #fff !important;
    text-decoration: none !important;
}

.nav__logo-img {
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.nav__logo-text {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    font-family: var(--font-body) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
    text-transform: none !important;
}

.nav__logo-text strong {
    font-weight: 800;
}

.nav__logo-text span {
    font-weight: 400;
}

.nav__links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(22px, 3vw, 38px) !important;
}

.nav__link {
    position: relative !important;
    padding: 9px 0 !important;
    color: rgba(255,255,255,0.88) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: color 0.25s ease !important;
}

.nav__link::before,
.nav__link::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--cyan) !important;
    transform-origin: left center !important;
    transition: transform 0.28s ease, opacity 0.28s ease !important;
}

.nav__link::before {
    width: 100% !important;
    opacity: 0.18 !important;
    transform: scaleX(0) !important;
}

.nav__link::after {
    width: 100% !important;
    opacity: 1 !important;
    transform: scaleX(0) translateX(-8px) !important;
}

.nav__link:hover,
.nav__link.active {
    color: #fff !important;
}

.nav__link:hover::before,
.nav__link.active::before {
    transform: scaleX(1) !important;
}

.nav__link:hover::after,
.nav__link.active::after {
    transform: scaleX(1) translateX(0) !important;
}

.nav.scrolled .nav__link,
.nav.scrolled .nav__logo,
.nav.scrolled .nav__logo-text {
    color: #fff !important;
}

.nav.scrolled .nav__link:hover,
.nav.scrolled .nav__link.active {
    color: var(--cyan) !important;
}

.nav.scrolled .nav__logo-img {
    filter: brightness(0) invert(1) !important;
}

.nav__actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
}

.nav__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 20px !important;
    border-radius: 999px !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease !important;
}

.nav__btn:hover {
    transform: translateY(-1px);
}

.nav__btn--outline {
    color: var(--cyan) !important;
    border: 1px solid var(--cyan) !important;
    background: rgba(255,255,255,0.06) !important;
}

.nav__btn--filled {
    color: #fff !important;
    border: 1px solid transparent !important;
    background: linear-gradient(135deg, var(--royal) 0%, var(--cyan) 100%) !important;
    box-shadow: 0 12px 30px rgba(0,193,212,0.2) !important;
}

.nav__hamburger {
    display: none !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 6px !important;
    cursor: pointer !important;
}

.nav__hamburger span {
    width: 24px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #fff !important;
    transition: transform 0.25s ease, opacity 0.25s ease, background 0.25s ease !important;
}

.nav.scrolled .nav__hamburger span {
    background: var(--cyan) !important;
}

.nav__hamburger.active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg) !important;
}

.nav__hamburger.active span:nth-child(2) {
    opacity: 0 !important;
}

.nav__hamburger.active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg) !important;
}

.nav__mobile {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1190 !important;
    display: none;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 26px !important;
    padding: 92px 24px 48px !important;
    background: var(--navy) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-24px) !important;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease !important;
}

.nav__mobile.open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.nav__mobile .nav__link {
    color: #fff !important;
    font-size: clamp(28px, 8vw, 48px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
}

.nav__mobile .nav__btn {
    min-width: 210px !important;
    min-height: 48px !important;
}

.nav__circuit,
.nav__scan-line,
.nav__glow-line,
.nav__glow-dot,
.nav__info-chip,
.nav__cta-btn,
.nav__cta-glow,
.nav__cta-arrow {
    display: none !important;
}

@media (min-width: 1025px) {
    .nav__mobile {
        display: none !important;
    }
}

@media (max-width: 1024px) {
    .nav {
        padding: 14px 18px !important;
    }

    .nav .nav__inner {
        min-height: 50px !important;
        grid-template-columns: auto auto !important;
        justify-content: space-between !important;
    }

    .nav__links,
    .nav__actions .desktop-only {
        display: none !important;
    }

    .nav__hamburger {
        display: inline-flex !important;
    }
}

@media (max-width: 560px) {
    .nav__logo-img {
        width: 36px !important;
        height: 36px !important;
    }

    .nav__logo-text {
        font-size: 16px !important;
    }
}

.sobre--mission {
    --ice: #F0F8FF;
    --navy: #0D1F4E;
    --royal: #1A3A7C;
    --cyan: #00C1D4;
    --green: #00E676;
    position: relative !important;
    overflow: hidden !important;
    padding: clamp(86px, 10vw, 128px) 0 !important;
    color: #14213D !important;
    background:
        radial-gradient(circle at 8% 18%, rgba(0,193,212,0.12), transparent 28%),
        radial-gradient(circle at 92% 78%, rgba(0,230,118,0.10), transparent 28%),
        linear-gradient(180deg, #F8FCFF 0%, var(--ice) 100%) !important;
}

.sobre--mission::before,
.sobre--mission::after {
    content: "" !important;
    position: absolute !important;
    pointer-events: none !important;
    border-radius: 999px !important;
}

.sobre--mission::before {
    width: 360px;
    height: 360px;
    left: -160px;
    top: 90px;
    border: 1px solid rgba(0,193,212,0.18);
}

.sobre--mission::after {
    width: 260px;
    height: 260px;
    right: -92px;
    bottom: 70px;
    background: linear-gradient(135deg, rgba(0,193,212,0.18), rgba(0,230,118,0.14));
    opacity: 0.62;
}

.sobre__container {
    position: relative;
    z-index: 2;
}

.sobre__header {
    max-width: 880px;
    margin: 0 auto clamp(42px, 6vw, 70px);
    text-align: center;
}

.sobre--mission .section-tag {
    margin-bottom: 18px !important;
    color: var(--cyan) !important;
    border-color: rgba(0,193,212,0.28) !important;
    background: rgba(255,255,255,0.72) !important;
}

.sobre--mission .section-title {
    max-width: 860px;
    margin: 0 auto 18px !important;
    color: var(--royal) !important;
    font-size: clamp(34px, 5vw, 58px) !important;
    letter-spacing: 0 !important;
}

.sobre--mission .section-title::after {
    content: "";
    display: block;
    width: min(240px, 46vw);
    height: 2px;
    margin: 24px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--cyan), var(--green), transparent);
}

.sobre--mission .section-subtitle {
    max-width: 760px !important;
    margin: 0 auto !important;
    color: rgba(20,33,61,0.68) !important;
    font-size: clamp(16px, 1.7vw, 19px) !important;
    line-height: 1.75 !important;
}

.sobre__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: clamp(28px, 4vw, 54px);
    align-items: center;
}

.sobre__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
}

.sobre--mission .sobre-card {
    position: relative;
    min-height: 330px;
    padding: clamp(24px, 2.6vw, 34px);
    border-radius: 8px !important;
    border: 1px solid rgba(13,31,78,0.08) !important;
    border-top: 3px solid transparent !important;
    background: rgba(255,255,255,0.9) !important;
    box-shadow: 0 18px 54px rgba(13,31,78,0.07) !important;
    color: #26364E !important;
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.sobre--mission .sobre-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,193,212,0.06), transparent 40%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.sobre--mission .sobre-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,193,212,0.32) !important;
    border-top-color: var(--cyan) !important;
    box-shadow: 0 24px 62px rgba(0,193,212,0.15) !important;
}

.sobre--mission .sobre-card:hover::before {
    opacity: 1;
}

.sobre-card__icon {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 28px;
    border-radius: 50%;
    background: rgba(0,193,212,0.10);
    color: var(--cyan);
}

.sobre-card--vision .sobre-card__icon {
    background: rgba(26,58,124,0.08);
    color: #2B6CB0;
}

.sobre-card--public .sobre-card__icon {
    background: rgba(0,230,118,0.10);
    color: var(--green);
}

.sobre-card__icon svg {
    width: 25px;
    height: 25px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sobre--mission .sobre-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 14px !important;
    color: var(--royal) !important;
    font-family: var(--font-body) !important;
    font-size: clamp(20px, 2vw, 25px) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.sobre--mission .sobre-card p {
    position: relative;
    z-index: 1;
    margin: 0 !important;
    color: rgba(20,33,61,0.68) !important;
    font-size: 15.5px !important;
    line-height: 1.78 !important;
}

.sobre__visual {
    position: relative;
    min-height: 420px;
    display: grid;
    place-items: center;
}

.sobre__visual-rings {
    position: absolute;
    inset: 5%;
    border-radius: 50%;
    background:
        radial-gradient(circle, transparent 54%, rgba(0,193,212,0.16) 55%, transparent 57%),
        radial-gradient(circle, transparent 68%, rgba(0,230,118,0.14) 69%, transparent 71%);
    animation: sobreRings 14s linear infinite;
}

.sobre__visual-image {
    position: relative;
    z-index: 2;
    width: min(320px, 78vw);
    aspect-ratio: 1;
    margin: 0;
    padding: 2px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--cyan), var(--green));
    box-shadow: 0 28px 80px rgba(13,31,78,0.16);
    overflow: hidden;
}

.sobre__visual-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.sobre__visual-chip {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 54px;
    display: grid;
    gap: 8px;
    padding: 14px;
    border-radius: 8px;
    background: rgba(255,255,255,0.86);
    border: 1px solid rgba(0,193,212,0.18);
    box-shadow: 0 18px 50px rgba(13,31,78,0.12);
    backdrop-filter: blur(18px);
}

.sobre__visual-chip span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--royal);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sobre__visual-chip span::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cyan);
}

.sobre__visual-chip span:nth-child(3)::before {
    background: var(--green);
}

@keyframes sobreRings {
    to { transform: rotate(360deg); }
}

@media (max-width: 1180px) {
    .sobre__body {
        grid-template-columns: 1fr;
    }

    .sobre__visual {
        min-height: 340px;
        order: -1;
    }

    .sobre__visual-chip {
        right: calc(50% - 250px);
    }
}

@media (max-width: 900px) {
    .sobre__cards {
        grid-template-columns: 1fr;
    }

    .sobre--mission .sobre-card {
        min-height: auto;
    }
}

@media (max-width: 560px) {
    .sobre--mission {
        padding: 72px 0 !important;
    }

    .sobre__header {
        text-align: left;
    }

    .sobre--mission .section-title,
    .sobre--mission .section-subtitle {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .sobre--mission .section-title::after {
        margin-left: 0;
    }

    .sobre__visual {
        min-height: 300px;
    }

    .sobre__visual-image {
        width: min(260px, 74vw);
    }

    .sobre__visual-chip {
        right: 8px;
        bottom: 12px;
    }
}

.ejes--pillars {
    --navy: #0D1F4E;
    --royal: #1A3A7C;
    --cyan: #00C1D4;
    --green: #00E676;
    position: relative !important;
    overflow: hidden !important;
    padding: clamp(92px, 11vw, 136px) 0 !important;
    color: #fff !important;
    background:
        linear-gradient(180deg, #081636 0%, var(--navy) 42%, #071229 100%) !important;
}

.ejes--pillars::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background-image:
        linear-gradient(rgba(0,193,212,0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,193,212,0.045) 1px, transparent 1px);
    background-size: 74px 74px;
    mask-image: radial-gradient(circle at 50% 42%, black 0%, transparent 78%);
    -webkit-mask-image: radial-gradient(circle at 50% 42%, black 0%, transparent 78%);
}

.ejes--pillars .ejes__particles {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0.55;
    pointer-events: none;
    mix-blend-mode: screen;
}

.ejes--pillars .container {
    position: relative;
    z-index: 2;
    max-width: min(1240px, calc(100% - 32px)) !important;
}

.ejes--pillars .section-tag {
    color: var(--cyan) !important;
    border-color: rgba(0,193,212,0.34) !important;
    background: rgba(255,255,255,0.06) !important;
}

.ejes--pillars .section-title {
    color: #fff !important;
    font-size: clamp(38px, 6vw, 66px) !important;
    letter-spacing: 0 !important;
}

.ejes--pillars .section-subtitle {
    max-width: 700px !important;
    color: rgba(255,255,255,0.72) !important;
    font-size: clamp(16px, 1.7vw, 19px) !important;
    line-height: 1.7 !important;
}

.ejes-flip-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(18px, 2.3vw, 30px) !important;
    align-items: stretch !important;
    margin-top: clamp(40px, 6vw, 70px) !important;
    perspective: 1200px;
}

.ejes--pillars .eje-card {
    position: relative !important;
    min-height: 500px !important;
    border: 0 !important;
    border-radius: 8px !important;
    clip-path: none !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    isolation: isolate;
    transform-style: preserve-3d;
}

.ejes--pillars .eje-card::before,
.ejes--pillars .eje-card::after {
    content: none !important;
}

.eje-card__inner {
    position: absolute;
    inset: 0;
    border-radius: 8px;
    transform-style: preserve-3d;
    transition: transform 0.65s cubic-bezier(0.2,0.7,0.2,1);
}

.eje-card--flip:hover .eje-card__inner,
.eje-card--flip:focus-within .eje-card__inner {
    transform: rotateY(180deg);
}

.eje-card__face {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    overflow: hidden;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border: 1px solid rgba(255,255,255,0.12);
    background:
        linear-gradient(180deg, rgba(26,58,124,0.92), rgba(8,18,45,0.96)),
        var(--navy);
    box-shadow: 0 28px 80px rgba(0,0,0,0.28);
}

.eje-card__face::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--eje-color) 20%, transparent), transparent 42%),
        var(--eje-image) center / cover no-repeat;
    opacity: 0.18;
    filter: saturate(1.1) contrast(1.02);
}

.eje-card__face::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--eje-color), transparent);
    opacity: 0.9;
}

.eje-card__face--front {
    align-items: center;
    justify-content: center;
    padding: 34px 26px;
    text-align: center;
}

.eje-card__face--back {
    transform: rotateY(180deg);
    justify-content: flex-start;
    padding: 32px 28px;
}

.ejes--pillars .eje-card__letter {
    position: absolute !important;
    top: 18px !important;
    left: 22px !important;
    right: auto !important;
    z-index: 2 !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: var(--eje-color) !important;
    -webkit-text-stroke: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    letter-spacing: 0.16em !important;
}

.ejes--pillars .eje-card__num {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 64px !important;
    height: 64px !important;
    margin: 0 0 24px !important;
    border-radius: 50% !important;
    border: 1px solid color-mix(in srgb, var(--eje-color) 52%, transparent) !important;
    background: color-mix(in srgb, var(--eje-color) 14%, rgba(255,255,255,0.06)) !important;
    color: #fff !important;
    font-family: var(--font-mono) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.eje-card__face--back .eje-card__num {
    width: auto !important;
    height: auto !important;
    margin-bottom: 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--eje-color) !important;
    justify-content: flex-start !important;
}

.ejes--pillars .eje-card__image {
    position: relative;
    z-index: 2;
    width: min(190px, 58%);
    aspect-ratio: 1;
    margin: 0 0 28px;
    padding: 3px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--eje-color), rgba(255,255,255,0.24));
    box-shadow: 0 22px 60px color-mix(in srgb, var(--eje-color) 24%, transparent);
}

.ejes--pillars .eje-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.ejes--pillars .eje-card__title {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-size: clamp(23px, 2.4vw, 31px) !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 10px 30px rgba(0,0,0,0.28) !important;
}

.eje-card__hint {
    position: relative;
    z-index: 2;
    margin-top: 20px;
    color: var(--eje-color);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.ejes--pillars .eje-card__desc {
    position: relative !important;
    z-index: 2 !important;
    max-height: none !important;
    margin: 0 0 22px !important;
    opacity: 1 !important;
    color: rgba(255,255,255,0.78) !important;
    font-size: 15px !important;
    line-height: 1.72 !important;
}

.ejes--pillars .eje-card__tags {
    position: relative;
    z-index: 2;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: auto 0 24px !important;
}

.ejes--pillars .eje-card__tags span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--eje-color) 42%, transparent) !important;
    background: color-mix(in srgb, var(--eje-color) 14%, rgba(255,255,255,0.06)) !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.eje-card__cta {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    width: max-content;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid var(--eje-color);
    color: #fff !important;
    background: color-mix(in srgb, var(--eje-color) 28%, transparent);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.eje-card__cta:hover {
    color: #071229 !important;
    background: var(--eje-color);
}

@media (max-width: 1024px) {
    .ejes-flip-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ejes--pillars .eje-card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .ejes-flip-grid {
        grid-template-columns: 1fr !important;
    }

    .ejes--pillars .eje-card,
    .ejes--pillars .eje-card:last-child {
        grid-column: auto !important;
        min-height: 470px !important;
    }

    .eje-card--flip:hover .eje-card__inner,
    .eje-card--flip:focus-within .eje-card__inner {
        transform: none;
    }

    .ejes--pillars .eje-card__inner,
    .ejes--pillars .eje-card__face {
        position: relative;
    }

    .ejes--pillars .eje-card__inner {
        display: grid;
        gap: 14px;
    }

    .eje-card__face--front,
    .eje-card__face--back {
        min-height: 360px;
        transform: none;
    }

    .eje-card__face--back {
        min-height: auto;
    }
}

.agenda--engine {
    --navy: #0D1F4E;
    --royal: #1A3A7C;
    --cyan: #00C1D4;
    --green: #00E676;
    position: relative;
    overflow: hidden;
    padding: clamp(84px, 10vw, 126px) 0 !important;
    background:
        radial-gradient(circle at 14% 18%, rgba(0,193,212,0.16), transparent 30%),
        radial-gradient(circle at 84% 78%, rgba(0,230,118,0.10), transparent 34%),
        linear-gradient(180deg, #071229 0%, var(--navy) 54%, #071229 100%) !important;
    color: #fff !important;
}

.agenda--engine::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(0,193,212,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,193,212,0.035) 1px, transparent 1px);
    background-size: 78px 78px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

.agenda--engine .container {
    position: relative;
    z-index: 2;
    max-width: min(1120px, calc(100% - 36px)) !important;
}

.agenda__header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto clamp(30px, 5vw, 52px);
}

.agenda--engine .section-title,
.agenda--engine .section-subtitle {
    color: #fff !important;
}

.agenda--engine .section-subtitle {
    margin-left: auto !important;
    margin-right: auto !important;
    color: rgba(255,255,255,0.72) !important;
}

.agenda__shell {
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.035));
    box-shadow: 0 34px 90px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.10);
    backdrop-filter: blur(20px);
    padding: clamp(18px, 3vw, 30px);
}

.agenda__topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.agenda__kicker {
    margin: 0 0 6px;
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--cyan);
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.agenda--engine .agenda__day-meta {
    min-height: auto !important;
    margin: 0 !important;
    font-family: var(--font-heading) !important;
    font-size: clamp(18px, 2.4vw, 28px) !important;
    font-weight: 800;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #fff !important;
}

.agenda__download {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(0,193,212,0.42);
    color: var(--cyan);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(0,193,212,0.08);
}

.agenda__download:disabled,
.hub-card__cta:disabled,
.brochure .btn:disabled {
    cursor: not-allowed;
    opacity: 0.72;
}

.agenda--engine .agenda__nav {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px !important;
    margin: 0 0 14px !important;
}

.agenda--engine .agenda__day-btn {
    min-width: 0;
    min-height: 70px;
    display: grid;
    place-items: center;
    gap: 4px;
    padding: 12px 8px !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,0.06) !important;
    color: rgba(255,255,255,0.72) !important;
    box-shadow: none !important;
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.agenda--engine .agenda__day-btn span {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--day-color, var(--cyan));
}

.agenda--engine .agenda__day-btn strong {
    font-size: clamp(12px, 1.6vw, 15px);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.agenda--engine .agenda__day-btn:hover,
.agenda--engine .agenda__day-btn.active {
    transform: translateY(-2px);
    border-color: var(--day-color, var(--cyan)) !important;
    background: linear-gradient(135deg, rgba(26,58,124,0.78), rgba(0,193,212,0.24)) !important;
    color: #fff !important;
}

.agenda__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 0 24px;
    border-bottom: 1px solid rgba(255,255,255,0.10);
}

.agenda__filter {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 999px;
    background: rgba(255,255,255,0.05);
    color: rgba(255,255,255,0.68);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.agenda__filter:hover,
.agenda__filter.active {
    border-color: rgba(0,193,212,0.58);
    background: rgba(0,193,212,0.12);
    color: #fff;
}

.agenda--engine .agenda__activities {
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-top: 8px;
    isolation: isolate;
}

.agenda--engine .agenda__activities::before {
    content: none;
}

.agenda--engine .activity-card {
    position: relative;
    isolation: isolate;
    display: grid !important;
    grid-template-columns: 34px minmax(108px, 132px) 2px minmax(0, 1fr) !important;
    gap: clamp(14px, 2vw, 24px) !important;
    align-items: stretch;
    padding: 24px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

.agenda--engine .activity-card + .activity-card {
    border-top: 1px solid rgba(255,255,255,0.08) !important;
}

.agenda--engine .activity-card::before {
    content: none !important;
}

.agenda--engine .activity-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.agenda-timeline__rail {
    position: relative;
    z-index: 3;
    display: grid;
    place-items: center;
    align-self: stretch;
    padding: 0;
}

.agenda-timeline__rail span {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--item-color, var(--cyan));
    box-shadow: 0 0 0 6px rgba(13,31,78,0.95), 0 0 22px color-mix(in srgb, var(--item-color, var(--cyan)) 65%, transparent);
}

.agenda--engine .activity-card__time {
    position: relative;
    z-index: 2;
    display: grid;
    align-content: center;
    justify-items: end;
    min-width: 0;
    color: #fff !important;
}

.agenda--engine .activity-card__time span {
    font-family: var(--font-display);
    font-size: clamp(34px, 3.8vw, 46px);
    line-height: 0.9;
    letter-spacing: 0;
    color: #fff;
    white-space: nowrap;
}

.agenda--engine .activity-card__time small {
    display: none;
}

.agenda-timeline__line {
    position: relative;
    z-index: 2;
    align-self: stretch;
    min-height: 118px;
    border-radius: 999px;
    background: linear-gradient(180deg, transparent 0%, var(--item-color, var(--cyan)) 18%, var(--green) 82%, transparent 100%);
    opacity: 0.62;
}

.agenda--engine .activity-card__body {
    position: relative;
    z-index: 1;
    isolation: isolate;
    min-width: 0;
    overflow: hidden;
    align-self: center;
    padding: 22px clamp(48px, 5vw, 68px) 22px clamp(20px, 3vw, 30px);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px;
    background: rgba(255,255,255,0.07);
    backdrop-filter: blur(14px);
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.agenda--engine .activity-card__index {
    position: absolute;
    top: 18px;
    right: clamp(18px, 2.2vw, 26px);
    z-index: -1;
    display: block;
    margin: 0;
    font-family: var(--font-mono);
    font-size: clamp(34px, 4.5vw, 58px);
    line-height: 1;
    color: rgba(255,255,255,0.045);
    letter-spacing: 0;
}

.agenda--engine .activity-card:hover .activity-card__body {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--item-color, var(--cyan)) 48%, rgba(255,255,255,0.12));
    background: rgba(255,255,255,0.10);
}

.agenda--engine .activity-card__tipo {
    margin-bottom: 8px !important;
    padding: 5px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--item-color, var(--cyan)) 16%, transparent);
    color: var(--item-color, var(--cyan));
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.agenda--engine .activity-card__title {
    margin: 0 0 8px !important;
    color: #fff !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    line-height: 1.15;
}

.agenda--engine .activity-card__desc {
    margin: 0;
    color: rgba(255,255,255,0.68) !important;
    font-size: 15px;
    line-height: 1.55;
}

.agenda__empty {
    margin-top: 22px;
    padding: 24px;
    border: 1px dashed rgba(0,193,212,0.32);
    border-radius: 14px;
    color: rgba(255,255,255,0.68);
    text-align: center;
}

@media (max-width: 820px) {
    .agenda--engine .agenda__nav {
        grid-template-columns: repeat(5, minmax(72px, 1fr));
        overflow-x: auto;
        padding-bottom: 6px;
    }

    .agenda__topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .agenda--engine .activity-card {
        grid-template-columns: 26px minmax(78px, 96px) 2px minmax(0, 1fr) !important;
        gap: 14px !important;
        align-items: stretch;
    }

    .agenda--engine .activity-card__time {
        grid-column: auto;
        grid-row: auto;
        justify-items: end;
    }

    .agenda-timeline__rail {
        grid-column: auto;
        grid-row: auto;
    }

    .agenda--engine .activity-card__body {
        grid-column: auto;
        grid-row: auto;
        padding-right: 42px;
    }

    .agenda-timeline__line {
        min-height: 100%;
    }
}

@media (max-width: 560px) {
    .agenda--engine {
        padding: 74px 0 !important;
    }

    .agenda__shell {
        padding: 16px;
        border-radius: 14px;
    }

    .agenda--engine .agenda__day-btn {
        min-height: 62px;
    }

    .agenda__filters {
        padding-bottom: 18px;
    }

    .agenda__filter {
        flex: 1 1 calc(50% - 8px);
        justify-content: center;
    }

    .agenda--engine .activity-card__body {
        padding: 16px;
        padding-right: 38px;
    }

    .agenda--engine .activity-card__time span {
        font-size: 30px;
    }

    .agenda--engine .activity-card__index {
        top: 14px;
        right: 14px;
        font-size: 34px;
    }
}

.innovation-hub {
    --navy: #0D1F4E;
    --royal: #1A3A7C;
    --cyan: #00C1D4;
    --green: #00E676;
    --hub-bg: #F3F8FB;
    --hub-ink: #071A2C;
    position: relative;
    overflow: visible;
    isolation: isolate;
    /* FIX v2: el espacio cinematográfico pertenece solo a Innovation Hub — agente */
    min-height: 500svh;
    padding: 0;
    background:
        radial-gradient(circle at 16% 12%, rgba(0,193,212,0.18), transparent 28%),
        radial-gradient(circle at 86% 76%, rgba(0,230,118,0.16), transparent 30%),
        linear-gradient(180deg, #F8FCFF 0%, var(--hub-bg) 48%, #E8F2F7 100%);
    color: var(--hub-ink);
}

.innovation-hub + .section-divider {
    height: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.innovation-hub::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(13,31,78,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(13,31,78,0.035) 1px, transparent 1px);
    background-size: 92px 92px;
    pointer-events: none;
}

.innovation-hub::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 8px;
    background: linear-gradient(90deg, #1A3A7C, #00C1D4, #00E676);
}

.innovation-hub__inner {
    position: sticky;
    z-index: 2;
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto;
    min-height: 100svh;
    top: 0;
    /* FIX v2: sticky nativo encerrado en la sección; GSAP solo anima cards — agente */
    will-change: transform;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(72px, 8vw, 104px) 0;
}

.innovation-hub__intro {
    max-width: 760px;
    margin: 0 auto clamp(34px, 5vw, 58px);
    text-align: center;
}

.innovation-hub .section-title,
.innovation-hub .section-subtitle {
    color: var(--hub-ink) !important;
}

.innovation-hub .section-subtitle {
    margin-left: auto !important;
    margin-right: auto !important;
    color: rgba(7,26,44,0.66) !important;
}

.hub-stack {
    position: relative;
    min-height: clamp(500px, 62vh, 640px);
    display: grid;
    place-items: center;
}

.hub-card {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
    gap: 0;
    align-items: stretch;
    padding: 0;
    border: 1px solid rgba(13,31,78,0.12);
    border-radius: 22px;
    background: #0D1F4E;
    box-shadow: 0 34px 90px rgba(13,31,78,0.16), inset 0 1px 0 rgba(255,255,255,0.72);
    backdrop-filter: blur(20px);
    transform-origin: center bottom;
}

.hub-card:not(.hub-card--active) {
    transform: translateY(28px) scale(0.94);
    opacity: 0;
}

.hub-card__media {
    position: relative;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 22px 0 0 22px;
    background: rgba(13,31,78,0.10);
}

.hub-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 40%, rgba(7,18,41,0.72) 100%),
        linear-gradient(135deg, color-mix(in srgb, var(--hub-accent) 28%, transparent), transparent 46%);
    pointer-events: none;
}

.hub-card__media img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    filter: saturate(0.86) contrast(1.05);
}

.hub-card__content {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(28px, 4vw, 56px);
    border-radius: 0 22px 22px 0;
    background:
        radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--hub-accent) 22%, transparent), transparent 32%),
        #0D1F4E;
}

.hub-card__content::before {
    content: attr(data-index);
    position: absolute;
    right: clamp(20px, 3vw, 42px);
    top: clamp(18px, 3vw, 34px);
    z-index: -1;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(72px, 10vw, 128px);
    font-weight: 900;
    line-height: 0.8;
    color: color-mix(in srgb, var(--hub-accent) 24%, transparent);
    opacity: 0.7;
}

.hub-card__content > span {
    margin-bottom: 14px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.18em;
    color: var(--hub-accent);
    text-transform: uppercase;
}

.hub-card__content h3 {
    margin: 0 0 16px;
    font-family: 'Gordita', 'Montserrat', sans-serif;
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.5px;
    color: #fff;
}

.hub-card__content p {
    max-width: 520px;
    margin: 0 0 28px;
    color: rgba(255,255,255,0.75);
    font-size: 15px;
    line-height: 1.75;
}

.hub-card__cta {
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid color-mix(in srgb, var(--hub-accent) 58%, rgba(255,255,255,0.2));
    border-radius: 999px;
    background: color-mix(in srgb, var(--hub-accent) 12%, transparent);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.hub-progress {
    position: absolute;
    right: clamp(14px, 2vw, 28px);
    top: 50%;
    z-index: 8;
    display: grid;
    gap: 12px;
    transform: translateY(-50%);
}

.hub-progress span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: rgba(13,31,78,0.24);
    transition: transform 0.25s ease, background 0.25s ease;
}

.hub-progress span.active {
    background: var(--cyan);
    transform: scale(1.45);
}

@media (max-width: 900px) {
    .innovation-hub {
        min-height: auto;
        overflow: hidden;
        padding: clamp(74px, 10vw, 96px) 0;
    }

    .innovation-hub__inner {
        position: relative;
        top: auto;
        min-height: auto;
        padding: 0;
    }

    .hub-stack {
        min-height: auto;
        gap: 18px;
        display: grid;
    }

    .hub-card {
        position: relative;
        inset: auto;
        grid-template-columns: 1fr;
        transform: none !important;
        opacity: 1 !important;
    }

    .hub-card__media {
        min-height: 260px;
        border-radius: 16px 16px 0 0;
    }

    .hub-card__content {
        border-radius: 0 0 16px 16px;
    }

    .hub-progress {
        display: none;
    }
}

@media (max-width: 560px) {
    .innovation-hub {
        padding: 74px 0;
    }

    .innovation-hub__inner {
        width: min(100% - 28px, 1180px);
    }

    .hub-card {
        border-radius: 16px;
        padding: 14px;
    }

    .hub-card__content {
        padding: 14px 4px 6px;
    }
}

.pricing--concierge {
    --navy: #0D1F4E;
    --royal: #1A3A7C;
    --cyan: #00C1D4;
    --green: #00E676;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(232,242,247,0.92) 0%, rgba(13,31,78,0.96) 12%, transparent 28%),
        radial-gradient(circle at 14% 16%, rgba(0,193,212,0.16), transparent 30%),
        radial-gradient(circle at 86% 82%, rgba(0,230,118,0.10), transparent 34%),
        linear-gradient(180deg, #0D1F4E 0%, #071229 100%) !important;
    color: #fff !important;
}

.pricing--concierge + .brochure {
    background:
        radial-gradient(circle at 12% 20%, rgba(0,193,212,0.10), transparent 28%),
        linear-gradient(180deg, #EAF3FA 0%, #F8FBFF 100%) !important;
    color: #071A2C !important;
}

.pricing--concierge + .brochure .section-title {
    color: #071A2C !important;
}

.pricing--concierge + .brochure .brochure__text p {
    color: rgba(7,26,44,0.64) !important;
}

.pricing--concierge::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(13,31,78,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(13,31,78,0.032) 1px, transparent 1px);
    background-size: 82px 82px;
    pointer-events: none;
}

.pricing--concierge .container {
    position: relative;
    z-index: 2;
}

.pricing--concierge .section-title {
    color: #fff !important;
}

.pricing--concierge .section-subtitle {
    color: rgba(255,255,255,0.70) !important;
}

.pricing--concierge .pricing__grid {
    display: block !important;
    margin-top: clamp(30px, 4vw, 46px) !important;
    perspective: none !important;
}

.pricing__controls {
    width: max-content;
    max-width: 100%;
    display: flex;
    gap: 6px;
    margin: 0 auto 28px;
    padding: 6px;
    border: 1px solid rgba(13,31,78,0.10);
    border-radius: 999px;
    background: rgba(255,255,255,0.72);
    box-shadow: 0 16px 38px rgba(26,58,124,0.10);
}

.pricing__toggle {
    min-height: 38px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(7,26,44,0.58);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pricing__toggle.active {
    background: linear-gradient(135deg, var(--royal), var(--cyan));
    color: #fff;
    box-shadow: 0 10px 26px rgba(0,193,212,0.22);
}

.pricing__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
    align-items: stretch;
}

.pricing--concierge .plan-card {
    isolation: isolate;
    overflow: hidden;
    min-height: 100%;
    padding: clamp(24px, 2.5vw, 34px) !important;
    border-radius: 18px !important;
    border: 1px solid rgba(13,31,78,0.10) !important;
    background: rgba(255,255,255,0.84) !important;
    box-shadow: 0 24px 70px rgba(13,31,78,0.12) !important;
    color: #071A2C !important;
    cursor: default !important;
    transform: none !important;
}

.pricing--concierge .plan-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--cyan);
}

.pricing--concierge .plan-card:hover {
    transform: translateY(-5px) !important;
}

.pricing--concierge .plan-access {
    border-color: rgba(0,230,118,0.35) !important;
    box-shadow: 0 30px 82px rgba(0,230,118,0.16) !important;
}

.pricing--concierge .plan-access::before {
    background: linear-gradient(90deg, var(--cyan), var(--green));
}

.pricing--concierge .plan-black {
    background:
        radial-gradient(circle at 50% 0%, rgba(0,193,212,0.20), transparent 42%),
        #071229 !important;
    border-color: rgba(0,193,212,0.42) !important;
    color: #fff !important;
}

.pricing--concierge .plan-black::before {
    background: linear-gradient(90deg, #fff, var(--cyan), var(--green));
}

.plan-card__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.plan-card__tier {
    font-family: var(--font-mono);
    font-size: 11px;
    color: rgba(7,26,44,0.42);
    letter-spacing: 0.18em;
}

.plan-black .plan-card__tier {
    color: rgba(255,255,255,0.46);
}

.plan-card__badge-basic,
.plan-card__badge-popular,
.plan-card__badge-premium {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.plan-card__badge-basic {
    background: rgba(0,193,212,0.10);
    color: var(--cyan);
}

.pricing--concierge .plan-card__badge-popular {
    position: static !important;
    transform: none !important;
    background: rgba(0,230,118,0.14) !important;
    color: #058548 !important;
    animation: none !important;
    padding: 0 11px !important;
}

.plan-card__badge-premium {
    background: rgba(255,255,255,0.12);
    color: #fff;
}

.pricing--concierge .plan-card__name {
    margin: 0 0 8px !important;
    color: inherit !important;
    font-size: clamp(24px, 2.6vw, 34px) !important;
}

.pricing--concierge .plan-card__desc {
    margin-bottom: 22px !important;
    color: rgba(7,26,44,0.62) !important;
}

.pricing--concierge .plan-black .plan-card__desc {
    color: rgba(255,255,255,0.68) !important;
}

.plan-card__price-wrap {
    margin-bottom: 22px;
    padding: 16px;
    border-radius: 14px;
    background: rgba(13,31,78,0.045);
}

.plan-black .plan-card__price-wrap {
    background: rgba(255,255,255,0.08);
}

.plan-card__price-label,
.plan-card__price-note {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(7,26,44,0.48);
}

.plan-black .plan-card__price-label,
.plan-black .plan-card__price-note {
    color: rgba(255,255,255,0.48);
}

.pricing--concierge .plan-card__price {
    margin: 6px 0 !important;
    color: var(--royal) !important;
    font-size: clamp(25px, 3vw, 34px) !important;
    letter-spacing: 0 !important;
}

.pricing--concierge .plan-black .plan-card__price {
    color: #fff !important;
}

.pricing--concierge .plan-card__features {
    display: grid;
    gap: 0;
    margin-bottom: 22px !important;
}

.pricing--concierge .plan-card__feature {
    color: rgba(7,26,44,0.72) !important;
    border-bottom-color: rgba(13,31,78,0.07) !important;
}

.pricing--concierge .plan-black .plan-card__feature {
    color: rgba(255,255,255,0.72) !important;
    border-bottom-color: rgba(255,255,255,0.08) !important;
}

.pricing--concierge .plan-card__feature svg {
    color: var(--cyan) !important;
}

.pricing--concierge .plan-access .plan-card__feature svg {
    color: var(--green) !important;
}

.plan-card__actions {
    display: grid;
    gap: 10px;
    margin-top: auto;
}

.pricing--concierge .plan-card__cta:disabled,
.plan-card__whatsapp:disabled,
.sales-advisor:disabled {
    cursor: not-allowed;
    opacity: 0.78;
}

.plan-card__whatsapp,
.sales-advisor {
    min-height: 42px;
    border: 1px solid rgba(0,193,212,0.32);
    border-radius: 999px;
    background: rgba(0,193,212,0.08);
    color: var(--royal);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.plan-black .plan-card__whatsapp {
    color: #fff;
}

.sales-concierge {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    margin-top: 26px;
    padding: clamp(18px, 2.4vw, 26px);
    border: 1px solid rgba(13,31,78,0.10);
    border-radius: 18px;
    background: rgba(255,255,255,0.78);
    box-shadow: 0 22px 60px rgba(13,31,78,0.10);
}

.sales-concierge__copy span {
    display: block;
    margin-bottom: 6px;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--cyan);
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.sales-concierge__copy strong {
    display: block;
    color: #071A2C;
    font-size: clamp(19px, 2vw, 25px);
}

.sales-concierge__copy p {
    margin: 6px 0 0;
    color: rgba(7,26,44,0.62);
}

.sales-concierge__advisors {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.sales-advisor {
    min-height: 58px;
    padding: 8px 16px;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 10px;
    align-items: center;
    text-align: left;
    border-radius: 14px;
}

.sales-advisor span {
    grid-row: span 2;
    color: var(--cyan);
    font-family: var(--font-mono);
}

.sales-advisor strong {
    color: #071A2C;
    font-size: 13px;
}

.sales-advisor small {
    color: rgba(7,26,44,0.55);
}

@media (max-width: 1024px) {
    .pricing__cards,
    .sales-concierge {
        grid-template-columns: 1fr !important;
    }

    .sales-concierge__advisors {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .pricing__controls {
        width: 100%;
    }

    .pricing__toggle {
        flex: 1;
        padding: 0 10px;
    }

    .sales-advisor {
        width: 100%;
    }
}

.footer--premium {
    background:
        radial-gradient(circle at 18% 0%, rgba(0,193,212,0.15), transparent 30%),
        linear-gradient(180deg, #071229 0%, #040A16 100%) !important;
    border-top: 1px solid rgba(0,193,212,0.20);
}

.footer--premium .footer__top {
    align-items: start;
}

.footer__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.footer__meta span {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border-radius: 999px;
    border: 1px solid rgba(0,193,212,0.18);
    color: rgba(255,255,255,0.68);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.footer__back {
    color: var(--cyan);
    font-size: 13px;
    font-weight: 800;
}

.footer--premium .footer__watermark {
    font-size: clamp(96px, 18vw, 220px);
    opacity: 0.026;
}

@media (max-width: 560px) {
    .footer__meta {
        gap: 6px;
    }
}

:root {
    --navy-deep: #0D1F4E;
    --navy-royal: #1A3A7C;
    --blue-mid: #2B6CB0;
    --cyan: #00C1D4;
    --green: #00E676;
    --teal-mid: #3BD6A4;
    --ice-blue: #EEF5FF;
    --white: #FFFFFF;
    --cat-ponencia: #00C1D4;
    --cat-taller: #00E676;
    --cat-visita: #FFB800;
    --cat-network: #2B6CB0;
    --grad-hero: linear-gradient(135deg, #0D1F4E 0%, #1A3A7C 100%);
    --grad-cta: linear-gradient(135deg, #1A3A7C 0%, #00C1D4 100%);
    --grad-accent: linear-gradient(135deg, #00C1D4 0%, #00E676 100%);
    --grad-triple: linear-gradient(135deg, #2B6CB0 0%, #3BD6A4 50%, #00E676 100%);
    --font-display: 'Montserrat', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Montserrat', sans-serif;
    --font-mono: 'Montserrat', sans-serif;
}

html,
body,
button,
input,
textarea,
select {
    font-family: 'Montserrat', sans-serif !important;
}

.section-title,
.hero__mind,
.hero__summit,
.plan-card__name,
.hub-card__content h3,
.final-slogan h3,
.footer__logo span {
    font-family: 'Gordita', 'Montserrat', sans-serif !important;
    font-weight: 800;
    letter-spacing: 0 !important;
}

.section-tag,
.hero__eyebrow,
.agenda__kicker,
.plan-card__tier,
.sponsor-panel__eyebrow,
.final-slogan p,
.nav__link {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
}

p,
.section-subtitle,
.activity-card__desc,
.hub-card__content p,
.plan-card__desc,
.sobre-card p {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400;
    line-height: 1.7;
}

.btn,
.nav__btn,
.text-cta,
.plan-card__cta,
.hub-card__cta {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700;
}

.site-accent-line {
    position: fixed;
    right: max(18px, 4vw);
    top: 8vh;
    z-index: 1;
    width: min(16vw, 220px);
    height: 84vh;
    pointer-events: none;
    opacity: 0.32;
    mix-blend-mode: screen;
}

.site-accent-line path {
    fill: none;
    stroke: url(#siteAccentGradient);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-dasharray: 1800;
    stroke-dashoffset: 1800;
    filter: drop-shadow(0 0 12px rgba(0,193,212,0.34));
}

.ejes--pillars,
.speakers,
.agenda--engine,
.strategic-alliances {
    position: relative;
    isolation: isolate;
}

.ejes--pillars::after,
.speakers::after {
    content: "";
    position: absolute;
    right: clamp(12px, 5vw, 70px);
    top: 9%;
    width: min(26vw, 260px);
    height: 70%;
    border-right: 2px solid rgba(0,193,212,0.18);
    border-radius: 50%;
    transform: rotate(12deg);
    pointer-events: none;
    z-index: -1;
}

@media (max-width: 900px) {
    .site-accent-line {
        display: none;
    }
}

@media (pointer: coarse) {
    .cursor-dot,
    .cursor-ring {
        display: none !important;
    }
}

@media (max-width: 767px) {
    #globalCityBg,
    #liquidCanvas {
        display: none !important;
    }
}

/* FIX: cinematic horizontal pillars and concierge pricing follower - 2026-05-23 */
.pilares-wrap {
    position: relative;
    background-color: var(--bg-dark, #0b0f19);
    overflow: clip;
}

.pilares-wrap .ejes__particles {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0.42;
}

.pilares-header {
    width: min(860px, 100%);
    margin: 0 auto clamp(32px, 5vh, 56px);
    text-align: center;
}

.pilar-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.pilar-img-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 1;
}

.pilar-img {
    width: 130%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.pilar-card:hover .pilar-img {
    transform: scale(1.08);
}

.pilar-content {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(to top, rgba(0,0,0,0.86) 28%, rgba(0,0,0,0.18) 66%, transparent 100%);
}

.pilar-num {
    font-family: "JetBrains Mono", monospace;
    color: var(--pilar-accent, var(--accent, #00C1D4));
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.pilar-title {
    font-family: "Bebas Neue", var(--font-heading), sans-serif;
    font-size: clamp(32px, 3vw, 48px);
    line-height: 0.96;
    margin: 10px 0;
    color: #fff;
    letter-spacing: 0.02em;
}

.pilar-desc {
    font-family: "DM Sans", var(--font-body), sans-serif;
    color: rgba(255,255,255,0.78);
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
    opacity: 0;
    transform: translateY(20px);
}

@media (min-width: 1024px) {
    .pilares-wrap {
        height: 400vh;
    }

    .pilares-sticky {
        position: sticky;
        top: 0;
        height: 100vh;
        overflow: hidden;
        display: flex;
        align-items: center;
    }

    .pilares-container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 100%;
        width: 100%;
        max-width: 1400px;
    }

    .pilares-track {
        display: flex;
        flex-wrap: nowrap;
        width: max-content;
        gap: 40px;
        padding-left: 10%;
        padding-right: 10vw;
        will-change: transform;
    }

    .pilar-card {
        flex-shrink: 0;
        width: 450px;
        height: 550px;
        border-radius: 20px;
        background: rgba(255,255,255,0.03);
        border: 1px solid rgba(255,255,255,0.1);
        box-shadow: 0 24px 70px rgba(0,0,0,0.34);
    }
}

@media (max-width: 1023px) {
    .pilares-wrap {
        height: auto;
        position: relative;
        padding: clamp(72px, 12vw, 110px) 0;
    }

    .pilares-sticky {
        position: relative;
        height: auto;
        overflow: visible;
    }

    .pilares-container {
        width: min(100%, 760px);
    }

    .pilares-track {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
        width: 100%;
        padding: 20px;
    }

    .pilar-card {
        width: 100%;
        height: 400px;
        border-radius: 18px;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(255,255,255,0.05);
    }

    .pilar-img {
        width: 100%;
    }

    .pilar-desc {
        opacity: 1;
        transform: none;
    }
}

.concierge-follower {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    height: 220px;
    pointer-events: none;
    z-index: 1000;
    opacity: 0;
    transform: scale(0.8);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    will-change: transform, opacity;
}

.concierge-follower__inner,
.concierge-follower img {
    width: 100%;
    height: 100%;
}

.concierge-follower img {
    display: block;
    object-fit: cover;
}

@media (min-width: 1024px) {
    .pricing--concierge .pricing__grid {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 1100px !important;
        margin: 50px auto 0 !important;
        border-top: 1px solid rgba(255,255,255,0.1) !important;
    }

    .price-row {
        display: grid;
        grid-template-columns: 1fr 2fr 1fr;
        align-items: center;
        gap: 28px;
        padding: 35px 20px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        cursor: pointer;
        position: relative;
        transition: background-color 0.3s;
        will-change: transform;
    }

    .price-row:hover {
        background-color: rgba(255,255,255,0.02);
    }

    .price-row__title {
        font-family: "Bebas Neue", var(--font-heading), sans-serif;
        font-size: 32px;
        color: #fff;
        letter-spacing: 0.04em;
    }

    .price-row__features {
        font-family: "DM Sans", var(--font-body), sans-serif;
        color: #aaa;
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .price-row__features span + span::before {
        content: "•";
        margin-right: 20px;
        color: rgba(0,193,212,0.72);
    }

    .price-row__cost {
        font-family: "JetBrains Mono", monospace;
        font-size: 24px;
        color: var(--accent, #00C1D4);
        text-align: right;
    }
}

@media (max-width: 1023px) {
    .concierge-follower {
        display: none;
    }

    .pricing--concierge .pricing__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 20px !important;
    }

    .price-row {
        display: flex;
        flex-direction: column;
        padding: 30px;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 12px;
    }

    .price-row__title {
        font-family: "Bebas Neue", var(--font-heading), sans-serif;
        font-size: 34px;
        color: #fff;
    }

    .price-row__features {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin: 15px 0;
        color: rgba(255,255,255,0.72);
    }

    .price-row__cost {
        color: var(--accent, #00C1D4);
        font-family: "JetBrains Mono", monospace;
        font-size: 22px;
    }
}

@supports (padding: max(0px)) {
    .nav {
        padding-left: max(0px, env(safe-area-inset-left));
        padding-right: max(0px, env(safe-area-inset-right));
    }

    .footer {
        padding-bottom: max(0px, env(safe-area-inset-bottom));
    }

    .floating-badge {
        right: max(16px, env(safe-area-inset-right));
        bottom: max(16px, env(safe-area-inset-bottom));
    }
}

@media (max-width: 768px), (pointer: coarse) {
    .nav__hamburger,
    .nav__mobile .nav__link,
    .nav__mobile .nav__btn,
    .swiper-button-prev,
    .swiper-button-next,
    .speaker-modal__close,
    .speaker-card,
    .btn,
    button {
        min-width: 44px;
        min-height: 44px;
    }

    .speaker-modal__content {
        max-height: calc(100dvh - env(safe-area-inset-top));
    }

    .nav {
        padding-top: max(14px, env(safe-area-inset-top)) !important;
    }

    .hub-progress span {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

.site-accent-line {
    display: none !important;
}

#globalCityBg,
#liquidCanvas {
    display: none !important;
}

.nav {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    clip-path: none !important;
    background: rgba(7, 19, 47, 0.94) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    box-shadow: 0 16px 44px rgba(7,19,47,0.24) !important;
    backdrop-filter: blur(18px);
    transform: none !important;
}

.nav.scrolled {
    background: rgba(7, 19, 47, 0.98) !important;
    box-shadow: 0 12px 36px rgba(7,19,47,0.28) !important;
}

.nav::before,
.nav::after,
.nav__scan-line,
.nav__glow-line,
.nav__circuit {
    display: none !important;
}

.nav__inner {
    width: min(1240px, calc(100% - 40px)) !important;
    min-height: 74px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.nav__logo,
.nav__logo-text,
.nav__link {
    color: rgba(255,255,255,0.88) !important;
}

.nav__logo-text strong {
    color: #fff !important;
}

.nav__logo-img {
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.nav__links {
    gap: clamp(18px, 2.3vw, 34px) !important;
}

.nav__link {
    padding: 26px 0 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase;
}

.nav__link::before {
    display: none !important;
}

.nav__link::after {
    height: 2px !important;
    bottom: 18px !important;
    background: linear-gradient(90deg, var(--cyan), var(--green)) !important;
}

.nav__btn {
    border-radius: 6px !important;
}

.nav__btn--outline {
    color: rgba(255,255,255,0.88) !important;
    background: transparent !important;
    border-color: rgba(255,255,255,0.22) !important;
}

.nav__btn--filled {
    color: #07132F !important;
    background: linear-gradient(135deg, #00C1D4, #00E676) !important;
    box-shadow: 0 12px 28px rgba(0,193,212,0.22) !important;
}

.nav__hamburger span {
    background: #fff !important;
}

.nav__mobile {
    top: 74px !important;
    background: rgba(7,19,47,0.98) !important;
    border-top: 1px solid rgba(255,255,255,0.10);
}

.hero--singularity {
    min-height: 100svh !important;
    padding-top: clamp(106px, 13vh, 148px) !important;
    /* FIX v2: override final alineado al fallback neutro del hero — agente */
    background: #020408 !important;
}

.hero--singularity .hero__photo img {
    object-position: center 46% !important;
    filter: saturate(0.98) contrast(1.04) brightness(0.88) !important;
    transform: none !important;
}

.hero--singularity .hero__veil {
    /* FIX v2: mantener overlay neutro también en el bloque final de overrides — agente */
    background:
        linear-gradient(90deg, rgba(2,4,8,0.66) 0%, rgba(2,4,8,0.40) 38%, rgba(2,4,8,0.14) 72%, rgba(2,4,8,0.26) 100%),
        linear-gradient(180deg, rgba(2,4,8,0.58) 0%, rgba(2,4,8,0.18) 42%, rgba(2,4,8,0.72) 100%) !important;
}

.hero--singularity .hero__layer--particles,
.hero--singularity .hero__curve,
.hero--singularity .hero__bottom-glow,
.hero--singularity .scroll-indicator {
    display: none !important;
}

.hero--singularity .hero__split {
    width: min(1120px, 100%) !important;
    min-height: clamp(580px, 72vh, 720px) !important;
}

.hero--singularity .hero__logos {
    top: 0 !important;
    /* FIX v2: sostener el nuevo espaciado aunque este override sea el último — agente */
    gap: clamp(32px, 5vw, 64px) !important;
    filter: none !important;
}

.hero--singularity .hero__logo-mark {
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.28));
}

.hero--singularity .hero__center {
    /* FIX v2: conservar aire para logos grandes en el override final — agente */
    padding-top: clamp(148px, 20vh, 192px) !important;
}

.hero--singularity .hero__eyebrow,
.hero--singularity .hero__summit,
.hero--singularity .hero__desc,
.hero--singularity .countdown__label,
.hero--singularity .hero__badges span,
.hero--singularity .hero-impact__item span {
    text-shadow: 0 3px 16px rgba(0,0,0,0.48) !important;
}

.hero--singularity .countdown__block,
.hero--singularity .hero__impact,
.hero--singularity .hero__badges span,
.hero--singularity .btn-ghost {
    background: rgba(7,19,47,0.34) !important;
    backdrop-filter: blur(8px) !important;
}

@media (max-width: 900px) {
    .hero--singularity {
        min-height: auto !important;
        padding: 100px 18px 72px !important;
    }

    .hero--singularity .hero__split {
        min-height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
    }

    .hero--singularity .hero__center {
        /* FIX v2: tablet mantiene espacio suficiente para logos ampliados — agente */
        padding-top: clamp(116px, 15vh, 142px) !important;
    }

    .hero--singularity .hero__cta {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: min(560px, 100%) !important;
        /* FIX v2: CTAs del hero entran al flujo mobile y dejan de superponerse — agente */
        margin-top: clamp(18px, 3vh, 28px) !important;
        justify-content: center !important;
    }

    .hero--singularity .hero__photo img {
        object-position: center center !important;
    }

    .hero--singularity .hero__veil {
        background:
            linear-gradient(180deg, rgba(7,19,47,0.62) 0%, rgba(7,19,47,0.30) 42%, rgba(7,19,47,0.74) 100%) !important;
    }
}

@media (max-width: 560px) {
    .nav {
        padding-top: 0 !important;
    }

    .nav__inner {
        width: calc(100% - 28px) !important;
        min-height: 66px !important;
    }

    .nav__mobile {
        top: 66px !important;
    }

    .hero--singularity {
        padding-top: 88px !important;
    }

    .hero--singularity .hero__logos {
        /* FIX v2: mobile equilibra tamaño nuevo de logos con separación respirable — agente */
        gap: clamp(14px, 4vw, 22px) !important;
    }

    .hero--singularity .hero__logo-mark--unsa {
        /* FIX v2: refuerzo final para logos grandes en mobile — agente */
        width: clamp(64px, 18vw, 78px) !important;
        height: clamp(64px, 18vw, 78px) !important;
    }

    .hero--singularity .hero__logo-mark--ccii {
        /* FIX v2: refuerzo final para logos grandes en mobile — agente */
        width: clamp(58px, 16vw, 70px) !important;
        height: clamp(58px, 16vw, 70px) !important;
    }

    .hero--singularity .hero__logo-mark--mind {
        /* FIX v2: refuerzo final para logos grandes en mobile — agente */
        width: clamp(68px, 19vw, 82px) !important;
        height: clamp(68px, 19vw, 82px) !important;
    }

    .hero--singularity .hero__cta {
        flex-direction: column !important;
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: min(330px, 100%) !important;
        margin-top: 16px !important;
    }

    .hero--singularity .hero__cta .btn {
        width: 100% !important;
    }
}

@media (max-width: 720px) {
    .eje-card--flip:hover .eje-card__inner,
    .eje-card--flip:focus-within .eje-card__inner {
        transform: none !important;
    }

    .eje-card--flip.is-flipped .eje-card__inner {
        transform: rotateY(180deg) !important;
    }

    .ejes--pillars .eje-card {
        min-height: 460px !important;
    }

    .ejes--pillars .eje-card__inner {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        transform-style: preserve-3d !important;
    }

    .ejes--pillars .eje-card__face {
        position: absolute !important;
        inset: 0 !important;
        min-height: auto !important;
    }

    .eje-card__hint {
        color: #fff !important;
    }
}

@media (max-width: 900px) {
    .innovation-hub {
        min-height: auto !important;
        overflow: hidden !important;
        padding: 74px 0 !important;
    }

    .innovation-hub__inner {
        position: relative !important;
        top: auto !important;
        min-height: auto !important;
        padding: 0 !important;
    }

    .hub-stack {
        position: relative !important;
        min-height: clamp(420px, 70vw, 560px) !important;
        display: block !important;
    }

    .hub-card {
        position: absolute !important;
        inset: 0 !important;
        grid-template-columns: 1fr !important;
        border-radius: 16px !important;
        padding: 0 !important;
        transition: opacity .35s ease, transform .35s ease !important;
    }

    .hub-card:not(.hub-card--active) {
        opacity: 0 !important;
        transform: translateY(18px) scale(0.96) !important;
        pointer-events: none !important;
    }

    .hub-card__media {
        min-height: 200px !important;
        border-radius: 16px 16px 0 0 !important;
    }

    .hub-card__content {
        border-radius: 0 0 16px 16px !important;
    }

    .hub-progress {
        display: flex !important;
        position: static !important;
        transform: none !important;
        justify-content: center !important;
        gap: 10px !important;
        margin-top: calc(clamp(420px, 70vw, 560px) + 18px) !important;
    }

    .hub-progress span {
        min-width: 10px !important;
        min-height: 10px !important;
        width: 10px !important;
        height: 10px !important;
    }
}

@media (max-width: 480px) {
    .agenda--engine .activity-card {
        grid-template-columns: 14px 1fr !important;
        grid-template-rows: auto auto !important;
        gap: 10px 12px !important;
        padding: 18px 0 !important;
    }

    .agenda-timeline__rail {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
        align-self: start !important;
        padding-top: 4px !important;
    }

    .agenda--engine .activity-card__time {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-items: start !important;
    }

    .agenda--engine .activity-card__time span {
        font-size: 22px !important;
    }

    .agenda-timeline__line {
        display: none !important;
    }

    .agenda--engine .activity-card__body {
        grid-column: 2 !important;
        grid-row: 2 !important;
        padding: 14px 12px !important;
    }

    .agenda--engine .activity-card__index {
        display: none !important;
    }

    .agenda--engine .activity-card__title {
        font-size: 16px !important;
        line-height: 1.25 !important;
    }

    .agenda--engine .activity-card__desc {
        font-size: 13px !important;
        line-height: 1.55 !important;
    }
}

.ejes--pillars .eje-card .eje-card__letter {
    font-size: 13px !important;
    right: auto !important;
    left: 22px !important;
    top: 18px !important;
    transform: none !important;
    opacity: 1 !important;
    -webkit-text-stroke: 0 !important;
    color: var(--eje-color) !important;
}

.hero--singularity .hero__layer--particles {
    display: block !important;
    opacity: 0.42 !important;
    mix-blend-mode: screen !important;
}

.hero--singularity .hero__veil {
    background:
        linear-gradient(90deg, rgba(7,19,47,0.62) 0%, rgba(7,19,47,0.38) 38%, rgba(7,19,47,0.10) 72%, rgba(7,19,47,0.22) 100%),
        linear-gradient(180deg, rgba(13,31,78,0.58) 0%, rgba(13,31,78,0.34) 42%, rgba(13,31,78,0.70) 100%),
        radial-gradient(circle at 72% 32%, rgba(0,193,212,0.18), transparent 32%) !important;
}

.hub-progress span {
    position: relative !important;
    min-width: 44px !important;
    min-height: 44px !important;
    width: 44px !important;
    height: 44px !important;
    display: inline-grid !important;
    place-items: center !important;
    background: transparent !important;
    cursor: pointer !important;
}

.hub-progress span::before {
    content: "" !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: rgba(13,31,78,0.28) !important;
    transition: transform 0.25s ease, background 0.25s ease !important;
}

.hub-progress span.active::before {
    background: var(--cyan) !important;
    transform: scale(1.45) !important;
}

@media (max-width: 768px) {
    .speaker-modal {
        padding: 0 !important;
        align-items: flex-end !important;
    }

    .speaker-modal__content {
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: 88dvh !important;
        border-radius: 20px 20px 0 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    .speaker-modal__left {
        min-height: 200px !important;
        max-height: 240px !important;
    }

    .speaker-modal__photo-container {
        min-height: 200px !important;
        max-height: 240px !important;
    }

.speaker-modal__photo {
        height: 100% !important;
        object-position: top center !important;
    }
}

.speaker-modal {
    display: flex !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

/* FIX v2: modal cerrado no participa en hit-testing táctil ni layout visual — agente */
.speaker-modal[aria-hidden="true"] {
    display: none !important;
}

.speaker-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

/* FIX sobre v3: limpiar versión anterior y dejar una sola sección premium visible — agente */
.sobre--premium-v2 {
    position: relative;
    overflow: hidden;
    padding: clamp(96px, 9vw, 140px) 0 clamp(92px, 9vw, 132px) !important;
    background:
        radial-gradient(circle at 20% 10%, rgba(0,193,212,0.08), transparent 30%),
        radial-gradient(circle at 78% 80%, rgba(0,230,118,0.08), transparent 26%),
        linear-gradient(180deg, #F9FCFF 0%, #EFF8FF 100%) !important;
    color: #061A44;
    scroll-margin-top: 90px;
}

.sobre--premium-v2::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle, rgba(43,108,176,0.18) 1px, transparent 1.8px);
    background-size: 16px 16px;
    opacity: 0.22;
    mask-image: linear-gradient(90deg, #000 0%, transparent 18%, transparent 78%, #000 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 18%, transparent 78%, #000 100%);
    pointer-events: none;
}

.sobre--premium-v2 .sobre__container {
    position: relative;
    z-index: 2;
    width: min(1280px, calc(100% - 48px));
}

.sobre--premium-v2 .sobre__header {
    max-width: 1180px;
    display: grid;
    grid-template-columns: minmax(320px, 0.92fr) minmax(280px, 0.78fr);
    gap: clamp(32px, 7vw, 92px);
    align-items: end;
    margin: 0 auto clamp(42px, 5vw, 68px);
    text-align: left;
}

.sobre--premium-v2 .section-tag {
    grid-column: 1;
    width: max-content;
    margin: 0 0 18px;
    padding: 10px 36px;
    border: 1px solid rgba(0,193,212,0.36);
    border-radius: 999px;
    background: rgba(255,255,255,0.72);
    color: #0584D9;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    box-shadow: 0 12px 28px rgba(0,193,212,0.08);
}

.sobre--premium-v2 .section-title {
    grid-column: 1;
    margin: 0;
    color: #061A44 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(42px, 5.4vw, 74px) !important;
    font-weight: 900;
    line-height: 0.96;
    letter-spacing: -0.03em !important;
}

.sobre--premium-v2 .section-title span {
    color: transparent;
    background: linear-gradient(90deg, #168BFF, #00D79A);
    -webkit-background-clip: text;
    background-clip: text;
}

.sobre--premium-v2 .section-title::after {
    content: "";
    display: block;
    width: 104px;
    height: 4px;
    margin-top: 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, #168BFF 0 44%, transparent 44% 54%, #00C1D4 54% 70%, transparent 70% 80%, #00E676 80%);
}

.sobre--premium-v2 .section-subtitle {
    grid-column: 1;
    max-width: 560px;
    margin: 22px 0 0 !important;
    color: #283A63 !important;
    font-size: 17px;
    line-height: 1.75;
}

.sobre--premium-v2 .sobre__body {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(42px, 6vw, 72px) !important;
    align-items: center !important;
    margin-top: 0 !important;
}

@media (min-width: 1024px) {
    .sobre--premium-v2 .sobre__body {
        grid-template-columns: 1fr !important;
    }
}

.sobre--premium-v2 .sobre__cards {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding-top: clamp(18px, 3vw, 32px);
    border-top: 1px solid rgba(0,193,212,0.26);
}

.sobre--premium-v2 .sobre-card {
    min-height: 250px;
    margin: 0 !important;
    padding: 32px clamp(28px, 3vw, 48px) 22px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sobre--premium-v2 .sobre-card + .sobre-card {
    border-left: 1px solid rgba(43,108,176,0.18) !important;
}

.sobre--premium-v2 .sobre-card__header-wrap {
    position: relative;
    display: grid !important;
    grid-template-columns: 74px auto 1fr;
    align-items: center;
    column-gap: 18px;
    width: 100%;
}

.sobre--premium-v2 .sobre-card__number {
    grid-column: 1;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    z-index: 1;
    user-select: none;
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(62px, 6vw, 86px);
    font-weight: 900;
    line-height: 0.82;
    color: rgba(22,139,255,0.14);
    letter-spacing: -0.08em;
}

.sobre--premium-v2 .sobre-card--vision .sobre-card__number {
    color: rgba(43,108,176,0.11);
}

.sobre--premium-v2 .sobre-card--public .sobre-card__number {
    color: rgba(0,230,118,0.14);
}

.sobre--premium-v2 .sobre-card__icon-box {
    grid-column: 2;
    position: relative;
    z-index: 2;
    margin-left: 0 !important;
}

.sobre--premium-v2 .sobre-card__icon {
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: linear-gradient(135deg, #147CFF, #00C1D4) !important;
    box-shadow: 0 18px 34px rgba(20,124,255,0.22), inset 0 1px 0 rgba(255,255,255,0.35) !important;
}

.sobre--premium-v2 .sobre-card--public .sobre-card__icon {
    background: linear-gradient(135deg, #00C1D4, #00E676) !important;
    box-shadow: 0 18px 34px rgba(0,230,118,0.22), inset 0 1px 0 rgba(255,255,255,0.35) !important;
}

.sobre--premium-v2 .sobre-card__icon svg {
    width: 25px;
    height: 25px;
}

.sobre--premium-v2 .sobre-card__title {
    grid-column: 3;
    position: relative;
    z-index: 2;
    margin: 0 !important;
    color: #061A44 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 21px;
    font-weight: 900;
    letter-spacing: -0.01em;
    text-transform: uppercase;
}

.sobre--premium-v2 .sobre-card__title::after {
    content: "";
    display: block;
    width: 78px;
    height: 3px;
    margin-top: 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #147CFF, #00E676);
}

.sobre--premium-v2 .sobre-card__text {
    margin: 0 !important;
    padding-left: 92px !important;
    color: #26385F !important;
    font-family: 'DM Sans', 'Montserrat', sans-serif !important;
    font-size: 15.5px;
    line-height: 1.72;
}

.sobre--premium-v2 .sobre-card::after {
    content: "";
    width: 76px;
    height: 76px;
    position: absolute;
    left: clamp(28px, 3vw, 48px);
    bottom: 16px;
    z-index: -1;
    background-image: radial-gradient(circle, rgba(22,139,255,0.32) 1.4px, transparent 1.8px);
    background-size: 12px 12px;
    opacity: 0.42;
}

.sobre--premium-v2 .sobre__visual-wrapper {
    grid-row: 1;
    justify-self: end;
    position: absolute;
    right: max(5vw, 58px);
    top: clamp(82px, 9vw, 124px);
    width: min(42vw, 620px);
    max-width: 620px;
    aspect-ratio: 1.38 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}

.sobre--premium-v2 .sobre__visual-circuits {
    position: absolute;
    width: 120%;
    height: 126%;
    top: -14%;
    left: -15%;
    z-index: 1;
    pointer-events: none;
    opacity: 0.72;
}

.sobre--premium-v2 .sobre__capsule-container {
    position: relative;
    width: 92%;
    height: 86%;
    clip-path: ellipse(48% 46% at 54% 50%);
    transform: rotate(-6deg);
    border-radius: 48% 42% 46% 44%;
    box-shadow: 0 30px 70px rgba(11,15,25,0.16);
    z-index: 2;
}

.sobre--premium-v2 .sobre__visual-image {
    width: 100%;
    height: 100%;
    margin: 0;
}

.sobre--premium-v2 .sobre__visual-image img {
    width: 116% !important;
    height: 108% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: rotate(6deg) scale(1.04) !important;
    filter: saturate(1.04) contrast(1.04) brightness(0.82);
}

.sobre--premium-v2 .sobre__capsule-glow {
    position: absolute;
    inset: -2%;
    border: 2px solid rgba(0,193,212,0.55);
    border-radius: inherit;
    pointer-events: none;
    z-index: 3;
    opacity: 0.75;
    box-shadow: 0 0 24px rgba(0,193,212,0.28), 0 0 42px rgba(0,230,118,0.12);
}

.sobre--premium-v2 .pulse-node {
    animation: sobreNodePulse 2s ease-in-out infinite alternate;
}

@keyframes sobreNodePulse {
    0% { opacity: 0.45; transform: scale(0.84); }
    100% { opacity: 1; transform: scale(1.32); filter: drop-shadow(0 0 9px currentColor); }
}

.sobre--premium-v2 .sobre__visual-chip-premium {
    position: absolute;
    bottom: 13%;
    right: 2%;
    width: min(330px, 62%);
    padding: 22px 26px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 18px;
    background: rgba(8,28,70,0.88);
    color: #fff;
    box-shadow: 0 24px 54px rgba(0,0,0,0.28), 0 0 32px rgba(0,193,212,0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    z-index: 4;
}

.sobre--premium-v2 .chip-premium__icon {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(0,193,212,0.48);
    background: rgba(0,193,212,0.12);
    color: #00E6C3;
}

.sobre--premium-v2 .chip-premium__icon svg {
    width: 24px;
    height: 24px;
}

.sobre--premium-v2 .chip-premium__text h4,
.sobre--premium-v2 .chip-premium__text h3,
.sobre--premium-v2 .chip-premium__text p {
    margin: 0;
    font-family: 'DM Sans', 'Montserrat', sans-serif !important;
}

.sobre--premium-v2 .chip-premium__text h4 {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

.sobre--premium-v2 .chip-premium__text h3 {
    color: #fff;
    font-size: 16px;
    font-weight: 900;
}

.sobre--premium-v2 .chip-premium__text p {
    color: #00E676;
    font-size: 14px;
    font-weight: 900;
}

@media (max-width: 1120px) {
    .sobre--premium-v2 .sobre__header {
        grid-template-columns: 1fr;
        max-width: 760px;
    }

    .sobre--premium-v2 .sobre__visual-wrapper {
        position: relative;
        right: auto;
        top: auto;
        width: min(620px, 100%);
        margin: 18px auto 28px;
    }

    .sobre--premium-v2 .sobre__cards {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        border-top: 0;
    }

    .sobre--premium-v2 .sobre-card {
        border-radius: 20px !important;
        background: rgba(255,255,255,0.78) !important;
        box-shadow: 0 18px 48px rgba(6,26,68,0.08) !important;
    }

    .sobre--premium-v2 .sobre-card + .sobre-card {
        border-left: 0 !important;
    }
}

@media (max-width: 640px) {
    .sobre--premium-v2 {
        padding: 74px 0 86px !important;
    }

    .sobre--premium-v2 .sobre__container {
        width: min(100% - 28px, 1280px);
    }

    .sobre--premium-v2 .section-title {
        font-size: clamp(38px, 12vw, 54px) !important;
    }

    .sobre--premium-v2 .sobre__visual-wrapper {
        width: 100%;
        aspect-ratio: 1.05 / 1;
    }

    .sobre--premium-v2 .sobre__visual-chip-premium {
        right: 0;
        bottom: -4%;
        width: min(292px, 88%);
        padding: 16px 18px;
    }

    .sobre--premium-v2 .sobre-card__header-wrap {
        grid-template-columns: 62px auto;
        row-gap: 10px;
    }

    .sobre--premium-v2 .sobre-card__title {
        grid-column: 1 / -1;
        padding-left: 82px;
    }

    .sobre--premium-v2 .sobre-card__text {
        padding-left: 0 !important;
    }
}

/* FIX sobre final: sección oficial limpia, cápsula premium y cards sin colisión — agente */
#sobre.sobre.section {
    position: relative;
    display: block !important;
    overflow: hidden;
    padding: clamp(96px, 8vw, 132px) 0 clamp(80px, 8vw, 112px);
    background:
        radial-gradient(circle at 12% 12%, rgba(0,193,212,0.08), transparent 28%),
        radial-gradient(circle at 83% 82%, rgba(0,230,118,0.10), transparent 27%),
        linear-gradient(180deg, #F9FCFF 0%, #EEF8FF 100%);
    color: #061A44;
    scroll-margin-top: 92px;
}

#sobre.sobre.section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(43,108,176,0.18) 1px, transparent 1.8px);
    background-size: 16px 16px;
    opacity: 0.18;
    mask-image: linear-gradient(90deg, #000 0%, transparent 16%, transparent 78%, #000 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 16%, transparent 78%, #000 100%);
}

#sobre .sobre__container {
    position: relative;
    z-index: 2;
    width: min(1320px, calc(100% - 56px));
}

#sobre .sobre__main-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: center;
    margin-bottom: clamp(52px, 6vw, 78px);
}

@media (min-width: 1024px) {
    #sobre .sobre__main-split {
        grid-template-columns: 1.1fr 0.9fr;
        gap: clamp(56px, 6vw, 82px);
    }
}

#sobre .sobre__text-block {
    max-width: 650px;
}

#sobre .section-tag-premium {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: max-content;
    margin: 0 0 28px;
    padding: 10px 34px;
    border: 1px solid rgba(0,193,212,0.34);
    border-radius: 999px;
    background: rgba(255,255,255,0.74);
    color: #0584D9;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgba(0,193,212,0.08);
}

#sobre .section-tag-premium::before,
#sobre .section-tag-premium::after {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #00C1D4;
}

#sobre .section-title-premium {
    margin: 0;
    color: #061A44;
    font-family: 'Clash Display', 'Montserrat', sans-serif;
    font-size: clamp(42px, 5.6vw, 76px);
    font-weight: 900;
    line-height: 0.96;
    letter-spacing: -0.03em;
}

#sobre .gradient-text {
    color: transparent;
    background: linear-gradient(90deg, #168BFF 0%, #00D79A 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

#sobre .header-dots {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 28px 0 26px;
}

#sobre .header-dots::before {
    content: "";
    width: 74px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #168BFF, #00C1D4);
}

#sobre .header-dots span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #00C1D4;
}

#sobre .header-dots span:last-child {
    background: #00E676;
}

#sobre .section-subtitle-premium {
    max-width: 580px;
    margin: 0;
    color: #26385F;
    font-family: 'DM Sans', 'Montserrat', sans-serif;
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.78;
}

#sobre .sobre__visual-shell {
    position: relative;
    width: min(100%, 560px);
    margin: 0 auto;
    isolation: isolate;
}

#sobre .visual-orbit-deco {
    position: absolute;
    width: 130%;
    height: 130%;
    top: -15%;
    left: -15%;
    z-index: 1;
    pointer-events: none;
}

#sobre .visual-orbit-deco svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

#sobre .sobre__capsule-mask {
    position: relative;
    width: 100%;
    aspect-ratio: 1.1 / 1;
    clip-path: ellipse(48% 44% at 50% 50%);
    transform: rotate(-12deg);
    overflow: hidden;
    z-index: 2;
    border-radius: 46%;
    box-shadow: 0 30px 60px rgba(11,15,25,0.11);
}

#sobre .sobre__capsule-image {
    width: 100%;
    height: 100%;
    margin: 0;
}

#sobre .sobre__capsule-image img {
    width: 125%;
    height: 125%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    transform: rotate(12deg) translate(-5%, -5%);
    filter: saturate(1.04) contrast(1.04) brightness(0.9);
}

#sobre .sobre__capsule-border-glow {
    position: absolute;
    inset: -1px;
    pointer-events: none;
    border: 2px solid rgba(0,193,212,0.52);
    border-radius: inherit;
    box-shadow: 0 0 28px rgba(0,193,212,0.22), 0 0 54px rgba(0,230,118,0.12);
    z-index: 3;
}

#sobre .sobre__floating-badge-glass {
    position: absolute;
    bottom: 8%;
    right: -2%;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 16px;
    width: min(320px, 68%);
    padding: 20px 24px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    background: rgba(11,25,44,0.88);
    color: #fff;
    box-shadow: 0 20px 40px rgba(7,13,24,0.30);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

#sobre .badge-glass__icon {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(0,193,212,0.12);
    color: #00C1D4;
}

#sobre .badge-glass__icon svg {
    width: 22px;
    height: 22px;
}

#sobre .badge-glass__caption h4,
#sobre .badge-glass__caption h3,
#sobre .badge-glass__caption p {
    margin: 0;
}

#sobre .badge-glass__caption h4 {
    color: #fff;
    font-family: 'DM Sans', 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 500;
}

#sobre .badge-glass__caption h3 {
    margin: 2px 0;
    color: #fff;
    font-family: 'Clash Display', 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 800;
}

#sobre .badge-glass__caption p {
    color: #00E676;
    font-family: 'DM Sans', 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 800;
}

#sobre .sobre__cards-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: clamp(24px, 3vw, 34px);
    border-top: 1px solid rgba(0,193,212,0.24);
}

@media (min-width: 1024px) {
    #sobre .sobre__cards-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

#sobre .sobre-card-premium {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 242px;
    padding: 35px 30px;
    border: 1px solid rgba(0,0,0,0.03);
    border-radius: 16px;
    background: rgba(255,255,255,0.72);
    box-shadow: 0 16px 42px rgba(6,26,68,0.055);
}

#sobre .sobre-card__top-flow {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 60px;
    margin-bottom: 18px;
}

#sobre .sobre-card__big-num {
    position: absolute;
    left: -5px;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    color: rgba(43,108,176,0.09);
    font-family: 'Clash Display', 'Montserrat', sans-serif;
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
    user-select: none;
}

#sobre .sobre-card__icon-wrapper {
    position: relative;
    z-index: 2;
    width: 44px;
    height: 44px;
    margin-left: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

#sobre .icon-blue { background: linear-gradient(135deg, #1A365D, #2B6CB0); }
#sobre .icon-cyan { background: linear-gradient(135deg, #00B4FF, #00C1D4); }
#sobre .icon-green { background: linear-gradient(135deg, #00C1D4, #00E676); }

#sobre .sobre-card__icon-wrapper svg {
    width: 20px;
    height: 20px;
}

#sobre .sobre-card__heading {
    position: relative;
    z-index: 2;
    margin: 0 0 0 16px;
    color: #061A44;
    font-family: 'Clash Display', 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.02em;
}

#sobre .sobre-card__heading::after {
    content: "";
    display: block;
    width: 62px;
    height: 3px;
    margin-top: 9px;
    border-radius: 999px;
    background: linear-gradient(90deg, #168BFF, #00E676);
}

#sobre .sobre-card__body-text {
    margin: 0;
    padding-left: 55px;
    color: #26385F;
    font-family: 'DM Sans', 'Montserrat', sans-serif;
    font-size: 14.5px;
    line-height: 1.68;
    text-align: left;
}

@keyframes nodePulse {
    0% { transform: scale(1); opacity: 0.4; }
    100% { transform: scale(1.4); opacity: 1; }
}

#sobre .node-pulse {
    animation: nodePulse 2s infinite alternate ease-in-out;
    transform-origin: center;
}

@media (max-width: 1023px) {
    #sobre .sobre__visual-shell {
        max-width: 460px;
        margin-top: 10px;
    }

    #sobre .sobre__floating-badge-glass {
        right: 0;
        bottom: -3%;
        width: min(300px, 82%);
        padding: 16px 18px;
    }
}

@media (max-width: 640px) {
    #sobre.sobre.section {
        padding: 76px 0 86px;
    }

    #sobre .sobre__container {
        width: min(100% - 28px, 1320px);
    }

    #sobre .section-title-premium {
        font-size: clamp(38px, 12vw, 54px);
    }

    #sobre .sobre__main-split {
        margin-bottom: 48px;
    }

    #sobre .sobre__visual-shell {
        max-width: 360px;
    }

    #sobre .sobre__floating-badge-glass {
        width: min(292px, 90%);
    }

    #sobre .sobre-card__top-flow {
        height: auto;
        min-height: 58px;
        flex-wrap: wrap;
    }

    #sobre .sobre-card__heading {
        flex-basis: calc(100% - 116px);
    }

    #sobre .sobre-card__body-text {
        padding-left: 0;
    }
}

/* FIX sobre referencia: acercar sección al mockup oficial y animar decorativos — agente */
#sobre.sobre.section {
    padding: clamp(94px, 7vw, 120px) 0 clamp(86px, 7vw, 118px);
    background:
        radial-gradient(circle at 0% 38%, rgba(0,193,212,0.12), transparent 24%),
        radial-gradient(circle at 86% 78%, rgba(0,230,118,0.11), transparent 25%),
        linear-gradient(180deg, #FBFDFF 0%, #F3FAFF 54%, #F7FCFF 100%);
}

#sobre.sobre.section::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;
    pointer-events: none;
    background:
        linear-gradient(135deg, transparent 0 12%, rgba(0,193,212,0.08) 12% 28%, transparent 28% 100%),
        linear-gradient(315deg, transparent 0 18%, rgba(0,230,118,0.07) 18% 34%, transparent 34% 100%);
}

#sobre .sobre__container {
    width: min(1460px, calc(100% - 72px));
}

#sobre .sobre__main-split {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(32px, 5vw, 74px);
    margin-bottom: clamp(58px, 5vw, 76px);
}

#sobre .sobre__text-block {
    max-width: 610px;
    align-self: center;
}

#sobre .section-tag-premium {
    margin-bottom: 30px;
    padding: 9px 36px;
    color: #087EEA;
    background: rgba(255,255,255,0.78);
    box-shadow: 0 14px 34px rgba(0,193,212,0.08), inset 0 0 0 1px rgba(255,255,255,0.72);
}

#sobre .section-title-premium {
    font-family: 'Gordita', 'Montserrat', sans-serif;
    font-size: clamp(54px, 5.35vw, 88px);
    line-height: 0.93;
    letter-spacing: -0.045em;
}

#sobre .section-subtitle-premium {
    max-width: 620px;
    font-size: clamp(15px, 1.05vw, 18px);
    line-height: 1.82;
}

#sobre .sobre__visual-shell {
    width: min(64vw, 850px);
    max-width: 850px;
    justify-self: end;
    margin-right: max(-2vw, -28px);
}

#sobre .visual-orbit-deco {
    width: 136%;
    height: 142%;
    top: -22%;
    left: -20%;
    opacity: 0.92;
    animation: sobreOrbitDrift 16s linear infinite;
}

#sobre .visual-orbit-deco ellipse {
    stroke-dashoffset: 0;
    animation: sobreOrbitDash 9s linear infinite;
}

#sobre .sobre__capsule-mask {
    aspect-ratio: 1.55 / 1;
    clip-path: ellipse(49% 43% at 54% 50%);
    transform: rotate(-7deg);
    border-radius: 48% 44% 46% 42%;
    box-shadow: 0 34px 72px rgba(6,26,68,0.14), 0 0 0 1px rgba(0,193,212,0.18);
    animation: sobreVisualFloat 7s ease-in-out infinite;
}

#sobre .sobre__capsule-image img {
    width: 112%;
    height: 118%;
    transform: rotate(7deg) translate(-4%, -6%);
    filter: saturate(1.08) contrast(1.08) brightness(0.78);
}

#sobre .sobre__capsule-border-glow {
    border-color: rgba(0,193,212,0.62);
    box-shadow:
        0 0 22px rgba(0,193,212,0.28),
        0 0 54px rgba(22,139,255,0.12),
        0 18px 46px rgba(0,230,118,0.10);
}

#sobre .sobre__floating-badge-glass {
    right: 5%;
    bottom: 16%;
    width: min(340px, 48%);
    padding: 22px 26px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(7,28,72,0.94), rgba(15,54,110,0.88));
    box-shadow: 0 24px 56px rgba(6,26,68,0.28), 0 0 28px rgba(0,193,212,0.12);
    animation: sobreBadgeFloat 5.8s ease-in-out infinite;
}

#sobre .badge-glass__icon {
    border: 1px solid rgba(0,193,212,0.55);
    box-shadow: inset 0 0 18px rgba(0,193,212,0.12), 0 0 18px rgba(0,193,212,0.16);
}

#sobre .sobre__cards-grid {
    position: relative;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding-top: 46px;
    border-top: 1px solid rgba(0,193,212,0.24);
}

#sobre .sobre__cards-grid::before,
#sobre .sobre__cards-grid::after {
    content: "";
    position: absolute;
    top: -6px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #168BFF;
    box-shadow: 0 0 14px rgba(22,139,255,0.38);
}

#sobre .sobre__cards-grid::before {
    left: 22%;
}

#sobre .sobre__cards-grid::after {
    left: 55%;
    background: #00C1D4;
    box-shadow: 0 0 14px rgba(0,193,212,0.38);
}

#sobre .sobre-card-premium {
    min-height: 252px;
    padding: 36px clamp(30px, 3vw, 58px) 30px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#sobre .sobre-card-premium + .sobre-card-premium {
    border-left: 1px solid rgba(43,108,176,0.18);
}

#sobre .sobre-card-premium::after {
    content: "";
    position: absolute;
    left: clamp(30px, 3vw, 58px);
    bottom: 18px;
    width: 88px;
    height: 88px;
    background-image: radial-gradient(circle, rgba(0,193,212,0.36) 1.3px, transparent 1.8px);
    background-size: 11px 11px;
    opacity: 0.42;
}

#sobre .sobre-card__top-flow {
    height: 74px;
    margin-bottom: 26px;
}

#sobre .sobre-card__big-num {
    left: 0;
    font-size: clamp(68px, 5.6vw, 90px);
    color: rgba(22,139,255,0.13);
    letter-spacing: -0.08em;
}

#sobre .sobre-card-premium:nth-child(3) .sobre-card__big-num {
    color: rgba(0,230,118,0.14);
}

#sobre .sobre-card__icon-wrapper {
    width: 62px;
    height: 62px;
    margin-left: 104px;
    border-radius: 50%;
    box-shadow: 0 18px 34px rgba(22,139,255,0.22), inset 0 1px 0 rgba(255,255,255,0.38);
}

#sobre .sobre-card__icon-wrapper svg {
    width: 26px;
    height: 26px;
}

#sobre .sobre-card__heading {
    margin-left: 22px;
    font-family: 'Gordita', 'Montserrat', sans-serif;
    font-size: clamp(18px, 1.35vw, 23px);
    line-height: 1.05;
    letter-spacing: -0.01em;
}

#sobre .sobre-card__heading::after {
    width: 76px;
    margin-top: 12px;
}

#sobre .sobre-card__body-text {
    max-width: 360px;
    padding-left: 118px;
    color: #20345F;
    font-size: 15.5px;
    line-height: 1.82;
}

@keyframes sobreOrbitDash {
    to { stroke-dashoffset: -80; }
}

@keyframes sobreOrbitDrift {
    to { transform: rotate(360deg); }
}

@keyframes sobreVisualFloat {
    0%, 100% { transform: rotate(-7deg) translateY(0); }
    50% { transform: rotate(-7deg) translateY(-10px); }
}

@keyframes sobreBadgeFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@media (max-width: 1180px) {
    #sobre .sobre__main-split {
        grid-template-columns: 1fr;
    }

    #sobre .sobre__text-block {
        max-width: 760px;
    }

    #sobre .sobre__visual-shell {
        width: min(100%, 760px);
        justify-self: center;
        margin-right: 0;
    }
}

@media (max-width: 900px) {
    #sobre .sobre__container {
        width: min(100% - 36px, 1460px);
    }

    #sobre .section-title-premium {
        font-size: clamp(44px, 10vw, 68px);
    }

    #sobre .sobre__cards-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        border-top: 0;
        padding-top: 22px;
    }

    #sobre .sobre__cards-grid::before,
    #sobre .sobre__cards-grid::after {
        display: none;
    }

    #sobre .sobre-card-premium {
        min-height: auto;
        padding: 30px 24px;
        border: 1px solid rgba(0,193,212,0.12);
        border-radius: 20px;
        background: rgba(255,255,255,0.70);
        box-shadow: 0 18px 46px rgba(6,26,68,0.07);
    }

    #sobre .sobre-card-premium + .sobre-card-premium {
        border-left: 1px solid rgba(0,193,212,0.12);
    }

    #sobre .sobre-card__icon-wrapper {
        margin-left: 88px;
    }

    #sobre .sobre-card__body-text {
        max-width: none;
        padding-left: 110px;
    }
}

@media (max-width: 560px) {
    #sobre.sobre.section {
        padding: 70px 0 76px;
    }

    #sobre .section-tag-premium {
        padding: 8px 22px;
        font-size: 10px;
        letter-spacing: 0.18em;
    }

    #sobre .section-title-premium {
        font-size: clamp(38px, 13vw, 52px);
        line-height: 0.98;
    }

    #sobre .sobre__visual-shell {
        width: min(112%, 440px);
        margin-left: -6%;
    }

    #sobre .sobre__capsule-mask {
        aspect-ratio: 1.28 / 1;
    }

    #sobre .sobre__floating-badge-glass {
        right: 2%;
        bottom: -2%;
        width: min(286px, 78%);
        padding: 14px 16px;
        gap: 12px;
    }

    #sobre .badge-glass__icon {
        width: 36px;
        height: 36px;
    }

    #sobre .badge-glass__caption h4,
    #sobre .badge-glass__caption p {
        font-size: 11.5px;
    }

    #sobre .badge-glass__caption h3 {
        font-size: 13px;
    }

    #sobre .sobre-card__top-flow {
        height: 68px;
        flex-wrap: nowrap;
        margin-bottom: 20px;
    }

    #sobre .sobre-card__big-num {
        font-size: 64px;
    }

    #sobre .sobre-card__icon-wrapper {
        width: 50px;
        height: 50px;
        margin-left: 76px;
    }

    #sobre .sobre-card__heading {
        flex-basis: auto;
        margin-left: 16px;
        font-size: 17px;
    }

    #sobre .sobre-card__body-text {
        padding-left: 0;
        font-size: 14px;
        line-height: 1.72;
    }
}

@media (prefers-reduced-motion: reduce) {
    #sobre .visual-orbit-deco,
    #sobre .visual-orbit-deco ellipse,
    #sobre .sobre__capsule-mask,
    #sobre .sobre__floating-badge-glass,
    #sobre .node-pulse {
        animation: none !important;
    }
}

/* FIX v3: Hero key visual tipo referencia con nueva fachada UNSA — agente */
.hero--singularity {
    --hero-blue: #3BA7FF;
    --hero-emerald: #00E38C;
    --hero-ink: #050F23;
    min-height: 90vh !important;
    height: auto !important;
    padding: 80px clamp(24px, 4.2vw, 80px) clamp(34px, 5vh, 64px) !important;
    display: grid !important;
    place-items: start center !important;
    background: #020814 !important;
}

.hero--singularity .hero__photo img {
    object-position: center center !important;
    filter: saturate(1.12) contrast(1.06) brightness(0.82) !important;
    transform: scale(1.012) !important;
}

.hero--singularity .hero__veil {
    background:
        linear-gradient(90deg, rgba(2,8,20,0.96) 0%, rgba(3,12,31,0.78) 33%, rgba(3,12,31,0.32) 62%, rgba(2,8,20,0.20) 100%),
        linear-gradient(180deg, rgba(5,15,35,0.90) 0%, rgba(5,15,35,0.60) 42%, rgba(5,15,35,0.92) 100%) !important;
}

.hero--singularity .hero__layer--particles,
.hero--singularity .hero__curve {
    display: block !important;
}

.hero--singularity .hero__layer--particles {
    opacity: 0.34 !important;
}

.hero--singularity .hero__curve {
    left: -8vw !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(56vw, 860px) !important;
    height: min(76vh, 760px) !important;
    opacity: 0.72 !important;
    transform: rotate(-7deg);
}

.hero--singularity .hero__curve-path {
    stroke-width: 1.35 !important;
    opacity: 0.72;
}

.hero--singularity .hero__split {
    width: min(1320px, 100%) !important;
    min-height: calc(90vh - 132px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;
    text-align: left !important;
    margin: 0 auto !important;
    padding-top: clamp(28px, 5vh, 70px) !important;
}

.hero--singularity .hero__logos {
    position: static !important;
    transform: none !important;
    width: min(680px, 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(20px, 2.5vw, 34px) !important;
    margin: 0 0 clamp(26px, 4vh, 40px) !important;
    padding: 0 !important;
    filter: drop-shadow(0 0 10px rgba(0,255,200,0.28)) !important;
}

.hero--singularity .hero__logos img {
    flex: 0 0 auto !important;
    object-fit: contain !important;
    border: 0 !important;
    background: transparent !important;
}

.hero--singularity .hero__logo-mark--unsa {
    width: clamp(178px, 18vw, 270px) !important;
    height: clamp(50px, 5vw, 64px) !important;
}

.hero--singularity .hero__logo-mark--industrial {
    width: clamp(62px, 6vw, 82px) !important;
    height: clamp(62px, 6vw, 82px) !important;
}

.hero--singularity .hero__logo-mark--mind {
    width: clamp(58px, 5.4vw, 76px) !important;
    height: clamp(58px, 5.4vw, 76px) !important;
}

.hero--singularity .hero__logo-mark--industrial,
.hero--singularity .hero__logo-mark--mind {
    padding-left: clamp(14px, 2vw, 28px) !important;
    border-left: 1px solid rgba(0,193,212,0.55) !important;
}

.hero--singularity .hero__center {
    align-items: flex-start !important;
    width: min(760px, 100%) !important;
    padding-top: 0 !important;
}

.hero--singularity .hero__eyebrow {
    position: relative;
    margin: 0 0 12px !important;
    padding: 0 24px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.32em !important;
    color: #DDEBFF !important;
    text-transform: uppercase;
}

.hero--singularity .hero__eyebrow::before,
.hero--singularity .hero__eyebrow::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--hero-emerald);
    box-shadow: 0 0 14px rgba(0,227,140,0.75);
    transform: translateY(-50%);
}

.hero--singularity .hero__eyebrow::before { left: 0; }
.hero--singularity .hero__eyebrow::after { right: 0; }

.hero--singularity .hero__titles {
    width: 100%;
    align-items: flex-start !important;
    margin: 0 0 8px !important;
}

.hero--singularity .hero__summit {
    margin: 0 0 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(40px, 4.6vw, 64px) !important;
    font-weight: 800 !important;
    line-height: 0.9 !important;
    letter-spacing: clamp(0.34em, 1vw, 0.48em) !important;
    color: rgba(255,255,255,0.94) !important;
    opacity: 1 !important;
}

.hero--singularity .hero__mind,
.hero--singularity .hero__mind .char {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(128px, 16vw, 238px) !important;
    font-weight: 900 !important;
    line-height: 0.78 !important;
    letter-spacing: -0.035em !important;
    background: linear-gradient(90deg, var(--hero-blue) 0%, #19CBE5 46%, var(--hero-emerald) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter:
        drop-shadow(0 0 22px rgba(0,200,255,0.36))
        drop-shadow(0 0 44px rgba(0,255,180,0.22)) !important;
}

.hero--singularity .hero__desc {
    max-width: 760px !important;
    margin: 0 0 18px !important;
    color: #D7E9FF !important;
    font-size: clamp(17px, 1.45vw, 22px) !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    text-align: left !important;
}

.hero--singularity .hero__desc span {
    color: var(--hero-emerald);
    font-weight: 800;
}

.hero--singularity .countdown {
    display: flex !important;
    justify-content: flex-start !important;
    gap: clamp(14px, 1.6vw, 28px) !important;
    width: auto !important;
    margin: 0 0 18px !important;
}

.hero--singularity .countdown__block {
    width: clamp(76px, 6vw, 92px) !important;
    height: clamp(72px, 6vw, 86px) !important;
    min-width: 0 !important;
    display: grid !important;
    place-items: center !important;
    gap: 1px !important;
    padding: 8px !important;
    border: 1px solid rgba(59,167,255,0.42) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,0.052) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 12px 32px rgba(0,0,0,0.24) !important;
    backdrop-filter: blur(8px) !important;
}

.hero--singularity .countdown__number {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(26px, 2.4vw, 36px) !important;
    font-weight: 800 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.hero--singularity .countdown__label {
    margin: 0 !important;
    color: #DDEBFF !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
}

.hero--singularity .hero__impact {
    width: min(900px, 100%) !important;
    min-height: 98px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin: 0 0 8px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(0,255,200,0.32) !important;
    background: rgba(10,20,40,0.72) !important;
    box-shadow: 0 18px 50px rgba(0,0,0,0.26), 0 0 34px rgba(0,227,140,0.10) !important;
    backdrop-filter: blur(12px) !important;
}

.hero--singularity .hero-impact__item {
    display: grid !important;
    grid-template-columns: auto auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    justify-content: center !important;
    column-gap: 14px !important;
    row-gap: 2px !important;
    padding: 16px 18px !important;
}

.hero--singularity .hero-impact__item svg {
    grid-row: 1 / 3;
    width: 34px;
    height: 34px;
    fill: none;
    stroke: var(--hero-emerald);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 10px rgba(0,227,140,0.45));
}

.hero--singularity .hero-impact__item:nth-child(even) svg {
    stroke: var(--hero-blue);
    filter: drop-shadow(0 0 10px rgba(59,167,255,0.45));
}

.hero--singularity .hero-impact__number {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(25px, 2.35vw, 36px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #fff !important;
    background: none !important;
    -webkit-text-fill-color: #fff !important;
    filter: none !important;
}

.hero--singularity .hero-impact__item span {
    justify-self: start;
    color: #DDEBFF !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.035em !important;
}

.hero--singularity .hero__date-cta {
    width: min(420px, 100%) !important;
    min-height: 60px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    margin: 0 0 12px 92px !important;
    border-radius: 14px !important;
    background: linear-gradient(90deg, #2F80FF 0%, var(--hero-emerald) 100%) !important;
    box-shadow: 0 10px 30px rgba(0,255,200,0.30), inset 0 1px 0 rgba(255,255,255,0.18) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: clamp(22px, 2.4vw, 36px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
}

.hero--singularity .hero__date-cta svg {
    width: 36px;
    height: 36px;
    fill: none;
    stroke: #fff;
    stroke-width: 2.1;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hero--singularity .hero__date-cta strong {
    color: #24FF90;
}

.hero--singularity .hero__badges {
    width: min(680px, 100%) !important;
    display: flex !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin-left: 54px !important;
}

.hero--singularity .hero__badges span {
    min-height: 40px !important;
    padding: 8px 20px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(0,193,212,0.40) !important;
    background: rgba(255,255,255,0.052) !important;
    color: #ECF6FF !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.035em !important;
    text-transform: uppercase !important;
}

.hero--singularity .hero__badges span::before {
    background: var(--hero-blue) !important;
}

.hero--singularity .hero__badges span:nth-child(2)::before {
    background: var(--hero-emerald) !important;
}

@media (max-width: 1100px) {
    .hero--singularity {
        min-height: auto !important;
        padding-top: 96px !important;
    }

    .hero--singularity .hero__split {
        min-height: auto !important;
        align-items: center !important;
        text-align: center !important;
        padding-top: 34px !important;
    }

    .hero--singularity .hero__logos,
    .hero--singularity .hero__center,
    .hero--singularity .countdown,
    .hero--singularity .hero__badges {
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }

    .hero--singularity .hero__titles {
        align-items: center !important;
    }

    .hero--singularity .hero__desc {
        text-align: center !important;
    }

    .hero--singularity .hero__impact {
        width: min(860px, 100%) !important;
    }

    .hero--singularity .hero__date-cta,
    .hero--singularity .hero__badges {
        margin-left: 0 !important;
    }
}

@media (max-width: 720px) {
    .hero--singularity {
        padding: 86px 16px 46px !important;
    }

    .hero--singularity .hero__photo img {
        object-position: 63% center !important;
    }

    .hero--singularity .hero__veil {
        background:
            linear-gradient(180deg, rgba(2,8,20,0.88) 0%, rgba(2,8,20,0.62) 42%, rgba(2,8,20,0.94) 100%),
            linear-gradient(90deg, rgba(2,8,20,0.90), rgba(2,8,20,0.38)) !important;
    }

    .hero--singularity .hero__logos {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        gap: 10px !important;
        margin-bottom: 24px !important;
    }

    .hero--singularity .hero__logo-mark--unsa {
        width: clamp(116px, 34vw, 150px) !important;
        height: 44px !important;
    }

    .hero--singularity .hero__logo-mark--industrial {
        width: 52px !important;
        height: 52px !important;
        padding-left: 10px !important;
    }

    .hero--singularity .hero__logo-mark--mind {
        width: 48px !important;
        height: 48px !important;
        padding-left: 10px !important;
    }

    .hero--singularity .hero__eyebrow {
        font-size: 11px !important;
        letter-spacing: 0.22em !important;
    }

    .hero--singularity .hero__summit {
        font-size: clamp(30px, 10vw, 48px) !important;
        letter-spacing: 0.32em !important;
    }

    .hero--singularity .hero__mind,
    .hero--singularity .hero__mind .char {
        font-size: clamp(86px, 29vw, 132px) !important;
    }

    .hero--singularity .countdown {
        width: 100% !important;
        gap: 8px !important;
    }

    .hero--singularity .countdown__block {
        flex: 1 1 0 !important;
        width: auto !important;
        height: 66px !important;
    }

    .hero--singularity .hero__impact {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        min-height: auto !important;
    }

    .hero--singularity .hero-impact__item {
        padding: 13px 10px !important;
    }

    .hero--singularity .hero-impact__item svg {
        width: 26px;
        height: 26px;
    }

    .hero--singularity .hero__date-cta {
        min-height: 54px !important;
        font-size: 22px !important;
        gap: 12px !important;
    }

    .hero--singularity .hero__badges {
        margin-left: 0 !important;
        justify-content: center !important;
    }

    .hero--singularity .hero__badges span {
        min-height: 34px !important;
        padding: 7px 12px !important;
        font-size: 11px !important;
    }
}

/* FIX: hero reference overhaul scoped only to .hero--singularity — 2026-05-17 */
.hero--singularity {
    --hero-navy: #0D1F4E;
    --hero-cyan: #00C1D4;
    --hero-green: #00E676;
    --hero-blue: #118DFF;
    --hero-emerald: #00E676;
    display: block !important;
    position: relative !important;
    min-height: 100svh !important;
    padding: clamp(96px, 13vh, 132px) 0 clamp(44px, 6vh, 72px) !important;
    background: #020408 !important;
    color: #fff !important;
    isolation: isolate;
    overflow: hidden !important;
}

.hero--singularity .hero__photo,
.hero--singularity .hero__photo img,
.hero--singularity .hero__veil,
.hero--singularity .hero__layer--particles {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.hero--singularity .hero__photo {
    z-index: 0 !important;
}

.hero--singularity .hero__photo img {
    object-fit: cover !important;
    object-position: 68% center !important;
    filter: saturate(0.88) contrast(1.06) brightness(0.72) !important;
    transform: scale(1.02) !important;
    transform-origin: right center !important;
}

.hero--singularity .hero__veil {
    z-index: 1 !important;
    background:
        linear-gradient(105deg, rgba(2,4,8,0.88) 0%, rgba(2,4,8,0.72) 38%, rgba(2,4,8,0.30) 60%, rgba(2,4,8,0.08) 100%),
        linear-gradient(180deg, rgba(2,4,8,0.55) 0%, transparent 20%, transparent 75%, rgba(2,4,8,0.70) 100%),
        linear-gradient(135deg, rgba(0,193,212,0.10) 0%, transparent 36%, rgba(0,230,118,0.06) 100%) !important;
}

.hero--singularity .hero__layer--particles {
    z-index: 2 !important;
    opacity: 0.24 !important;
    mix-blend-mode: screen !important;
}

.hero--singularity .hero__split {
    position: relative !important;
    z-index: 5 !important;
    width: min(1280px, calc(100% - 48px)) !important;
    min-height: clamp(640px, 80vh, 820px) !important;
    max-width: 660px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    margin: 0 auto 0 clamp(24px, 5vw, 96px) !important;
    padding: 0 0 clamp(48px, 6vh, 72px) !important;
    text-align: left !important;
}

.hero--singularity .hero__logos {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(16px, 2.4vw, 28px) !important;
    margin: 0 0 clamp(20px, 3vh, 32px) !important;
    filter: drop-shadow(0 8px 20px rgba(0,0,0,0.45)) !important;
}

.hero--singularity .hero__logo-group {
    display: flex !important;
    align-items: center !important;
    gap: clamp(8px, 1.2vw, 14px) !important;
    flex-shrink: 0 !important;
}

.hero--singularity .hero__logo-sep {
    width: 1px !important;
    height: clamp(40px, 5vw, 56px) !important;
    background: linear-gradient(180deg, transparent 0%, rgba(255,255,255,0.40) 30%, rgba(255,255,255,0.40) 70%, transparent 100%) !important;
    flex-shrink: 0 !important;
}

.hero--singularity .hero__logo-label {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

.hero--singularity .hero__logo-label--name {
    font-family: var(--font-heading) !important;
    font-size: clamp(13px, 1.6vw, 18px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    color: #fff !important;
    line-height: 1.1 !important;
}

.hero--singularity .hero__logo-label--sub {
    font-family: var(--font-body) !important;
    font-size: clamp(10px, 1.1vw, 13px) !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.68) !important;
    line-height: 1.25 !important;
}

.hero--singularity .hero__logo-mark--unsa {
    /* FIX: usar el sello original "logo unsa" convertido a WebP sin deformarlo — 2026-05-17 */
    width: clamp(50px, 5.3vw, 70px) !important;
    height: auto !important;
    max-height: clamp(62px, 6.5vw, 86px) !important;
    object-fit: contain !important;
}

.hero--singularity .hero__logo-mark--ccii {
    width: clamp(48px, 5.6vw, 70px) !important;
    height: clamp(48px, 5.6vw, 70px) !important;
    object-fit: contain !important;
}

.hero--singularity .hero__logo-mark--mind {
    width: clamp(60px, 7vw, 86px) !important;
    height: clamp(60px, 7vw, 86px) !important;
    object-fit: contain !important;
    filter: none !important;
}

.hero--singularity .hero__center {
    width: min(100%, 660px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: 0 !important;
}

.hero--singularity .hero__eyebrow {
    width: fit-content !important;
    margin: 0 0 10px !important;
    padding: 0 24px !important;
    text-align: left !important;
}

.hero--singularity .hero__titles {
    width: 100% !important;
    align-items: flex-start !important;
    margin: 0 0 8px !important;
}

.hero--singularity .hero__desc {
    max-width: 650px !important;
    margin: 0 0 14px !important;
    text-align: left !important;
}

.hero--singularity .countdown {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: auto !important;
    margin: 0 0 clamp(20px, 3.2vh, 30px) !important;
    background: none !important;
    border: none !important;
    backdrop-filter: none !important;
}

.hero--singularity .countdown__block {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 0 clamp(10px, 1.6vw, 20px) !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    clip-path: none !important;
    position: relative !important;
}

.hero--singularity .countdown__block:hover {
    transform: none !important;
    box-shadow: none !important;
}

.hero--singularity .countdown__block:first-child {
    padding-left: 0 !important;
}

.hero--singularity .countdown__block:not(:last-child)::after {
    content: ':' !important;
    position: absolute !important;
    right: -4px !important;
    top: 0 !important;
    font-family: var(--font-mono) !important;
    font-size: clamp(28px, 4.5vw, 48px) !important;
    line-height: 1 !important;
    color: rgba(255,255,255,0.50) !important;
    font-weight: 300 !important;
}

.hero--singularity .countdown__number {
    font-family: var(--font-mono) !important;
    font-size: clamp(32px, 5vw, 56px) !important;
    font-weight: 500 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
}

.hero--singularity .countdown__label {
    margin-top: 5px !important;
    display: block !important;
    color: rgba(255,255,255,0.55) !important;
    font-size: clamp(9px, 1vw, 11px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

.hero--singularity .hero__impact {
    width: min(600px, 100%) !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    margin: 0 0 clamp(16px, 2.6vh, 24px) !important;
    padding: clamp(8px, 1.1vh, 11px) clamp(8px, 1.4vw, 14px) !important;
    border: 1px solid rgba(0,193,212,0.28) !important;
    border-radius: 14px !important;
    background: rgba(13,31,78,0.62) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.08) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    overflow: hidden !important;
}

.hero--singularity .hero-impact__item {
    position: relative !important;
    min-width: 0 !important;
    padding: 2px clamp(6px, 1vw, 10px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1px !important;
}

.hero--singularity .hero-impact__item + .hero-impact__item::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12% !important;
    bottom: 12% !important;
    width: 1px !important;
    background: linear-gradient(180deg, transparent, rgba(0,193,212,0.38), transparent) !important;
}

.hero--singularity .hero-impact__icon {
    width: clamp(17px, 2.1vw, 23px) !important;
    height: clamp(17px, 2.1vw, 23px) !important;
    color: var(--hero-cyan) !important;
    stroke: var(--hero-cyan) !important;
    margin-bottom: 2px !important;
    opacity: 0.92 !important;
    filter: none !important;
}

.hero--singularity .hero-impact__number {
    font-family: "Bebas Neue", var(--font-display) !important;
    font-size: clamp(26px, 3.4vw, 40px) !important;
    line-height: 0.9 !important;
    font-weight: 400 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    filter: none !important;
}

.hero--singularity .hero-impact__item span {
    color: rgba(255,255,255,0.62) !important;
    font-size: clamp(8px, 1vw, 11px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.16em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.hero--singularity .hero__date-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: min(480px, 100%) !important;
    padding: clamp(10px, 1.4vh, 13px) clamp(20px, 3vw, 28px) !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, rgba(0,193,212,0.90) 0%, rgba(0,210,100,0.88) 100%) !important;
    box-shadow: 0 0 0 1px rgba(0,230,118,0.30), 0 18px 48px rgba(0,193,212,0.28) !important;
    margin: 0 0 clamp(12px, 2vh, 18px) !important;
    cursor: default !important;
}

.hero--singularity .hero__date-icon {
    width: 22px !important;
    height: 22px !important;
    color: rgba(2,4,8,0.80) !important;
    stroke: rgba(2,4,8,0.80) !important;
    flex-shrink: 0 !important;
}

.hero--singularity .hero__date-pill span {
    font-family: var(--font-heading) !important;
    font-size: clamp(17px, 2.2vw, 22px) !important;
    font-weight: 600 !important;
    color: #020408 !important;
    letter-spacing: 0.01em !important;
}

.hero--singularity .hero__date-pill strong {
    font-weight: 800 !important;
    color: #020408 !important;
}

.hero--singularity .hero__badges {
    width: min(680px, 100%) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    margin: 0 !important;
}

.hero--singularity .hero__badges span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 5px 13px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    background: rgba(2,4,8,0.42) !important;
    color: rgba(255,255,255,0.84) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(10px) !important;
}

.hero--singularity .hero__badges span::before {
    content: "" !important;
    width: 5px !important;
    height: 5px !important;
    margin-right: 7px !important;
    border-radius: 50% !important;
    background: var(--hero-cyan) !important;
    box-shadow: 0 0 10px rgba(0,193,212,0.70) !important;
    flex-shrink: 0 !important;
}

.hero--singularity .hero__badges span:nth-child(even)::before {
    background: var(--hero-green) !important;
    box-shadow: 0 0 10px rgba(0,230,118,0.62) !important;
}

@media (max-width: 900px) {
    .hero--singularity {
        min-height: auto !important;
        padding: 96px 18px 60px !important;
    }

    .hero--singularity .hero__photo img {
        object-position: 62% center !important;
    }

    .hero--singularity .hero__veil {
        background:
            linear-gradient(180deg, rgba(2,4,8,0.80) 0%, rgba(2,4,8,0.54) 42%, rgba(2,4,8,0.88) 100%),
            linear-gradient(135deg, rgba(0,193,212,0.10), transparent 50%, rgba(0,230,118,0.05)) !important;
    }

    .hero--singularity .hero__split {
        width: min(100%, 760px) !important;
        min-height: auto !important;
        max-width: 100% !important;
        align-items: center !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-bottom: clamp(36px, 5vh, 56px) !important;
    }

    .hero--singularity .hero__center,
    .hero--singularity .hero__titles {
        align-items: center !important;
    }

    .hero--singularity .hero__logos {
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero--singularity .hero__eyebrow,
    .hero--singularity .hero__desc {
        text-align: center !important;
    }

    .hero--singularity .countdown,
    .hero--singularity .hero__badges {
        justify-content: center !important;
    }

    .hero--singularity .hero__date-pill {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 560px) {
    .hero--singularity .hero__logo-label--sub {
        display: none !important;
    }

    .hero--singularity .hero__logo-label {
        display: none !important;
    }

    .hero--singularity .hero__logo-sep {
        height: 32px !important;
    }

    .hero--singularity .hero__logo-mark--unsa {
        width: clamp(34px, 10vw, 42px) !important;
        height: auto !important;
        max-height: clamp(42px, 12vw, 52px) !important;
    }

    .hero--singularity .hero__logo-mark--ccii {
        width: clamp(32px, 10vw, 40px) !important;
        height: clamp(32px, 10vw, 40px) !important;
    }

    .hero--singularity .hero__logo-mark--mind {
        width: clamp(38px, 12vw, 46px) !important;
        height: clamp(38px, 12vw, 46px) !important;
    }

    .hero--singularity .hero__impact {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .hero--singularity .hero-impact__item:nth-child(3),
    .hero--singularity .hero-impact__item:nth-child(4) {
        border-top: 1px solid rgba(0,193,212,0.18) !important;
    }

    .hero--singularity .hero-impact__item:nth-child(3)::before {
        content: none !important;
    }

    .hero--singularity .hero__date-pill {
        width: 100% !important;
    }

    .hero--singularity .hero__date-pill span {
        font-size: 16px !important;
    }
}

/* FIX: hero final match against provided reference image - 2026-05-17 */
.nav {
    min-height: 80px !important;
    background: rgba(2, 10, 40, 0.92) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

.nav .nav__inner {
    width: min(1540px, calc(100% - 96px)) !important;
    min-height: 80px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.nav .nav__logo {
    gap: 12px !important;
    color: #fff !important;
}

.nav .nav__logo-img {
    width: 64px !important;
    height: 30px !important;
    object-fit: contain !important;
}

.nav .nav__logo-text {
    font-family: var(--font-body) !important;
    font-size: 20px !important;
    letter-spacing: 0 !important;
    color: #fff !important;
}

.nav .nav__logo-text strong {
    font-weight: 900 !important;
}

.nav .nav__logo-text span {
    font-weight: 400 !important;
}

.nav .nav__links {
    gap: clamp(28px, 3vw, 54px) !important;
}

.nav .nav__link {
    color: rgba(255,255,255,0.96) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
}

.nav .nav__link::after {
    height: 3px !important;
    bottom: -16px !important;
    background: linear-gradient(90deg, #00AAFF, #00E5CC, #00FF99) !important;
}

.nav .nav__links .nav__link:first-child::after {
    width: 100% !important;
}

.nav .nav__actions {
    gap: 16px !important;
}

.nav .nav__btn {
    min-height: 46px !important;
    padding: 8px 24px !important;
    border-radius: 7px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.nav .nav__btn--outline {
    color: #fff !important;
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
}

.nav .nav__btn--filled {
    color: #fff !important;
    background: linear-gradient(135deg, #0066FF 0%, #00CC88 100%) !important;
    box-shadow: 0 8px 28px rgba(0, 204, 136, 0.28) !important;
}

.hero--singularity {
    --hero-cyan: #00E5FF;
    --hero-green: #00FF99;
    --hero-accent: #00E5CC;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    min-height: 100svh !important;
    padding: 80px 0 0 !important;
    background: #020A2E !important;
    overflow: hidden !important;
}

.hero--singularity .hero__photo,
.hero--singularity .hero__photo img,
.hero--singularity .hero__veil,
.hero--singularity .hero__layer--particles {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.hero--singularity .hero__photo {
    z-index: 0 !important;
}

.hero--singularity .hero__photo img {
    object-fit: cover !important;
    object-position: 64% center !important;
    filter: saturate(1.16) contrast(1.08) brightness(0.86) !important;
    transform: scale(1.01) !important;
    transform-origin: center center !important;
}

.hero--singularity .hero__veil {
    z-index: 1 !important;
    background:
        radial-gradient(circle at 22% 34%, rgba(0, 229, 204, 0.18) 0%, transparent 18%),
        radial-gradient(circle at 46% 18%, rgba(0, 170, 255, 0.14) 0%, transparent 17%),
        linear-gradient(100deg, rgba(2,8,35,0.92) 0%, rgba(2,8,35,0.78) 30%, rgba(2,10,46,0.44) 57%, rgba(2,10,46,0.12) 100%),
        linear-gradient(180deg, rgba(2,10,46,0.62) 0%, rgba(2,10,46,0.12) 48%, rgba(2,10,46,0.72) 100%) !important;
}

.hero--singularity::before,
.hero--singularity::after {
    content: "" !important;
    position: absolute !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

.hero--singularity::before {
    left: -8vw !important;
    top: 16vh !important;
    width: 60vw !important;
    height: 72vh !important;
    border: 1px solid rgba(0, 229, 255, 0.24) !important;
    border-left-color: rgba(0, 255, 153, 0.24) !important;
    border-right-color: transparent !important;
    border-bottom-color: transparent !important;
    border-radius: 50% !important;
    transform: rotate(-22deg) !important;
    filter: drop-shadow(0 0 16px rgba(0, 229, 255, 0.18)) !important;
}

.hero--singularity::after {
    inset: 0 !important;
    background:
        radial-gradient(circle at 0.5% 8%, rgba(0,229,255,0.55) 0 2px, transparent 4px),
        radial-gradient(circle at 10% 7%, rgba(0,229,255,0.35) 0 2px, transparent 5px),
        radial-gradient(circle at 29% 14%, rgba(0,229,255,0.38) 0 2px, transparent 5px),
        radial-gradient(circle at 38% 28%, rgba(0,255,153,0.36) 0 2px, transparent 5px),
        radial-gradient(circle at 72% 17%, rgba(0,229,255,0.48) 0 2px, transparent 5px),
        radial-gradient(circle at 93% 22%, rgba(0,229,255,0.40) 0 2px, transparent 5px),
        radial-gradient(circle at 7% 79%, rgba(0,229,255,0.44) 0 2px, transparent 5px),
        radial-gradient(circle at 62% 80%, rgba(0,255,153,0.30) 0 2px, transparent 5px) !important;
    opacity: 0.9 !important;
    animation: heroParticlePulse 5.5s ease-in-out infinite alternate !important;
}

@keyframes heroParticlePulse {
    from { opacity: 0.42; transform: translateY(0); }
    to { opacity: 0.92; transform: translateY(-10px); }
}

.hero--singularity .hero__layer--particles {
    z-index: 2 !important;
    opacity: 0.42 !important;
    mix-blend-mode: screen !important;
}

.hero--singularity .hero__curve {
    display: block !important;
    position: absolute !important;
    inset: 80px auto auto 0 !important;
    width: min(52vw, 680px) !important;
    height: min(76vh, 760px) !important;
    z-index: 2 !important;
    opacity: 0.72 !important;
    pointer-events: none !important;
}

.hero--singularity .hero__curve svg {
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
}

.hero--singularity .hero__curve-path {
    fill: none !important;
    stroke: url(#heroCurveGradient) !important;
    stroke-width: 2 !important;
    opacity: 0.78 !important;
    filter: drop-shadow(0 0 10px rgba(0,229,255,0.35)) !important;
}

.hero--singularity .hero__split {
    position: relative !important;
    z-index: 5 !important;
    width: min(900px, 52vw) !important;
    max-width: none !important;
    min-height: calc(100svh - 80px) !important;
    margin: 0 0 0 clamp(70px, 8.2vw, 210px) !important;
    padding: clamp(58px, 7vh, 88px) 0 clamp(22px, 3vh, 38px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
}

.hero--singularity .hero__logos {
    width: min(760px, 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(20px, 2.2vw, 36px) !important;
    margin: 0 0 clamp(34px, 5.2vh, 58px) !important;
    filter: drop-shadow(0 0 8px rgba(0,200,255,0.30)) !important;
}

.hero--singularity .hero__logo-group {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.hero--singularity .hero__logo-sep {
    width: 1px !important;
    height: 58px !important;
    background: rgba(255,255,255,0.42) !important;
}

.hero--singularity .hero__logo-mark {
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.hero--singularity .hero__logo-mark--unsa {
    width: auto !important;
    height: 66px !important;
    max-height: none !important;
}

.hero--singularity .hero__logo-mark--ccii {
    width: 68px !important;
    height: 64px !important;
}

.hero--singularity .hero__logo-mark--mind {
    width: 68px !important;
    height: 58px !important;
}

.hero--singularity .hero__logo-label {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.hero--singularity .hero__logo-label--name {
    font-family: var(--font-heading) !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    letter-spacing: 0.02em !important;
    color: #fff !important;
    line-height: 1.06 !important;
}

.hero--singularity .hero__logo-label--sub {
    font-size: 11px !important;
    color: rgba(255,255,255,0.82) !important;
    line-height: 1.15 !important;
}

.hero--singularity .hero__center,
.hero--singularity .hero__titles {
    width: min(850px, 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.hero--singularity .hero__eyebrow {
    position: relative !important;
    width: auto !important;
    margin: 0 0 10px !important;
    padding: 0 30px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0.42em !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

.hero--singularity .hero__eyebrow::before,
.hero--singularity .hero__eyebrow::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #00E5CC !important;
    box-shadow: 0 0 12px rgba(0,229,204,0.75) !important;
    transform: translateY(-50%) !important;
}

.hero--singularity .hero__eyebrow::before {
    left: 0 !important;
}

.hero--singularity .hero__eyebrow::after {
    right: 0 !important;
}

.hero--singularity .hero__summit {
    margin: 0 0 4px !important;
    color: #fff !important;
    font-family: var(--font-heading) !important;
    font-size: clamp(52px, 4.9vw, 78px) !important;
    font-weight: 900 !important;
    letter-spacing: 0.34em !important;
    line-height: 0.96 !important;
    text-shadow: 0 0 18px rgba(255,255,255,0.26) !important;
    white-space: nowrap !important;
}

.hero--singularity .hero__mind {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    font-family: var(--font-heading) !important;
    font-size: clamp(112px, 13vw, 214px) !important;
    font-weight: 950 !important;
    letter-spacing: -0.02em !important;
    line-height: 0.78 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    background: linear-gradient(135deg, #00AAFF 0%, #00FFCC 40%, #00DD88 70%, #00FF99 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 0 30px rgba(0,220,180,0.60)) drop-shadow(0 0 60px rgba(0,150,255,0.40)) !important;
}

.hero--singularity .hero__desc {
    max-width: 760px !important;
    margin: 18px 0 0 !important;
    color: #fff !important;
    font-size: clamp(16px, 1.25vw, 21px) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

.hero--singularity .hero__desc span {
    color: #00E5CC !important;
    font-weight: 800 !important;
    text-shadow: 0 0 12px rgba(0,229,204,0.35) !important;
}

.hero--singularity .countdown {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 24px !important;
    width: auto !important;
    margin: 22px 0 20px !important;
    background: none !important;
    border: 0 !important;
}

.hero--singularity .countdown__block {
    width: 112px !important;
    min-width: 112px !important;
    min-height: 70px !important;
    padding: 8px 18px 7px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    border: 1px solid rgba(0,229,255,0.52) !important;
    border-radius: 10px !important;
    background: rgba(4, 17, 55, 0.56) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 0 18px rgba(0,170,255,0.12) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.hero--singularity .countdown__block:not(:last-child)::after {
    content: ":" !important;
    position: absolute !important;
    right: -18px !important;
    top: 18px !important;
    color: #00FF99 !important;
    font-family: var(--font-heading) !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.hero--singularity .countdown__number {
    font-family: var(--font-heading) !important;
    font-size: clamp(30px, 3.3vw, 42px) !important;
    font-weight: 900 !important;
    line-height: 0.9 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    letter-spacing: 0 !important;
}

.hero--singularity .countdown__label {
    margin-top: 6px !important;
    color: rgba(255,255,255,0.78) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.hero--singularity .hero__impact {
    width: min(940px, 100%) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    margin: 0 0 16px !important;
    padding: 11px 30px !important;
    border: 1px solid rgba(0,229,255,0.34) !important;
    border-radius: 16px !important;
    background: rgba(4, 17, 55, 0.58) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), 0 14px 38px rgba(0,0,0,0.26) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

.hero--singularity .hero-impact__item {
    display: grid !important;
    grid-template-columns: auto auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    justify-content: center !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
    padding: 0 22px !important;
    position: relative !important;
}

.hero--singularity .hero-impact__item + .hero-impact__item::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12% !important;
    bottom: 12% !important;
    width: 1px !important;
    background: rgba(255,255,255,0.22) !important;
}

.hero--singularity .hero-impact__icon {
    grid-row: 1 / 3 !important;
    width: 34px !important;
    height: 34px !important;
    color: #00E5FF !important;
    stroke: currentColor !important;
    filter: drop-shadow(0 0 10px rgba(0,229,255,0.35)) !important;
}

.hero--singularity .hero-impact__item:nth-child(1) .hero-impact__icon,
.hero--singularity .hero-impact__item:nth-child(3) .hero-impact__icon {
    color: #00FF99 !important;
}

.hero--singularity .hero-impact__number {
    justify-self: start !important;
    font-family: var(--font-heading) !important;
    font-size: clamp(28px, 2.4vw, 36px) !important;
    font-weight: 900 !important;
    line-height: 0.92 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.hero--singularity .hero-impact__item span {
    justify-self: start !important;
    color: rgba(255,255,255,0.82) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.hero--singularity .hero__date-pill {
    width: auto !important;
    min-width: 590px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    margin: 0 0 14px !important;
    padding: 11px 42px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #1A44CC 0%, #0066BB 40%, #00AA66 100%) !important;
    box-shadow: 0 4px 20px rgba(0,150,100,0.40), 0 0 40px rgba(0,100,255,0.20) !important;
}

.hero--singularity .hero__date-icon {
    width: 26px !important;
    height: 26px !important;
    color: #fff !important;
    stroke: currentColor !important;
}

.hero--singularity .hero__date-pill span {
    color: #fff !important;
    font-size: clamp(24px, 2vw, 32px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.hero--singularity .hero__date-pill strong {
    color: #00FF99 !important;
    font-weight: 950 !important;
}

.hero--singularity .hero__badges {
    width: min(760px, 100%) !important;
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
}

.hero--singularity .hero__badges span {
    min-height: 30px !important;
    padding: 5px 16px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(0,229,255,0.35) !important;
    background: rgba(255,255,255,0.06) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
}

.hero--singularity .hero__badges span::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    margin-right: 10px !important;
    border-radius: 50% !important;
    background: #00FF99 !important;
    box-shadow: 0 0 10px currentColor !important;
}

.hero--singularity .hero__badges span:nth-child(2)::before {
    background: #00CC88 !important;
}

.hero--singularity .hero__badges span:nth-child(3)::before {
    background: #00AAFF !important;
}

.hero--singularity .hero__badges span:nth-child(4)::before {
    background: #0088FF !important;
}

@media (max-width: 1024px) {
    .nav .nav__inner {
        width: min(100% - 36px, 980px) !important;
    }

    .hero--singularity .hero__split {
        width: min(860px, calc(100% - 36px)) !important;
        margin: 0 auto !important;
        padding-top: 44px !important;
    }

    .hero--singularity .hero__photo img {
        object-position: 58% center !important;
    }

    .hero--singularity .hero__veil {
        background:
            linear-gradient(180deg, rgba(2,8,35,0.72) 0%, rgba(2,8,35,0.28) 45%, rgba(2,8,35,0.78) 100%),
            linear-gradient(100deg, rgba(2,8,35,0.82), rgba(2,8,35,0.30) 100%) !important;
    }

    .hero--singularity .hero__logos {
        margin-bottom: 28px !important;
    }

    .hero--singularity .hero__summit {
        font-size: clamp(44px, 8vw, 68px) !important;
    }

    .hero--singularity .hero__mind {
        font-size: clamp(86px, 16vw, 138px) !important;
    }

    .hero--singularity .countdown__block {
        width: 96px !important;
        min-width: 96px !important;
        padding-inline: 12px !important;
    }

    .hero--singularity .hero__impact {
        width: min(760px, 100%) !important;
        padding-inline: 14px !important;
    }

    .hero--singularity .hero-impact__item {
        padding-inline: 10px !important;
        column-gap: 8px !important;
    }
}

@media (max-width: 560px) {
    .nav {
        min-height: 64px !important;
    }

    .nav .nav__inner {
        min-height: 64px !important;
        width: calc(100% - 32px) !important;
    }

    .nav .nav__logo-img {
        width: 48px !important;
        height: 24px !important;
    }

    .nav .nav__logo-text {
        font-size: 17px !important;
    }

    .hero--singularity {
        padding-top: 64px !important;
        min-height: auto !important;
    }

    .hero--singularity .hero__split {
        width: calc(100% - 28px) !important;
        min-height: auto !important;
        padding: 32px 0 44px !important;
    }

    .hero--singularity .hero__logos {
        gap: 12px !important;
        margin-bottom: 24px !important;
    }

    .hero--singularity .hero__logo-label {
        display: none !important;
    }

    .hero--singularity .hero__logo-sep {
        height: 34px !important;
    }

    .hero--singularity .hero__logo-mark--unsa {
        height: 42px !important;
        width: auto !important;
    }

    .hero--singularity .hero__logo-mark--ccii {
        width: 44px !important;
        height: 42px !important;
    }

    .hero--singularity .hero__logo-mark--mind {
        width: 46px !important;
        height: 40px !important;
    }

    .hero--singularity .hero__eyebrow {
        font-size: 11px !important;
        letter-spacing: 0.24em !important;
        padding-inline: 22px !important;
    }

    .hero--singularity .hero__summit {
        font-size: 12vw !important;
        letter-spacing: 0.24em !important;
    }

    .hero--singularity .hero__mind {
        font-size: 18vw !important;
        letter-spacing: -0.03em !important;
    }

    .hero--singularity .hero__desc {
        font-size: 14px !important;
        margin-top: 12px !important;
    }

    .hero--singularity .countdown {
        gap: 10px !important;
        margin-top: 18px !important;
    }

    .hero--singularity .countdown__block {
        width: 70px !important;
        min-width: 70px !important;
        min-height: 64px !important;
        padding: 8px 6px !important;
    }

    .hero--singularity .countdown__block:not(:last-child)::after {
        right: -8px !important;
        top: 18px !important;
        font-size: 22px !important;
    }

    .hero--singularity .countdown__number {
        font-size: 28px !important;
    }

    .hero--singularity .countdown__label {
        font-size: 8px !important;
        letter-spacing: 0.08em !important;
    }

    .hero--singularity .hero__impact {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 14px 10px !important;
    }

    .hero--singularity .hero-impact__item {
        padding: 10px 6px !important;
    }

    .hero--singularity .hero-impact__item:nth-child(3),
    .hero--singularity .hero-impact__item:nth-child(4) {
        border-top: 1px solid rgba(255,255,255,0.14) !important;
    }

    .hero--singularity .hero-impact__item:nth-child(3)::before {
        content: none !important;
    }

    .hero--singularity .hero-impact__icon {
        width: 28px !important;
        height: 28px !important;
    }

    .hero--singularity .hero__date-pill {
        width: 90% !important;
        min-width: 0 !important;
        padding: 13px 18px !important;
        gap: 10px !important;
    }

    .hero--singularity .hero__date-icon {
        width: 22px !important;
        height: 22px !important;
    }

    .hero--singularity .hero__date-pill span {
        font-size: 17px !important;
    }

    .hero--singularity .hero__badges {
        gap: 8px !important;
    }

    .hero--singularity .hero__badges span {
        font-size: 10px !important;
        padding-inline: 12px !important;
    }
}

/* FIX: usar la foto de fachada UNSA directa, sin degradado oscuro encima - 2026-05-17 */
.hero--singularity .hero__photo img {
    filter: none !important;
}

.hero--singularity .hero__veil {
    background: none !important;
    opacity: 0 !important;
}

/* FIX: hero typography, institutional logos, and HUD-only background lines - 2026-05-17 */
.hero--singularity::before {
    content: none !important;
}

.hero--singularity::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 0.5% 8%, rgba(0,229,255,0.55) 0 2px, transparent 4px),
        radial-gradient(circle at 10% 7%, rgba(0,229,255,0.35) 0 2px, transparent 5px),
        radial-gradient(circle at 29% 14%, rgba(0,229,255,0.38) 0 2px, transparent 5px),
        radial-gradient(circle at 38% 28%, rgba(0,255,153,0.36) 0 2px, transparent 5px),
        radial-gradient(circle at 72% 17%, rgba(0,229,255,0.48) 0 2px, transparent 5px),
        radial-gradient(circle at 93% 22%, rgba(0,229,255,0.40) 0 2px, transparent 5px),
        radial-gradient(circle at 7% 79%, rgba(0,229,255,0.44) 0 2px, transparent 5px),
        radial-gradient(circle at 62% 80%, rgba(0,255,153,0.30) 0 2px, transparent 5px) !important;
    opacity: 0.72 !important;
}

.hero--singularity .hero__photo img {
    filter: none !important;
    object-position: 64% center !important;
}

.hero--singularity .hero__veil {
    background: none !important;
    opacity: 0 !important;
}

.hero--singularity .hero__split {
    width: min(860px, 50vw) !important;
}

.hero--singularity .hero__logos {
    width: min(860px, 100%) !important;
    gap: 22px !important;
    margin-bottom: 32px !important;
}

.hero--singularity .hero__logo-group {
    gap: 13px !important;
}

.hero--singularity .hero__logo-sep {
    height: 45px !important;
    background: rgba(255,255,255,0.25) !important;
}

.hero--singularity .hero__logo-mark {
    object-fit: contain !important;
    filter: drop-shadow(0 0 6px rgba(0,200,255,0.25)) !important;
}

.hero--singularity .hero__logo-mark--unsa {
    height: 70px !important;
    width: auto !important;
}

.hero--singularity .hero__logo-mark--ccii {
    width: 70px !important;
    height: 70px !important;
}

.hero--singularity .hero__logo-mark--ccii-center {
    width: 70px !important;
    height: 70px !important;
}

.hero--singularity .hero__logo-label {
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
}

.hero--singularity .hero__logo-label--name {
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
}

.hero--singularity .hero__logo-label--sub {
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.75) !important;
    line-height: 1.12 !important;
    text-transform: none !important;
}

.hero--singularity .hero__summit {
    font-family: "Bebas Neue", Anton, Impact, sans-serif !important;
    font-size: clamp(40px, 6vw, 75px) !important;
    font-weight: 900 !important;
    font-style: normal !important;
    letter-spacing: 0.20em !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: 0 0 18px rgba(255,255,255,0.32) !important;
    white-space: nowrap !important;
}

.hero--singularity .hero__mind,
.hero--singularity .hero__mind .char {
    font-family: "Bebas Neue", Anton, "Black Han Sans", Impact, sans-serif !important;
    font-size: clamp(90px, 16vw, 200px) !important;
    font-weight: 900 !important;
    font-style: normal !important;
    letter-spacing: -0.01em !important;
    line-height: 0.82 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    background: linear-gradient(160deg, #00AAFF 0%, #00DDBB 35%, #00FF99 65%, #00EE88 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 0 25px rgba(0,220,160,0.55)) drop-shadow(0 0 50px rgba(0,150,255,0.35)) !important;
}

.hero--singularity .hero__mind .char {
    display: inline-block !important;
}

.hero--singularity .hero__curve {
    left: -3vw !important;
    top: 22vh !important;
    width: min(58vw, 900px) !important;
    height: min(72vh, 760px) !important;
    opacity: 1 !important;
}

.hero--singularity .hero__curve-path {
    fill: none !important;
    stroke: url(#heroCurveGradient) !important;
    stroke-width: 1.25 !important;
    stroke-linecap: round !important;
    opacity: 0.18 !important;
    vector-effect: non-scaling-stroke !important;
    filter: drop-shadow(0 0 8px rgba(0,180,255,0.25)) !important;
}

.hero--singularity .hero__curve-path--inner {
    opacity: 0.12 !important;
    stroke-width: 1 !important;
}

.hero--singularity .hero__dot {
    position: absolute !important;
    z-index: 3 !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #00E5FF !important;
    box-shadow: 0 0 12px rgba(0,229,255,0.75) !important;
    pointer-events: none !important;
}

@media (max-width: 1024px) {
    .hero--singularity .hero__split {
        width: min(860px, calc(100% - 36px)) !important;
    }

    .hero--singularity .hero__logo-mark--unsa,
    .hero--singularity .hero__logo-mark--ccii,
    .hero--singularity .hero__logo-mark--ccii-center {
        height: 55px !important;
        width: auto !important;
    }

    .hero--singularity .hero__logo-mark--ccii,
    .hero--singularity .hero__logo-mark--ccii-center {
        width: 55px !important;
    }
}

@media (max-width: 560px) {
    .hero--singularity .hero__logo-mark--unsa,
    .hero--singularity .hero__logo-mark--ccii,
    .hero--singularity .hero__logo-mark--ccii-center {
        height: 45px !important;
        width: auto !important;
    }

    .hero--singularity .hero__logo-mark--ccii,
    .hero--singularity .hero__logo-mark--ccii-center {
        width: 45px !important;
    }

    .hero--singularity .hero__summit {
        font-size: 12vw !important;
        letter-spacing: 0.18em !important;
    }

    .hero--singularity .hero__mind,
    .hero--singularity .hero__mind .char {
        font-size: 18vw !important;
        letter-spacing: -0.02em !important;
    }
}

/* FIX: v3 typography and logo polish against reference - 2026-05-17 */
.hero--singularity .hero__logos {
    position: relative !important;
    width: min(880px, 100%) !important;
    gap: 24px !important;
    margin-bottom: 30px !important;
}

.hero--singularity .hero__logos::before,
.hero--singularity .hero__logos::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    width: 40px !important;
    height: 72px !important;
    border-radius: 4px !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

.hero--singularity .hero__logos::before {
    left: -45px !important;
    background: linear-gradient(to right, rgba(0,200,255,0.30), transparent) !important;
}

.hero--singularity .hero__logos::after {
    right: -45px !important;
    background: linear-gradient(to left, rgba(0,200,255,0.30), transparent) !important;
}

.hero--singularity .hero__logo-sep {
    width: 1px !important;
    height: 50px !important;
    background: rgba(0, 200, 255, 0.30) !important;
    box-shadow: 0 0 6px rgba(0,200,255,0.40) !important;
}

.hero--singularity .hero__logo-mark {
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
    width: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: drop-shadow(0 0 8px rgba(0,200,255,0.45)) drop-shadow(0 0 16px rgba(0,180,255,0.25)) !important;
    transition: filter 0.3s ease !important;
}

.hero--singularity .hero__logo-mark:hover {
    filter: drop-shadow(0 0 12px rgba(0,220,255,0.70)) drop-shadow(0 0 24px rgba(0,200,255,0.40)) !important;
}

.hero--singularity .hero__logo-mark--unsa {
    width: auto !important;
}

.hero--singularity .hero__logo-mark--ccii,
.hero--singularity .hero__logo-mark--ccii-center {
    width: 72px !important;
}

.hero--singularity .hero__logo-label--name {
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    color: #fff !important;
    line-height: 1.05 !important;
}

.hero--singularity .hero__logo-group:nth-of-type(2) .hero__logo-label--name {
    font-size: 13px !important;
}

.hero--singularity .hero__logo-group:nth-of-type(3) .hero__logo-label--name {
    font-size: 12px !important;
}

.hero--singularity .hero__logo-label--sub {
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.75) !important;
    line-height: 1.12 !important;
}

.hero--singularity .hero__summit {
    font-family: "Bebas Neue", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: clamp(42px, 6.5vw, 82px) !important;
    letter-spacing: 0.18em !important;
    line-height: 0.92 !important;
    margin-bottom: -6px !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    text-shadow: 0 0 20px rgba(255,255,255,0.15) !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.hero--singularity .hero__mind,
.hero--singularity .hero__mind .char {
    font-family: "Bebas Neue", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: clamp(100px, 17vw, 210px) !important;
    letter-spacing: 0.05em !important;
    line-height: 0.85 !important;
    display: inline-block !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-align: center !important;
    background: linear-gradient(to right, #3399FF 0%, #00CCDD 30%, #00DDAA 60%, #00FF88 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 0 20px rgba(0,220,160,0.70)) drop-shadow(0 0 45px rgba(0,180,255,0.45)) drop-shadow(0 0 80px rgba(0,255,150,0.25)) !important;
}

.hero--singularity .hero__mind {
    display: block !important;
}

@media (max-width: 1200px) and (min-width: 1025px) {
    .hero--singularity .hero__logo-mark {
        height: 65px !important;
        min-height: 65px !important;
        max-height: 65px !important;
    }

    .hero--singularity .hero__logo-mark--ccii,
    .hero--singularity .hero__logo-mark--ccii-center {
        width: 65px !important;
    }
}

@media (max-width: 1024px) and (min-width: 768px) {
    .hero--singularity .hero__logo-mark {
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
    }

    .hero--singularity .hero__logo-mark--ccii,
    .hero--singularity .hero__logo-mark--ccii-center {
        width: 56px !important;
    }
}

@media (max-width: 767px) {
    .hero--singularity .hero__logos::before,
    .hero--singularity .hero__logos::after {
        content: none !important;
    }

    .hero--singularity .hero__logo-mark {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }

    .hero--singularity .hero__logo-mark--ccii,
    .hero--singularity .hero__logo-mark--ccii-center {
        width: 44px !important;
    }

    .hero--singularity .hero__summit {
        font-size: 12vw !important;
        letter-spacing: 0.16em !important;
    }

    .hero--singularity .hero__mind,
    .hero--singularity .hero__mind .char {
        font-size: 18vw !important;
        letter-spacing: 0.03em !important;
    }
}

/* FIX v13 ABSOLUTE FINAL: horizontal Fontshare hero typography */
.hero--singularity .hero__titles {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100%, 860px) !important;
    margin-inline: auto !important;
    text-align: center !important;
}

.hero--singularity .hero__eyebrow {
    font-family: "Satoshi", "DM Sans", sans-serif !important;
    font-size: clamp(12px, 1.05vw, 15px) !important;
    font-weight: 900 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.92) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.92) !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.42) !important;
}

.hero--singularity .hero__summit {
    font-family: "Satoshi", "DM Sans", sans-serif !important;
    font-size: clamp(36px, 5vw, 70px) !important;
    font-weight: 900 !important;
    letter-spacing: 0.26em !important;
    color: #FFFFFF !important;
    text-align: center !important;
    line-height: 1 !important;
    margin: 0 0 2px !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: #FFFFFF !important;
    text-transform: uppercase !important;
    text-shadow: 0 0 22px rgba(255,255,255,0.16), 0 2px 4px rgba(0,0,0,0.34) !important;
    filter: none !important;
    opacity: 1 !important;
    transform: scaleX(1.02) !important;
    white-space: nowrap !important;
    width: auto !important;
}

.hero--singularity .hero__mind {
    font-family: "Clash Display", "Satoshi", sans-serif !important;
    font-size: clamp(92px, 15.4vw, 214px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.045em !important;
    line-height: 0.80 !important;
    margin: -2px 0 0 !important;
    display: block !important;
    width: max-content !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-align: center !important;
    background: linear-gradient(96deg, #226CFF 0%, #00AEEF 24%, #00D6C7 53%, #00FA94 82%, #00E676 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 0 12px rgba(0,210,170,0.55)) drop-shadow(0 0 30px rgba(0,145,255,0.34)) drop-shadow(0 0 54px rgba(0,230,160,0.12)) !important;
    transform: scaleX(1.03) !important;
}

.hero--singularity .hero__mind .char {
    display: inline-block !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    margin: 0 !important;
    white-space: nowrap !important;
    background: inherit !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    filter: none !important;
    transform: none !important;
}

.hero--singularity .hero__desc {
    font-family: "Satoshi", "DM Sans", sans-serif !important;
    font-size: clamp(17px, 1.45vw, 22px) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.01em !important;
    color: rgba(255,255,255,0.88) !important;
    text-shadow: 0 2px 14px rgba(0,0,0,0.45) !important;
}

.hero--singularity .hero__desc span {
    font-weight: 900 !important;
    color: #5CFFBF !important;
    -webkit-text-fill-color: #5CFFBF !important;
}

.hero--singularity .countdown__number,
.hero--singularity .hero-impact__number,
.hero--singularity .hero__date-pill strong {
    font-family: "Clash Display", "Satoshi", sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
}

.hero--singularity .countdown__label,
.hero--singularity .hero-impact__item span,
.hero--singularity .hero__date-pill span,
.hero--singularity .hero__badges span {
    font-family: "Satoshi", "DM Sans", sans-serif !important;
    font-weight: 900 !important;
}

.hero--singularity .hero__badges span {
    letter-spacing: 0.08em !important;
}

@media (max-width: 1024px) {
    .hero--singularity .hero__summit {
        font-size: clamp(30px, 6.6vw, 52px) !important;
        letter-spacing: 0.22em !important;
        transform: none !important;
    }

    .hero--singularity .hero__mind {
        font-size: clamp(78px, 17.8vw, 120px) !important;
        letter-spacing: -0.05em !important;
        transform: scaleX(1.01) !important;
    }

    .hero--singularity .hero__mind .char {
        font-size: inherit !important;
        letter-spacing: inherit !important;
    }
}

/* FIX v14: cinematic horizontal pillars + pricing image follower */
@media (min-width: 901px) and (hover: hover) and (pointer: fine) {
    .ejes--pillars {
        min-height: 100vh !important;
        overflow: hidden !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    .ejes--pillars > .container {
        width: 100% !important;
        max-width: none !important;
        padding-inline: clamp(28px, 5vw, 72px) !important;
    }

    .ejes--pillars .section-tag {
        font-family: "Satoshi", "DM Sans", sans-serif !important;
        letter-spacing: 0.18em !important;
    }

    .ejes--pillars .section-title {
        font-family: "Clash Display", "Satoshi", sans-serif !important;
        font-weight: 800 !important;
        letter-spacing: -0.04em !important;
        line-height: 0.92 !important;
    }

    .ejes--pillars .section-subtitle {
        max-width: 680px !important;
        font-family: "Satoshi", "DM Sans", sans-serif !important;
        font-weight: 700 !important;
    }

    .ejes--pillars .ejes-grid-premium {
        display: flex !important;
        grid-template-columns: none !important;
        width: max-content !important;
        gap: clamp(24px, 3.5vw, 52px) !important;
        margin-top: clamp(34px, 5vh, 54px) !important;
        padding: 0 clamp(8px, 4vw, 64px) 4vh !important;
        will-change: transform !important;
    }

    .ejes--pillars .eje-card {
        flex: 0 0 min(76vw, 880px) !important;
        width: min(76vw, 880px) !important;
        min-height: clamp(460px, 62vh, 660px) !important;
        border-radius: 24px !important;
        overflow: visible !important;
        transform-style: preserve-3d !important;
    }

    .ejes--pillars .eje-card__inner,
    .ejes--pillars .eje-card__face {
        border-radius: 24px !important;
    }

    .ejes--pillars .eje-card__face {
        overflow: hidden !important;
        box-shadow: 0 42px 110px rgba(0,0,0,0.32) !important;
    }

    .ejes--pillars .eje-card__image {
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .ejes--pillars .eje-card__image img {
        width: 120% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center !important;
        will-change: transform, filter !important;
    }

    .ejes--pillars .eje-card__face--front::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        background:
            linear-gradient(90deg, rgba(2,8,35,0.82) 0%, rgba(2,8,35,0.42) 44%, rgba(2,8,35,0.12) 100%),
            linear-gradient(180deg, transparent 0%, rgba(2,8,35,0.78) 100%) !important;
        pointer-events: none !important;
    }

    .ejes--pillars .eje-card__num,
    .ejes--pillars .eje-card__letter,
    .ejes--pillars .eje-card__title,
    .ejes--pillars .eje-card__hint {
        position: relative !important;
        z-index: 2 !important;
    }

    .ejes--pillars .eje-card__title {
        max-width: min(620px, 72%) !important;
        font-family: "Clash Display", "Satoshi", sans-serif !important;
        font-size: clamp(46px, 7vw, 92px) !important;
        font-weight: 800 !important;
        letter-spacing: -0.045em !important;
        line-height: 0.9 !important;
        text-shadow: 0 18px 40px rgba(0,0,0,0.42) !important;
    }

    .ejes--pillars .eje-card__hint {
        font-family: "Satoshi", "DM Sans", sans-serif !important;
        font-weight: 900 !important;
        letter-spacing: 0.16em !important;
    }
}

.pricing-image-follower {
    display: none !important;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
    width: clamp(220px, 22vw, 340px);
    aspect-ratio: 4 / 3;
    border-radius: 18px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 28px 80px rgba(0,0,0,0.36), 0 0 0 1px rgba(255,255,255,0.16);
    background: #0D1F4E;
    transform: translate3d(-100vw, -100vh, 0);
    will-change: transform, opacity;
}

.pricing-image-follower::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 42%, rgba(2,8,35,0.58) 100%),
        radial-gradient(circle at 18% 12%, rgba(0,193,212,0.28), transparent 34%);
    pointer-events: none;
}

.pricing-image-follower img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.94) contrast(1.08);
}

@media (hover: none), (pointer: coarse), (max-width: 900px) {
    .pricing-image-follower {
        display: none !important;
    }
}

/* FIX v17: Sobre section aligned to provided visual reference */
@media (min-width: 1024px) {
    #sobre .sobre__container {
        width: min(1480px, calc(100% - 72px)) !important;
    }

    #sobre .sobre__main-split {
        grid-template-columns: minmax(420px, 0.84fr) minmax(620px, 1.16fr) !important;
        gap: clamp(54px, 5.2vw, 92px) !important;
        align-items: center !important;
        margin-bottom: clamp(50px, 5vw, 72px) !important;
    }

    #sobre .sobre__text-block {
        max-width: 610px !important;
    }

    #sobre .sobre__visual-shell {
        width: min(58vw, 940px) !important;
        max-width: 940px !important;
        justify-self: end !important;
        margin-right: max(-3vw, -44px) !important;
    }
}

#sobre .section-title-premium {
    font-family: "Clash Display", "Satoshi", "DM Sans", sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: -0.045em !important;
}

#sobre .section-subtitle-premium,
#sobre .sobre-card__body-text {
    font-family: "Satoshi", "DM Sans", sans-serif !important;
    font-weight: 700 !important;
}

#sobre .visual-orbit-deco {
    width: 128% !important;
    height: 144% !important;
    top: -24% !important;
    left: -19% !important;
    z-index: 1 !important;
    opacity: 0.96 !important;
}

#sobre .visual-orbit-deco ellipse {
    stroke-width: 1.05 !important;
}

#sobre .sobre__capsule-mask {
    width: 100% !important;
    aspect-ratio: 1.64 / 1 !important;
    clip-path: ellipse(49% 44% at 54% 50%) !important;
    border-radius: 52% 48% 50% 45% !important;
    transform: rotate(-6deg) !important;
    box-shadow:
        0 38px 86px rgba(6,26,68,0.18),
        0 0 0 1px rgba(0,193,212,0.20) !important;
}

#sobre .sobre__capsule-image img {
    width: 114% !important;
    height: 120% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center 48% !important;
    transform: rotate(6deg) translate(-4%, -6%) !important;
    filter: saturate(1.08) contrast(1.08) brightness(0.82) !important;
}

#sobre .sobre__capsule-border-glow {
    border: 2px solid rgba(0,193,212,0.64) !important;
    box-shadow:
        0 0 24px rgba(0,193,212,0.34),
        0 0 64px rgba(22,139,255,0.16),
        0 22px 52px rgba(0,230,118,0.12) !important;
}

#sobre .sobre__floating-badge-glass {
    right: 4% !important;
    bottom: 12% !important;
    width: min(390px, 50%) !important;
    min-height: 112px !important;
    padding: 22px 28px !important;
    gap: 18px !important;
    border: 1px solid rgba(0,193,212,0.34) !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, rgba(7,28,72,0.96), rgba(13,55,112,0.90)) !important;
    box-shadow:
        0 24px 58px rgba(6,26,68,0.32),
        0 0 32px rgba(0,193,212,0.15) !important;
}

#sobre .badge-glass__icon {
    width: 60px !important;
    height: 60px !important;
    color: #00E6A8 !important;
    border: 1px solid rgba(0,230,168,0.62) !important;
    background: rgba(0,230,168,0.10) !important;
}

#sobre .badge-glass__icon svg {
    width: 30px !important;
    height: 30px !important;
}

#sobre .badge-glass__caption h4,
#sobre .badge-glass__caption h3,
#sobre .badge-glass__caption p {
    font-family: "Satoshi", "DM Sans", sans-serif !important;
    line-height: 1.16 !important;
}

#sobre .badge-glass__caption h4,
#sobre .badge-glass__caption h3 {
    font-size: clamp(15px, 1.05vw, 18px) !important;
    font-weight: 900 !important;
}

#sobre .badge-glass__caption p {
    margin-top: 2px !important;
    color: #00E6A8 !important;
    font-size: clamp(14px, 0.95vw, 17px) !important;
    font-weight: 900 !important;
}

#sobre .sobre-card-premium {
    isolation: isolate !important;
    overflow: hidden !important;
}

#sobre .sobre-card__big-num {
    left: clamp(18px, 2.6vw, 46px) !important;
    top: 30px !important;
    z-index: 0 !important;
    transform: none !important;
    color: rgba(22,139,255,0.12) !important;
    font-family: "Clash Display", "Satoshi", sans-serif !important;
    font-size: clamp(76px, 6.4vw, 104px) !important;
    font-weight: 800 !important;
    line-height: 0.86 !important;
    letter-spacing: -0.08em !important;
    pointer-events: none !important;
}

#sobre .sobre-card__top-flow,
#sobre .sobre-card__icon-wrapper,
#sobre .sobre-card__heading,
#sobre .sobre-card__body-text {
    position: relative !important;
    z-index: 2 !important;
}

#sobre .sobre-card__top-flow {
    min-height: 76px !important;
    height: auto !important;
    padding-left: clamp(104px, 7.6vw, 132px) !important;
    margin-bottom: 24px !important;
}

#sobre .sobre-card__icon-wrapper {
    flex: 0 0 auto !important;
    width: 64px !important;
    height: 64px !important;
    margin-left: 0 !important;
}

#sobre .sobre-card__heading {
    min-width: 0 !important;
    max-width: 220px !important;
    margin-left: 22px !important;
    font-family: "Satoshi", "DM Sans", sans-serif !important;
    font-size: clamp(18px, 1.25vw, 24px) !important;
    font-weight: 900 !important;
    line-height: 1.06 !important;
    letter-spacing: -0.01em !important;
}

#sobre .sobre-card__body-text {
    max-width: 390px !important;
    padding-left: clamp(104px, 7.6vw, 132px) !important;
    color: #20345F !important;
    font-size: clamp(14.5px, 0.98vw, 16px) !important;
    line-height: 1.82 !important;
}

@media (max-width: 900px) {
    #sobre .sobre__visual-shell {
        width: min(100%, 780px) !important;
        margin-inline: auto !important;
    }

    #sobre .sobre__floating-badge-glass {
        width: min(360px, 58%) !important;
        right: 4% !important;
        bottom: 8% !important;
    }

    #sobre .sobre-card__top-flow {
        padding-left: 102px !important;
    }

    #sobre .sobre-card__body-text {
        padding-left: 102px !important;
    }
}

@media (max-width: 560px) {
    #sobre .sobre__floating-badge-glass {
        width: min(292px, 82%) !important;
        min-height: 0 !important;
        padding: 14px 16px !important;
    }

    #sobre .badge-glass__icon {
        width: 42px !important;
        height: 42px !important;
    }

    #sobre .sobre-card__big-num {
        left: 22px !important;
        top: 26px !important;
        font-size: 66px !important;
    }

    #sobre .sobre-card__top-flow {
        padding-left: 78px !important;
        align-items: center !important;
    }

    #sobre .sobre-card__icon-wrapper {
        width: 52px !important;
        height: 52px !important;
    }

    #sobre .sobre-card__body-text {
        padding-left: 0 !important;
    }
}

/* FIX: reset broken horizontal ejes experiment and restore vertical pricing cards - 2026-05-23 */
.pilares-wrap,
.pilares-sticky,
.pilares-container,
.pilares-track,
.pilar-card {
    all: revert-layer;
}

.ejes--pillars {
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding: var(--section-padding) 0 !important;
    display: block !important;
    align-items: initial !important;
}

.ejes--pillars > .container {
    width: min(100% - 32px, var(--container)) !important;
    max-width: var(--container) !important;
    padding-inline: 0 !important;
}

.ejes--pillars .ejes-grid-premium,
.ejes--pillars .ejes-flip-grid {
    display: grid !important;
    width: 100% !important;
    max-width: 1180px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(20px, 2.5vw, 30px) !important;
    margin: clamp(42px, 6vw, 72px) auto 0 !important;
    padding: 0 !important;
    transform: none !important;
    will-change: auto !important;
}

.ejes--pillars .eje-card {
    flex: initial !important;
    width: 100% !important;
    min-height: 520px !important;
    height: 520px !important;
    overflow: hidden !important;
    transform: none !important;
}

.ejes--pillars .eje-card__image img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    object-fit: cover !important;
    transform: none !important;
}

.ejes--pillars .eje-card__title {
    max-width: 100% !important;
    font-size: clamp(30px, 3.2vw, 46px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.02em !important;
}

.ejes--pillars .eje-card__face {
    box-shadow: 0 24px 70px rgba(0,0,0,0.24) !important;
}

.pricing--concierge .pricing__grid {
    display: block !important;
    margin-top: clamp(30px, 4vw, 46px) !important;
    border-top: 0 !important;
    padding: 0 !important;
}

.pricing--concierge .pricing__cards {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(18px, 2vw, 28px) !important;
}

.pricing--concierge .plan-card {
    transform: none;
}

.concierge-follower,
.price-row {
    display: none !important;
}

@media (max-width: 1023px) {
    .ejes--pillars .ejes-grid-premium,
    .ejes--pillars .ejes-flip-grid {
        grid-template-columns: 1fr !important;
        max-width: 620px !important;
    }

    .ejes--pillars .eje-card {
        min-height: 430px !important;
        height: 430px !important;
    }

    .pricing--concierge .pricing__cards {
        grid-template-columns: 1fr !important;
    }
}

/* FIX: reconstruye la segunda seccion Proposito con estilos aislados y sin heredar el bloque Sobre anterior - 2026-05-23 */
.proposito {
    position: relative;
    isolation: isolate;
    width: 100%;
    padding: clamp(92px, 9vw, 128px) 0 clamp(82px, 8vw, 116px);
    overflow: hidden;
    background:
        radial-gradient(circle at 7% 18%, rgba(59, 167, 255, 0.12), transparent 26%),
        radial-gradient(circle at 92% 22%, rgba(0, 227, 140, 0.10), transparent 28%),
        linear-gradient(180deg, #f7faff 0%, #eef5ff 100%);
    color: #0b1b35;
}

.proposito::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 58%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(25, 127, 255, 0.38) 24%, rgba(0, 227, 140, 0.42) 55%, transparent 100%);
    z-index: -1;
}

.proposito__container {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(380px, 0.98fr);
    gap: clamp(46px, 5vw, 72px);
    align-items: center;
    width: min(1200px, calc(100% - 48px)) !important;
    max-width: 1200px !important;
    padding: 0 !important;
}

.proposito__copy {
    max-width: 560px;
}

.proposito__label {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 22px;
    border: 1px solid rgba(59, 167, 255, 0.28);
    border-radius: 999px;
    background: rgba(59, 167, 255, 0.08);
    color: #1287ee;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 10px 28px rgba(59, 167, 255, 0.10);
}

.proposito__label::before,
.proposito__label::after {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3ba7ff, #00e38c);
    box-shadow: 0 0 14px rgba(0, 227, 140, 0.45);
}

.proposito__title {
    margin: 24px 0 0;
    max-width: 580px;
    font-family: "Satoshi", "DM Sans", system-ui, sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: 0;
    color: #081d46;
}

.proposito__title span {
    display: inline-block;
    background: linear-gradient(90deg, #208cff 0%, #00d6c0 48%, #00d98a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.proposito__decor {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 24px 0;
}

.proposito__decor span {
    width: 66px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #208cff, #00e38c);
}

.proposito__decor i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #208cff;
    box-shadow: 0 0 18px rgba(32, 140, 255, 0.34);
}

.proposito__decor i:nth-child(3) {
    background: #00bcd8;
}

.proposito__decor i:nth-child(4) {
    background: #00e38c;
}

.proposito__description {
    max-width: 520px;
    margin: 0;
    color: #34456c;
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.85;
}

.proposito__visual {
    position: relative;
    min-height: clamp(380px, 38vw, 500px);
}

.proposito__visual-wrapper {
    position: relative;
    width: min(560px, 43vw);
    aspect-ratio: 1.42 / 1;
    margin: 0 0 0 auto;
    border-radius: 50%;
    overflow: visible;
    filter: drop-shadow(0 26px 42px rgba(7, 39, 90, 0.18));
}

.proposito__visual-wrapper::before,
.proposito__visual-wrapper::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.proposito__visual-wrapper::before {
    inset: -12px;
    border: 2px solid rgba(25, 127, 255, 0.30);
    box-shadow: 0 0 36px rgba(0, 186, 255, 0.16);
}

.proposito__visual-wrapper::after {
    inset: -34px;
    border: 1px solid rgba(0, 227, 140, 0.24);
}

.proposito__visual-img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.34);
}

.proposito__badge {
    position: absolute;
    right: clamp(-12px, -2.4vw, -34px);
    bottom: clamp(34px, 4vw, 58px);
    z-index: 4;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    width: min(360px, 78%);
    padding: 20px 24px;
    border: 1px solid rgba(0, 227, 140, 0.30);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(6, 30, 82, 0.96), rgba(17, 61, 110, 0.96));
    color: #fff;
    box-shadow: 0 22px 48px rgba(8, 31, 79, 0.28), 0 0 34px rgba(0, 227, 140, 0.14);
}

.proposito__badge-icon {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 1px solid rgba(0, 227, 140, 0.50);
    border-radius: 50%;
    color: #00e3a4;
    background: rgba(0, 227, 140, 0.08);
}

.proposito__badge-icon svg {
    width: 34px;
    height: 34px;
    stroke: currentColor;
    stroke-width: 1.8;
}

.proposito__badge strong {
    font-size: clamp(15px, 1.35vw, 18px);
    font-weight: 800;
    line-height: 1.25;
}

.proposito__badge em {
    display: block;
    color: #00e38c;
    font-style: normal;
}

.proposito__timeline {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(26px, 4vw, 52px);
    width: min(1200px, calc(100% - 48px)) !important;
    max-width: 1200px !important;
    margin-top: clamp(72px, 7vw, 92px) !important;
    padding: clamp(22px, 3vw, 34px) 0 0 !important;
}

.proposito__timeline::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(25, 127, 255, 0.45) 20%, rgba(0, 227, 140, 0.45) 50%, transparent 100%);
}

.proposito-item {
    position: relative;
    min-height: 250px;
    padding: 30px 26px 18px 86px;
    border-left: 1px solid rgba(25, 127, 255, 0.14);
    transition: transform 0.3s ease;
}

.proposito-item:hover {
    transform: translateY(-6px);
}

.proposito-item__number {
    position: absolute;
    top: 10px;
    left: 0;
    color: rgba(25, 127, 255, 0.13);
    font-family: "Satoshi", "DM Sans", system-ui, sans-serif;
    font-size: clamp(58px, 6vw, 86px);
    font-weight: 900;
    line-height: 1;
}

.proposito-item__icon {
    position: relative;
    z-index: 1;
    display: grid;
    width: 58px;
    height: 58px;
    margin-bottom: 20px;
    place-items: center;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(135deg, #208cff, #00e38c);
    box-shadow: 0 16px 32px rgba(32, 140, 255, 0.22);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.proposito-item:hover .proposito-item__icon {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(0, 227, 140, 0.32);
}

.proposito-item__icon svg {
    width: 29px;
    height: 29px;
    stroke: currentColor;
    stroke-width: 1.9;
}

.proposito-item__title {
    margin: 0;
    color: #081d46;
    font-size: clamp(18px, 1.5vw, 22px);
    font-weight: 900;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.proposito-item__title::after {
    content: "";
    display: block;
    width: 56px;
    height: 3px;
    margin-top: 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #208cff, #00e38c);
}

.proposito-item__text {
    margin: 28px 0 0;
    color: #35466d;
    font-size: 15px;
    line-height: 1.75;
}

.proposito__lines,
.proposito__dots {
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.proposito__lines {
    overflow: visible;
}

.proposito__lines path {
    fill: none;
    stroke-linecap: round;
    stroke-width: 1.1;
}

.proposito__lines circle {
    fill: #3ba7ff;
    filter: drop-shadow(0 0 6px rgba(32, 140, 255, 0.42));
}

.proposito__lines--left {
    top: -180px;
    left: -150px;
    width: 520px;
    height: 520px;
    opacity: 0.72;
}

.proposito__lines--right {
    right: -100px;
    bottom: 70px;
    width: 620px;
    height: 440px;
    opacity: 0.62;
}

.proposito__lines--left path,
.proposito__lines--right path {
    stroke: rgba(25, 127, 255, 0.24);
}

.proposito__lines--right path:nth-child(2) {
    stroke: rgba(0, 227, 140, 0.24);
}

.proposito__dots {
    width: 160px;
    height: 160px;
    background-image: radial-gradient(circle, rgba(25, 127, 255, 0.35) 1.4px, transparent 1.6px);
    background-size: 12px 12px;
    opacity: 0.28;
}

.proposito__dots--left {
    left: 34px;
    bottom: 64px;
}

.proposito__dots--right {
    right: 28px;
    top: 112px;
    background-image: radial-gradient(circle, rgba(0, 227, 140, 0.30) 1.4px, transparent 1.6px);
}

@media (max-width: 1023px) {
    .proposito {
        padding: 88px 0 82px;
    }

    .proposito__container {
        grid-template-columns: 1fr !important;
        gap: 54px;
        text-align: center;
    }

    .proposito__copy {
        max-width: 720px;
        margin: 0 auto;
    }

    .proposito__title,
    .proposito__description {
        margin-left: auto;
        margin-right: auto;
    }

    .proposito__decor {
        justify-content: center;
    }

    .proposito__visual {
        min-height: auto;
    }

    .proposito__visual-wrapper {
        width: min(520px, 80vw);
        margin: 0 auto;
    }

    .proposito__badge {
        right: 50%;
        bottom: -28px;
        width: min(360px, 86vw);
        transform: translateX(50%);
        text-align: left;
    }

    .proposito__timeline {
        grid-template-columns: 1fr !important;
        gap: 18px;
        max-width: 720px !important;
        margin-top: 84px !important;
    }

    .proposito-item {
        min-height: 0;
        padding: 26px 22px 26px 88px;
        border-left-color: rgba(25, 127, 255, 0.18);
    }
}

@media (max-width: 560px) {
    .proposito {
        padding: 72px 0 66px;
    }

    .proposito__container,
    .proposito__timeline {
        width: min(100% - 32px, 1200px) !important;
    }

    .proposito__label {
        padding: 8px 16px;
        font-size: 10px;
    }

    .proposito__title {
        font-size: 36px;
        line-height: 1.04;
    }

    .proposito__description {
        font-size: 15px;
        line-height: 1.72;
    }

    .proposito__visual-wrapper {
        width: min(312px, 82vw);
        aspect-ratio: 1 / 1;
    }

    .proposito__badge {
        grid-template-columns: 44px 1fr;
        gap: 12px;
        padding: 15px 16px;
        border-radius: 16px;
    }

    .proposito__badge-icon {
        width: 44px;
        height: 44px;
    }

    .proposito__badge-icon svg {
        width: 27px;
        height: 27px;
    }

    .proposito-item {
        padding: 24px 12px 24px 72px;
    }

    .proposito-item__number {
        font-size: 56px;
    }

    .proposito-item__icon {
        width: 50px;
        height: 50px;
        border-radius: 15px;
    }

    .proposito__lines--right,
    .proposito__dots--right {
        display: none;
    }
}

/* FIX: reconstruye Ejes Tematicos como carrusel 3D con perspectiva conica - 2026-05-23 */
.ejes--cone {
    position: relative;
    isolation: isolate;
    min-height: auto !important;
    padding: clamp(96px, 8vw, 126px) 0 clamp(92px, 8vw, 118px) !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 68% 18%, rgba(0, 193, 212, 0.12), transparent 32%),
        radial-gradient(circle at 44% 72%, rgba(0, 230, 118, 0.08), transparent 28%),
        linear-gradient(180deg, #030817 0%, #050a18 55%, #030714 100%) !important;
    color: #fff;
}

.ejes--cone::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: radial-gradient(circle, rgba(0, 193, 212, 0.18) 1px, transparent 1.5px);
    background-size: 18px 18px;
    opacity: 0.16;
    mask-image: linear-gradient(90deg, #000 0%, transparent 38%, transparent 100%);
}

.ejes--cone .ejes__particles {
    position: absolute;
    inset: 0;
    opacity: 0.55;
    pointer-events: none;
}

.ejes--cone .ejes__container {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns: minmax(260px, 0.76fr) minmax(0, 1.74fr);
    gap: clamp(38px, 4vw, 62px);
    align-items: center;
    width: min(1420px, calc(100% - 56px)) !important;
    max-width: 1420px !important;
    padding: 0 !important;
}

.ejes--cone .ejes__intro {
    max-width: 360px;
    text-align: left;
}

.ejes--cone .section-tag {
    margin: 0 0 30px;
    border: 0;
    background: transparent;
    color: rgba(0, 193, 212, 0.92);
    box-shadow: none;
    letter-spacing: 0.22em;
}

.ejes--cone .section-tag::after {
    content: "";
    display: block;
    width: 58px;
    height: 2px;
    margin-top: 14px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1a6fdb, #00e676);
}

.ejes--cone .section-title {
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 3.45vw, 56px);
    line-height: 1.15;
    letter-spacing: 0;
    text-align: left;
}

.ejes--cone .section-title span {
    background: linear-gradient(90deg, #00c1d4, #00e676);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.ejes--cone .section-subtitle {
    max-width: 340px;
    margin: 30px 0 0 !important;
    color: rgba(255, 255, 255, 0.70);
    font-size: 15px;
    line-height: 1.85;
    text-align: left;
}

.ejes__nav {
    display: flex;
    gap: 16px;
    margin-top: 72px;
}

.ejes__arrow {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1.5px solid rgba(255, 255, 255, 0.30);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.02);
    color: #fff;
    cursor: pointer;
    transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.ejes__arrow:hover {
    border-color: #00c1d4;
    background: rgba(0, 193, 212, 0.10);
    transform: translateY(-2px);
}

.ejes--cone .ejes__carousel {
    position: relative;
    width: 100%;
    min-height: 650px;
    overflow: visible;
}

.ejes--cone .ejes__track {
    display: flex !important;
    align-items: center;
    width: 100%;
    min-height: 610px;
    perspective: 1400px;
    perspective-origin: 50% 40%;
    transform-style: preserve-3d;
}

.ejes--cone .eje-card {
    position: relative !important;
    flex: 0 0 auto !important;
    width: 360px !important;
    height: 540px !important;
    min-height: 0 !important;
    margin: 0 -10px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.03);
    box-shadow: 0 26px 58px rgba(0, 0, 0, 0.44);
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.45s ease, border-color 0.3s ease, opacity 0.3s ease;
}

.ejes--cone .eje-card:nth-child(1),
.ejes--cone .eje-card.swiper-slide-prev {
    z-index: 1;
    opacity: 0.78;
    transform: rotateY(28deg) translateX(-20px) scale(0.88);
}

.ejes--cone .eje-card:nth-child(2),
.ejes--cone .eje-card.active,
.ejes--cone .eje-card.swiper-slide-active {
    z-index: 3;
    opacity: 1;
    border: 2px solid var(--eje-color);
    transform: rotateY(0deg) scale(1.05);
    box-shadow:
        0 0 0 1px var(--eje-color),
        0 0 30px color-mix(in srgb, var(--eje-color) 42%, transparent),
        0 0 60px color-mix(in srgb, var(--eje-color) 18%, transparent),
        0 32px 64px rgba(0, 0, 0, 0.50);
}

.ejes--cone .eje-card:nth-child(3),
.ejes--cone .eje-card.swiper-slide-next {
    z-index: 1;
    opacity: 0.78;
    transform: rotateY(-28deg) translateX(20px) scale(0.88);
}

.ejes--cone .eje-card:hover {
    border-color: var(--eje-color);
    box-shadow:
        0 0 22px color-mix(in srgb, var(--eje-color) 72%, transparent),
        0 0 44px color-mix(in srgb, var(--eje-color) 35%, transparent),
        0 32px 70px rgba(0, 0, 0, 0.52);
}

.ejes--cone .eje-card:nth-child(1):hover,
.ejes--cone .eje-card.swiper-slide-prev:hover {
    transform: rotateY(18deg) translateX(-14px) translateY(-10px) scale(0.94);
}

.ejes--cone .eje-card:nth-child(2):hover,
.ejes--cone .eje-card.active:hover,
.ejes--cone .eje-card.swiper-slide-active:hover {
    transform: rotateY(0deg) translateY(-10px) scale(1.08);
}

.ejes--cone .eje-card:nth-child(3):hover,
.ejes--cone .eje-card.swiper-slide-next:hover {
    transform: rotateY(-18deg) translateX(14px) translateY(-10px) scale(0.94);
}

.ejes--cone .eje-card__media,
.ejes--cone .eje-card__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.ejes--cone .eje-card__media {
    margin: 0;
    overflow: hidden;
    border-radius: inherit;
}

.ejes--cone .eje-card__media img {
    object-fit: cover;
    object-position: center top;
    transform: scale(1.02);
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.ejes--cone .eje-card:hover .eje-card__media img {
    transform: scale(1.08);
}

.ejes--cone .eje-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(5, 8, 20, 0.92) 0%, rgba(5, 8, 20, 0.45) 45%, transparent 100%);
}

.ejes--cone .eje-card:nth-child(1) .eje-card__overlay,
.ejes--cone .eje-card:nth-child(3) .eje-card__overlay,
.ejes--cone .eje-card.swiper-slide-prev .eje-card__overlay,
.ejes--cone .eje-card.swiper-slide-next .eje-card__overlay {
    background: linear-gradient(to top, rgba(5, 8, 20, 0.96) 0%, rgba(5, 8, 20, 0.62) 52%, rgba(5, 8, 20, 0.08) 100%);
}

.ejes--cone .eje-card__top {
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0 20px;
}

.ejes--cone .eje-card__num {
    color: var(--eje-color) !important;
    font-family: "Bebas Neue", var(--font-display);
    font-size: 52px !important;
    font-weight: 900 !important;
    line-height: 1;
    letter-spacing: -0.02em !important;
    opacity: 0.90;
    text-shadow: 0 0 18px color-mix(in srgb, var(--eje-color) 52%, transparent);
}

.ejes--cone .eje-card__icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--eje-color) 40%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--eje-color) 25%, transparent);
    color: #fff;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 0 24px color-mix(in srgb, var(--eje-color) 30%, transparent);
    transition: transform 0.3s ease;
}

.ejes--cone .eje-card:hover .eje-card__icon {
    transform: scale(1.12);
}

.ejes--cone .eje-card__icon svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 1.9;
}

.ejes--cone .eje-card__content {
    position: absolute !important;
    left: 20px;
    right: 20px;
    bottom: 24px;
    z-index: 2;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
}

.ejes--cone .eje-card__title {
    display: -webkit-box;
    max-height: 2.4em;
    margin: 0;
    overflow: hidden;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ejes--cone .eje-card__rule {
    display: block;
    width: 40px;
    height: 2px;
    margin: 12px 0 14px;
    border-radius: 999px;
    background: var(--eje-color);
    box-shadow: 0 0 14px color-mix(in srgb, var(--eje-color) 55%, transparent);
}

.ejes--cone .eje-card__desc {
    display: -webkit-box !important;
    max-height: 4.8em;
    margin: 0 !important;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    opacity: 1 !important;
    transform: none !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.ejes__pagination {
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    display: flex;
    justify-content: center;
    gap: 14px;
    width: auto !important;
    transform: translateX(-50%);
}

.ejes__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.30);
    opacity: 1;
    transition: width 0.25s ease, background 0.25s ease;
}

.ejes__pagination .swiper-pagination-bullet-active {
    width: 32px;
    background: linear-gradient(90deg, #00e676, #00c1d4, #1a6fdb);
}

.ejes__curve {
    position: absolute;
    left: -40px;
    bottom: 14px;
    z-index: 0;
    width: min(620px, 45vw);
    height: auto;
    overflow: visible;
    pointer-events: none;
}

.ejes__curve path {
    fill: none;
    stroke: rgba(0, 193, 212, 0.20);
    stroke-width: 1.5;
}

.ejes__orbit-dot {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #00c1d4;
    box-shadow: 0 0 18px rgba(0, 193, 212, 0.9);
    offset-path: path("M16 500C110 278 214 116 612 28");
    animation: ejesOrbitDot 6s linear infinite;
    pointer-events: none;
}

@keyframes ejesOrbitDot {
    from { offset-distance: 0%; }
    to { offset-distance: 100%; }
}

@media (max-width: 1023px) {
    .ejes--cone .ejes__container {
        grid-template-columns: 1fr !important;
        gap: 34px;
        text-align: center;
    }

    .ejes--cone .ejes__intro {
        max-width: 680px;
        margin: 0 auto;
        text-align: center;
    }

    .ejes--cone .section-title,
    .ejes--cone .section-subtitle {
        max-width: 680px;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center;
    }

    .ejes--cone .section-tag::after {
        margin-left: auto;
        margin-right: auto;
    }

    .ejes__nav {
        justify-content: center;
        margin-top: 28px;
    }

    .ejes--cone .ejes__carousel {
        min-height: 545px;
    }

    .ejes--cone .ejes__track {
        min-height: 500px;
        perspective: 900px;
    }

    .ejes--cone .eje-card {
        width: 300px !important;
        height: 460px !important;
        margin: 0 !important;
    }
}

@media (max-width: 767px) {
    .ejes--cone {
        padding: 74px 0 84px !important;
    }

    .ejes--cone .ejes__container {
        width: min(100% - 32px, 1420px) !important;
    }

    .ejes__nav {
        display: none;
    }

    .ejes--cone .ejes__carousel {
        min-height: 490px;
        overflow: hidden;
    }

    .ejes--cone .ejes__track {
        min-height: 455px;
        perspective: none;
    }

    .ejes--cone .eje-card,
    .ejes--cone .eje-card:nth-child(1),
    .ejes--cone .eje-card:nth-child(2),
    .ejes--cone .eje-card:nth-child(3),
    .ejes--cone .eje-card.swiper-slide-prev,
    .ejes--cone .eje-card.swiper-slide-active,
    .ejes--cone .eje-card.swiper-slide-next {
        width: min(90vw, 340px) !important;
        height: 440px !important;
        opacity: 1;
        transform: none !important;
    }

    .ejes--cone .eje-card.active,
    .ejes--cone .eje-card.swiper-slide-active {
        transform: none !important;
    }

    .ejes__curve,
    .ejes__orbit-dot {
        display: none;
    }
}

@media (max-width: 480px) {
    .ejes--cone .section-title {
        font-size: 32px;
    }

    .ejes--cone .eje-card__desc {
        display: none !important;
    }

    .ejes--cone .eje-card__title {
        font-size: 18px !important;
    }
}

/* FIX: Ejes Tematicos final sin carrusel; tres cards grandes visibles con abanico 3D - 2026-05-23 */
.ejes--cone .ejes__nav,
.ejes--cone .ejes__pagination,
.ejes--cone .swiper-pagination,
.ejes--cone .ejes__carousel {
    display: none !important;
}

.ejes--cone .ejes__container {
    grid-template-columns: minmax(280px, 0.58fr) minmax(720px, 1.42fr) !important;
    gap: clamp(34px, 4vw, 58px) !important;
}

.ejes--cone .ejes__cards-container {
    position: relative;
    z-index: 2;
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 100%;
    min-height: 620px;
    perspective: 1400px;
    perspective-origin: 50% 40%;
    transform-style: preserve-3d;
}

.ejes--cone .eje-card.eje-card--static {
    position: relative !important;
    flex-shrink: 0 !important;
    width: 340px !important;
    height: 560px !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 2px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.38);
    transform-style: preserve-3d;
    will-change: transform;
    transition:
        transform 0.45s cubic-bezier(0.23, 1, 0.32, 1),
        box-shadow 0.45s ease,
        border-color 0.35s ease,
        opacity 0.35s ease,
        filter 0.35s ease;
}

.ejes--cone .eje-card.eje-card--static:nth-child(1) {
    transform: rotateY(22deg) scale(0.92) !important;
    opacity: 0.82 !important;
}

.ejes--cone .eje-card.eje-card--static:nth-child(2) {
    z-index: 2 !important;
    transform: rotateY(0deg) scale(1) !important;
    opacity: 1 !important;
}

.ejes--cone .eje-card.eje-card--static:nth-child(3) {
    transform: rotateY(-22deg) scale(0.92) !important;
    opacity: 0.82 !important;
}

.ejes--cone .ejes__cards-container:has(.eje-card:hover) .eje-card:not(:hover),
.ejes--cone .ejes__cards-container.is-hovering .eje-card:not(.is-hovered) {
    transform: scale(0.94) !important;
    opacity: 0.60 !important;
    filter: brightness(0.7);
}

.ejes--cone .eje-card.eje-card--static:nth-child(1):hover,
.ejes--cone .eje-card.eje-card--static:nth-child(1).is-hovered {
    transform: rotateY(8deg) scale(1.06) translateY(-12px) !important;
    border-color: #00c1d4 !important;
    opacity: 1 !important;
    filter: none !important;
    box-shadow:
        0 0 0 1px #00c1d4,
        0 0 25px rgba(0, 193, 212, 0.55),
        0 0 55px rgba(0, 193, 212, 0.20),
        0 40px 80px rgba(0, 0, 0, 0.50) !important;
}

.ejes--cone .eje-card.eje-card--static:nth-child(2):hover,
.ejes--cone .eje-card.eje-card--static:nth-child(2).is-hovered {
    transform: rotateY(0deg) scale(1.06) translateY(-12px) !important;
    border-color: #00e676 !important;
    opacity: 1 !important;
    filter: none !important;
    box-shadow:
        0 0 0 1px #00e676,
        0 0 25px rgba(0, 230, 118, 0.55),
        0 0 55px rgba(0, 230, 118, 0.20),
        0 40px 80px rgba(0, 0, 0, 0.50) !important;
}

.ejes--cone .eje-card.eje-card--static:nth-child(3):hover,
.ejes--cone .eje-card.eje-card--static:nth-child(3).is-hovered {
    transform: rotateY(-8deg) scale(1.06) translateY(-12px) !important;
    border-color: #1a6fdb !important;
    opacity: 1 !important;
    filter: none !important;
    box-shadow:
        0 0 0 1px #1a6fdb,
        0 0 25px rgba(26, 111, 219, 0.55),
        0 0 55px rgba(26, 111, 219, 0.20),
        0 40px 80px rgba(0, 0, 0, 0.50) !important;
}

.ejes--cone .eje-card__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.6s ease;
}

.ejes--cone .eje-card:hover .eje-card__bg {
    transform: scale(1.06);
}

.ejes--cone .eje-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        to top,
        rgba(5, 8, 20, 0.95) 0%,
        rgba(5, 8, 20, 0.50) 45%,
        transparent 100%
    ) !important;
    transition: opacity 0.4s ease;
}

.ejes--cone .eje-card:hover .eje-card__overlay {
    opacity: 0.80;
}

.ejes--cone .eje-card__top {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0 !important;
}

.ejes--cone .eje-card__num {
    color: var(--eje-color) !important;
    font-size: 52px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
}

.ejes--cone .eje-card__icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--eje-color) 45%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--eje-color) 25%, transparent);
    color: #fff;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: transform 0.3s ease;
}

.ejes--cone .eje-card:hover .eje-card__icon {
    transform: scale(1.12);
}

.ejes--cone .eje-card__icon svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 1.9;
}

.ejes--cone .eje-card__bottom {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 24px;
    z-index: 2;
}

.ejes--cone .eje-card__title {
    display: -webkit-box;
    max-height: 2.4em;
    margin: 0;
    overflow: hidden;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ejes--cone .eje-card__rule {
    display: block;
    width: 36px;
    height: 2px;
    margin: 10px 0;
    border-radius: 999px;
    background: var(--eje-color);
    box-shadow: 0 0 14px color-mix(in srgb, var(--eje-color) 55%, transparent);
}

.ejes--cone .eje-card__desc {
    display: -webkit-box !important;
    max-height: 4.8em;
    margin: 0 !important;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.70) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    opacity: 1 !important;
    transform: none !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* FIX: separa ligeramente el texto de la primera card en desktop - 2026-05-23 */
@media (min-width: 1281px) {
    .ejes--cone .ejes__intro {
        transform: translateX(clamp(-86px, -4vw, -48px));
    }
}

@media (max-width: 1280px) {
    .ejes--cone .ejes__container {
        grid-template-columns: 1fr !important;
    }

    .ejes--cone .ejes__cards-container {
        gap: 12px;
        min-height: 530px;
    }

    .ejes--cone .ejes__intro {
        max-width: 720px;
        margin: 0 auto;
        text-align: center;
    }

    .ejes--cone .section-title,
    .ejes--cone .section-subtitle {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center;
    }

    .ejes--cone .section-tag::after {
        margin-left: auto;
        margin-right: auto;
    }

    .ejes--cone .eje-card.eje-card--static {
        width: 320px !important;
        height: 520px !important;
    }
}

@media (max-width: 1023px) {
    .ejes--cone .eje-card.eje-card--static {
        width: 280px !important;
        height: 480px !important;
    }
}

@media (max-width: 767px) {
    .ejes--cone .ejes__cards-container {
        flex-direction: column;
        gap: 22px;
        min-height: 0;
        perspective: none;
    }

    .ejes--cone .eje-card.eje-card--static,
    .ejes--cone .eje-card.eje-card--static:nth-child(1),
    .ejes--cone .eje-card.eje-card--static:nth-child(2),
    .ejes--cone .eje-card.eje-card--static:nth-child(3) {
        width: min(90%, 360px) !important;
        height: 460px !important;
        transform: none !important;
        opacity: 1 !important;
    }

    .ejes--cone .ejes__cards-container:has(.eje-card:hover) .eje-card:not(:hover),
    .ejes--cone .ejes__cards-container.is-hovering .eje-card:not(.is-hovered) {
        transform: none !important;
        opacity: 1 !important;
        filter: none !important;
    }

    .ejes--cone .eje-card.eje-card--static:nth-child(1):hover,
    .ejes--cone .eje-card.eje-card--static:nth-child(2):hover,
    .ejes--cone .eje-card.eje-card--static:nth-child(3):hover {
        transform: scale(1.02) !important;
    }
}

/* FIX v18: Sobre final composition, blob crop, safe card numbering */
#sobre .section-title-premium {
    max-width: 620px !important;
    font-size: clamp(42px, 4.85vw, 74px) !important;
    line-height: 0.98 !important;
    text-wrap: balance !important;
}

#sobre .sobre__visual-shell {
    isolation: isolate !important;
}

#sobre .sobre__visual-shell::before,
#sobre .sobre__visual-shell::after {
    content: "" !important;
    position: absolute !important;
    inset: -4.5% -3.5% !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: 58% 42% 52% 48% / 44% 58% 42% 56% !important;
    transform: rotate(-6deg) !important;
}

#sobre .sobre__visual-shell::before {
    border: 2px dashed rgba(22,139,255,0.42) !important;
    filter: drop-shadow(0 0 10px rgba(0,193,212,0.20)) !important;
    animation: sobreBlobRing 18s linear infinite !important;
}

#sobre .sobre__visual-shell::after {
    inset: -8% -7% !important;
    border: 1px solid rgba(0,230,118,0.24) !important;
    opacity: 0.72 !important;
}

#sobre .visual-orbit-deco {
    opacity: 0.68 !important;
    transform: rotate(-6deg) scale(1.02) !important;
}

#sobre .sobre__capsule-mask {
    clip-path: polygon(8% 22%, 20% 7%, 48% 1%, 78% 7%, 96% 27%, 93% 62%, 78% 86%, 48% 98%, 18% 91%, 3% 65%) !important;
    border-radius: 58% 42% 52% 48% / 44% 58% 42% 56% !important;
    transform: rotate(-6deg) !important;
    overflow: hidden !important;
}

#sobre .sobre__capsule-image img {
    object-fit: cover !important;
    object-position: center 20% !important;
    transform: rotate(6deg) scale(1.12) translate(-1%, -2%) !important;
    filter: saturate(1.08) contrast(1.08) brightness(0.84) !important;
}

#sobre .sobre__capsule-border-glow {
    border: 0 !important;
    box-shadow:
        inset 0 0 0 2px rgba(0,193,212,0.58),
        0 0 30px rgba(0,193,212,0.34),
        0 0 72px rgba(0,230,118,0.13) !important;
}

#sobre .sobre__cards-grid {
    align-items: stretch !important;
}

#sobre .sobre-card-premium {
    position: relative !important;
    isolation: isolate !important;
    min-width: 0 !important;
}

#sobre .sobre-card__big-num {
    position: absolute !important;
    left: clamp(18px, 2.4vw, 42px) !important;
    top: clamp(24px, 2.4vw, 34px) !important;
    z-index: 0 !important;
    transform: none !important;
    font-size: clamp(72px, 5.2vw, 96px) !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

#sobre .sobre-card__top-flow {
    display: flex !important;
    align-items: center !important;
    gap: clamp(16px, 1.55vw, 24px) !important;
    min-height: 76px !important;
    height: auto !important;
    padding-left: clamp(106px, 7.4vw, 132px) !important;
    margin-bottom: clamp(20px, 2vw, 28px) !important;
}

#sobre .sobre-card__icon-wrapper {
    flex: 0 0 clamp(56px, 4.1vw, 66px) !important;
    width: clamp(56px, 4.1vw, 66px) !important;
    height: clamp(56px, 4.1vw, 66px) !important;
    margin-left: 0 !important;
}

#sobre .sobre-card__heading {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    overflow-wrap: normal !important;
    text-wrap: balance !important;
}

#sobre .sobre-card__body-text {
    max-width: 420px !important;
    padding-left: clamp(106px, 7.4vw, 132px) !important;
}

@keyframes sobreBlobRing {
    to { transform: rotate(354deg); }
}

@media (max-width: 900px) {
    #sobre .section-title-premium {
        max-width: 720px !important;
        font-size: clamp(40px, 9vw, 64px) !important;
    }

    #sobre .sobre__visual-shell::before,
    #sobre .sobre__visual-shell::after {
        inset: -4% !important;
    }

    #sobre .sobre-card__top-flow {
        padding-left: 104px !important;
    }

    #sobre .sobre-card__body-text {
        padding-left: 104px !important;
    }
}

@media (max-width: 560px) {
    #sobre .section-title-premium {
        font-size: clamp(36px, 11vw, 50px) !important;
        line-height: 1.02 !important;
    }

    #sobre .sobre__capsule-mask {
        clip-path: ellipse(49% 44% at 52% 50%) !important;
    }

    #sobre .sobre__capsule-image img {
        object-position: center 24% !important;
    }

    #sobre .sobre-card__top-flow {
        gap: 14px !important;
        padding-left: 78px !important;
    }

    #sobre .sobre-card__body-text {
        padding-left: 0 !important;
    }

    #sobre .sobre-card__heading {
        font-size: 16px !important;
    }
}

/* FIX v19: SVG-native tilted ellipse mask for Sobre visual */
#sobre .sobre__visual-shell::before,
#sobre .sobre__visual-shell::after {
    content: none !important;
}

#sobre .visual-orbit-deco,
#sobre .sobre__capsule-mask,
#sobre .sobre__capsule-image,
#sobre .sobre__capsule-border-glow {
    display: none !important;
}

#sobre .sobre__visual-shell {
    position: relative !important;
    width: min(58vw, 940px) !important;
    max-width: 940px !important;
    isolation: isolate !important;
}

#sobre .sobre__svg-visual {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    filter: drop-shadow(0 36px 70px rgba(6,26,68,0.18)) !important;
}

#sobre .sobre__svg-photo {
    filter: saturate(1.08) contrast(1.08) brightness(0.84) !important;
}

#sobre .sobre__svg-ring {
    fill: none !important;
    stroke: url(#sobreVisualStroke) !important;
    vector-effect: non-scaling-stroke !important;
    pointer-events: none !important;
}

#sobre .sobre__svg-ring--outer {
        stroke-width: 1.4 !important;
        stroke-dasharray: 7 10 !important;
        opacity: 0.56 !important;
        animation: sobreSvgDash 14s linear infinite !important;
}

/* Animated glow border for Sobre visual */
@keyframes glow-border-sobre {
    0% {
        border: 3px solid #00E676;
        box-shadow: 
            0 0 12px 2px #00E676,
            0 0 28px 6px #00E676,
            inset 0 0 12px rgba(0,230,118,0.15);
    }
    33% {
        border: 3px solid #00C1D4;
        box-shadow: 
            0 0 12px 2px #00C1D4,
            0 0 28px 6px #00C1D4,
            inset 0 0 12px rgba(0,193,212,0.15);
    }
    66% {
        border: 3px solid #1A6FDB;
        box-shadow: 
            0 0 12px 2px #1A6FDB,
            0 0 28px 6px #1A6FDB,
            inset 0 0 12px rgba(26,111,219,0.15);
    }
    100% {
        border: 3px solid #00E676;
        box-shadow: 
            0 0 12px 2px #00E676,
            0 0 28px 6px #00E676,
            inset 0 0 12px rgba(0,230,118,0.15);
    }
}

/* Animate an external glow on the SVG border using CSS filter drop-shadow (follows SVG stroke shape) */
@keyframes glow-svg-strong {
    0% {
        filter: drop-shadow(0 0 12px rgba(0,230,118,0.9)) drop-shadow(0 0 28px rgba(0,230,118,0.45));
        stroke-width: 4px;
        stroke-opacity: 0.9;
    }
    50% {
        filter: drop-shadow(0 0 28px rgba(0,193,212,1)) drop-shadow(0 0 56px rgba(0,193,212,0.6));
        stroke-width: 8px;
        stroke-opacity: 1;
    }
    100% {
        filter: drop-shadow(0 0 12px rgba(0,230,118,0.9)) drop-shadow(0 0 28px rgba(0,230,118,0.45));
        stroke-width: 4px;
        stroke-opacity: 0.9;
    }
}

#sobre .sobre__visual-shell {
    /* Ensure elliptical border-radius so shadow follows shape */
    border-radius: 58% 42% 52% 48% / 44% 58% 42% 56% !important;
}

#sobre .sobre__svg-ring--inner {
    stroke-width: 1 !important;
    opacity: 0.34 !important;
}

#sobre .sobre__svg-border {
    fill: none !important;
    stroke: url(#sobreVisualStroke) !important;
    stroke-width: 4 !important;
    vector-effect: non-scaling-stroke !important;
    filter: url(#sobreVisualGlow) !important;
    /* Preserve pulse and add a stronger drop-shadow + stroke animation so glow follows image contour */
    animation: sobreSvgPulse 2.8s ease-in-out infinite !important, glow-svg-strong 4s ease-in-out infinite !important;
    -webkit-animation: sobreSvgPulse 2.8s ease-in-out infinite !important, glow-svg-strong 4s ease-in-out infinite !important;
}

#sobre .sobre__svg-node {
    fill: #00C1D4 !important;
    filter: drop-shadow(0 0 8px rgba(0,193,212,0.65)) !important;
}

#sobre .sobre__svg-node--b {
    fill: #00E676 !important;
}

#sobre .sobre__floating-badge-glass {
    z-index: 4 !important;
    right: 5.5% !important;
    bottom: 14% !important;
}

#sobre .sobre-card-premium {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
}

#sobre .sobre-card__big-num {
    position: absolute !important;
    z-index: 0 !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    padding: clamp(24px, 2.4vw, 34px) 0 0 clamp(22px, 2.8vw, 48px) !important;
    font-size: clamp(76px, 5.5vw, 104px) !important;
    line-height: 0.85 !important;
    pointer-events: none !important;
}

#sobre .sobre-card__content {
    position: relative !important;
    z-index: 1 !important;
    min-width: 0 !important;
}

#sobre .sobre-card__top-flow {
    display: flex !important;
    align-items: center !important;
    gap: clamp(16px, 1.5vw, 24px) !important;
    padding-left: clamp(108px, 7.8vw, 138px) !important;
    min-height: 76px !important;
    height: auto !important;
    margin-bottom: clamp(20px, 2vw, 28px) !important;
}

#sobre .sobre-card__icon-wrapper {
    flex: 0 0 clamp(56px, 4vw, 66px) !important;
    width: clamp(56px, 4vw, 66px) !important;
    height: clamp(56px, 4vw, 66px) !important;
    margin-left: 0 !important;
}

#sobre .sobre-card__heading {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 230px !important;
    margin: 0 !important;
    line-height: 1.08 !important;
}

#sobre .sobre-card__body-text {
    padding-left: clamp(108px, 7.8vw, 138px) !important;
}

@keyframes sobreSvgDash {
    to { stroke-dashoffset: -120; }
}

@keyframes sobreSvgPulse {
    0%, 100% { opacity: 0.78; stroke-width: 3.4; }
    50% { opacity: 1; stroke-width: 4.8; }
}

@media (max-width: 900px) {
    #sobre .sobre__visual-shell {
        width: min(100%, 780px) !important;
    }

    #sobre .sobre__floating-badge-glass {
        right: 5% !important;
        bottom: 10% !important;
    }
}

@media (max-width: 560px) {
    #sobre .sobre__visual-shell {
        width: min(112%, 470px) !important;
    }

    #sobre .sobre-card__top-flow {
        padding-left: 82px !important;
        gap: 14px !important;
    }

    #sobre .sobre-card__body-text {
        padding-left: 0 !important;
    }
}

/* FIX v20: Sobre clean key image with animated brand light only */
#sobre .sobre__visual-shell {
    width: min(64vw, 1080px) !important;
    max-width: 1080px !important;
    margin-right: max(-5vw, -72px) !important;
}

#sobre .sobre__svg-visual {
    filter: drop-shadow(0 42px 88px rgba(6,26,68,0.22)) !important;
}

#sobre .sobre__svg-ring,
#sobre .sobre__svg-node,
#sobre .sobre__floating-badge-glass {
    display: none !important;
}

#sobre .sobre__svg-aura {
    fill: none !important;
    stroke: url(#sobreVisualStroke) !important;
    stroke-width: 10 !important;
    opacity: 0.12 !important;
    filter: url(#sobreVisualGlow) !important;
    vector-effect: non-scaling-stroke !important;
    animation: sobreAuraPulse 3.4s ease-in-out infinite !important;
}

#sobre .sobre__svg-border {
    fill: none !important;
    stroke: url(#sobreVisualStroke) !important;
    vector-effect: non-scaling-stroke !important;
}

#sobre .sobre__svg-border--base {
    stroke: url(#sobreVisualStroke) !important;
    stroke-width: 2.5 !important;
    opacity: 0.45 !important;
    filter: url(#sobreVisualGlow) !important;
}

#sobre .sobre__svg-border--light {
    stroke: url(#sobreVisualBeam) !important;
    stroke-width: 9 !important;
    stroke-linecap: round !important;
    stroke-dasharray: 138 1002 !important;
    stroke-dashoffset: 0 !important;
    opacity: 0.96 !important;
    filter: url(#sobreVisualGlow) !important;
    animation: sobreLightTravel 6.4s linear infinite !important;
}

#sobre .sobre__svg-border--light-alt {
    stroke-width: 5.5 !important;
    stroke-dasharray: 96 1044 !important;
    stroke-dashoffset: -570 !important;
    opacity: 0.58 !important;
    animation-delay: -3.2s !important;
}

#sobre .sobre__svg-photo {
    filter: saturate(1.06) contrast(1.05) brightness(0.88) !important;
}

@keyframes sobreLightTravel {
    to { stroke-dashoffset: -1140; }
}

@keyframes sobreAuraPulse {
    0%, 100% { opacity: 0.14; stroke-width: 12; }
    50% { opacity: 0.28; stroke-width: 18; }
}

@media (max-width: 1180px) {
    #sobre .sobre__visual-shell {
        width: min(100%, 880px) !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 560px) {
    #sobre .sobre__visual-shell {
        width: min(114%, 500px) !important;
        margin-left: -7% !important;
    }
}

/* FIX v21: stronger SVG BorderBeam for Sobre ellipse */
#sobre .sobre__svg-aura {
    stroke-width: 20 !important;
    opacity: 0.26 !important;
}

#sobre .sobre__svg-border--base {
    stroke-width: 5 !important;
    opacity: 0.86 !important;
}

#sobre .sobre__svg-border--light {
    stroke-width: 13 !important;
    stroke-dasharray: 260 880 !important;
    opacity: 1 !important;
    animation-duration: 7.8s !important;
}

#sobre .sobre__svg-border--light-alt {
    stroke-width: 9 !important;
    stroke-dasharray: 190 950 !important;
    stroke-dashoffset: -570 !important;
    opacity: 0.82 !important;
    animation-duration: 7.8s !important;
}

@keyframes sobreAuraPulseStrong {
    0%, 100% { opacity: 0.18; stroke-width: 16; }
    50% { opacity: 0.34; stroke-width: 24; }
}

#sobre .sobre__svg-aura {
    animation: sobreAuraPulseStrong 3.2s ease-in-out infinite !important;
}

/* FIX v22: precise SVG comet stroke travelling on the ellipse perimeter */
#sobre .sobre__svg-aura {
    stroke-width: 8 !important;
    opacity: 0.10 !important;
    animation: sobreAuraPulse 3.8s ease-in-out infinite !important;
}

#sobre .sobre__svg-border--base {
    stroke: url(#sobreVisualStroke) !important;
    stroke-width: 2.25 !important;
    opacity: 0.58 !important;
    filter: drop-shadow(0 0 5px rgba(0,193,212,0.32)) !important;
}

#sobre .sobre__svg-border--light {
    stroke: url(#sobreVisualBeam) !important;
    stroke-width: 3 !important;
    stroke-linecap: round !important;
    stroke-dasharray: 118 1022 !important;
    stroke-dashoffset: 0 !important;
    opacity: 1 !important;
    filter:
        drop-shadow(0 0 5px rgba(0,193,212,0.95))
        drop-shadow(0 0 12px rgba(0,230,118,0.56)) !important;
    animation: sobreCometTravel 5.8s linear infinite !important;
}

#sobre .sobre__svg-border--light-alt {
    stroke-width: 2 !important;
    stroke-dasharray: 76 1064 !important;
    stroke-dashoffset: -570 !important;
    opacity: 0.62 !important;
    filter:
        drop-shadow(0 0 4px rgba(43,108,176,0.72))
        drop-shadow(0 0 10px rgba(0,193,212,0.38)) !important;
    animation: sobreCometTravel 5.8s linear infinite !important;
}

@keyframes sobreCometTravel {
    to { stroke-dashoffset: -1140; }
}

/* FIX v25: Ruta de Impacto, timeline estilo programa oficial */
#agenda.agenda--engine .agenda__header {
    text-align: center !important;
    max-width: 820px !important;
    margin: 0 auto clamp(28px, 4vw, 44px) !important;
}

#agenda.agenda--engine .section-tag {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    margin: 0 auto 16px !important;
    padding: 6px 16px !important;
    border: 1px solid rgba(0, 193, 212, 0.4) !important;
    border-radius: 999px !important;
    background: rgba(0, 193, 212, 0.06) !important;
    color: #00C1D4 !important;
    font-size: 0.75rem !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

#agenda.agenda--engine .section-tag::before,
#agenda.agenda--engine .section-tag::after {
    content: "" !important;
    width: 4px !important;
    height: 4px !important;
    margin: 0 8px !important;
    border-radius: 50% !important;
    background: currentColor !important;
    box-shadow: 0 0 10px rgba(0, 193, 212, 0.7) !important;
}

#agenda.agenda--engine .section-title {
    margin: 0 !important;
    color: #FFFFFF !important;
    font-size: clamp(2.625rem, 5vw, 4.5rem) !important;
    font-weight: 800 !important;
    line-height: 0.96 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

#agenda.agenda--engine .section-title span {
    background: linear-gradient(90deg, #00C1D4 0%, #00E676 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}

#agenda.agenda--engine .section-subtitle {
    max-width: 680px !important;
    margin: 18px auto 0 !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
    text-align: center !important;
}

#agenda.agenda--engine .agenda__shell {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: visible !important;
}

#agenda.agenda--engine .agenda__topbar {
    display: none !important;
}

#agenda.agenda--engine .agenda__nav {
    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 auto 18px !important;
}

#agenda.agenda--engine .agenda__day-btn {
    min-width: 90px !important;
    padding: 10px 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.035) !important;
    color: rgba(255, 255, 255, 0.78) !important;
    display: grid !important;
    gap: 4px !important;
    text-align: center !important;
    transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease, transform 0.25s ease !important;
}

#agenda.agenda--engine .agenda__day-btn span {
    color: #00C1D4 !important;
    font-size: 0.6875rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

#agenda.agenda--engine .agenda__day-btn strong {
    color: #FFFFFF !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

#agenda.agenda--engine .agenda__day-btn:hover,
#agenda.agenda--engine .agenda__day-btn.active {
    transform: translateY(-2px) !important;
    border-color: #00C1D4 !important;
    background: rgba(0, 193, 212, 0.12) !important;
    box-shadow: 0 0 22px rgba(0, 193, 212, 0.14) !important;
}

#agenda.agenda--engine .agenda__day-btn.active span,
#agenda.agenda--engine .agenda__day-btn.active strong {
    color: #00C1D4 !important;
}

#agenda.agenda--engine .agenda__filters {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 auto clamp(36px, 5vw, 64px) !important;
}

#agenda.agenda--engine .agenda__filter {
    padding: 9px 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    transition: border-color 0.25s ease, color 0.25s ease, background 0.25s ease !important;
}

#agenda.agenda--engine .agenda__filter:hover,
#agenda.agenda--engine .agenda__filter.active {
    border: 1.5px solid #00E676 !important;
    background: transparent !important;
    color: #00E676 !important;
}

#agenda.agenda--engine .agenda__activities {
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
}

#agenda.agenda--engine .timeline--impact {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    position: relative !important;
    display: grid !important;
    gap: clamp(34px, 4vw, 54px) !important;
    padding: 8px 0 18px !important;
}

#agenda.agenda--engine .timeline__spine {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 2px !important;
    transform: translateX(-50%) !important;
    transform-origin: top center !important;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,193,212,0.6) 10%, rgba(0,230,118,0.6) 50%, rgba(26,111,219,0.6) 90%, transparent 100%) !important;
    box-shadow: 0 0 20px rgba(0, 193, 212, 0.28) !important;
    z-index: 0 !important;
}

#agenda.agenda--engine .timeline__item {
    position: relative !important;
    min-height: 150px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    z-index: 1 !important;
}

#agenda.agenda--engine .timeline__item--left {
    justify-content: flex-start !important;
}

#agenda.agenda--engine .timeline__item--right {
    justify-content: flex-end !important;
}

#agenda.agenda--engine .timeline__node {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 14px !important;
    height: 14px !important;
    border: 2px solid var(--item-color) !important;
    border-radius: 50% !important;
    background: #0A0F1E !important;
    transform: translate(-50%, -50%) !important;
    box-shadow: 0 0 0 6px rgba(10, 15, 30, 0.92), 0 0 20px var(--item-color) !important;
    z-index: 4 !important;
}

#agenda.agenda--engine .timeline__time {
    position: absolute !important;
    top: 50% !important;
    color: #FFFFFF !important;
    font-size: 1.125rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transform: translateY(-50%) !important;
    text-shadow: 0 0 18px rgba(0, 0, 0, 0.85) !important;
}

#agenda.agenda--engine .timeline__item--left .timeline__time {
    left: 26px !important;
}

#agenda.agenda--engine .timeline__item--right .timeline__time {
    right: 26px !important;
}

#agenda.agenda--engine .timeline-card {
    width: calc(50% - 60px) !important;
    min-height: 150px !important;
    display: flex !important;
    position: relative !important;
    overflow: visible !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-left: 4px solid var(--item-color) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22) !important;
    transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.35s ease, border-color 0.3s ease !important;
}

#agenda.agenda--engine .timeline-card--right {
    flex-direction: row-reverse !important;
    border-left-width: 1px !important;
    border-right: 4px solid var(--item-color) !important;
}

#agenda.agenda--engine .timeline-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--item-color) 12%, transparent), transparent 46%) !important;
    pointer-events: none !important;
    opacity: 0.7 !important;
}

#agenda.agenda--engine .timeline-card:hover {
    transform: translateY(-6px) scale(1.02) !important;
    border-color: var(--item-color) !important;
    box-shadow: 0 0 20px color-mix(in srgb, var(--item-color) 35%, transparent), 0 20px 40px rgba(0, 0, 0, 0.4) !important;
}

#agenda.agenda--engine .timeline-card__media {
    width: 160px !important;
    min-height: 150px !important;
    flex: 0 0 160px !important;
    position: relative !important;
    overflow: hidden !important;
    align-self: stretch !important;
    border-radius: 12px 0 0 12px !important;
    background: radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--item-color) 82%, white 8%), transparent 34%), linear-gradient(135deg, color-mix(in srgb, var(--item-color) 56%, #0A0F1E), #0A0F1E) !important;
}

#agenda.agenda--engine .timeline-card--right .timeline-card__media {
    border-radius: 0 12px 12px 0 !important;
}

#agenda.agenda--engine .timeline-card__media img {
    width: 100% !important;
    height: 100% !important;
    min-height: 150px !important;
    display: block !important;
    object-fit: cover !important;
    filter: saturate(1.1) contrast(1.05) brightness(0.82) !important;
    transform: scale(1.01) !important;
    transition: transform 0.45s ease, filter 0.45s ease !important;
}

#agenda.agenda--engine .timeline-card:hover .timeline-card__media img {
    transform: scale(1.07) !important;
    filter: saturate(1.18) contrast(1.08) brightness(0.92) !important;
}

#agenda.agenda--engine .timeline-card__content {
    position: relative !important;
    z-index: 1 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 20px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

#agenda.agenda--engine .timeline-card__mobile-time {
    display: none !important;
}

#agenda.agenda--engine .timeline-card__type {
    width: fit-content !important;
    color: var(--item-color) !important;
    font-size: 0.6875rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

#agenda.agenda--engine .timeline-card__title {
    margin: 10px 0 8px !important;
    color: #FFFFFF !important;
    font-size: 1.375rem !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
}

#agenda.agenda--engine .timeline-card__desc {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 0.875rem !important;
    line-height: 1.55 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

#agenda.agenda--engine .timeline-card__arrow {
    position: absolute !important;
    top: 50% !important;
    width: 20px !important;
    height: 20px !important;
    color: var(--item-color) !important;
    transform: translateY(-50%) !important;
    filter: drop-shadow(0 0 8px var(--item-color)) !important;
    z-index: 2 !important;
}

#agenda.agenda--engine .timeline-card--left .timeline-card__arrow {
    right: -42px !important;
}

#agenda.agenda--engine .timeline-card--right .timeline-card__arrow {
    left: -42px !important;
}

#agenda.agenda--engine .agenda__empty {
    max-width: 640px !important;
    margin: 0 auto !important;
    padding: 28px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    color: rgba(255, 255, 255, 0.72) !important;
    text-align: center !important;
}

@media (max-width: 1024px) {
    #agenda.agenda--engine .timeline-card {
        width: calc(50% - 46px) !important;
    }

    #agenda.agenda--engine .timeline-card__media {
        width: 120px !important;
        flex-basis: 120px !important;
    }

    #agenda.agenda--engine .timeline-card__content {
        padding: 18px 20px !important;
    }

    #agenda.agenda--engine .timeline-card__title {
        font-size: 1.1875rem !important;
    }
}

@media (max-width: 768px) {
    #agenda.agenda--engine .agenda__filters {
        margin-bottom: 34px !important;
    }

    #agenda.agenda--engine .timeline--impact {
        gap: 20px !important;
        padding-left: 0 !important;
    }

    #agenda.agenda--engine .timeline__spine {
        left: 18px !important;
    }

    #agenda.agenda--engine .timeline__item,
    #agenda.agenda--engine .timeline__item--left,
    #agenda.agenda--engine .timeline__item--right {
        justify-content: flex-start !important;
        min-height: auto !important;
        padding-left: 58px !important;
    }

    #agenda.agenda--engine .timeline__node {
        left: 18px !important;
        top: 24px !important;
        transform: translate(-50%, 0) !important;
    }

    #agenda.agenda--engine .timeline__time {
        display: none !important;
    }

    #agenda.agenda--engine .timeline-card,
    #agenda.agenda--engine .timeline-card--right {
        width: 100% !important;
        min-height: auto !important;
        flex-direction: row !important;
        border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
        border-left: 4px solid var(--item-color) !important;
    }

    #agenda.agenda--engine .timeline-card__media,
    #agenda.agenda--engine .timeline-card__arrow {
        display: none !important;
    }

    #agenda.agenda--engine .timeline-card__content {
        padding: 18px 18px 18px 20px !important;
    }

    #agenda.agenda--engine .timeline-card__mobile-time {
        display: inline-flex !important;
        width: fit-content !important;
        margin-bottom: 10px !important;
        padding: 5px 9px !important;
        border: 1px solid color-mix(in srgb, var(--item-color) 46%, transparent) !important;
        border-radius: 999px !important;
        color: #FFFFFF !important;
        background: color-mix(in srgb, var(--item-color) 16%, transparent) !important;
        font-size: 0.75rem !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }
}

@media (max-width: 480px) {
    #agenda.agenda--engine .section-title {
        font-size: clamp(2.35rem, 13vw, 3.25rem) !important;
    }

    #agenda.agenda--engine .agenda__day-btn {
        min-width: 78px !important;
        padding: 9px 12px !important;
    }

    #agenda.agenda--engine .agenda__filter {
        padding: 8px 12px !important;
        font-size: 0.75rem !important;
    }

    #agenda.agenda--engine .timeline__item,
    #agenda.agenda--engine .timeline__item--left,
    #agenda.agenda--engine .timeline__item--right {
        padding-left: 48px !important;
    }

    #agenda.agenda--engine .timeline-card__title {
        font-size: 1rem !important;
        line-height: 1.25 !important;
    }

    #agenda.agenda--engine .timeline-card__desc {
        font-size: 0.8125rem !important;
        line-height: 1.5 !important;
    }
}

/* FIX v26: Innova Hub list + detail panel, no cinematic sticky stack */
#innovation-hub.innovahub,
#innovation-hub.innovation-hub.innovahub {
    --active-color: #00C1D4;
    position: relative !important;
    min-height: auto !important;
    max-height: none !important;
    height: auto !important;
    padding: clamp(86px, 9vw, 132px) clamp(22px, 5vw, 64px) !important;
    overflow: visible !important;
    background: #F6FAFF !important;
    color: #0A0F1E !important;
    isolation: isolate !important;
}

#innovation-hub.innovahub::before,
#innovation-hub.innovahub::after {
    content: none !important;
    display: none !important;
}

#innovation-hub.innovahub .innovation-hub__inner,
#innovation-hub.innovahub .innovahub__layout {
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
}

#innovation-hub.innovahub .innovation-hub__inner {
    position: static !important;
    top: auto !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    transform: none !important;
}

#innovation-hub.innovahub .innovahub__layout {
    display: grid !important;
    grid-template-columns: 420px minmax(0, 1fr) !important;
    gap: 60px !important;
    align-items: start !important;
    min-height: 0 !important;
}

#innovation-hub.innovahub .innovahub__left {
    position: relative !important;
    top: auto !important;
    align-self: start !important;
    padding: 8px 0 !important;
}

#innovation-hub.innovahub .innovahub__tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: fit-content !important;
    margin: 0 0 22px !important;
    padding: 7px 16px !important;
    border: 1px solid rgba(0, 193, 212, 0.42) !important;
    border-radius: 999px !important;
    background: rgba(0, 193, 212, 0.06) !important;
    color: #00AFC2 !important;
    font-size: 0.75rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

#innovation-hub.innovahub .innovahub__tag::before,
#innovation-hub.innovahub .innovahub__tag::after {
    content: "" !important;
    width: 4px !important;
    height: 4px !important;
    border-radius: 50% !important;
    background: currentColor !important;
    box-shadow: 0 0 10px currentColor !important;
}

#innovation-hub.innovahub .innovahub__title {
    margin: 0 !important;
    color: #0A0F1E !important;
    font-size: clamp(1.75rem, 3vw, 2.625rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

#innovation-hub.innovahub .innovahub__title span {
    background: linear-gradient(90deg, #00C1D4 0%, #00E676 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}

#innovation-hub.innovahub .innovahub__lead {
    max-width: 360px !important;
    margin: 18px 0 28px !important;
    color: rgba(0, 0, 0, 0.6) !important;
    font-size: 0.9375rem !important;
    line-height: 1.75 !important;
}

#innovation-hub.innovahub .innovahub__list {
    display: grid !important;
    gap: 6px !important;
    position: relative !important;
}

#innovation-hub.innovahub .innovahub__list::before {
    content: "" !important;
    position: absolute !important;
    left: 35px !important;
    top: 56px !important;
    bottom: 56px !important;
    width: 1px !important;
    background: linear-gradient(to bottom, transparent, rgba(0, 193, 212, 0.25), rgba(0, 230, 118, 0.18), transparent) !important;
    pointer-events: none !important;
}

#innovation-hub.innovahub .innovahub__item {
    width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    position: relative !important;
    padding: 16px 52px 16px 12px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #0A0F1E !important;
    cursor: pointer !important;
    text-align: left !important;
    appearance: none !important;
    transition: background 0.3s ease, transform 0.3s ease !important;
    z-index: 1 !important;
}

#innovation-hub.innovahub .innovahub__item.active,
#innovation-hub.innovahub .innovahub__item:hover {
    background: rgba(0, 193, 212, 0.06) !important;
}

#innovation-hub.innovahub .innovahub__icon {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    display: grid !important;
    place-items: center !important;
    border: 1.5px solid var(--event-color) !important;
    border-radius: 50% !important;
    color: var(--event-color) !important;
    background: rgba(255, 255, 255, 0.62) !important;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--event-color) 12%, transparent) !important;
    transition: background 0.3s ease, box-shadow 0.3s ease !important;
}

#innovation-hub.innovahub .innovahub__item:hover .innovahub__icon,
#innovation-hub.innovahub .innovahub__item.active .innovahub__icon {
    background: color-mix(in srgb, var(--event-color) 12%, transparent) !important;
    box-shadow: 0 0 22px color-mix(in srgb, var(--event-color) 24%, transparent) !important;
}

#innovation-hub.innovahub .innovahub__icon svg {
    width: 23px !important;
    height: 23px !important;
    display: block !important;
    fill: currentColor !important;
}

#innovation-hub.innovahub .innovahub__num {
    flex: 0 0 44px !important;
    min-width: 44px !important;
    color: var(--event-color) !important;
    font-size: 1.75rem !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
}

#innovation-hub.innovahub .innovahub__copy {
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
}

#innovation-hub.innovahub .innovahub__copy strong {
    color: var(--event-color) !important;
    font-size: 0.875rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

#innovation-hub.innovahub .innovahub__copy small {
    color: rgba(0, 0, 0, 0.55) !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

#innovation-hub.innovahub .innovahub__active-line {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    width: 32px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--event-color) !important;
    opacity: 0 !important;
    transform: translateY(-50%) scaleX(0.3) !important;
    transform-origin: right center !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
}

#innovation-hub.innovahub .innovahub__item.active .innovahub__active-line {
    opacity: 1 !important;
    transform: translateY(-50%) scaleX(1) !important;
}

#innovation-hub.innovahub .innovahub__panel {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 24px !important;
    background: #0A0F1E !important;
    box-shadow: 0 0 40px color-mix(in srgb, var(--active-color) 20%, transparent), 0 40px 80px rgba(0, 0, 0, 0.3) !important;
    transition: box-shadow 0.5s ease !important;
    transform: translateZ(0) !important;
}

#innovation-hub.innovahub .innovahub__panel-img-wrapper {
    position: relative !important;
    height: clamp(310px, 31vw, 390px) !important;
    overflow: hidden !important;
    background: #0A0F1E !important;
}

#innovation-hub.innovahub .innovahub__panel-img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    position: relative !important;
    background:
        radial-gradient(circle at 30% 26%, color-mix(in srgb, var(--active-color) 48%, transparent), transparent 32%),
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.14), transparent 18%),
        linear-gradient(135deg, color-mix(in srgb, var(--active-color) 34%, #0A0F1E), #0A0F1E 56%, color-mix(in srgb, var(--active-color) 18%, #111827)) !important;
    opacity: 1 !important;
    transform: scale(1) !important;
    transform-origin: center !important;
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.4s ease, background 0.4s ease !important;
    will-change: transform, opacity !important;
}

#innovation-hub.innovahub .innovahub__panel-img::before {
    content: "MIND\A SUMMIT\A UNSA" !important;
    position: absolute !important;
    right: clamp(28px, 5vw, 64px) !important;
    top: 42px !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-family: 'Clash Display', 'Montserrat', sans-serif !important;
    font-size: clamp(2.4rem, 5vw, 4.5rem) !important;
    font-weight: 800 !important;
    line-height: 0.92 !important;
    letter-spacing: 0.01em !important;
    white-space: pre !important;
    text-align: left !important;
    text-shadow: 0 0 26px color-mix(in srgb, var(--active-color) 36%, transparent) !important;
    z-index: 1 !important;
}

#innovation-hub.innovahub .innovahub__panel-img::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        linear-gradient(90deg, transparent 0 47%, color-mix(in srgb, var(--active-color) 38%, transparent) 48%, transparent 49% 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 44px),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 44px) !important;
    mask-image: radial-gradient(circle at 62% 38%, black 0 42%, transparent 72%) !important;
    opacity: 0.7 !important;
    z-index: 0 !important;
}

#innovation-hub.innovahub .innovahub__panel-img-wrapper::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, transparent 40%, rgba(10, 15, 30, 0.95) 100%) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

#innovation-hub.innovahub .innovahub__badge {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    z-index: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
    background: rgba(10, 15, 30, 0.75) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    color: #FFFFFF !important;
    font-size: 0.6875rem !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

#innovation-hub.innovahub .innovahub__panel-img-wrapper::before {
    content: "" !important;
    position: absolute !important;
    left: clamp(22px, 4vw, 48px) !important;
    bottom: 34px !important;
    z-index: 3 !important;
    width: min(310px, 52%) !important;
    height: 88px !important;
    border-left: 3px solid var(--active-color) !important;
    border-radius: 14px !important;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--active-color) 16%, transparent), rgba(255,255,255,0.035)),
        linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02)) !important;
    box-shadow: 0 0 24px color-mix(in srgb, var(--active-color) 18%, transparent) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    pointer-events: none !important;
}

#innovation-hub.innovahub .innovahub__badge span {
    width: 20px !important;
    height: 20px !important;
    display: grid !important;
    place-items: center !important;
    color: var(--active-color) !important;
}

#innovation-hub.innovahub .innovahub__badge svg {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
}

#innovation-hub.innovahub .innovahub__panel-content {
    padding: 28px 32px 32px !important;
    background: #0A0F1E !important;
}

#innovation-hub.innovahub .innovahub__eyebrow {
    display: block !important;
    margin-bottom: 12px !important;
    color: var(--active-color) !important;
    font-size: 0.6875rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

#innovation-hub.innovahub .innovahub__panel-title {
    margin: 0 0 18px !important;
    color: #FFFFFF !important;
    font-size: clamp(1.75rem, 3vw, 2.625rem) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
}

#innovation-hub.innovahub .innovahub__content-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) !important;
    gap: 28px !important;
    align-items: start !important;
}

#innovation-hub.innovahub .innovahub__panel-desc {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.68) !important;
    font-size: 0.9375rem !important;
    line-height: 1.7 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

#innovation-hub.innovahub .innovahub__meta {
    min-width: 180px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 16px 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

#innovation-hub.innovahub .innovahub__meta span {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #FFFFFF !important;
    font-size: 0.8125rem !important;
    line-height: 1.25 !important;
}

#innovation-hub.innovahub .innovahub__meta svg {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
    fill: var(--active-color) !important;
}

#innovation-hub.innovahub .innovahub__stats {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#innovation-hub.innovahub .innovahub__stat {
    min-width: 0 !important;
    padding: 12px 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.035) !important;
    text-align: center !important;
}

#innovation-hub.innovahub .innovahub__stat-value {
    display: block !important;
    color: var(--active-color) !important;
    font-size: 1.75rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    transition: color 0.4s ease !important;
}

#innovation-hub.innovahub .innovahub__stat-label {
    display: block !important;
    margin-top: 6px !important;
    color: rgba(255, 255, 255, 0.45) !important;
    font-size: 0.625rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

#innovation-hub.innovahub .innovahub__tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 18px !important;
}

#innovation-hub.innovahub .innovahub__tags span {
    padding: 5px 11px !important;
    border: 1px solid color-mix(in srgb, var(--active-color) 25%, transparent) !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--active-color) 10%, transparent) !important;
    color: var(--active-color) !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

#innovation-hub.innovahub .innovahub__cursor {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 9999 !important;
    width: 20px !important;
    height: 20px !important;
    border: 1.5px solid var(--active-color) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transform: translate(-50%, -50%) !important;
    mix-blend-mode: difference !important;
}

@media (max-width: 1200px) {
    #innovation-hub.innovahub .innovahub__layout {
        grid-template-columns: 360px minmax(0, 1fr) !important;
        gap: 42px !important;
    }
}

@media (max-width: 1024px) {
    #innovation-hub.innovahub .innovahub__layout {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    #innovation-hub.innovahub .innovahub__left {
        position: static !important;
    }

    #innovation-hub.innovahub .innovahub__lead {
        max-width: 620px !important;
    }
}

@media (max-width: 768px) {
    #innovation-hub.innovahub {
        padding: 74px 18px !important;
    }

    #innovation-hub.innovahub .innovahub__panel-img-wrapper {
        height: 240px !important;
    }

    #innovation-hub.innovahub .innovahub__content-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    #innovation-hub.innovahub .innovahub__stats {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    #innovation-hub.innovahub .innovahub__cursor {
        display: none !important;
    }
}

@media (max-width: 480px) {
    #innovation-hub.innovahub .innovahub__item {
        gap: 10px !important;
        padding: 14px 12px !important;
    }

    #innovation-hub.innovahub .innovahub__icon {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px !important;
    }

    #innovation-hub.innovahub .innovahub__num {
        min-width: 36px !important;
        flex-basis: 36px !important;
        font-size: 1.45rem !important;
    }

    #innovation-hub.innovahub .innovahub__active-line {
        display: none !important;
    }

    #innovation-hub.innovahub .innovahub__panel-content {
        padding: 22px 18px 24px !important;
    }

    #innovation-hub.innovahub .innovahub__panel-title {
        font-size: 1.5rem !important;
    }
}

/* FIX innovation hub polish: recuperar badge interno y dar más presencia exterior — agente */
#innovation-hub.innovahub,
#innovation-hub.innovation-hub.innovahub {
    background:
        radial-gradient(circle at 12% 14%, rgba(0,193,212,0.18), transparent 26%),
        radial-gradient(circle at 88% 18%, rgba(43,108,176,0.12), transparent 24%),
        radial-gradient(circle at 76% 86%, rgba(0,230,118,0.14), transparent 28%),
        linear-gradient(180deg, #F8FCFF 0%, #EEF7FF 46%, #F7FBFF 100%) !important;
}

#innovation-hub.innovahub::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(rgba(13,31,78,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(13,31,78,0.03) 1px, transparent 1px),
        radial-gradient(circle, rgba(0,193,212,0.22) 1px, transparent 1.8px) !important;
    background-size: 96px 96px, 96px 96px, 18px 18px !important;
    mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%) !important;
    opacity: 0.42 !important;
}

#innovation-hub.innovahub::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: clamp(24px, 6vw, 96px) !important;
    right: clamp(24px, 6vw, 96px) !important;
    top: 24px !important;
    height: 1px !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, transparent, rgba(0,193,212,0.58), rgba(0,230,118,0.34), transparent) !important;
    box-shadow: 0 0 28px rgba(0,193,212,0.20) !important;
}

#innovation-hub.innovahub .innovahub__layout {
    position: relative !important;
    z-index: 2 !important;
}

#innovation-hub.innovahub .innovahub__left::before {
    content: "" !important;
    position: absolute !important;
    width: 220px !important;
    height: 220px !important;
    left: -88px !important;
    top: -54px !important;
    border: 1px solid rgba(0,193,212,0.20) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    opacity: 0.72 !important;
}

#innovation-hub.innovahub .innovahub__tag {
    background: rgba(255,255,255,0.68) !important;
    box-shadow: 0 14px 34px rgba(0,193,212,0.10), inset 0 0 0 1px rgba(255,255,255,0.75) !important;
}

#innovation-hub.innovahub .innovahub__title {
    color: #061A44 !important;
    font-family: 'Gordita', 'Montserrat', sans-serif !important;
    font-size: clamp(2rem, 3.35vw, 3.25rem) !important;
    font-weight: 900 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.035em !important;
}

#innovation-hub.innovahub .innovahub__lead {
    max-width: 410px !important;
    color: rgba(6,26,68,0.68) !important;
    font-family: 'DM Sans', 'Montserrat', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.78 !important;
}

#innovation-hub.innovahub .innovahub__panel {
    border: 1px solid rgba(0,193,212,0.14) !important;
    box-shadow:
        0 0 42px color-mix(in srgb, var(--active-color) 18%, transparent),
        0 42px 88px rgba(6,26,68,0.28),
        inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

#innovation-hub.innovahub .innovahub__panel-img-wrapper::before {
    left: clamp(22px, 4vw, 46px) !important;
    right: clamp(22px, 4vw, 46px) !important;
    bottom: 30px !important;
    width: auto !important;
    height: 82px !important;
    border: 1px solid color-mix(in srgb, var(--active-color) 46%, rgba(255,255,255,0.18)) !important;
    border-left: 3px solid var(--active-color) !important;
    border-radius: 18px !important;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--active-color) 16%, transparent), rgba(255,255,255,0.05)),
        rgba(8,22,48,0.50) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.14),
        0 0 28px color-mix(in srgb, var(--active-color) 18%, transparent) !important;
}

#innovation-hub.innovahub .innovahub__badge {
    top: 24px !important;
    left: 28px !important;
    padding: 12px 16px 12px 12px !important;
    gap: 12px !important;
    border: 1px solid color-mix(in srgb, var(--active-color) 42%, rgba(255,255,255,0.12)) !important;
    border-radius: 12px !important;
    background: rgba(6,16,36,0.62) !important;
    color: #fff !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.08),
        0 16px 34px rgba(0,0,0,0.20),
        0 0 22px color-mix(in srgb, var(--active-color) 14%, transparent) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

#innovation-hub.innovahub .innovahub__badge span {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    border: 1px solid color-mix(in srgb, var(--active-color) 58%, transparent) !important;
    background: color-mix(in srgb, var(--active-color) 13%, transparent) !important;
    box-shadow: inset 0 0 14px color-mix(in srgb, var(--active-color) 18%, transparent) !important;
}

#innovation-hub.innovahub .innovahub__badge strong {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.64rem !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
    letter-spacing: 0.12em !important;
    text-align: left !important;
}

/* FIX innovation hub media: limpiar texto/caja placeholder del área de foto — agente */
#innovation-hub.innovahub .innovahub__panel-img::before,
#innovation-hub.innovahub .innovahub__panel-img::after,
#innovation-hub.innovahub .innovahub__panel-img-wrapper::before {
    content: none !important;
    display: none !important;
}

#innovation-hub.innovahub .innovahub__panel-img {
    background:
        radial-gradient(circle at 28% 18%, color-mix(in srgb, var(--active-color) 28%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--active-color) 18%, #0A0F1E), #0A0F1E 62%) !important;
}

@media (max-width: 768px) {
    #innovation-hub.innovahub .innovahub__left::before {
        width: 160px !important;
        height: 160px !important;
        left: auto !important;
        right: -74px !important;
        top: -32px !important;
    }

    #innovation-hub.innovahub .innovahub__title {
        font-size: clamp(2rem, 9vw, 3rem) !important;
    }

    #innovation-hub.innovahub .innovahub__panel-img-wrapper::before {
        left: 16px !important;
        right: 16px !important;
        bottom: 20px !important;
        height: 66px !important;
        border-radius: 14px !important;
    }

    #innovation-hub.innovahub .innovahub__badge {
        top: 14px !important;
        left: 14px !important;
        padding: 10px 13px 10px 10px !important;
    }
}

/* FIX passes final order: asegurar look oscuro premium sobre estilos legacy — agente */
#precios.passes-section {
    background:
        radial-gradient(circle at 22% 10%, color-mix(in srgb, var(--glow) 18%, transparent), transparent 26%),
        radial-gradient(circle at 84% 22%, rgba(124,58,237,0.18), transparent 26%),
        linear-gradient(180deg, #050814 0%, #071229 52%, #050814 100%) !important;
    color: #fff !important;
}

#precios.passes-section .passes__title,
#precios.passes-section .passes__active-title,
#precios.passes-section .passes__benefits h3,
#precios.passes-section .passes__gallery-title,
#precios.passes-section .passes__contact-bar strong,
#precios.passes-section .benefit-item strong,
#precios.passes-section .passes__price strong {
    color: #fff !important;
}

#precios.passes-section .passes__detail,
#precios.passes-section .passes__contact-bar {
    background: rgba(5,8,20,0.72) !important;
    border-color: color-mix(in srgb, var(--pass-color) 30%, rgba(255,255,255,0.08)) !important;
    box-shadow: 0 0 44px color-mix(in srgb, var(--pass-color) 10%, transparent) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

#precios.passes-section .passes__active-desc,
#precios.passes-section .passes__contact-bar p {
    color: rgba(255,255,255,0.64) !important;
}

#precios.passes-section .passes__watching,
#precios.passes-section .passes__price span {
    color: rgba(255,255,255,0.50) !important;
}

#precios.passes-section .benefit-item small {
    color: rgba(255,255,255,0.54) !important;
}

/* FIX final typography + pricing polish: auditoría global aplicada al final real del cascade — agente */
:root {
    --font-display: 'Montserrat', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Montserrat', sans-serif;
    --font-mono: 'Montserrat', sans-serif;
}

html,
body,
button,
input,
textarea,
select,
#sobre,
#ejes,
#agenda,
#innovation-hub,
#precios,
#alianzas {
    font-family: var(--font-body) !important;
}

#sobre *,
#ejes *,
#agenda *,
#innovation-hub *,
#precios *,
#alianzas * {
    font-family: inherit !important;
}

.hero--singularity .hero__mind,
.hero--singularity .hero__mind .char,
.hero--singularity .hero__summit,
.section-title,
.section-title-premium,
.passes__title,
.passes__active-title,
.innovahub__title,
.alliances__heading {
    font-family: var(--font-heading) !important;
}

#sobre .section-title-premium,
#ejes .section-title,
#agenda .agenda__title,
#innovation-hub .innovahub__title,
#precios .passes__title,
#alianzas .alliances__heading {
    line-height: 1.02 !important;
}

#sobre p,
#ejes p,
#agenda p,
#innovation-hub p,
#precios p,
#alianzas p {
    line-height: 1.68 !important;
}

#precios .passes__selector {
    padding-top: 24px !important;
    overflow: visible !important;
}

#precios .pass-card {
    overflow: visible !important;
}

#precios .pass-card__visual {
    overflow: hidden !important;
    border-radius: inherit !important;
}

#precios .pass-card__popular {
    top: -16px !important;
    left: 50% !important;
    z-index: 8 !important;
    transform: translateX(-50%) !important;
}

@media (max-width: 768px) {
    #precios .passes__contact-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        padding: 20px !important;
    }

    #precios .passes__contact-actions {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
    }

    #precios .passes__contact-actions a,
    #precios .passes__contact-actions button {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }
}
