/* Variables Globales y Sistema de Diseño */
:root {
    /* Colores del Glassmorphism */
    --glass-bg: rgba(255, 255, 255, 0.05); /* Cristal base */
    --glass-bg-hover: rgba(255, 255, 255, 0.1);
    --glass-border: rgba(255, 255, 255, 0.15); /* Bordes sutiles */
    --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37); /* Sombra difusa */
    
    /* Tipografía y acentos basados en el fondo azul proporcionado */
    --text-primary: #ffffff;
    --text-secondary: rgba(255, 255, 255, 0.7);
    --accent-color: #00d2ff; /* Azul claro brillante para contrastar */
    --font-main: 'Outfit', sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}body {
    font-family: var(--font-main) !important;
    color: var(--text-primary)!important;
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #03060f; /* Color de respaldo ultra oscuro */
    scroll-behavior: smooth;
}

/* 
   Contenedor del Fondo
   Se escalará y cambiará de color dinámicamente mediante la variable CSS --scroll-pct.
*/
.background-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -2;
    background: url('../img/fondo_landing_portfolio.png') no-repeat center center / cover;
    will-change: transform, filter;
    
    /* Transformación de zoom 3D y desplazamiento en base al scroll */
    transform: 
        scale(calc(1.1 + var(--scroll-pct, 0) * 0.2)) 
        translateY(calc(var(--scroll-pct, 0) * -5%));
    
    /* Cambio cromático gradual (de azul a morado profundo/índigo) y ajuste de brillo */
    filter: 
        brightness(calc(0.85 + var(--scroll-pct, 0) * 0.2)) 
        hue-rotate(calc(var(--scroll-pct, 0) * 20deg))
        saturate(calc(1.0 + var(--scroll-pct, 0) * 0.3));
}



/*
   Capa de partículas flotantes (Parallax)
*/
.background-particles {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
}

.particle {
    position: absolute;
    border-radius: 50%;
    /* Degradado radial para simular un orbe luminoso brillante */
    background: radial-gradient(circle, rgba(0, 210, 255, 0.4) 0%, rgba(0, 110, 255, 0.12) 50%, rgba(0, 0, 0, 0) 70%);
    filter: blur(15px);
    pointer-events: none;
    will-change: transform;
}

/* 
   Contenedor de Contenido Scrollable
*/
.content-wrapper {
    width: 98%;
    max-width: 1680px;
    margin: 180px auto 4rem auto; /* Espacio para el header fijo */
    display: flex;
    flex-direction: column;
    gap: 6rem; /* Separación elegante entre secciones */
}

/* 
   Sección Glassmorphism Individual
*/
.glass-section {
    width: 100%;
    min-height: 90vh;
    border-radius: 30px;
    padding: 3.5rem;
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    
    /* Efecto Glassmorphic Premium */
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    position: relative;
    overflow: hidden;
}

.glass-section-profile-ds {
    width: 100%;
    min-height: 90vh;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* Efecto Glassmorphic Premium */
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    position: relative;
    overflow: hidden;
}

.glass-section-video {
    width: 100%;
    height: 10vh;
    border-radius: 30px;
    padding: 0;
    
    /* Efecto Glassmorphic Premium */
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    position: relative;
    overflow: hidden;
}

#inicio {
    position: relative;
}

/* Video de fondo absoluto para el Hero */
.hero-video-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover; /* Permite que el video cubra todo el espacio sin distorsionarse */
    z-index: 0;
    pointer-events: none;
    opacity: 0.4; /* Atenuación sutil del video */
}

/* Capa de contraste encima del video pero debajo del contenido */
.hero-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(9, 53, 187, 0.911) 25%, rgba(47, 27, 226, 0.863) 85%);
    z-index: 1;
}

/* Forzar que el contenido del hero se renderice sobre el video */
.hero {
    position: relative;
    z-index: 2;
    width: 100%;
}

/* 
   Header / Navegación Sticky / Flotante
*/
.glass-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.8rem 2.5rem;
    border-radius: 100px;
    
    background: rgba(5, 9, 20, 0.35);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.sticky-header {
    position: fixed;
    top: 35px;
    left: 50%;
    transform: translateX(-50%);
    width: 92%;
    max-width: 1680px;
    z-index: 100;
}

.logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.5rem;
    font-weight: 700;
}

.icon-log {
    width: 80px;
    height: auto;
    border-radius: 10px;
}

.glass-nav ul {
    display: flex;
    list-style: none;
    gap: 2.5rem;
}

