/* Eykore · estilos de la home y de /nosotros (se apoyan en main.css).
   Color: la parte del problema usa el acento rosa; la solución, el turquesa de marca. */

:root {
    --bg-deep: #0d0620;
    --bg: #140a2e;
    --bg-band: #0a0517;
    --purple: #4a2c82;
    --neon: #7df9ff;
    --accent: #a855f7;
    --pink: #f472b6;
    --pain: #fb7aa8;
    --line: rgba(125, 249, 255, .16);
    --line-soft: rgba(125, 249, 255, .09);
    --card-line: rgba(125, 249, 255, .16);
    --pain-line: rgba(251, 122, 168, .22);
    --text-muted: rgba(255, 255, 255, .64);
    --sec-pad: clamp(4rem, 9vh, 6.5rem);
}

/* Base de página (sobre main.css) */
body {
    background: radial-gradient(1100px 520px at 75% -12%, rgba(168, 85, 247, .14), transparent 60%), var(--bg-deep);
    justify-content: flex-start;
    align-items: stretch;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: 0;
}

body::before {
    filter: blur(40px);
    background: radial-gradient(circle, rgba(102, 126, 234, .4) 0%, rgba(118, 75, 162, .25) 40%, transparent 65%);
}

body::after {
    filter: blur(40px);
    background: radial-gradient(circle, rgba(200, 120, 200, .38) 0%, rgba(160, 80, 180, .22) 38%, transparent 66%);
}

img {
    display: block;
    max-width: 100%;
}

.ic {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Banda superior del evento */
.event-band {
    position: relative;
    z-index: 2;
    border-bottom: 1px solid var(--line-soft);
    background: linear-gradient(180deg, #101b3f 0%, #0a1230 100%);
    box-shadow: inset 0 -1px 0 rgba(125, 249, 255, .05);
}

/* Selector de idiomas / LinkedIn: alineado al logo, borde derecho, sin seguir el scroll */
.lang-sel {
    position: absolute;
    top: 1.5rem;
    right: clamp(1rem, 3vw, 2rem);
}

.event-band__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: clamp(.6rem, 1.4vw, .9rem) clamp(1rem, 3vw, 2rem);
    padding-right: calc(clamp(1rem, 3vw, 2rem) + 184px);
}

.event-band__logo {
    height: 52px;
    width: auto;
    flex-shrink: 0;
}

.event-band__slug {
    flex: 1 1 auto;
    text-align: center;
    font-weight: 700;
    letter-spacing: .03em;
    font-size: clamp(.8rem, 1.5vw, .95rem);
    color: var(--text);
    white-space: nowrap;
}

.event-band__cta {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    height: 40px;
    padding: 0 1.1rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--neon), var(--accent));
    color: var(--bg-deep);
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: .02em;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 3px 16px rgba(125, 249, 255, .25);
    transition: transform .15s, box-shadow .2s;
}

.event-band__cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 24px rgba(125, 249, 255, .45);
}

/* Contenedor */
.wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding-left: clamp(1.25rem, 4vw, 2.5rem);
    padding-right: clamp(1.25rem, 4vw, 2.5rem);
}

/* HERO */
.hero {
    min-height: 86vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: clamp(4rem, 9vh, 6rem) 1.25rem clamp(3rem, 6vh, 4.5rem);
}

.hero__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.1rem;
}

.hero__eyebrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .55rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--neon);
}

.hero__tagline {
    font-size: .95rem;
    font-weight: 400;
    letter-spacing: .02em;
    text-transform: none;
    color: var(--text-muted);
}

.concept-title {
    font-size: clamp(2.3rem, 7.4vw, 5rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.025em;
    text-wrap: balance;
}

.concept-title .neon {
    color: var(--neon);
    text-shadow: 0 0 8px rgba(125, 249, 255, .7), 0 0 24px rgba(125, 249, 255, .45), 0 0 60px rgba(102, 126, 234, .3);
}

.hero__sub {
    max-width: 600px;
    font-size: clamp(1rem, 2.2vw, 1.2rem);
    line-height: 1.6;
    color: var(--text-muted);
    text-wrap: pretty;
}

.hero__scroll {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    margin-top: 1.2rem;
    font-size: .72rem;
    font-weight: 300;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--neon);
    opacity: .8;
}

.hero__scroll span {
    display: block;
    width: 1px;
    height: 36px;
    background: linear-gradient(var(--neon), transparent);
}

/* Secciones */
section.band {
    position: relative;
    z-index: 1;
    padding: var(--sec-pad) 0;
    text-align: center;
}

section.band h2,
.relay__title {
    font-size: clamp(1.8rem, 4.2vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin-bottom: 1.1rem;
    text-wrap: balance;
}

section.band h3 {
    font-size: clamp(1.25rem, 2.4vw, 1.55rem);
    font-weight: 800;
    letter-spacing: -.01em;
    margin-bottom: .6rem;
    text-wrap: balance;
}

.band--alt {
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .025) 18%, rgba(255, 255, 255, .025) 82%, transparent);
}

/* El problema: menos aire abajo para que enlace con «la cara oculta» */
section.band--intro {
    padding-bottom: clamp(1.5rem, 4vh, 2.5rem);
}

section.band--pain {
    padding-top: clamp(2.5rem, 6vh, 4rem);
    background: radial-gradient(900px 420px at 50% 100%, rgba(244, 114, 182, .07), transparent 70%);
}

.kicker {
    display: inline-block;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--neon);
    margin-bottom: 1rem;
}

.kicker--pain {
    color: var(--pain);
}

.lead {
    max-width: 640px;
    margin: 0 auto;
    font-size: clamp(1rem, 2.1vw, 1.15rem);
    line-height: 1.6;
    color: var(--text-muted);
    text-wrap: pretty;
}

/* Citas */
.band--quote {
    background: linear-gradient(180deg, transparent, rgba(244, 114, 182, .05), transparent);
}

.band__quote {
    max-width: 860px;
    margin: 0 auto;
    font-size: clamp(1.6rem, 4vw, 2.7rem);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -.015em;
    text-wrap: balance;
}

.band__quote .em {
    color: var(--neon);
    text-shadow: 0 0 22px rgba(125, 249, 255, .35);
}

.band__quote .em--pain {
    color: var(--pain);
    text-shadow: 0 0 22px rgba(251, 122, 168, .35);
}

.relay__dif {
    margin: 0 auto;
    max-width: 640px;
    font-size: clamp(1.05rem, 2.2vw, 1.25rem);
    font-weight: 600;
    color: var(--neon);
    text-wrap: pretty;
}

/* Tarjetas */
.grid {
    display: grid;
    gap: 1rem;
    margin-top: 2.4rem;
}

.card {
    padding: 1.5rem 1.35rem 1.4rem;
    border-radius: 1.1rem;
    background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015));
    border: 1px solid var(--card-line);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
    text-align: left;
    transition: transform .25s ease, border-color .25s ease;
}

.card:hover {
    transform: translateY(-3px);
    border-color: rgba(125, 249, 255, .36);
}

.card__icon {
    width: 44px;
    height: 44px;
    margin-bottom: 1rem;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--neon);
    background: rgba(125, 249, 255, .08);
    box-shadow: inset 0 0 0 1px rgba(125, 249, 255, .22), 0 0 18px rgba(125, 249, 255, .12);
}

.card__title {
    font-size: 1.06rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: .45rem;
}