.glass-nav a {
    color: var(--text-secondary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.glass-nav a:hover {
    color: var(--text-primary);
}

/* 
   Botones 
*/
.glass-btn {
    padding: 0.8rem 1.8rem;
    border-radius: 100px;
    border: none;
    font-family: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 1rem;
}

.glass-btn.primary {
    background: var(--glass-bg);
    color: var(--text-primary);
    border: 1px solid var(--glass-border);
    text-decoration: none;
}

.glass-btn.primary:hover {
    background: rgba(0, 210, 255, 0.15);
    border-color: var(--accent-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 210, 255, 0.2);
}

.glass-btn.secondary {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid transparent;
}

.glass-btn.secondary:hover {
    border-color: var(--glass-border);
    background: var(--glass-bg);
}

/* 
   Sección Hero (Flexbox Layout)
*/
.hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 4rem;
}

.hero-content {
    flex: 1.2;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.hero-content h1 {
    font-size: 4.5rem;
    line-height: 1.1;
    font-weight: 700;
}

.hero-content h1 span {
    background: linear-gradient(135deg, #fff, var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-content p {
    font-size: 1.2rem;
    color: var(--text-secondary);
    max-width: 500px;
    line-height: 1.6;
}

.hero-actions {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}

/* 
   Tarjetas Hero (Más Flexbox)
*/
.hero-cards {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.glass-card {
    background: var(--glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 2rem;
    transition: transform 0.4s ease, background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

.glass-card:hover {
    transform: translateY(-8px);
    background: var(--glass-bg-hover);
    border-color: rgba(0, 210, 255, 0.3);
    box-shadow: 0 10px 25px rgba(0, 210, 255, 0.1);
}

.card-icon {
    font-size: 2.8rem;
    color: var(--accent-color);
    margin-bottom: 1rem;
}

.glass-card h3 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.glass-card p {
    color: var(--text-secondary);
    line-height: 1.5;
}

/* 
   Títulos de Secciones
*/
.section-title {
    text-align: center;
    margin-bottom: 3.5rem;
}

.section-title h2 {
    font-size: 3.2rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.services-section {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
    padding: 3.5rem;
    justify-content: center;
    top: 20%;
    
}

.loopbranding {
    width: 100%;
    height: 10%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}


/* Designer Section */

.container-general-designer {
    width: 100%;
    height: auto;
}

.designer-section {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.designer-profile-container {
    display: flex;
    height: 800px;
    flex-direction: row;
    background-color: #00d2ff;
    gap: 2rem;
}

.designer-profile {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.designer-profile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}

.designer-profile img:hover {
    transform: scale(1.1);
}

.container-subtitle-profile {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.container-subtitle-profile p {
    color: var(--text-secondary);
    font-size: 1.2rem;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.5;
}   



.section-title h2 span {
    background: linear-gradient(135deg, #fff, var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-title p {
    color: var(--text-secondary);
    font-size: 1.2rem;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.5;
}

/* 
   Sección 2: Características Grid
*/
.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.feature-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* 
   Sección 3: Servicios Layout
*/
.services-layout {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 2rem;
}

.service-main {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 3rem;
    height: 100%;
}

.small-btn {
    align-self: flex-start;
    padding: 0.6rem 1.4rem;
    font-size: 0.9rem;
}

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

.service-sub {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.service-sub:hover {
    transform: translateX(10px);
}

/* 
   Sección 4: Contacto y Formulario
*/
.contact-card {
    text-align: center;
    max-width: 650px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contact-card h2 {
    font-size: 3.5rem;
    font-weight: 700;
}

.contact-card h2 span {
    background: linear-gradient(135deg, #fff, var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.glass-form {
    margin-top: 1rem;
    width: 100%;
}

.form-group {
    display: flex;
    gap: 1rem;
    width: 100%;
}

.glass-input {
    flex: 1;
    padding: 1rem 1.5rem;
    border-radius: 100px;
    border: 1px solid var(--glass-border);
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    font-family: inherit;
    font-size: 1rem;
    outline: none;
    transition: all 0.3s ease;
}

.glass-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.glass-input:focus {
    border-color: var(--accent-color);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 15px rgba(0, 210, 255, 0.2);
}

.form-btn {
    padding: 0 2.5rem;
}

.service-tools {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: left;
    align-items: initial;
    gap: 3rem;
    margin-top: 2rem;
}

.fav-tools {
    width: 100%;
    height: 10%;
    display: flex;
    justify-content: left;
    align-items: left;
    flex-direction: row;
    gap: 1rem;
}

.fav-tools img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    transition: all 0.3s ease;
}

.fav-tools img:hover {
    transform: scale(1.1);
}

.colors-kaizen {
    width: 100%;
    height: 50%;
    display: flex;
    justify-content: left;
    align-items: left;
    flex-direction: column;
    margin-top: 2rem;
    gap: 1rem;
}

.group-colors-kaizen {
    width: 100%;
    height: 10%;
    display: flex;
    justify-content: left;
    align-items: left;
    flex-direction: row;
    margin-top: 2rem;
    margin-bottom: 2rem;
    gap: 2rem;
}

.colork {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid white;
    object-fit: cover;
    transition: all 0.3s ease;
}



.colors-d-amor {
    width: 100%;
    height: 50%;
    display: flex;
    justify-content: left;
    align-items: left;
    flex-direction: column;
    margin-top: 2rem;
    gap: 1rem;
}

.group-colors-d-amor {
    width: 100%;
    height: 10%;
    display: flex;
    justify-content: left;
    align-items: left;
    flex-direction: row;
    margin-top: 2rem;
    margin-bottom: 2rem;
    gap: 2rem;
}

.colord-m {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid rgb(31, 29, 29);
    object-fit: cover;
    transition: all 0.3s ease;
}

.color-box-nexo {
    width: 100%;
    height: 50%;
    display: flex;
    justify-content: left;
    align-items: left;
    flex-direction: column;
    margin-top: 2rem;
    gap: 1rem;
}

.group-colors-nexo {
    width: 100%;
    height: 10%;
    display: flex;
    justify-content: left;
    align-items: left;
    flex-direction: row;
    margin-top: 2rem;
    margin-bottom: 2rem;
    gap: 2rem;
}

.color-nexo {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid rgb(241, 235, 235);
    object-fit: cover;
    transition: all 0.3s ease;
}

/* Footer */
.glass-footer-content {
    margin-top: 5rem;
    border-top: 1px solid var(--glass-border);
    padding-top: 2rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.9rem;
}

.img-merch-kaizen {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: 2rem;
    gap: 1rem;
}

.img-merch-kaizen img {
    width: 930px;
    transition: all 0.3s ease;
}

.img-merch-d-amor {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: 2rem;
    gap: 1rem;
}

.img-merch-d-amor img {
    width: 930px;
    transition: all 0.3s ease;
}

.img-merch-nexo {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: 2rem;
    gap: 1rem;
}

.img-merch-nexo img {
    width: 720px;
    transition: all 0.3s ease;
}

.fotomontajes-article {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    margin-top: 2rem;
}

.fotomontajes-article h2 {
    color: #f7f7f7;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

/* 
   Media Queries para Responsividad (Tablets y Móviles)
*/
@media (max-width: 1024px) {
    .content-wrapper {
        margin-top: 170px;
        gap: 4rem;
    }
    
    .hero {
        flex-direction: column;
        text-align: center;
        gap: 3rem;
    }
    
    .hero-content {
        align-items: center;
    }
    
    .hero-content p {
        text-align: center;
    }
    
    .hero-cards {
        width: 100%;
        flex-direction: row;
        gap: 1.5rem;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .services-layout {
        grid-template-columns: 1fr;
    }
    
    .glass-header {
        flex-direction: column;
        gap: 1.5rem;
        border-radius: 20px;
        padding: 1.5rem;
    }
    
    .sticky-header {
        top: 10px;
        width: 95%;
    }
    
    .glass-nav ul {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.5rem;
    }
}

@media (max-width: 991px) {
    .sticky-header {
        top: 18px;
        width: 94%;
        padding: 1rem 1.2rem;
    }

    .glass-header {
        border-radius: 28px;
        gap: 1rem;
    }

    .glass-nav ul {
        gap: 0.9rem 1.5rem;
        font-size: 0.92rem;
    }

    .content-wrapper {
        width: 94%;
        margin-top: 155px;
        gap: 3.25rem;
    }

    .glass-section {
        min-height: auto;
        padding: 2.2rem 1.4rem;
        border-radius: 24px;
    }

    .hero-content h1 {
        font-size: clamp(2.5rem, 6vw, 4rem);
    }

    .hero-actions {
        justify-content: center;
        flex-wrap: wrap;
    }

    .jc-profile-card {
        grid-template-columns: 240px 1fr;
        grid-template-areas:
            "photo main"
            "photo aside";
        gap: 1.75rem 1.4rem;
        padding: 2.2rem 1.6rem 2rem;
    }

    .jc-profile-photo-col {
        min-width: 0;
    }

    .jc-profile-header h2 {
        max-width: 11ch;
    }

    .jc-profile-polaroids {
        gap: 0.9rem;
    }

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

@media (max-width: 768px) {
    .sticky-header {
        width: 92%;
        top: 12px;
        padding: 0.95rem 1rem;
    }

    .glass-header {
        flex-direction: column;
        align-items: stretch;
        border-radius: 22px;
        gap: 0.75rem;
        padding: 1rem 0.9rem;
    }

    .logo {
        justify-content: center;
    }

    .glass-nav ul {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.8rem 1rem;
    }

    .glass-nav a {
        font-size: 0.88rem;
    }

    .glass-btn {
        width: auto;
        padding: 0.8rem 1.2rem;
    }

    .content-wrapper {
        width: 92%;
        margin-top: 150px;
        gap: 2.5rem;
    }

    .glass-section {
        padding: 1.4rem 1rem;
        border-radius: 20px;
    }

    .hero {
        gap: 1.8rem;
    }

    .hero-content {
        padding: 0.6rem 0;
    }

    .hero-content h1 {
        font-size: clamp(2.1rem, 10vw, 3.2rem);
        line-height: 1.08;
    }

    .hero-content p {
        font-size: 0.96rem;
    }

    .hero-cards {
        flex-direction: column;
        width: 100%;
        gap: 1rem;
    }

    .glass-card {
        min-height: 180px;
    }

    .jc-profile-card {
        grid-template-columns: 1fr;
        grid-template-areas:
            "photo"
            "main"
            "aside";
        gap: 1.5rem;
        padding: 1.8rem 1rem 1.5rem;
        border-radius: 22px;
    }

    .jc-profile-photo-col {
        order: 1;
    }

    .jc-profile-main {
        order: 2;
    }

    .jc-profile-aside {
        order: 3;
    }

    .jc-profile-tags {
        justify-content: center;
    }

    .jc-profile-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .jc-profile-header h2 {
        max-width: none;
        font-size: clamp(1.8rem, 7vw, 2.5rem);
    }

    .jc-profile-polaroids {
        margin-top: 0.5rem;
    }

    .jc-polaroid {
        width: 47%;
        min-width: 0;
    }

    .home-grid {
        grid-template-columns: 1fr;
        gap: 0.9rem;
    }

    .home-card {
        padding: 1.2rem 1rem;
    }

    .section-title h2 {
        font-size: 2.2rem;
    }
    
    .contact-card h2 {
        font-size: 2.5rem;
    }
    
    .form-group {
        flex-direction: column;
    }
    
    .form-btn {
        width: 100%;
        justify-content: center;
        padding: 1rem;
    }
}

/* ==========================================================================
   L99 WEB ANIMATOR ENGINE & UX/UI VISUAL JOURNEY STYLES
   ========================================================================== */

/* 1. Indicador de Progreso de Scroll en Header Flotante */
.glass-header {
    position: fixed;
    overflow: hidden;
}

.scroll-progress-line {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: calc(var(--scroll-pct, 0) * 100%);
    background: linear-gradient(90deg, #00d2ff 0%, #45ebc0 50%, #ed6658 100%);
    box-shadow: 0 0 10px rgba(0, 210, 255, 0.8), 0 0 20px rgba(69, 235, 192, 0.5);
    transition: width 0.1s linear;
    border-radius: 0 4px 4px 0;
}

/* 2. Resaltado Activo en Navegación */
.glass-nav a {
    position: relative;
    padding-bottom: 4px;
}

.glass-nav a.active {
    color: var(--text-primary);
    text-shadow: 0 0 12px rgba(0, 210, 255, 0.8);
}

.glass-nav a.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--accent-color);
    border-radius: 2px;
    box-shadow: 0 0 8px var(--accent-color);
}

/* 3. Sistema de Revelado por Scroll (Scroll Reveals) */
.reveal {
    opacity: 0;
    will-change: transform, opacity, filter;
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), filter 0.9s ease;
}

.reveal-up {
    transform: translateY(60px) scale(0.96);
    filter: blur(8px);
}

.reveal-scale {
    transform: scale(0.85);
    filter: blur(10px);
}

.reveal-left {
    transform: translateX(-70px) scale(0.95);
    filter: blur(6px);
}

.reveal-right {
    transform: translateX(70px) scale(0.95);
    filter: blur(6px);
}

.reveal.is-visible {
    opacity: 1;
    transform: translate(0, 0) scale(1);
    filter: blur(0);
}

/* Delays escalonados (Staggering) */
.stagger-1 { transition-delay: 0.12s; }
.stagger-2 { transition-delay: 0.24s; }
.stagger-3 { transition-delay: 0.36s; }
.stagger-4 { transition-delay: 0.48s; }

/* 4. Efectos 3D Tilt y Destello Óptico de Cristal */
.tilt-card {
    transform-style: preserve-3d;
    perspective: 1000px;
    transition: transform 0.2s ease-out, box-shadow 0.3s ease, border-color 0.3s ease;
    position: relative;
    overflow: hidden;
}

.tilt-card::before {
    content: '';
    position: absolute;
    inset: -50%;
    background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.05) 30%, transparent 60%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
    z-index: 1;
}

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

.tilt-card:hover {
    box-shadow: 0 15px 35px rgba(0, 210, 255, 0.2), 0 0 30px rgba(255, 255, 255, 0.05);
    border-color: rgba(0, 210, 255, 0.4);
}

/* 5. Micro-Interacciones en Paletas de Color */
.colork, .colord-m, .color-nexo {
    position: relative;
    cursor: pointer;
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease;
}

.colork:hover, .colord-m:hover, .color-nexo:hover {
    transform: scale(1.4) translateY(-6px);
    z-index: 10;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.5), 0 0 16px rgba(255, 255, 255, 0.6);
}

/* 6. Animación de Favicons de Herramientas Creativas */
.fav-tools img {
    cursor: pointer;
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.4s ease;
}

.fav-tools img:hover {
    transform: translateY(-8px) scale(1.25) rotate(5deg);
    filter: drop-shadow(0 10px 18px rgba(0, 210, 255, 0.5));
}

/* 7. Transición y flotación fluida de imágenes de Mockup */
.img-merch-kaizen img {
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease, box-shadow 0.5s ease;
    will-change: transform;
}

.img-merch-kaizen img:hover {
    transform: translateY(-10px) scale(1.03) rotate(0.8deg);
    box-shadow: 0 30px 70px rgba(0, 210, 255, 0.25);
}

.img-merch-d-amor img {
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease, box-shadow 0.5s ease;
    will-change: transform;
}

.img-merch-d-amor img:hover {
    transform: translateY(-10px) scale(1.03) rotate(0.8deg);
    box-shadow: 0 30px 70px rgba(110, 105, 55, 0.25);
}

.img-merch-nexo img {
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease, box-shadow 0.5s ease;
    will-change: transform;
}

.img-merch-nexo img:hover {
    transform: translateY(-10px) scale(1.03) rotate(0.8deg);
    box-shadow: 0 30px 70px rgba(219, 27, 27, 0.473);
}

/* 8. Aura Ambiental de Sección Dinámica */
.glass-section::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, var(--section-glow, rgba(0, 210, 255, 0.08)) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    transition: background 1s ease;
}

.services-section[data-brand="kaizen"] {
    --section-glow: rgba(69, 235, 192, 0.15);
}

.services-section[data-brand="dulce-amor"] {
    --section-glow: rgba(244, 194, 194, 0.18);
}

.services-section[data-brand="nexo"] {
    --section-glow: rgba(237, 102, 88, 0.18);
}

/* ==========================================================================
   9. ESCENARIO 3D TIPO DOMO Y CARTAS MONUMENTALES CON ZOOM PROGRESIVO
   ========================================================================== */

/* Sección principal amplia sin la caja cerrada glassmorphism */
.dome-stage-section {
    width: 100%;
    min-height: 98vh;
    position: relative;
    padding: 2.5rem 1rem 4rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: radial-gradient(ellipse at 50% 30%, rgba(35, 25, 15, 0.45) 0%, rgba(5, 5, 10, 0.85) 75%);
    border-radius: 40px;
    border: 1px solid rgba(255, 215, 0, 0.18);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8), inset 0 0 80px rgba(255, 215, 0, 0.05);
    overflow: hidden;
}

/* Cabecera integrada de la sección Nexo Visual */
.dome-project-header {
    width: 100%;
    max-width: 1150px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding: 1.4rem 2.2rem;
    background: rgba(15, 12, 8, 0.65);
    backdrop-filter: blur(20px);
    border-radius: 24px;
    border: 1px solid rgba(255, 215, 0, 0.25);
    z-index: 10;
    margin-bottom: 1.5rem;
}

.dome-header-info {
    flex: 1;
    min-width: 280px;
}

.dome-header-info h3 {
    font-size: 1.4rem;
    color: #ffffff;
    margin-top: 4px;
}

.dome-header-info p {
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.78);
    max-width: 580px;
    margin-top: 4px;
}

/* Escenario Arena 3D del Domo */
.dome-3d-arena {
    position: relative;
    width: 100%;
    max-width: 1350px;
    height: 720px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    perspective: 1600px;
    transform-style: preserve-3d;
    user-select: none;
}

/* Anillo luminoso de suelo del domo */
.dome-floor-ring {
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%) rotateX(78deg);
    width: 920px;
    height: 920px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.22) 0%, rgba(255, 140, 0, 0.1) 40%, transparent 70%);
    border: 2px solid rgba(255, 215, 0, 0.4);
    box-shadow: 
        0 0 60px rgba(255, 215, 0, 0.35),
        inset 0 0 80px rgba(255, 140, 0, 0.22);
    pointer-events: none;
    z-index: 0;
    animation: domeRingGlow 6s ease-in-out infinite alternate;
}

@keyframes domeRingGlow {
    0% {
        transform: translateX(-50%) rotateX(78deg) scale(0.95);
        box-shadow: 0 0 40px rgba(255, 215, 0, 0.25);
    }
    100% {
        transform: translateX(-50%) rotateX(78deg) scale(1.06);
        box-shadow: 0 0 95px rgba(255, 215, 0, 0.55);
    }
}

/* Pila / Escenario 3D de Cartas Monumentales en Cúpula */
.dome-cards-stage {
    position: relative;
    width: 480px;
    height: 640px;
    transform-style: preserve-3d;
    cursor: grab;
    z-index: 5;
    touch-action: pan-y;
}

.dome-cards-stage:active {
    cursor: grabbing;
}

/* CARTA MONUMENTAL 3D DORADA (GIGANTE) */
.dome-gold-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 480px;
    height: 640px;
    border-radius: 28px;
    background: linear-gradient(150deg, rgba(28, 22, 16, 0.96), rgba(10, 8, 5, 0.99));
    box-shadow: 
        0 25px 60px rgba(0, 0, 0, 0.85),
        0 0 35px rgba(255, 215, 0, 0.25),
        inset 0 0 20px rgba(255, 215, 0, 0.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease, filter 0.5s ease, box-shadow 0.4s ease;
    will-change: transform, opacity, filter;
    transform-origin: center center;
    cursor: pointer;
}

/* Borde dorado metálico neón hiper-detallado */
.dome-gold-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 28px;
    padding: 3px;
    background: linear-gradient(135deg, #ffffff, #fff3a1, #ffd700, #ff9900, #b8860b, #ffd700, #ffffff);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 10;
}

/* Insignia Superior de la Carta Monumental */
.dome-card-badge {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.22), rgba(0, 0, 0, 0.75));
    border-bottom: 1.5px solid rgba(255, 215, 0, 0.4);
    z-index: 3;
}

.dome-rarity {
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.dome-rarity.epic {
    background: linear-gradient(135deg, #b056f7, #6b21a8);
    color: #fff;
    box-shadow: 0 0 14px rgba(176, 86, 247, 0.6);
}

.dome-rarity.legendary {
    background: linear-gradient(135deg, #f59e0b, #b45309);
    color: #fff;
    box-shadow: 0 0 16px rgba(245, 158, 11, 0.7);
}

.dome-rarity.mythical {
    background: linear-gradient(135deg, #f43f5e, #9f1239);
    color: #fff;
    box-shadow: 0 0 16px rgba(244, 63, 94, 0.6);
}

.dome-rarity.chromatic {
    background: linear-gradient(135deg, #3b82f6, #8b5cf6, #ec4899);
    color: #fff;
    box-shadow: 0 0 18px rgba(139, 92, 246, 0.8);
}

.dome-level {
    font-size: 0.9rem;
    font-weight: 900;
    color: #ffd700;
    text-shadow: 0 0 10px rgba(255, 215, 0, 0.9);
    background: rgba(0, 0, 0, 0.7);
    padding: 4px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 215, 0, 0.6);
}

/* Imagen del Fotomontaje Monumental */
.dome-image-holder {
    position: relative;
    flex: 1;
    overflow: hidden;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dome-image-holder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.dome-gold-card:hover .dome-image-holder img {
    transform: scale(1.08);
}

/* Barra de Carga de Zoom Progresivo Dorada */
.zoom-charge-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.15);
    z-index: 8;
    overflow: hidden;
}

.zoom-fill {
    width: 0%;
    height: 100%;
    background: linear-gradient(90deg, #ffd700, #ff9900, #ffffff);
    box-shadow: 0 0 12px #ffd700;
    transition: width 0.1s linear;
}

/* Destellos Estelares & Shimmer */
.gold-shimmer-sweep {
    position: absolute;
    top: -50%;
    left: -150%;
    width: 85%;
    height: 200%;
    background: linear-gradient(
        90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.15) 20%, 
        rgba(255, 223, 128, 0.75) 50%, 
        rgba(255, 255, 255, 0.15) 80%, 
        transparent 100%
    );
    transform: rotate(25deg);
    pointer-events: none;
    z-index: 5;
}

.dome-gold-card.active .gold-shimmer-sweep {
    animation: shimmerRaySweep 3s ease-in-out infinite;
}

/* Footer de la Carta Monumental */
.dome-card-footer {
    padding: 16px 22px;
    background: linear-gradient(180deg, rgba(18, 14, 10, 0.96), rgba(5, 4, 2, 0.99));
    border-top: 1.5px solid rgba(255, 215, 0, 0.3);
    z-index: 3;
}

.dome-card-footer h4 {
    font-size: 1.3rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 6px;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9);
}

.jc-profile-section {
    position: relative;
    padding: 1rem 0;
}

/* Resplandor ambiental que conecta la tarjeta clara con el fondo oscuro del sitio */
.jc-profile-section::before {
    content: '';
    position: absolute;
    inset: -8% -6%;
    background:
        radial-gradient(50% 50% at 25% 15%, rgba(0, 210, 255, 0.18), transparent 70%),
        radial-gradient(45% 45% at 85% 90%, rgba(237, 102, 88, 0.16), transparent 70%);
    filter: blur(50px);
    z-index: -1;
    pointer-events: none;
}

.jc-profile-card {
    --jc-paper: #efe9db;
    --jc-ink: #1c1917;
    --jc-ink-soft: #5b564d;
    --jc-red: #e2481f;
    --jc-red-deep: #ac3717;
    --jc-green: #2f6e4b;
    --jc-line: rgba(28, 25, 23, 0.14);
    --jc-grid-line: rgba(28, 25, 23, 0.06);

    position: relative;
    display: grid;
    grid-template-columns: 300px 1.3fr;
    grid-template-areas: "photo main exp aside";
    gap: 2.75rem;
    padding: 3.25rem 3.25rem 2.75rem;
    border-radius: 30px;
    color: var(--jc-ink);
    background:
        linear-gradient(var(--jc-grid-line) 1px, transparent 1px) 0 0 / 100% 32px,
        linear-gradient(90deg, var(--jc-grid-line) 1px, transparent 1px) 0 0 / 32px 100%,
        var(--jc-paper);
    box-shadow: 0 40px 90px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}

/* --- Columna 1: foto, tags y logo --- */
.jc-profile-photo-col {
    grid-area: photo;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.jc-profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 1.5rem;
}

.jc-tag {
    font-family: 'Space Mono', monospace;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.35rem 0.75rem;
    border-radius: 100px;
    border: 1.5px solid var(--jc-ink);
    background: var(--jc-paper);
}

.jc-tag-1 { transform: rotate(-4deg); }

.jc-tag-2 {
    transform: rotate(3deg);
    color: var(--jc-red-deep);
    border-color: var(--jc-red-deep);
}

.jc-profile-photo-frame {
    position: relative;
    flex: 1;
    min-height: 300px;
    transform: rotate(-1.6deg);
}

/* Halo tipo marcador detrás de la foto */
.jc-profile-photo-frame::before {
    content: '';
    position: absolute;
    inset: -18px -8px -22px -16px;
    background: var(--jc-red);
    border-radius: 62% 38% 47% 53% / 38% 44% 56% 62%;
    transform: rotate(4deg);
    z-index: 0;
}

.jc-profile-photo-frame img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 7px solid var(--jc-paper);
    border-radius: 55% 45% 40% 60% / 42% 48% 52% 58%;
    box-shadow: 0 22px 45px rgba(0, 0, 0, 0.22);
}

.jc-profile-logo {
    margin-top: 1.6rem;
    display: flex;
    flex-direction: column;
    line-height: 0.9;
    font-family: 'Archivo Black', var(--font-main), sans-serif;
    font-size: 1.5rem;
    text-transform: lowercase;
}

.jc-profile-logo small {
    margin-top: 0.5rem;
    font-family: 'Space Mono', monospace;
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--jc-red-deep);
}

/* --- Columna 2: encabezado, bio y polaroids --- */
.jc-profile-main {
    grid-area: main;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    min-width: 0;
}

.jc-profile-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.jc-profile-header h2 {
    font-family: 'Archivo Black', var(--font-main), sans-serif;
    font-weight: 400;
    font-size: clamp(1.9rem, 2.6vw, 2.75rem);
    line-height: 1.05;
    max-width: 12ch;
}

.jc-accent { color: var(--jc-red); }

.jc-stamp {
    font-family: 'Space Mono', monospace;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border: 1.5px solid var(--jc-ink);
    border-radius: 6px;
    padding: 0.45rem 0.8rem;
    transform: rotate(-3deg);
    white-space: nowrap;
    flex-shrink: 0;
}

.jc-profile-bio p {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--jc-ink-soft);
}

.jc-profile-bio p + p {
    margin-top: 1rem;
}

.jc-profile-bio strong {
    color: var(--jc-ink);
    font-weight: 700;
}

.jc-profile-polaroids {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
    padding-top: 0.5rem;
}

.jc-polaroid {
    background: #fff;
    padding: 0.55rem 0.55rem 1rem;
    box-shadow: 0 14px 26px rgba(0, 0, 0, 0.18);
    width: 30%;
    min-width: 120px;
}

.jc-polaroid img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.jc-polaroid figcaption {
    font-family: 'Caveat', cursive;
    font-size: 1.15rem;
    text-align: center;
    margin-top: 0.4rem;
    color: var(--jc-ink);
}

.jc-polaroid-1 { transform: rotate(-4deg); }
.jc-polaroid-2 { transform: rotate(2deg); margin-top: 0.7rem; }
.jc-polaroid-3 { transform: rotate(-2deg); }

/* --- Columna 3: experiencia --- */
.jc-profile-experience { grid-area: exp; }

.jc-profile-experience h3,
.jc-profile-aside h3 {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 1.3rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.jc-profile-experience ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.jc-profile-experience li {
    display: flex;
    gap: 0.9rem;
}

.jc-exp-date {
    min-width: 3.4rem;
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    font-family: 'Space Mono', monospace;
    font-weight: 700;
    color: var(--jc-red-deep);
}

.jc-exp-date em {
    font-style: normal;
    font-size: 0.7rem;
    color: var(--jc-ink-soft);
}

.jc-exp-detail {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.jc-exp-detail strong { font-size: 0.95rem; }

.jc-exp-detail span {
    font-size: 0.82rem;
    color: var(--jc-ink-soft);
}

/* --- Columna 4: estudios, enfoque, herramientas --- */
.jc-profile-aside {
    grid-area: aside;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.jc-study { display: flex; gap: 0.7rem; margin-bottom: 1.2rem; }

.jc-study-year {
    font-family: 'Space Mono', monospace;
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--jc-green);
}

.jc-study strong { display: block; font-size: 0.9rem; }

.jc-study span:last-child {
    font-size: 0.8rem;
    color: var(--jc-ink-soft);
}

.jc-focus-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.jc-focus-list li {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.9rem;
}

.jc-focus-list i { color: var(--jc-red-deep); font-size: 1rem; }

.jc-tools-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.jc-tools-row img {
    width: 80px;
    height: 80px;
    border-radius: 9px;
    padding: 5px;
}

/* --- Responsive --- */
@media (max-width: 1180px) {
    .jc-profile-card {
        grid-template-columns: 260px 1fr 1fr;
        grid-template-areas:
            "photo main main"
            "photo exp aside";
        row-gap: 3rem;
    }
}

@media (max-width: 900px) {
    .jc-profile-card {
        grid-template-columns: 1fr;
        grid-template-areas:
            "photo"
            "main"
            "exp"
            "aside";
        padding: 2.25rem 1.5rem 2rem;
        gap: 2.25rem;
        row-gap: 2.25rem;
    }

    .jc-profile-photo-col { height: auto; }

    .jc-profile-photo-frame { min-height: 260px; }

    .jc-profile-header h2 { max-width: none; }

    .jc-profile-polaroids { margin-top: 0.5rem; }
}

@media (max-width: 560px) {
    .jc-polaroid { width: 47%; }
}



/* Carrusel de Videos*/

.demo-wrap { width: 100%; max-width: 1200px; }
 
    /* ------------------------------------------------------------
       Experiencia & Herramientas — Carrusel 3D "Coverflow"
       (Bloque de CSS extraído tal cual de style.css)
       ------------------------------------------------------------ */
    .designer-experience {
        width: 100%;
        text-align: left;
        padding-top: 1.5rem;
        border-top: 1px solid var(--glass-border);
    }
 
    .designer-experience h3 {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        font-size: 1.6rem;
        font-weight: 700;
        margin-bottom: 0.6rem;
    }
 
    .designer-experience h3 i {
        color: var(--accent-color);
    }
 
    .experience-lead {
        color: var(--text-secondary);
        font-size: 1.05rem;
        max-width: 840px;
        line-height: 1.5;
        margin-bottom: 1.5rem;
    }
 
    .experience-swiper {
        width: 100%;
        padding: 2rem 0 1rem;
        overflow: visible;
    }
 
    .experience-swiper .swiper-wrapper {
        align-items: center;
    }
 
    .experience-swiper .swiper-slide {
        width: 300px;
        height: 720px;
    }
 
    .experience-card {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 0.9rem;
        padding: 2rem 1.5rem;
        border-radius: 22px;
        background: var(--glass-bg);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border: 1px solid var(--glass-border);
        box-shadow: var(--glass-shadow);
        overflow: hidden;
        transition: border-color 0.4s ease, background 0.4s ease;
    }
 
    .experience-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, #00d2ff, #45ebc0);
    }
 
    .experience-swiper .swiper-slide:nth-child(3n+2) .experience-card::before {
        background: linear-gradient(90deg, #45ebc0, #ed6658);
    }
 
    .experience-swiper .swiper-slide:nth-child(3n+3) .experience-card::before {
        background: linear-gradient(90deg, #ed6658, #00d2ff);
    }
 
    .experience-swiper .swiper-slide-active .experience-card {
        border-color: rgba(0, 210, 255, 0.4);
        background: var(--glass-bg-hover);
    }
 
    .experience-icon {
        width: 64px;
        height: 64px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.06);
    }
 
    .experience-icon img {
        width: 38px;
        height: 38px;
        object-fit: contain;
    }
 
    .experience-icon-plain {
        font-size: 1.8rem;
        color: var(--accent-color);
    }
 
    .experience-card h4 {
        font-size: 1.15rem;
        font-weight: 600;
    }
 
    .experience-card p {
        color: var(--text-secondary);
        font-size: 0.9rem;
        line-height: 1.4;
    }
 
    .experience-controls {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1.5rem;
        margin-top: 1rem;
    }
 
    .experience-nav {
        width: 46px;
        height: 46px;
        flex: none;
        border-radius: 50%;
        border: 1px solid var(--glass-border);
        background: var(--glass-bg);
        color: var(--text-primary);
        font-size: 1.1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
    }
 
    .experience-nav:hover {
        background: rgba(0, 210, 255, 0.15);
        border-color: var(--accent-color);
        transform: translateY(-2px);
    }
 
    .experience-pagination {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
 
    .experience-pagination .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        background: var(--glass-border);
        opacity: 1;
        transition: all 0.3s ease;
    }
 
    .experience-pagination .swiper-pagination-bullet-active {
        width: 22px;
        border-radius: 4px;
        background: var(--accent-color);
    }
 
    @media (max-width: 768px) {
        .experience-swiper .swiper-slide {
            width: 200px;
            height: 280px;
        }
    }

/* POSICIONAMIENTO EN CURVA 3D DEL DOMO */

/* Carta Activa al Centro (con variables dinámicas de zoom --zoom-scale y --zoom-z) */
.dome-gold-card.active {
    transform: translate3d(0, 0, calc(80px + var(--zoom-z, 0px))) rotateX(0deg) rotateY(0deg) scale(calc(1 * var(--zoom-scale, 1)));
    opacity: 1;
    filter: blur(0px);
    z-index: 30;
    box-shadow: 
        0 30px 70px rgba(0, 0, 0, 0.9),
        0 0 55px rgba(255, 215, 0, 0.5),
        0 0 25px rgba(255, 255, 255, 0.4);
}

/* Carta Siguiente (Derecha en Arco Domo) */
.dome-gold-card.next {
    transform: translate3d(320px, 20px, -180px) rotateY(-36deg) scale(0.85);
    opacity: 0.65;
    filter: blur(2px) brightness(0.75);
    z-index: 15;
}

/* Carta Anterior (Izquierda en Arco Domo) */
.dome-gold-card.prev {
    transform: translate3d(-320px, 20px, -180px) rotateY(36deg) scale(0.85);
    opacity: 0.65;
    filter: blur(2px) brightness(0.75);
    z-index: 15;
}

/* Carta en el Fondo Profundo del Domo */
.dome-gold-card.stacked-back {
    transform: translate3d(0, 50px, -340px) scale(0.72);
    opacity: 0.35;
    filter: blur(4px) brightness(0.5);
    z-index: 5;
}

/* Controles HUD del Domo */
.dome-hud-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin-top: 1.5rem;
    z-index: 15;
}

.dome-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(20, 16, 12, 0.7);
    border: 1.5px solid rgba(255, 215, 0, 0.5);
    color: #ffd700;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(12px);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6);
}

.dome-btn:hover {
    background: rgba(255, 215, 0, 0.3);
    color: #ffffff;
    transform: scale(1.15);
    box-shadow: 0 0 25px rgba(255, 215, 0, 0.7);
    border-color: #ffffff;
}

.dome-hint-indicator {
    margin-top: 1rem;
    font-size: 0.9rem;
    color: rgba(255, 215, 0, 0.9);
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 0, 0, 0.5);
    padding: 6px 18px;
    border-radius: 20px;
    border: 1px solid rgba(255, 215, 0, 0.3);
    backdrop-filter: blur(10px);
    z-index: 15;
}

/* Responsividad para Escenario Domo */
@media (max-width: 992px) {
    .dome-3d-arena {
        height: 600px;
    }
    
    .dome-cards-stage, .dome-gold-card {
        width: 360px;
        height: 490px;
    }
    
    .dome-gold-card.next {
        transform: translate3d(180px, 15px, -140px) rotateY(-28deg) scale(0.85);
    }
    
    .dome-gold-card.prev {
        transform: translate3d(-180px, 15px, -140px) rotateY(28deg) scale(0.85);
    }
}

@media (max-width: 576px) {
    .dome-cards-stage, .dome-gold-card {
        width: 300px;
        height: 420px;
    }
    
    .dome-gold-card.next {
        transform: translate3d(110px, 10px, -100px) rotateY(-20deg) scale(0.82);
    }
    
    .dome-gold-card.prev {
        transform: translate3d(-110px, 10px, -100px) rotateY(20deg) scale(0.82);
    }
}

.gallery-premium {
    position: relative;
    padding: 7rem 6vw 6rem;
    overflow: hidden;
}
 
.gallery-scanline {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.5), transparent);
}
 
.gallery-intro {
    max-width: 640px;
    margin: 0 auto 3.5rem;
    text-align: center;
}
 
.gallery-eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--gold-2);
    margin-bottom: 1rem;
}
 
.gallery-title {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: clamp(2.2rem, 5vw, 3.4rem);
    line-height: 1.1;
    margin: 0 0 1rem;
}
 
.gallery-title em {
    font-style: italic;
    font-weight: 600;
    background: linear-gradient(120deg, var(--gold-1), var(--gold-2) 45%, var(--gold-3));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
 
.gallery-sub {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--ink-dim);
    margin: 0;
    font-weight: 300;
}


 
/* ============================================================
   SWIPER / GOLD CARDS (cartas coleccionables, estilo baraja)
   ============================================================ */
.plate-swiper {
    padding: 1.5rem 0 2.5rem;
}
 
.plate-swiper .swiper-slide {
    height: 630px;
}
 
/* Estructura base de cada carta dorada */
.gold-card {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, var(--bg-panel), var(--bg-panel-2));
    border: 2px solid transparent;
    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.6),
        0 0 25px rgba(255, 215, 0, 0.2),
        inset 0 0 15px rgba(255, 215, 0, 0.15);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.6s var(--ease-luxe), box-shadow 0.4s ease;
    cursor: grab;
    transform: translate3d(0, 0, calc(80px + var(--zoom-z, 0px))) rotateX(0deg) rotateY(0deg) scale(calc(1 * var(--zoom-scale, 1)));
    opacity: 1;
    filter: blur(0px);
    z-index: 30;
    box-shadow: 
        0 30px 70px rgba(0, 0, 0, 0.9),
        0 0 55px rgba(255, 215, 0, 0.5),
        0 0 25px rgba(255, 255, 255, 0.4);
}
 