.card__text {
    font-size: .92rem;
    line-height: 1.55;
    color: var(--text-muted);
}

/* Problema: 5 tarjetas en 3 + 2 centradas, acento rosa */
.grid--pain {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.grid--pain .card {
    grid-column: span 2;
    border-color: var(--pain-line);
}

.grid--pain .card:nth-child(4) {
    grid-column: 2 / span 2;
}

.grid--pain .card:hover {
    border-color: rgba(251, 122, 168, .45);
}

.grid--pain .card__icon {
    color: var(--pain);
    background: rgba(251, 122, 168, .08);
    box-shadow: inset 0 0 0 1px rgba(251, 122, 168, .25), 0 0 18px rgba(251, 122, 168, .12);
}

/* Relevo: 4 pilares en una fila */
.grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 0;
}

/* El relevo: foto a sangre (el momento de la página) */
.relay {
    position: relative;
    z-index: 1;
    min-height: clamp(460px, 78vh, 760px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
}

.relay__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 70% 50%;
    z-index: -2;
}

.relay__shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, var(--bg-deep) 0%, rgba(13, 6, 32, .15) 22%, rgba(13, 6, 32, .1) 45%, rgba(13, 6, 32, .85) 82%, var(--bg-deep) 100%),
        linear-gradient(90deg, rgba(13, 6, 32, .88) 0%, rgba(13, 6, 32, .45) 45%, transparent 70%);
}

.relay__content {
    padding-top: 6rem;
    padding-bottom: clamp(2.5rem, 6vh, 4rem);
    text-align: left;
}

.relay__title {
    max-width: 16ch;
    font-size: clamp(2rem, 5vw, 3.6rem);
    text-shadow: 0 2px 24px rgba(0, 0, 0, .5);
}

.relay .relay__dif {
    margin: 0;
    max-width: 34rem;
    text-shadow: 0 1px 12px rgba(0, 0, 0, .6);
}

section.band--relay {
    padding-top: clamp(1.5rem, 4vh, 2.5rem);
}

/* En la práctica: tira de 4 columnas sin cajas */
.feats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 2.6rem;
    text-align: left;
    border-top: 1px solid var(--line-soft);
    border-bottom: 1px solid var(--line-soft);
}

.feat {
    padding: 1.6rem 1.4rem 1.7rem;
}

.feat + .feat {
    border-left: 1px solid var(--line-soft);
}

.feat__icon {
    color: var(--neon);
    margin-bottom: .9rem;
}

.feat__icon .ic {
    width: 28px;
    height: 28px;
    filter: drop-shadow(0 0 8px rgba(125, 249, 255, .45));
}

.feat__title {
    font-size: 1.04rem;
    font-weight: 700;
    margin-bottom: .4rem;
}

.feat__text {
    font-size: .9rem;
    line-height: 1.55;
    color: var(--text-muted);
}

/* Producto */
.product {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
    margin-top: 3rem;
    text-align: left;
}

.product + .product {
    margin-top: clamp(3rem, 7vh, 5rem);
}

/* Máquina que habla */
.mach-report {
    max-width: 580px;
    margin: 2.2rem auto 0;
    border-radius: 1.2rem;
    overflow: hidden;
    background: linear-gradient(160deg, rgba(125, 249, 255, .07), rgba(168, 85, 247, .06));
    border: 1px solid rgba(125, 249, 255, .2);
    text-align: left;
    box-shadow: 0 16px 60px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(125, 249, 255, .1);
}

.mach-report__head {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .9rem 1.4rem;
    border-bottom: 1px solid var(--line-soft);
    background: rgba(255, 255, 255, .03);
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--neon);
}

.mach-report__live {
    margin-left: auto;
    padding: .2rem .6rem;
    border-radius: 999px;
    font-size: .64rem;
    letter-spacing: .12em;
    color: #6ee7b7;
    border: 1px solid rgba(52, 211, 153, .4);
    background: rgba(52, 211, 153, .1);
}

.mach-report__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--neon);
    box-shadow: 0 0 10px var(--neon);
    animation: blink 1.2s step-end infinite;
}

@keyframes blink {
    50% { opacity: .2; }
}

.mach-report__body {
    padding: 1.3rem 1.4rem 1.5rem;
    font-size: 1.05rem;
    line-height: 1.6;
    min-height: 8.6em;
}

/* CTA */
.cta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 2rem;
    padding: 1.05rem 2rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--neon), var(--accent));
    color: var(--bg-deep);
    font-weight: 700;
    font-size: 1.02rem;
    text-decoration: none;
    box-shadow: 0 6px 30px rgba(125, 249, 255, .35), 0 0 40px rgba(168, 85, 247, .2);
    transition: transform .2s, box-shadow .2s;
}

.cta:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 40px rgba(125, 249, 255, .5), 0 0 50px rgba(168, 85, 247, .3);
}

/* Corequip · banda de co-branding */
.partner-band {
    position: relative;
    z-index: 1;
    padding: clamp(3.5rem, 8vh, 5rem) 0;
    background: var(--bg-band);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    text-align: center;
}

.partner__tagline {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--pink);
    margin-bottom: .6rem;
}

.partner__line {
    font-size: clamp(1.3rem, 3.4vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
    max-width: 680px;
    margin: 0 auto;
    text-wrap: balance;
}

.partner__logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.2rem, 4vw, 2.4rem);
    margin-top: 2rem;
    flex-wrap: wrap;
}

.partner__logo {
    height: clamp(38px, 6vw, 56px);
    width: auto;
}

.partner__logo--eykore {
    height: clamp(48px, 7.5vw, 70px);
}

/* Corequip en blanco sobre el fondo oscuro (el PNG original es negro) */
.partner__logo--corequip {
    filter: brightness(0) invert(1);
    opacity: .95;
}

.partner__logos .sep {
    color: var(--neon);
    font-size: 1.6rem;
    font-weight: 300;
    opacity: .8;
}

/* Cierre */
.band--closing {
    background: radial-gradient(800px 380px at 50% 30%, rgba(125, 249, 255, .08), transparent 70%);
}

.band__quote--closing {
    font-size: clamp(1.8rem, 4.6vw, 3.1rem);
}

.closing__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
    margin-top: 1.6rem;
}

.closing__meta span {
    padding: .5rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, .04);
    font-size: .88rem;
    color: var(--text-muted);
}

.closing__meta b {
    color: #fff;
    font-weight: 700;
}

/* Footer: en flujo (página larga) */
.footer {
    position: static;
    padding-top: 1.4rem;
}

/* Reveal on scroll */
.reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .6s ease, transform .6s ease;
}

.reveal.in {
    opacity: 1;
    transform: none;
}