/* Borde dorado metálico reluciente */
.gold-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: var(--radius-lg);
    padding: 2px;
    background: linear-gradient(135deg, var(--gold-1), var(--gold-2), var(--gold-4), var(--gold-3), var(--gold-2), var(--gold-1));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 10;
    opacity: 0.6;
    transition: opacity 0.5s ease;
    transform: translate3d(0, 0, calc(80px + var(--zoom-z, 0px))) rotateX(0deg) rotateY(0deg) scale(calc(1 * var(--zoom-scale, 1)));
    opacity: 1;
    filter: blur(0px);
    z-index: 30;
    box-shadow: 
        0 30px 70px rgba(0, 0, 0, 0.9),
        0 0 55px rgba(255, 215, 0, 0.5),
        0 0 25px rgba(255, 255, 255, 0.4);
}
 
.swiper-slide-active .gold-card::before { opacity: 1; }
 
.swiper-slide-active .gold-card {
    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.8),
        0 0 35px rgba(255, 215, 0, 0.45),
        0 0 15px rgba(255, 255, 255, 0.3);
}
 
/* Insignia / Header de la carta */
.card-header-badge {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.15), rgba(0, 0, 0, 0.6));
    border-bottom: 1px solid rgba(255, 215, 0, 0.3);
    z-index: 3;
}
 
.rarity-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    color: #fff;
}
 
.rarity-tag.epic { background: linear-gradient(135deg, #a855f7, #6b21a8); }
 
.rarity-tag.legendary {
    background: linear-gradient(135deg, #f59e0b, #b45309);
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.6);
}
 
.rarity-tag.mythical { background: linear-gradient(135deg, #ec4899, #be185d); }
 
.rarity-tag.chromatic {
    background: linear-gradient(135deg, #3b82f6, #8b5cf6, #ec4899);
    box-shadow: 0 0 14px rgba(139, 92, 246, 0.7);
}
 
.card-level {
    font-size: 0.8rem;
    font-weight: 800;
    color: var(--gold-2);
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.8);
    background: rgba(0, 0, 0, 0.6);
    padding: 3px 10px;
    border-radius: 10px;
    border: 1px solid rgba(255, 215, 0, 0.5);
}
 
/* Imagen del fotomontaje dentro de la carta */
.card-image-wrapper {
    position: relative;
    flex: 1;
    overflow: hidden;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}
 
.card-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: translateY(var(--parallax, 0px));
    transition: transform 0.5s ease-out;
    will-change: transform;
}
 
.gold-card:hover .card-image-wrapper img {
    transform: scale(1.06) translateY(var(--parallax, 0px));
}
 
/* Haz de luz dorada rasante */
.gold-shimmer-sweep {
    position: absolute;
    top: -50%;
    left: -150%;
    width: 80%;
    height: 200%;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.1) 20%, rgba(255, 223, 128, 0.65) 50%, rgba(255, 255, 255, 0.1) 80%, transparent 100%);
    transform: rotate(25deg);
    pointer-events: none;
    z-index: 5;
    opacity: 0.7;
}
 
.swiper-slide-active .gold-shimmer-sweep {
    animation: shimmerRaySweep 3.5s ease-in-out infinite;
}
 
@keyframes shimmerRaySweep {
    0% { left: -150%; }
    40%, 100% { left: 180%; }
}
 
/* Destellos estelares */
.sparkles-container {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 6;
}
 
.sparkle {
    position: absolute;
    color: #fff5a6;
    font-size: 1.1rem;
    text-shadow: 0 0 10px var(--gold-2), 0 0 20px var(--gold-4);
    opacity: 0;
}
 
.swiper-slide-active .sparkle.s1 { top: 20%; left: 15%; animation: sparkleFloat 2.5s infinite 0.2s; }
.swiper-slide-active .sparkle.s2 { top: 60%; right: 15%; animation: sparkleFloat 3s infinite 0.8s; }
.swiper-slide-active .sparkle.s3 { bottom: 25%; left: 25%; animation: sparkleFloat 2.2s infinite 1.4s; }
 
@keyframes sparkleFloat {
    0% { transform: translateY(10px) scale(0.5) rotate(0deg); opacity: 0; }
    50% { opacity: 1; transform: translateY(-15px) scale(1.3) rotate(90deg); }
    100% { transform: translateY(-35px) scale(0.4) rotate(180deg); opacity: 0; }
}
 
/* Footer de la carta */
.card-footer {
    padding: 14px 18px;
    background: linear-gradient(180deg, rgba(15, 12, 8, 0.95), rgba(5, 4, 2, 0.98));
    border-top: 1px solid rgba(255, 215, 0, 0.25);
    z-index: 3;
}
 
.card-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0 0 6px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}
 