/* Responsive */
@media (max-width: 980px) {
    .grid--four,
    .feats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .feat:nth-child(3) {
        border-left: 0;
    }
    .feat:nth-child(n+3) {
        border-top: 1px solid var(--line-soft);
    }
    .grid--pain {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .grid--pain .card,
    .grid--pain .card:nth-child(4) {
        grid-column: auto;
    }
    .grid--pain .card:nth-child(5) {
        grid-column: 1 / -1;
    }
}

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

@media (max-width: 760px) {
    .lang-sel {
        top: 1.05rem;
        right: .9rem;
    }
    .event-band__inner {
        flex-direction: column;
        align-items: center;
        gap: .9rem;
        padding: 1.05rem 1rem .95rem;
    }
    .event-band__logo {
        height: 40px;
        align-self: flex-start;
    }
    .event-band__slug {
        flex: none;
        width: 100%;
        max-width: 32rem;
        margin: 0 auto;
        white-space: normal;
    }
    .event-band__cta {
        margin: 0 auto;
    }
}

@media (max-width: 640px) {
    :root {
        --sec-pad: 3.2rem;
    }
    .hero {
        min-height: auto;
        justify-content: flex-start;
        padding: 3.2rem 1.1rem 2.5rem;
    }
    .hero__content {
        gap: .75rem;
    }
    .concept-title {
        font-size: clamp(2.2rem, 11.5vw, 3.1rem);
    }
    .hero__tagline {
        display: block;
    }
    .grid--four,
    .feats,
    .grid--pain {
        grid-template-columns: 1fr;
    }
    .grid--pain .card:nth-child(5) {
        grid-column: auto;
    }
    .feat + .feat,
    .feat:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--line-soft);
    }
    .feat {
        padding: 1.3rem .2rem;
    }
    .relay {
        min-height: 560px;
    }
    .relay__img {
        object-position: 78% 50%;
    }
    .relay__shade {
        background: linear-gradient(180deg, var(--bg-deep) 0%, rgba(13, 6, 32, .2) 25%, rgba(13, 6, 32, .55) 55%, rgba(13, 6, 32, .95) 85%, var(--bg-deep) 100%);
    }
    .mach-report__body {
        min-height: 10.5em;
    }
}

@media (max-height: 700px) {
    .hero {
        min-height: auto;
        padding-top: 5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mach-report__dot {
        animation: none;
    }
    .cta,
    .cta:hover,
    .card,
    .card:hover {
        transition: none;
        transform: none;
    }
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Capítulos y secciones de producto */
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 64px; }

/* Navegación por capítulos (aparece tras el hero) */
.chapters {
    position: fixed;
    top: .8rem;
    left: 50%;
    z-index: 50;
    display: flex;
    gap: .2rem;
    padding: .3rem;
    max-width: calc(100vw - 1.5rem);
    overflow-x: auto;
    scrollbar-width: none;
    border-radius: 999px;
    background: rgba(13, 6, 32, .72);
    border: 1px solid var(--line);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
    transform: translate(-50%, -150%);
    opacity: 0;
    transition: transform .4s ease, opacity .4s ease;
}
.chapters::-webkit-scrollbar { display: none; }
.chapters.is-visible { transform: translate(-50%, 0); opacity: 1; }
.chapters a {
    flex: none;
    padding: .45rem .9rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    color: rgba(255, 255, 255, .7);
    text-decoration: none;
    white-space: nowrap;
    transition: background .25s ease, color .25s ease;
}
.chapters a:hover { color: #fff; }
.chapters a.is-active {
    color: var(--bg-deep);
    background: var(--neon);
    box-shadow: 0 0 16px rgba(125, 249, 255, .45);
}

/* Burbujas de chat (Kore) */
.bub {
    max-width: 88%;
    padding: .75rem 1rem;
    border-radius: 1rem;
    font-size: .92rem;
    line-height: 1.5;
    text-align: left;
}
.bub--user {
    align-self: flex-end;
    background: rgba(168, 85, 247, .28);
    border: 1px solid rgba(168, 85, 247, .45);
    border-bottom-right-radius: .3rem;
}
.bub--kore {
    align-self: flex-start;
    background: rgba(125, 249, 255, .08);
    border: 1px solid var(--line);
    border-bottom-left-radius: .3rem;
}

/* EKCASH */
.ekcash {
    background: radial-gradient(900px 520px at 85% 30%, rgba(125, 249, 255, .08), transparent 70%);
}
.ekcash__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
    text-align: left;
}
.ekcash__intro .lead { margin: 0; }
.ekcash__photo {
    margin: 0;
    border-radius: 1.4rem;
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .4), 0 0 60px rgba(125, 249, 255, .08);
    max-width: 400px;
    justify-self: center;
}
.ekcash__photo img { width: 100%; height: auto; }

.flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
    margin-top: 3.5rem;
    text-align: left;
}
.flow__col {
    padding: 1.6rem 1.5rem;
    border-radius: 1.2rem;
    border: 1px solid var(--card-line);
    background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015));
}
.flow__col--before { border-color: var(--pain-line); background: linear-gradient(160deg, rgba(251, 122, 168, .07), rgba(255, 255, 255, .01)); }
.flow__col--after {
    border-color: rgba(125, 249, 255, .38);
    box-shadow: 0 0 40px rgba(125, 249, 255, .08), inset 0 1px 0 rgba(255, 255, 255, .08);
}
.flow__col h3 { font-size: 1.1rem !important; }
.flow__col--before h3 { color: var(--pain); }
.flow__col--after h3 { color: var(--neon); }
.flow__steps { list-style: none; padding: 0; margin: 1rem 0 1.2rem; counter-reset: st; }
.flow__steps li {
    counter-increment: st;
    position: relative;
    padding: .55rem 0 .55rem 2.4rem;
    color: rgba(255, 255, 255, .86);
    line-height: 1.5;
}
.flow__steps li::before {
    content: counter(st);
    position: absolute;
    left: 0;
    top: .5rem;
    width: 1.65rem;
    height: 1.65rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: .8rem;
    font-weight: 800;
    border: 1px solid var(--line);
    color: var(--neon);
}
.flow__col--before .flow__steps li { color: rgba(255, 255, 255, .62); }
.flow__col--before .flow__steps li::before { color: var(--pain); border-color: var(--pain-line); }
.flow__col--before .flow__steps li:nth-child(2),
.flow__col--before .flow__steps li:nth-child(3) { text-decoration: line-through; text-decoration-color: rgba(251, 122, 168, .55); }
.flow__verdict { font-weight: 800; color: var(--neon); }
.flow__verdict--bad { color: var(--pain); }

.ekcash__notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
    margin-top: 1.2rem;
    text-align: left;
}
.note {
    padding: 1.3rem 1.4rem;
    border-radius: 1rem;
    border-left: 3px solid var(--neon);
    background: rgba(255, 255, 255, .03);
}
.note h3 { font-size: 1.05rem !important; }
.note p { color: var(--text-muted); line-height: 1.6; font-size: .95rem; }