.card-stats {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.75);
}
 
.card-stats i { color: var(--gold-2); margin-right: 4px; }
 
.power-rating {
    font-weight: 800;
    color: var(--gold-2);
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.2), rgba(255, 140, 0, 0.2));
    padding: 2px 8px;
    border-radius: 6px;
    border: 1px solid rgba(255, 215, 0, 0.4);
}
 
/* ============================================================
   CONTROLES + BARRA DE PROGRESO DE SCROLL
   ============================================================ */
.gallery-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    max-width: 420px;
    margin: 0.5rem auto 0;
}
 
.plate-nav {
    width: 46px;
    height: 46px;
    flex: none;
    border-radius: 50%;
    border: 1px solid rgba(255, 215, 0, 0.35);
    background: rgba(255, 215, 0, 0.06);
    color: var(--gold-2);
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
 
.plate-nav:hover {
    background: rgba(255, 215, 0, 0.16);
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.25);
    transform: translateY(-2px);
}
 
.gallery-progress {
    flex: 1;
    height: 2px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 2px;
    overflow: hidden;
}
 
.gallery-progress-fill {
    height: 100%;
    width: 25%;
    background: linear-gradient(90deg, var(--gold-3), var(--gold-2), var(--gold-1));
    transition: width 0.45s var(--ease-luxe);
}
 
/* ============================================================
   SCROLL REVEAL (entrada escalonada al hacer scroll)
   ============================================================ */
.reveal-el {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 0.8s var(--ease-luxe), transform 0.8s var(--ease-luxe);
    transition-delay: calc(var(--i, 0) * 0.12s);
}
 
.reveal-el.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.desktop {
    text-align: center;
    z-index: 1;
    max-width: 1000px;
    margin: 60px auto 0;
    padding: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    
}

.desktop img {
    width: 100%;
    max-width: 100%;
    border-radius: 16px;
    object-fit: cover;
}

@media (max-width: 992px) {
    
    .swiper {
        padding: 0px 70px;
    }

    .swiper-slide img{
        width: 100%;
    }

    .desktop {
        padding: 16px;
        margin: 30px auto 0;
    }

    .desktop img {
        width: 100%;
    }

}



/* ==========================================================================
   9. BARAJA DE CARTAS 3D Y EFECTOS DORADOS (BRAWL STARS / CLASH ROYALE STYLE)
   ========================================================================== */

.card-deck-wrapper {
    position: relative;
    width: 100%;
    max-width: 620px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem 0;
    user-select: none;
}

/* Aura ambiental dorada detrás de la baraja */
.deck-aura-glow {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 460px;
    height: 460px;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.28) 0%, rgba(255, 140, 0, 0.15) 45%, rgba(0, 0, 0, 0) 70%);
    filter: blur(40px);
    pointer-events: none;
    z-index: 0;
    animation: goldGlowPulse 4s ease-in-out infinite alternate;
}

@keyframes goldGlowPulse {
    0% {
        opacity: 0.6;
        transform: translate(-50%, -50%) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.1);
    }
}

/* Contenedor 3D de la pila de cartas */
.card-deck-container {
    position: relative;
    width: 380px;
    height: 480px;
    perspective: 1200px;
    transform-style: preserve-3d;
    cursor: grab;
    z-index: 2;
    touch-action: pan-y;
}

.card-deck-container:active {
    cursor: grabbing;
}

/* Estructura base de cada carta Coleccionable Dorada */
.gold-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(25, 20, 15, 0.95), rgba(10, 8, 5, 0.98));
    border: 2px solid transparent;
    box-shadow: 
        0 15px 35px rgba(0, 0, 0, 0.6),
        0 0 25px rgba(255, 215, 0, 0.2),
        inset 0 0 15px rgba(255, 215, 0, 0.15);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.6s ease, filter 0.6s ease, box-shadow 0.4s ease;
    will-change: transform, opacity, filter;
    transform-origin: center center;
    cursor: pointer;
}

/* Borde dorado metálico reluciente */
.gold-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 2px;
    background: linear-gradient(135deg, #fff3a1, #ffd700, #ffaa00, #b8860b, #ffd700, #ffffff);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 10;
}

/* Insignia / Header de la Carta (Clash Royale Style) */
.card-header-badge {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.15), rgba(0, 0, 0, 0.6));
    border-bottom: 1px solid rgba(255, 215, 0, 0.3);
    z-index: 3;
}

.rarity-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.rarity-tag.epic {
    background: linear-gradient(135deg, #a855f7, #6b21a8);
    color: #fff;
}

.rarity-tag.legendary {
    background: linear-gradient(135deg, #f59e0b, #b45309);
    color: #fff;
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.6);
}

.rarity-tag.mythical {
    background: linear-gradient(135deg, #ec4899, #be185d);
    color: #fff;
}

.rarity-tag.chromatic {
    background: linear-gradient(135deg, #3b82f6, #8b5cf6, #ec4899);
    color: #fff;
    box-shadow: 0 0 14px rgba(139, 92, 246, 0.7);
}

.card-level {
    font-size: 0.8rem;
    font-weight: 800;
    color: #ffd700;
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.8);
    background: rgba(0, 0, 0, 0.6);
    padding: 3px 10px;
    border-radius: 10px;
    border: 1px solid rgba(255, 215, 0, 0.5);
}

/* Imagen del Fotomontaje dentro de la Carta */
.card-image-wrapper {
    position: relative;
    flex: 1;
    overflow: hidden;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.gold-card:hover .card-image-wrapper img {
    transform: scale(1.06);
}

/* Haz de luz dorada rasante (Shimmer Sweep - Brawl Stars FX) */
.gold-shimmer-sweep {
    position: absolute;
    top: -50%;
    left: -150%;
    width: 80%;
    height: 200%;
    background: linear-gradient(
        90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.1) 20%, 
        rgba(255, 223, 128, 0.65) 50%, 
        rgba(255, 255, 255, 0.1) 80%, 
        transparent 100%
    );
    transform: rotate(25deg);
    pointer-events: none;
    z-index: 5;
    opacity: 0.7;
}

.gold-card.active .gold-shimmer-sweep {
    animation: shimmerRaySweep 3.5s ease-in-out infinite;
}

@keyframes shimmerRaySweep {
    0% {
        left: -150%;
    }
    40%, 100% {
        left: 180%;
    }
}

/* Destellos estelares / Partículas flotantes doradas */
.sparkles-container {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 6;
}

.sparkle {
    position: absolute;
    color: #fff5a6;
    font-size: 1.1rem;
    text-shadow: 0 0 10px #ffd700, 0 0 20px #ff8c00;
    opacity: 0;
}

.gold-card.active .sparkle.s1 {
    top: 20%;
    left: 15%;
    animation: sparkleFloat 2.5s infinite 0.2s;
}

.gold-card.active .sparkle.s2 {
    top: 60%;
    right: 15%;
    animation: sparkleFloat 3s infinite 0.8s;
}

.gold-card.active .sparkle.s3 {
    bottom: 25%;
    left: 25%;
    animation: sparkleFloat 2.2s infinite 1.4s;
}

@keyframes sparkleFloat {
    0% {
        transform: translateY(10px) scale(0.5) rotate(0deg);
        opacity: 0;
    }
    50% {
        opacity: 1;
        transform: translateY(-15px) scale(1.3) rotate(90deg);
    }
    100% {
        transform: translateY(-35px) scale(0.4) rotate(180deg);
        opacity: 0;
    }
}

/* Footer de la Carta */
.card-footer {
    padding: 14px 18px;
    background: linear-gradient(180deg, rgba(15, 12, 8, 0.95), rgba(5, 4, 2, 0.98));
    border-top: 1px solid rgba(255, 215, 0, 0.25);
    z-index: 3;
}

.card-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 6px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

.card-stats {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.75);
}

.card-stats i {
    color: #ffd700;
    margin-right: 4px;
}

.power-rating {
    font-weight: 800;
    color: #ffd700;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.2), rgba(255, 140, 0, 0.2));
    padding: 2px 8px;
    border-radius: 6px;
    border: 1px solid rgba(255, 215, 0, 0.4);
}

/* ESTADOS DE POSICIONAMIENTO EN LA PILA 3D */

/* Carta Activa al Frente */
.gold-card.active {
    transform: translate3d(0, 0, 60px) rotateX(0deg) rotateY(0deg) scale(1);
    opacity: 1;
    filter: blur(0px);
    z-index: 20;
    box-shadow: 
        0 20px 45px rgba(0, 0, 0, 0.8),
        0 0 35px rgba(255, 215, 0, 0.45),
        0 0 15px rgba(255, 255, 255, 0.3);
}

/* Carta Siguiente (Derecha / Atrás) */
.gold-card.next {
    transform: translate3d(85px, 15px, -40px) rotateY(-18deg) rotateZ(4deg) scale(0.92);
    opacity: 0.75;
    filter: blur(1px) brightness(0.85);
    z-index: 10;
}

/* Carta Anterior (Izquierda / Atrás) */
.gold-card.prev {
    transform: translate3d(-85px, 15px, -40px) rotateY(18deg) rotateZ(-4deg) scale(0.92);
    opacity: 0.75;
    filter: blur(1px) brightness(0.85);
    z-index: 10;
}

/* Carta en el Fondo de la Pila */
.gold-card.stacked-back {
    transform: translate3d(0, 30px, -120px) scale(0.84);
    opacity: 0.45;
    filter: blur(2px) brightness(0.65);
    z-index: 5;
}

/* Hover en la Carta Activa */
.gold-card.active:hover {
    transform: translate3d(0, -10px, 80px) scale(1.03);
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.9),
        0 0 50px rgba(255, 215, 0, 0.6);
}

/* Controles de la Baraja */
.deck-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 1.8rem;
    z-index: 10;
}

.deck-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 215, 0, 0.4);
    color: #ffd700;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(10px);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

.deck-btn:hover {
    background: rgba(255, 215, 0, 0.25);
    color: #ffffff;
    transform: scale(1.15);
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.6);
    border-color: #ffd700;
}