/* Selector de equipos */
.picker {
    margin-top: 2.6rem;
    border-radius: 1.6rem;
    border: 1px solid var(--line);
    background: linear-gradient(160deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .01));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
    overflow: hidden;
    text-align: left;
}
.picker__tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px solid var(--line-soft);
}
.picker__tab {
    appearance: none;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .6);
    font: inherit;
    cursor: pointer;
    padding: 1.1rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .15rem;
    position: relative;
    transition: color .25s ease, background .25s ease;
}
.picker__tab b { font-size: 1.1rem; letter-spacing: .04em; }
.picker__tab span { font-size: .8rem; }
.picker__tab::after {
    content: "";
    position: absolute;
    left: 20%;
    right: 20%;
    bottom: -1px;
    height: 2px;
    background: var(--neon);
    box-shadow: 0 0 12px var(--neon);
    transform: scaleX(0);
    transition: transform .3s ease;
}
.picker__tab:hover { color: #fff; }
.picker__tab.is-on { color: #fff; background: rgba(125, 249, 255, .05); }
.picker__tab.is-on b { color: var(--neon); }
.picker__tab.is-on::after { transform: scaleX(1); }
.picker__tab:focus-visible { outline: 2px solid var(--neon); outline-offset: -4px; }
.picker__pane {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(1.5rem, 4vw, 3.5rem);
    align-items: center;
    padding: clamp(1.5rem, 4vw, 3rem);
}
.picker__pane[hidden] { display: none; }
.picker__pane.is-on { animation: paneIn .45s ease both; }
@keyframes paneIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.picker__img {
    margin: 0;
    display: grid;
    place-items: center;
    min-height: 340px;
    background: radial-gradient(50% 45% at 50% 55%, rgba(125, 249, 255, .14), transparent 70%);
}
.picker__img img {
    max-height: 440px;
    width: auto;
    filter: drop-shadow(0 24px 40px rgba(0, 0, 0, .5));
}
.picker__info h3 { margin-bottom: .8rem !important; }
.picker__info > p { color: var(--text-muted); line-height: 1.65; margin-bottom: 1rem; }
.picker__for {
    padding: .7rem .9rem;
    border-radius: .7rem;
    background: rgba(125, 249, 255, .06);
    border: 1px solid var(--line-soft);
    color: rgba(255, 255, 255, .85) !important;
}
.specs { margin: 1.3rem 0 0; border-top: 1px solid var(--line-soft); }
.specs div {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 1rem;
    padding: .65rem 0;
    border-bottom: 1px solid var(--line-soft);
    font-size: .9rem;
}
.specs dt { color: var(--neon); font-weight: 700; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; padding-top: .1rem; }
.specs dd { margin: 0; color: rgba(255, 255, 255, .85); line-height: 1.5; }
.terminals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: 1.3rem; }
.terminal {
    display: flex;
    gap: .8rem;
    align-items: center;
    padding: .8rem;
    border-radius: .8rem;
    border: 1px solid var(--line-soft);
    background: rgba(255, 255, 255, .03);
}
.terminal img { width: 64px; height: auto; flex: none; }
.terminal p { font-size: .82rem; line-height: 1.45; color: var(--text-muted); }

/* Bento de software */
.bento {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1.1rem;
    margin-top: 2.6rem;
    text-align: left;
}
.tile {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 1.6rem;
    border-radius: 1.4rem;
    border: 1px solid var(--card-line);
    background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
    overflow: hidden;
    transition: border-color .3s ease, transform .3s ease;
}
.tile:hover { border-color: rgba(125, 249, 255, .38); transform: translateY(-3px); }
.tile--dash { grid-column: span 4; flex-direction: row; align-items: center; }
.tile--dash .tile__copy { flex: 1 1 0; }
.tile--dash img { flex: 0 0 44%; width: 44%; height: auto; }
.tile--pwa { grid-column: span 2; grid-row: span 2; }
.tile--pwa .phones { margin: auto 0; }
.tile--kore { grid-column: span 2; }
.tile--b2b { grid-column: span 2; }
.tile--b2b img { border-radius: .8rem; margin-block: auto; width: 100%; height: auto; }
.tile__tag {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--neon);
    margin-bottom: .7rem;
}
.tile__tag .ic { width: 18px; height: 18px; }
.tile h3 { font-size: 1.2rem !important; line-height: 1.25; }
.tile p { color: var(--text-muted); font-size: .93rem; line-height: 1.6; }
.phones {
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: auto;
    padding-top: 1rem;
}
.phones img {
    width: 42%;
    height: auto;
    border-radius: 1rem;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .5);
    transition: transform .4s ease;
}
.phones img:nth-child(1) { transform: translateX(28%) rotate(-7deg) scale(.88); opacity: .8; }
.phones img:nth-child(2) { position: relative; z-index: 2; }
.phones img:nth-child(3) { transform: translateX(-28%) rotate(7deg) scale(.88); opacity: .8; }
.tile--pwa:hover .phones img:nth-child(1) { transform: translateX(18%) rotate(-10deg) scale(.88); }
.tile--pwa:hover .phones img:nth-child(3) { transform: translateX(-18%) rotate(10deg) scale(.88); }
.chat { display: flex; flex-direction: column; gap: .6rem; margin-top: auto; }
.chat .bub { font-size: .86rem; }
.tile__note { font-size: .72rem !important; opacity: .6; text-align: right; }