.deck-btn:active {
    transform: scale(0.95);
}

.deck-pagination {
    display: flex;
    gap: 8px;
}

.page-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 215, 0, 0.2);
}

.page-dot.active {
    width: 28px;
    border-radius: 12px;
    background: linear-gradient(90deg, #ffd700, #ffaa00);
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.7);
    border-color: #ffd700;
}

.deck-hint {
    margin-top: 0.8rem;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.65);
    display: flex;
    align-items: center;
    gap: 6px;
    z-index: 10;
}

.deck-hint i {
    color: #ffd700;
}

/* Badges de Herramientas Creativas en el panel izquierdo */
.fav-tools-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.5rem;
}

.tool-badge {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.18);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.85rem;
    color: #f7f7f7;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(8px);
    transition: all 0.3s ease;
}

.tool-badge i {
    color: var(--accent-color);
    font-size: 1rem;
}

.tool-badge:hover {
    background: rgba(0, 210, 255, 0.15);
    border-color: var(--accent-color);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 210, 255, 0.2);
}

/* Responsividad para la Baraja */
@media (max-width: 768px) {
    .card-deck-container {
        width: 310px;
        height: 420px;
    }
    
    .gold-card.next {
        transform: translate3d(45px, 10px, -30px) rotateY(-14deg) scale(0.9);
    }
    
    .gold-card.prev {
        transform: translate3d(-45px, 10px, -30px) rotateY(14deg) scale(0.9);
    }
}


/*    AUDIOVISUALES     */

.cf {
  /* --- Tokens de tema ----------------------------------------------------- */
  --cf-bg: #07090c;
  --cf-fg: #f2f5f7;
  --cf-muted: #8c98a4;
  --cf-accent: #6ee7d7;
  --cf-glow: 110 231 215; /* accent en RGB para sombras con alpha */

  /* --- Geometría ---------------------------------------------------------- */
  --cf-card-w: min(70vw, 640px);
  --cf-card-ratio: 16 / 10;
  --cf-gap: clamp(1rem, 3vw, 2.5rem);
  --cf-radius: 18px;
  --cf-perspective: 1700px;

  /* --- Movimiento --------------------------------------------------------- */
  --cf-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --cf-speed: 500ms;

  position: relative;
  border-radius: 24px !important;
  background: rgba(19, 17, 17);
  backdrop-filter: blur(24px);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  color: var(--cf-fg);
  padding: clamp(2rem, 6vw, 5rem) 0;
  font-family: ui-sans-serif, system-ui, "Inter", sans-serif;
}

/* Viñeta lateral: las tarjetas se funden con el fondo en ambos bordes. */
.cf::before,
.cf::after {
  content: "";
  position: absolute;
  inset-block: 0;
  border-radius: 24px !important;
  width: clamp(40px, 12vw, 180px);
  pointer-events: none;
  z-index: 2;
}
.cf::before {
  left: 0;
  background: linear-gradient(to right, var(--cf-bg), transparent);
}
.cf::after {
  right: 0;
  background: linear-gradient(to left, var(--cf-bg), transparent);
}

/* --- Encabezado ----------------------------------------------------------- */
.cf-head {
  max-width: 1300px;
  margin: 0 auto clamp(1.5rem, 4vw, 3rem);
  padding-inline: clamp(1.25rem, 5vw, 3rem);
}
.cf-eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--cf-accent);
}
.cf-title {
  margin: 0;
  font-size: clamp(2rem, 5.5vw, 3.5rem);
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1.05;
}
.cf-title em {
  font-style: italic;
  color: var(--cf-muted);
}

/* --- Pista de scroll ------------------------------------------------------ */
.cf-track {
  display: flex;
  gap: var(--cf-gap);
  /* El padding de media pantalla permite centrar la primera y última tarjeta. */
  padding: 3rem calc(50% - var(--cf-card-w) / 2);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; /* scroll magnético */
  perspective: var(--cf-perspective);
  scrollbar-width: none;
}
.cf-track::-webkit-scrollbar {
  display: none;
}

/* --- Tarjeta -------------------------------------------------------------- */
.cf-card {
  --d: 1; /* 0 = centrada, 1 = lejana. Lo escribe el JS al hacer scroll. */
  flex: 0 0 var(--cf-card-w);
  scroll-snap-align: center;
  position: relative;
  display: block;
  border-radius: var(--cf-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #0d1116;
  transform-style: preserve-3d;
  transform: translateZ(calc(var(--d) * -260px))
    rotateY(calc(var(--dir, 0) * var(--d) * 34deg))
    scale(calc(1 - var(--d) * 0.06));
  opacity: calc(1 - var(--d) * 0.55);
  transition:
    transform var(--cf-speed) var(--cf-ease),
    opacity var(--cf-speed) var(--cf-ease),
    box-shadow var(--cf-speed) var(--cf-ease);
}

/* La tarjeta centrada recibe el glow: es la protagonista. */
.cf-card[data-active="true"] {
  box-shadow:
    0 30px 80px -20px rgb(var(--cf-glow) / 0.25),
    0 0 0 1px rgb(var(--cf-glow) / 0.18);
}

.cf-media {
  position: relative;
  aspect-ratio: var(--cf-card-ratio);
  overflow: hidden;
}
.cf-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition:
    transform 700ms var(--cf-ease),
    filter 700ms var(--cf-ease);
  filter: saturate(0.85) brightness(0.8);
}
.cf-card[data-active="true"] .cf-media img {
  filter: saturate(1) brightness(1);
}
.cf-card:hover .cf-media img,
.cf-card:focus-visible .cf-media img {
  transform: scale(1.07);
}

/* Degradado que mantiene legible la metadata sobre cualquier fotograma. */
.cf-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgb(7 9 12 / 0.92) 0%,
    rgb(7 9 12 / 0.15) 45%,
    transparent 75%
  );
}

/* --- Botón de play -------------------------------------------------------- */
.cf-play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgb(var(--cf-glow) / 0.5);
  background: rgb(7 9 12 / 0.45);
  backdrop-filter: blur(6px);
  color: var(--cf-accent);
  opacity: 0;
  transform: scale(0.85);
  transition:
    opacity var(--cf-speed) var(--cf-ease),
    transform var(--cf-speed) var(--cf-ease);
}
.cf-card:hover .cf-play,
.cf-card:focus-visible .cf-play {
  opacity: 1;
  transform: scale(1);
}

/* --- Metadata ------------------------------------------------------------- */
.cf-meta {
  position: absolute;
  left: clamp(1rem, 2.5vw, 1.75rem);
  right: clamp(1rem, 2.5vw, 1.75rem);
  bottom: clamp(1rem, 2.5vw, 1.5rem);
}
.cf-cat {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-size: 0.65rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--cf-accent);
}
.cf-name {
  margin: 0;
  font-size: clamp(1.1rem, 2.2vw, 1.6rem);
  font-weight: 400;
  letter-spacing: -0.02em;
}
.cf-sub {
  margin: 0.35rem 0 0;
  font-size: 0.85rem;
  color: var(--cf-muted);
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity var(--cf-speed) var(--cf-ease),
    transform var(--cf-speed) var(--cf-ease);
}
.cf-card:hover .cf-sub,
.cf-card:focus-visible .cf-sub,
.cf-card[data-active="true"] .cf-sub {
  opacity: 1;
  transform: none;
}

/* --- Dots de progreso ----------------------------------------------------- */
.cf-dots {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
}
.cf-dot {
  width: 26px;
  height: 3px;
  border: 0;
  padding: 0;
  border-radius: 2px;
  background: rgb(255 255 255 / 0.16);
  cursor: pointer;
  transition: background var(--cf-speed) var(--cf-ease);
}
.cf-dot[aria-current="true"] {
  background: var(--cf-accent);
}

/* --- Responsive: swipe plano y táctil en pantallas pequeñas --------------- */
@media (max-width: 768px) {
  .cf {
    --cf-card-w: 82vw;
  }
  .cf-track {
    perspective: none;
    padding-block: 1rem;
  }
  .cf-card {
    transform: none;
    opacity: 1;
  }
  .cf-sub {
    opacity: 1;
    transform: none;
  }
}

/* --- Accesibilidad: respeta reduced motion -------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .cf-track {
    scroll-behavior: auto;
  }
  .cf-card,
  .cf-media img,
  .cf-play,
  .cf-sub {
    transition: none;
  }
}