/* Instalación */
.install {
    list-style: none;
    padding: 0;
    margin: 2.4rem auto 0;
    max-width: 760px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: relative;
}
.install::before {
    content: "";
    position: absolute;
    top: 32px;
    left: 16.6%;
    right: 16.6%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--neon), transparent);
    opacity: .5;
}
.install li { position: relative; display: flex; flex-direction: column; align-items: center; gap: .3rem; }
.install__ic {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--bg-deep);
    border: 1px solid rgba(125, 249, 255, .4);
    color: var(--neon);
    box-shadow: 0 0 24px rgba(125, 249, 255, .18);
    margin-bottom: .6rem;
}
.install__ic .ic { width: 26px; height: 26px; }
.install b { font-size: 1.02rem; }
.install small { color: var(--text-muted); font-size: .85rem; }
.trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: .8rem 2rem;
    margin-top: 2.4rem;
    font-size: .88rem;
    color: var(--text-muted);
}
.trust b { color: #fff; }
@media (min-width: 761px) { .trust > span { white-space: nowrap; } }
.trust__vf { display: inline-flex; align-items: center; gap: .6rem; }
.trust__vf img { height: 26px; width: auto; background: #fff; border-radius: 4px; padding: 2px 6px; }

/* Efectivo (monederos reales conectados) */
.cash {
    background: radial-gradient(900px 480px at 15% 40%, rgba(168, 85, 247, .1), transparent 70%);
}
.stat {
    margin: 2.8rem auto 0;
    max-width: 720px;
    display: flex;
    align-items: center;
    gap: clamp(1.2rem, 4vw, 2.4rem);
    text-align: left;
    padding: 1.6rem clamp(1.3rem, 4vw, 2.4rem);
    border-radius: 1.4rem;
    border: 1px solid var(--line);
    background: linear-gradient(160deg, rgba(125, 249, 255, .07), rgba(255, 255, 255, .01));
}
.stat__num {
    flex: none;
    font-size: clamp(3.4rem, 9vw, 5.6rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--neon);
    text-shadow: 0 0 30px rgba(125, 249, 255, .45);
    font-variant-numeric: tabular-nums;
}
.stat figcaption { display: flex; flex-direction: column; gap: .5rem; }
.stat__text { font-size: clamp(1.05rem, 2.2vw, 1.3rem); font-weight: 700; line-height: 1.35; }
.stat__src { font-size: .76rem; color: var(--text-muted); line-height: 1.45; }
.vs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
    margin-top: 1.4rem;
    text-align: left;
}
.vs__col {
    padding: 1.6rem 1.5rem;
    border-radius: 1.2rem;
    border: 1px solid var(--card-line);
    background: linear-gradient(160deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .012));
}
.vs__col h3 { font-size: 1.1rem !important; margin-bottom: 1rem !important; }
.vs__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.vs__col li { display: flex; gap: .7rem; align-items: flex-start; line-height: 1.5; color: rgba(255, 255, 255, .86); }
.vs__col li .ic { flex: none; width: 20px; height: 20px; margin-top: .15rem; }
.vs__col li b { color: #fff; }
.vs__col--other { border-color: var(--pain-line); }
.vs__col--other h3 { color: var(--pain); }
.vs__col--other li { color: rgba(255, 255, 255, .62); }
.vs__col--other li .ic { color: var(--pain); }
.vs__col--other li:first-child .ic { color: rgba(255, 255, 255, .45); }
.vs__col--us { border-color: rgba(125, 249, 255, .38); box-shadow: 0 0 40px rgba(125, 249, 255, .08); }
.vs__col--us h3 { color: var(--neon); }
.vs__col--us li .ic { color: var(--neon); }
.cash__quote { margin-top: 3rem; font-size: clamp(1.4rem, 3.4vw, 2.2rem); }
.cash__next {
    display: inline-block;
    margin-top: 1.6rem;
    color: var(--neon);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(125, 249, 255, .35);
    padding-bottom: .15rem;
}
.cash__next:hover { border-bottom-color: var(--neon); }

/* Pruébalo en tu lavandería */
.trial__box {
    position: relative;
    max-width: 920px;
    margin: 0 auto;
    padding: clamp(2.2rem, 5vw, 3.6rem) clamp(1.3rem, 5vw, 3.6rem);
    border-radius: 1.8rem;
    border: 1px solid rgba(125, 249, 255, .32);
    background:
        radial-gradient(600px 300px at 50% 0%, rgba(125, 249, 255, .14), transparent 70%),
        linear-gradient(160deg, rgba(74, 44, 130, .55), rgba(20, 10, 46, .6));
    box-shadow: 0 30px 90px rgba(0, 0, 0, .4), 0 0 70px rgba(125, 249, 255, .08);
    overflow: hidden;
}
.trial__steps {
    list-style: none;
    padding: 0;
    margin: 2.2rem 0 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    counter-reset: tr;
}
.trial__steps li {
    counter-increment: tr;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .3rem;
    padding: 1.3rem .8rem 1.2rem;
    border-radius: 1rem;
    background: rgba(13, 6, 32, .45);
    border: 1px solid var(--line-soft);
}
.trial__steps li::before {
    content: counter(tr);
    position: absolute;
    top: .6rem;
    left: .8rem;
    font-size: .75rem;
    font-weight: 800;
    color: rgba(125, 249, 255, .6);
}
.trial__ic {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: var(--neon);
    border: 1px solid rgba(125, 249, 255, .4);
    margin-bottom: .5rem;
}
.trial__steps b { font-size: 1rem; }
.trial__steps small { color: var(--text-muted); font-size: .84rem; line-height: 1.4; }
button.cta { border: 0; font-family: inherit; cursor: pointer; }
.trial__cta { margin-top: 2.2rem; }
.trial__fine { margin-top: 1rem; font-size: .8rem; color: var(--text-muted); }

@media (max-width: 640px) {
    .stat { flex-direction: column; text-align: center; }
    .vs, .trial__steps { grid-template-columns: 1fr; }
    .trial__steps li { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: .9rem; row-gap: .1rem; align-items: center; text-align: left; padding: .9rem 1rem; }
    .trial__steps li::before { display: none; }
    .trial__ic { grid-row: span 2; margin: 0; }
}

/* Harmonix (BBMax) */
.harmonix {
    overflow: hidden;
    background:
        radial-gradient(700px 500px at 75% 50%, rgba(125, 249, 255, .09), transparent 70%),
        linear-gradient(180deg, transparent, var(--bg-band) 15%, var(--bg-band) 85%, transparent);
}
.hx {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
    text-align: left;
}
.hx .lead { margin: 0; }
.hx__points { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: 1.2rem; }
.hx__points li { display: flex; gap: 1rem; align-items: flex-start; }
.hx__ic {
    flex: none;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    color: var(--neon);
    background: rgba(125, 249, 255, .08);
    border: 1px solid var(--line);
}
.hx__points b { display: block; font-size: 1.05rem; margin-bottom: .2rem; }
.hx__points p { color: var(--text-muted); line-height: 1.55; font-size: .95rem; }
.hx__visual {
    position: relative;
    aspect-ratio: 1 / 1;
    max-width: 480px;
    width: 100%;
    justify-self: center;
    display: grid;
    place-items: center;
}
.hx__rings, .hx__rings span { position: absolute; inset: 0; border-radius: 50%; }
.hx__rings span {
    inset: 18%;
    border: 1px solid rgba(125, 249, 255, .35);
    animation: hxRing 3.6s ease-out infinite;
    opacity: 0;
}
.hx__rings span:nth-child(2) { animation-delay: 1.2s; }
.hx__rings span:nth-child(3) { animation-delay: 2.4s; }
@keyframes hxRing {
    0% { transform: scale(.6); opacity: 0; }
    20% { opacity: .9; }
    100% { transform: scale(1.35); opacity: 0; }
}
.hx__img {
    position: relative;
    z-index: 1;
    width: 58%;
    height: auto;
    filter: drop-shadow(0 24px 40px rgba(0, 0, 0, .55)) drop-shadow(0 0 30px rgba(125, 249, 255, .15));
}
.hx__net { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.hx__net line {
    stroke: rgba(125, 249, 255, .22);
    stroke-width: 1;
    animation: hxEdge 4.8s ease-in-out infinite;
    animation-delay: calc(var(--d) * -0.4s);
}
.hx__net circle {
    fill: var(--neon);
    filter: drop-shadow(0 0 6px rgba(125, 249, 255, .9));
    transform-box: fill-box;
    transform-origin: center;
    animation: hxNode 4.8s ease-in-out infinite;
    animation-delay: calc(var(--d) * -0.4s);
}
.hx__net circle:nth-child(5n) { fill: var(--accent); filter: drop-shadow(0 0 6px rgba(168, 85, 247, .9)); }
@keyframes hxEdge { 0%, 100% { stroke: rgba(125, 249, 255, .12); } 50% { stroke: rgba(125, 249, 255, .55); } }
@keyframes hxNode { 0%, 100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.35); } }
.hx__card {
    position: absolute;
    z-index: 3;
    right: -2%;
    top: 4%;
    max-width: 220px;
    padding: .9rem 1rem;
    border-radius: 1rem;
    background: rgba(13, 6, 32, .82);
    border: 1px solid var(--line);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .4);
}
.hx__card b { display: block; font-size: .9rem; color: var(--neon); margin-bottom: .3rem; }
.hx__card p { font-size: .8rem; line-height: 1.45; color: rgba(255, 255, 255, .82); }
.hx__card small { display: block; margin-top: .55rem; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
@media (max-width: 860px) {
    .hx { grid-template-columns: 1fr; }
    .hx__copy { text-align: center; }
    .hx .lead { margin: 0 auto; }
    .hx__points { text-align: left; max-width: 520px; margin-left: auto; margin-right: auto; }
    .hx__visual { max-width: 380px; }
    .hx__card { position: relative; right: auto; top: auto; max-width: none; margin-top: -1rem; grid-row: 3; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    .hx__rings span, .hx__net line, .hx__net circle { animation: none; }
}

/* Banda superior: indicador en directo */
.event-band__slug--live { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; font-weight: 600; }
.event-band__slug--live b { color: var(--neon); font-weight: 800; }
.live-dot {
    flex: none;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 0 rgba(52, 211, 153, .6);
    animation: liveDot 1.8s ease-out infinite;
}
@keyframes liveDot {
    0% { box-shadow: 0 0 0 0 rgba(52, 211, 153, .6); }
    100% { box-shadow: 0 0 0 10px rgba(52, 211, 153, 0); }
}
@media (max-width: 860px) {
    .hx__visual { aspect-ratio: auto; display: flex; flex-direction: column; align-items: center; gap: 1rem; padding-top: 1.5rem; }
    .hx__rings { inset: 0 0 auto 0; aspect-ratio: 1 / 1; }
    .hx__net { inset: 0 0 auto 0; aspect-ratio: 1 / 1; height: auto; }
    .hx__card { margin-top: 0; }
}
@media (max-width: 760px) {
    .event-band__slug--live { display: flex; text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .live-dot { animation: none; } }

/* Enlaces del selector a cada apartado */
.picker__more {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: 1.3rem;
    padding: .6rem 1.1rem;
    border-radius: 999px;
    border: 1px solid rgba(125, 249, 255, .4);
    color: var(--neon);
    font-weight: 700;
    font-size: .9rem;
    text-decoration: none;
    transition: background .25s ease, box-shadow .25s ease;
}
.picker__more:hover { background: rgba(125, 249, 255, .1); box-shadow: 0 0 20px rgba(125, 249, 255, .2); }

/* Cómo funciona (3 pasos) */
.how__steps {
    list-style: none;
    padding: 0;
    margin: 3rem 0 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
    position: relative;
    text-align: left;
}
.how__steps::before {
    content: "";
    position: absolute;
    top: 118px;
    left: 12%;
    right: 12%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(125, 249, 255, .55), transparent);
}
.how__step {
    position: relative;
    padding: 1.4rem 1.4rem 1.6rem;
    border-radius: 1.3rem;
    border: 1px solid var(--card-line);
    background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015));
    transition: transform .3s ease, border-color .3s ease;
}
.how__step:hover { transform: translateY(-4px); border-color: rgba(125, 249, 255, .4); }
.how__step:nth-child(2) { transition-delay: .08s; }
.how__step:nth-child(3) { transition-delay: .16s; }
.how__img {
    margin: 0 0 1rem;
    height: 200px;
    display: grid;
    place-items: center;
    background: radial-gradient(50% 50% at 50% 55%, rgba(125, 249, 255, .14), transparent 70%);
}
.how__img img { max-height: 200px; max-width: 85%; width: auto; height: auto; filter: drop-shadow(0 16px 28px rgba(0, 0, 0, .5)); }
.how__num {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    font-weight: 800;
    font-size: .9rem;
    color: var(--bg-deep);
    background: var(--neon);
    box-shadow: 0 0 16px rgba(125, 249, 255, .5);
    margin-bottom: .8rem;
}
.how__step h3 { font-size: 1.25rem !important; }
.how__step p { color: var(--text-muted); line-height: 1.6; font-size: .95rem; }
.how__end {
    margin-top: 2.6rem;
    font-size: clamp(1.4rem, 3.4vw, 2.2rem);
    font-weight: 800;
    letter-spacing: -.015em;
    text-wrap: balance;
}
.how__end .em { color: var(--neon); text-shadow: 0 0 22px rgba(125, 249, 255, .35); }
@media (max-width: 860px) {
    .how__steps { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; }
    .how__steps::before { display: none; }
    .how__img { height: 170px; }
    .how__img img { max-height: 170px; }
}

/* Dato de pagos en monedas y barra */
.stat--own { flex-direction: column; align-items: stretch; gap: 1.3rem; max-width: 820px; }
.stat__row { display: flex; align-items: center; gap: clamp(1.2rem, 4vw, 2.4rem); }
.split {
    display: flex;
    height: 46px;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid var(--line);
    font-size: .85rem;
    font-weight: 600;
}
.split > span {
    flex: 0 0 var(--w);
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: 0 1rem;
    white-space: nowrap;
    overflow: hidden;
    transform-origin: left;
}
.split__coins { background: linear-gradient(90deg, rgba(125, 249, 255, .85), rgba(125, 249, 255, .55)); color: var(--bg-deep); }
.split__digital { background: rgba(168, 85, 247, .35); color: #fff; justify-content: flex-end; }
.reveal .split__coins { transform: scaleX(.05); transition: transform 1.2s cubic-bezier(.2, .7, .2, 1) .3s; }
.reveal.in .split__coins { transform: none; }
.stat__also { font-size: .92rem; line-height: 1.6; color: var(--text-muted); }
.stat__also small { font-size: .78em; opacity: .8; }
@media (max-width: 640px) {
    .stat__row { flex-direction: column; text-align: center; }
    .split { font-size: .74rem; height: 40px; }
    .split > span { padding: 0 .7rem; }
    .split__digital > span { display: none; }
    .stat__also { text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .reveal .split__coins { transform: none; transition: none; } }

/* Responsive de las secciones de producto */
@media (max-width: 980px) {
    .bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tile--dash { grid-column: 1 / -1; }
    .tile--pwa { grid-column: span 1; grid-row: span 2; }
    .tile--kore, .tile--b2b { grid-column: span 1; }
}
@media (max-width: 860px) {
    .ekcash__intro { grid-template-columns: 1fr; text-align: center; }
    .ekcash__intro .lead { margin: 0 auto; }
    .ekcash__photo { max-width: 340px; }
    .picker__pane { grid-template-columns: 1fr; }
    .picker__img { min-height: 0; }
    .picker__img img { max-height: 300px; }
}
@media (max-width: 640px) {
    .chapters { top: .55rem; }
    .chapters a { padding: .4rem .7rem; font-size: .74rem; }
    .flow, .ekcash__notes, .terminals { grid-template-columns: 1fr; }
    .picker__tab { padding: .85rem .3rem; }
    .picker__tab b { font-size: .95rem; }
    .picker__tab span { font-size: .68rem; text-align: center; }
    .specs div { grid-template-columns: 1fr; gap: .2rem; }
    .bento { grid-template-columns: 1fr; }
    .tile--dash, .tile--pwa, .tile--kore, .tile--b2b { grid-column: auto; grid-row: auto; }
    .tile--dash { flex-direction: column; }
    .tile--dash img { width: 80%; flex: none; }
    .phones img { width: 38%; }
    .install::before { left: 18%; right: 18%; }
    .install small { font-size: .76rem; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .chapters, .tile, .phones img, .how__step { transition: none; }
    .picker__pane.is-on { animation: none; }
}

/* Distintivo «Galería de la Innovación» */
.ek-award {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: 1.6rem;
    padding: .55rem 1rem .55rem .7rem;
    border-radius: 999px;
    border: 1px solid rgba(125, 249, 255, .35);
    background: rgba(125, 249, 255, .07);
    color: #fff;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, border-color .2s;
}
.ek-award:hover { background: rgba(125, 249, 255, .14); border-color: var(--neon); }
.ek-award .ic { width: 20px; height: 20px; color: var(--neon); flex: 0 0 auto; }
.ek-award b { color: var(--neon); font-weight: 700; }
.picker__award {
    display: inline-flex; align-items: center; gap: .4rem;
    margin: 0 0 .8rem; padding: .3rem .7rem; border-radius: 999px;
    background: rgba(125, 249, 255, .1); color: var(--neon);
    font-size: .78rem; font-weight: 700; letter-spacing: .02em;
}
.picker__award .ic { width: 16px; height: 16px; }

/* Una plataforma */
.ek-one { background: radial-gradient(900px 420px at 50% 50%, rgba(125, 249, 255, .06), transparent 70%); }
.ek-one__row {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem;
    max-width: 880px; margin: 2.2rem auto 0;
}
.ek-one__row > span {
    padding: 1rem .8rem; border-radius: .9rem; border: 1px solid var(--line);
    background: rgba(255, 255, 255, .03); font-weight: 600; font-size: .95rem;
}
.ek-one__row .ic { display: block; margin: 0 auto .5rem; color: var(--neon); }

/* Fabricantes: capas */
.ek-layers {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem;
    margin-top: 2.4rem; text-align: left;
}
.ek-layer {
    display: flex; gap: .75rem; align-items: flex-start;
    padding: 1.1rem 1.1rem; border-radius: 1rem;
    border: 1px solid var(--card-line);
    background: linear-gradient(160deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .012));
}
.ek-layer .ic { color: var(--neon); flex: 0 0 auto; margin-top: .1rem; }
.ek-layer b { display: block; font-size: .98rem; margin-bottom: .2rem; }
.ek-layer small { color: var(--text-muted); font-size: .84rem; line-height: 1.5; }
.ek-layer--all { border-color: rgba(168, 85, 247, .5); background: linear-gradient(160deg, rgba(168, 85, 247, .16), rgba(125, 249, 255, .04)); }
.ek-fab__quote { margin-top: 2.6rem; }

/* Quiénes somos */
.ek-team {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem;
    max-width: 900px; margin: 2.4rem auto 0; text-align: left;
}
.ek-person {
    display: flex; gap: 1.1rem; align-items: flex-start;
    padding: 1.4rem; border-radius: 1.1rem; border: 1px solid var(--card-line);
    background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015));
}
.ek-avatar {
    flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 1.25rem; color: var(--bg-deep);
    background: linear-gradient(135deg, var(--neon), var(--accent));
}
.ek-person h3 { margin-bottom: .1rem !important; font-size: 1.15rem !important; }
.ek-person__role { color: var(--neon); font-size: .85rem; font-weight: 600; margin-bottom: .6rem; }
.ek-person p { color: var(--text-muted); font-size: .93rem; line-height: 1.6; }
.ek-person a { display: inline-block; margin-top: .7rem; color: #fff; font-size: .88rem; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(125, 249, 255, .5); }
.ek-person a:hover { color: var(--neon); }

.ek-time {
    list-style: none; padding: 0; margin: 3rem auto 0; max-width: 980px;
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0;
    position: relative; text-align: left;
}
.ek-time::before {
    content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 2px;
    background: linear-gradient(90deg, var(--accent), var(--neon));
    opacity: .6;
}
.ek-time li { position: relative; padding: 1.6rem .9rem 0 0; }
.ek-time li::before {
    content: ""; position: absolute; top: 0; left: 0; width: 16px; height: 16px; border-radius: 50%;
    background: var(--bg-deep); border: 2px solid var(--neon);
}
.ek-time li.is-now::before { background: var(--neon); box-shadow: 0 0 14px rgba(125, 249, 255, .7); }
.ek-time time { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--neon); margin-bottom: .3rem; }
.ek-time span { font-size: .92rem; line-height: 1.45; color: rgba(255, 255, 255, .86); }

/* Prensa */
.ek-press {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem;
    margin-top: 2.4rem; text-align: left;
}
.ek-clip {
    display: flex; flex-direction: column; gap: .5rem;
    padding: 1.2rem 1.25rem; border-radius: 1rem; border: 1px solid var(--card-line);
    background: rgba(255, 255, 255, .035); text-decoration: none; color: #fff;
    transition: transform .2s, border-color .2s;
}
.ek-clip:hover { transform: translateY(-3px); border-color: rgba(125, 249, 255, .4); }
.ek-clip__src { font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--neon); }
.ek-clip__t { font-weight: 700; line-height: 1.35; font-size: 1rem; }
.ek-clip__d { margin-top: auto; font-size: .82rem; color: var(--text-muted); }
.ek-clip--lead { grid-column: span 3; border-color: rgba(168, 85, 247, .5); background: linear-gradient(160deg, rgba(168, 85, 247, .14), rgba(255, 255, 255, .02)); }
.ek-clip--lead .ek-clip__t { font-size: 1.25rem; }
.ek-clip__x { color: var(--text-muted); font-size: .93rem; line-height: 1.55; }

.ek-kit { margin-top: 3.2rem; text-align: left; }
.ek-kit__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.ek-kit__head h3 { margin: 0 !important; }
.ek-kit__zip {
    display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.2rem; border-radius: 999px;
    border: 1px solid var(--neon); color: var(--neon); text-decoration: none; font-weight: 700; font-size: .92rem;
}
.ek-kit__zip:hover { background: rgba(125, 249, 255, .1); }
.ek-kit__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.ek-asset {
    display: flex; flex-direction: column; border-radius: .9rem; overflow: hidden;
    border: 1px solid var(--line); background: rgba(255, 255, 255, .03); text-decoration: none; color: #fff;
}
.ek-asset:hover { border-color: rgba(125, 249, 255, .45); }
.ek-asset__img { aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ek-asset__img img { width: 100%; height: 100%; object-fit: cover; }
.ek-asset__img--logo { padding: 1.4rem; }
.ek-asset__img--logo img { object-fit: contain; }
.ek-asset__img--white { background: #fff; }
.ek-asset__img--dark { background: #140a2e; }
.ek-asset__img--grey { background: #eef2f7; }
.ek-asset__cap { padding: .7rem .85rem; font-size: .84rem; display: flex; justify-content: space-between; gap: .5rem; }
.ek-asset__cap small { color: var(--neon); font-weight: 700; white-space: nowrap; }

.ek-boiler {
    margin-top: 2.4rem; padding: 1.5rem 1.6rem; border-radius: 1.1rem;
    border-left: 3px solid var(--neon); background: rgba(255, 255, 255, .035); text-align: left;
}
.ek-boiler h3 { font-size: 1.05rem !important; }
.ek-boiler p { color: rgba(255, 255, 255, .82); line-height: 1.65; font-size: .97rem; }
.ek-boiler__row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.1rem; align-items: center; }
.ek-btn {
    display: inline-flex; align-items: center; gap: .45rem; padding: .65rem 1.1rem; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .25); background: transparent; color: #fff; font: inherit;
    font-size: .9rem; font-weight: 600; cursor: pointer; text-decoration: none;
}
.ek-btn:hover { border-color: var(--neon); color: var(--neon); }
.ek-btn--solid { background: linear-gradient(135deg, var(--neon), var(--accent)); color: var(--bg-deep); border: 0; }
.ek-btn--solid:hover { color: var(--bg-deep); filter: brightness(1.08); }

/* FAQ */
.ek-faq { max-width: 820px; margin: 2.2rem auto 0; text-align: left; }
.ek-faq details { border-bottom: 1px solid var(--line); }
.ek-faq summary {
    list-style: none; cursor: pointer; padding: 1.15rem 2.2rem 1.15rem 0; position: relative;
    font-weight: 700; font-size: 1.04rem;
}
.ek-faq summary::-webkit-details-marker { display: none; }
.ek-faq summary::after {
    content: "+"; position: absolute; right: .3rem; top: 50%; transform: translateY(-50%);
    color: var(--neon); font-size: 1.5rem; font-weight: 300; transition: transform .2s;
}
.ek-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.ek-faq summary:focus-visible { outline: 2px solid var(--neon); outline-offset: 4px; border-radius: 4px; }
.ek-faq p { color: var(--text-muted); line-height: 1.65; padding: 0 0 1.2rem; }
.ek-faq a { color: var(--neon); }

.closing__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1rem; align-items: center; }
.closing__ctas .ek-btn { margin-top: 2rem; padding: 1rem 1.6rem; }

/* Responsive de quiénes somos, prensa y FAQ */
@media (max-width: 980px) {
    .ek-layers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ek-kit__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ek-press { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ek-clip--lead { grid-column: span 2; }
    .ek-time { grid-template-columns: 1fr; gap: 1.1rem; padding-left: 1.6rem; }
    .ek-time::before { left: 7px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(180deg, var(--accent), var(--neon)); }
    .ek-time li { padding: 0 0 0 .6rem; }
    .ek-time li::before { left: -1.6rem; top: .15rem; }
}
@media (max-width: 760px) {
    .ek-team { grid-template-columns: 1fr; }
    .ek-one__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .ek-layers, .ek-press { grid-template-columns: 1fr; }
    .ek-clip--lead { grid-column: auto; }
    .ek-person { flex-direction: column; }
    .ek-award { font-size: .82rem; }
}
@media (prefers-reduced-motion: reduce) {
    .ek-clip, .ek-faq summary::after { transition: none; }
}

/* Enlace a «Quiénes somos y prensa» desde la home */
.ek-teaser { padding-top: 1rem !important; padding-bottom: clamp(3rem, 7vh, 4.5rem) !important; }
.ek-teaser__box {
    display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap;
    max-width: 880px; margin: 0 auto; padding: 1.4rem 1.6rem; border-radius: 1.1rem;
    border: 1px solid var(--card-line); background: linear-gradient(160deg, rgba(168, 85, 247, .12), rgba(255, 255, 255, .02));
    color: #fff; text-decoration: none; text-align: left; transition: border-color .2s, transform .2s;
}
.ek-teaser__box:hover { border-color: var(--neon); transform: translateY(-2px); }
.ek-teaser__box b { display: block; font-size: 1.15rem; margin-bottom: .25rem; }
.ek-teaser__box small { color: var(--text-muted); font-size: .93rem; }
.ek-teaser__cta { color: var(--neon); font-weight: 700; white-space: nowrap; }

/* Página «Quiénes somos y prensa» */
.ek-home { display: inline-block; }
.ek-about-hero { padding-top: clamp(3rem, 8vh, 5rem) !important; }
.ek-about-title { font-size: clamp(2.2rem, 6vw, 4rem) !important; margin-bottom: 1.2rem; }
.ek-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.ek-avatar--photo { background: none; padding: 0; overflow: hidden; border: 2px solid rgba(125, 249, 255, .5); }

/* Menú de capítulos: enlace destacado a /nosotros */
.chapters a.chapters__out {
    margin-left: .35rem;
    border: 1px solid rgba(125, 249, 255, .35);
    color: var(--neon);
}
.chapters a.chapters__out:hover { background: rgba(125, 249, 255, .1); }
/* Fotos del equipo: algo más grandes que las iniciales */
.ek-avatar.ek-avatar--photo { flex: 0 0 88px; width: 88px; height: 88px; }
/* Menú de la página «Nosotros y prensa»: el enlace de vuelta va primero */
.chapters a.chapters__home { margin: 0 .35rem 0 0; }

/* Menú de capítulos en móvil: botón con la sección actual y lista desplegable */
.chapters__toggle { display: none; }
@media (max-width: 760px) {
    .chapters {
        left: .75rem;
        right: .75rem;
        top: .6rem;
        max-width: none;
        flex-direction: column;
        gap: .15rem;
        padding: .3rem;
        overflow: visible;
        border-radius: 1.2rem;
        transform: translateY(-150%);
    }
    .chapters.is-visible { transform: translateY(0); }
    .chapters__toggle {
        display: flex;
        align-items: center;
        gap: .6rem;
        width: 100%;
        padding: .7rem .9rem;
        border: 0;
        border-radius: .95rem;
        background: transparent;
        color: #fff;
        font: inherit;
        font-size: .95rem;
        font-weight: 700;
        text-align: left;
        cursor: pointer;
    }
    .chapters__current { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--neon); }
    .chapters__label { font-size: .82rem; font-weight: 600; color: rgba(255, 255, 255, .7); }
    .chapters__bars, .chapters__bars::before, .chapters__bars::after {
        display: block;
        width: 18px;
        height: 2px;
        border-radius: 2px;
        background: #fff;
        transition: transform .25s ease, opacity .25s ease;
    }
    .chapters__bars { position: relative; }
    .chapters__bars::before, .chapters__bars::after { content: ""; position: absolute; left: 0; }
    .chapters__bars::before { top: -6px; }
    .chapters__bars::after { top: 6px; }
    .chapters.is-open .chapters__bars { background: transparent; }
    .chapters.is-open .chapters__bars::before { transform: translateY(6px) rotate(45deg); }
    .chapters.is-open .chapters__bars::after { transform: translateY(-6px) rotate(-45deg); }

    .chapters a,
    .chapters a.chapters__out,
    .chapters a.chapters__home { display: none; margin: 0; }
    .chapters.is-open a {
        display: block;
        padding: .85rem 1rem;
        border-radius: .85rem;
        font-size: 1rem;
        white-space: normal;
    }
    .chapters.is-open a.chapters__out { margin-top: .3rem; text-align: center; }
    .chapters.is-open { background: rgba(13, 6, 32, .94); }
}

/* Kore, la ayudante virtual: en la tarjeta de Plataforma y en el botón del chat */
.kore-tile { display: block; margin: .4rem auto -.4rem; }
.kc-fab.kc-fab--kore {
    background: radial-gradient(circle at 50% 40%, #241047 0%, #0d0620 75%);
    border: 1px solid rgba(125, 249, 255, .55);
    overflow: hidden;
}
.kc-fab--kore svg { display: none; }
.kc-fab:not(.kc-fab--kore) .kc-kore { display: none; }
.kc-kore { display: block; margin: -2px auto 0; pointer-events: none; }
.kc-avatar canvas { display: block; margin: -6px -4px -4px; }

/* ── Ajustes de maquetación (auditoría en escritorio y móvil) ── */
/* Banda del evento: en pantallas medianas el texto se parte para no desbordar */
@media (max-width: 1100px) {
    .event-band__slug { white-space: normal; text-wrap: balance; }
}
/* «Quiénes somos»: título, entradilla y equipo comparten el mismo eje */
@media (min-width: 761px) {
    .ek-about-hero .wrap { text-align: center; }
    .ek-about-hero .wrap > .lead { margin-inline: auto; }
}
/* Móvil y tabletas táctiles: ningún texto por debajo de 12 px y botones cómodos de tocar */
@media (max-width: 760px), (pointer: coarse) {
    .stat__also small,
    .hero__scroll,
    .picker__tab span,
    .split,
    .stat__src,
    .tile__tag,
    .tile__note,
    .mach-report__live,
    .hx__card small,
    .ek-asset__cap small { font-size: .75rem !important; }
    .picker__more,
    .ek-btn { min-height: 44px; }
    .chapters a { padding-block: .7rem; }
    .ek-person a {
        padding: .6rem 0;
        border-bottom: 0;
        text-decoration: underline;
        text-decoration-color: rgba(125, 249, 255, .5);
        text-underline-offset: 4px;
    }
}
