.elementor-930 .elementor-element.elementor-element-26b77a6:not(.elementor-motion-effects-element-type-background), .elementor-930 .elementor-element.elementor-element-26b77a6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://spanish.afraventures.com/wp-content/uploads/2026/07/fondo.webp");background-repeat:no-repeat;background-size:cover;}.elementor-930 .elementor-element.elementor-element-26b77a6 > .elementor-background-overlay{background-color:#000000;opacity:0.77;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-930 .elementor-element.elementor-element-26b77a6{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 0px 0px 0px;}.elementor-930 .elementor-element.elementor-element-c0e732f > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:10px;}.elementor-930 .elementor-element.elementor-element-85b4ca5{text-align:start;}.elementor-930 .elementor-element.elementor-element-f4a5011{margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 10px 0px;z-index:2;text-align:center;}.elementor-930 .elementor-element.elementor-element-f4a5011 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:45px;line-height:55px;color:#F5F5F5;}.elementor-930 .elementor-element.elementor-element-cd864e4{z-index:2;}.elementor-930 .elementor-element.elementor-element-4c5aa48{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-930 .elementor-element.elementor-element-4c5aa48 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:27px;color:#DCC3A7;}.elementor-930 .elementor-element.elementor-element-2a11544{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;padding:0px 70px 0px 70px;z-index:3;text-align:center;color:#E7E7E7;}.elementor-930 .elementor-element.elementor-element-ffce941{margin-top:50px;margin-bottom:25px;padding:0px 0px 0px 0px;}.elementor-930 .elementor-element.elementor-element-4040121 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-930 .elementor-element.elementor-element-4040121 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-930 .elementor-element.elementor-element-b971a6c .elementor-icon-list-icon i{color:#994E37;transition:color 0.3s;}.elementor-930 .elementor-element.elementor-element-b971a6c .elementor-icon-list-icon svg{fill:#994E37;transition:fill 0.3s;}.elementor-930 .elementor-element.elementor-element-b971a6c{--e-icon-list-icon-size:28px;--icon-vertical-offset:0px;}.elementor-930 .elementor-element.elementor-element-b971a6c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-930 .elementor-element.elementor-element-b971a6c .elementor-icon-list-item > a{font-family:"Inter", Sans-serif;font-size:28px;font-weight:700;}.elementor-930 .elementor-element.elementor-element-b971a6c .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-930 .elementor-element.elementor-element-37aaedd{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 35px) 0px;padding:0px 50px 0px 50px;text-align:center;font-family:"Montserrat", Sans-serif;font-size:18px;color:#D0D0D0;}.elementor-930 .elementor-element.elementor-element-dae262b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;}.elementor-930 .elementor-element.elementor-element-d45ef04 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-930 .elementor-element.elementor-element-d45ef04:not(.elementor-motion-effects-element-type-background), .elementor-930 .elementor-element.elementor-element-d45ef04 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#121214;background-image:url("https://spanish.afraventures.com/wp-content/uploads/2026/07/fondo.webp");background-repeat:no-repeat;background-size:cover;}.elementor-930 .elementor-element.elementor-element-d45ef04 > .elementor-background-overlay{background-color:#000000;opacity:0.77;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-930 .elementor-element.elementor-element-d45ef04{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:130px 0px 200px 0px;}.elementor-930 .elementor-element.elementor-element-cfad956 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-930 .elementor-element.elementor-element-cfad956 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:10px 0px 10px 0px;}.elementor-930 .elementor-element.elementor-element-566083e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;z-index:2;text-align:center;}.elementor-930 .elementor-element.elementor-element-566083e .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:45px;color:#F5F5F5;}.elementor-930 .elementor-element.elementor-element-52fec0c{z-index:2;}.elementor-930 .elementor-element.elementor-element-0c6b620{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;padding:0px 100px 0px 100px;text-align:center;color:#C9C9C9;}@media(min-width:1025px){.elementor-930 .elementor-element.elementor-element-d45ef04:not(.elementor-motion-effects-element-type-background), .elementor-930 .elementor-element.elementor-element-d45ef04 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:767px){.elementor-930 .elementor-element.elementor-element-26b77a6{padding:30px 0px 0px 0px;z-index:2;}.elementor-930 .elementor-element.elementor-element-c0e732f > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:20px;}.elementor-930 .elementor-element.elementor-element-85b4ca5{margin:90px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-930 .elementor-element.elementor-element-f4a5011{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 30px 10px 30px;}.elementor-930 .elementor-element.elementor-element-f4a5011 .elementor-heading-title{font-size:25px;line-height:1.3em;}.elementor-930 .elementor-element.elementor-element-4c5aa48{padding:0px 10px 0px 10px;}.elementor-930 .elementor-element.elementor-element-4c5aa48 .elementor-heading-title{font-size:18px;}.elementor-930 .elementor-element.elementor-element-2a11544{padding:0px 0px 0px 0px;}.elementor-930 .elementor-element.elementor-element-ffce941{margin-top:30px;margin-bottom:0px;padding:10px 10px 10px 10px;}.elementor-930 .elementor-element.elementor-element-b971a6c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-930 .elementor-element.elementor-element-b971a6c .elementor-icon-list-item > a{font-size:20px;}.elementor-930 .elementor-element.elementor-element-37aaedd{padding:0px 0px 0px 0px;text-align:justify;font-size:16px;}.elementor-930 .elementor-element.elementor-element-00a9160{text-align:justify;}.elementor-930 .elementor-element.elementor-element-dae262b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-930 .elementor-element.elementor-element-d45ef04{padding:80px 0px 100px 0px;}.elementor-930 .elementor-element.elementor-element-cfad956 > .elementor-element-populated{padding:10px 0px 0px 0px;}.elementor-930 .elementor-element.elementor-element-566083e{padding:0px 0px 0px 0px;}.elementor-930 .elementor-element.elementor-element-566083e .elementor-heading-title{font-size:20px;line-height:1.3em;}.elementor-930 .elementor-element.elementor-element-0c6b620{padding:10px 10px 10px 10px;z-index:4;}.elementor-930 .elementor-element.elementor-element-4e37001{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 10px 10px 10px;}}/* Start custom CSS for text-editor, class: .elementor-element-85b4ca5 */.perspective-container{
    display: flex;
    justify-content: center;
}

/* El envoltorio que recibe el movimiento del mouse desde JS */
.gyro-wrapper {
    position: relative;
    width: 200px;
    height: 200px;
    transform-style: preserve-3d; /* Le dice al navegador que esto es espacio 3D */
    /* Rotación base constante para darle vida si el mouse no se mueve */
    /*animation: auto-spin 20s infinite linear;*/
}

@keyframes auto-spin {
    0% { transform: rotateY(0deg) rotateX(10deg); }
    100% { transform: rotateY(360deg) rotateX(10deg); }
}

/* Los Anillos de Contención */
.gyro-ring {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border-radius: 50%;
    border: 2px dashed;
    box-shadow: inset 0 0 20px rgba(255,255,255,0.05);
}

.ring-x {
    border-color: rgba(220, 195, 167, 0.4); /* Gold */
    transform: rotateX(75deg);
    animation: spin-ring-x 8s infinite linear;
}

.ring-y {
    border-color: rgba(153, 78, 55, 0.4); /* Copper */
    transform: rotateY(75deg);
    animation: spin-ring-y 12s infinite linear;
}

.ring-z {
    border-color: rgba(168, 176, 195, 0.2); /* Silver */
    transform: rotateZ(75deg);
    animation: spin-ring-z 15s infinite linear;
}

@keyframes spin-ring-x { 100% { transform: rotateX(75deg) rotateZ(360deg); } }
@keyframes spin-ring-y { 100% { transform: rotateY(75deg) rotateZ(360deg); } }
@keyframes spin-ring-z { 100% { transform: rotateZ(75deg) rotateX(360deg); } }

/* =========================================
   EL NÚCLEO MINERAL (CUBO 3D REAL)
   ========================================= */
.mineral-core {
    position: absolute;
    top: 50%; left: 50%;
    width: 60px; height: 60px;
    margin-top: -30px; margin-left: -30px;
    transform-style: preserve-3d;
    animation: float-core 4s infinite alternate ease-in-out;
}

@keyframes float-core {
    0% { transform: translateY(-15px) rotateX(45deg) rotateY(45deg); }
    100% { transform: translateY(15px) rotateX(45deg) rotateY(405deg); }
}

/* Caras del Cubo Mineral */
.core-face {
    position: absolute;
    width: 60px; height: 60px;
    background: rgba(153, 78, 55, 0.3); /* Cristal Cobrizo Traslúcido */
    border: 1px solid var(--brand-copper);
    box-shadow: inset 0 0 15px rgba(153, 78, 55, 0.8), 0 0 20px rgba(153, 78, 55, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-gold);
    font-weight: 600;
    font-size: 0.8rem;
    letter-spacing: 1px;
    backdrop-filter: blur(5px);
    animation: mutacion-mineral 9s infinite ease-in-out;
}

/* Matemáticas CSS para armar el cubo 3D */
.front  { transform: translateZ(30px); }
.back   { transform: rotateY(180deg) translateZ(30px); }
.right  { transform: rotateY(90deg) translateZ(30px); }
.left   { transform: rotateY(-90deg) translateZ(30px); }
/*
.top    { transform: rotateX(90deg) translateZ(40px); background: rgba(220, 195, 167, 0.3); border-color: var(--brand-gold); } /* Tapa dorada */

.top    { transform: rotateX(90deg) translateZ(30px); }

.bottom { transform: rotateX(-90deg) translateZ(30px); }


@keyframes mutacion-mineral {
    /* 0% a 33%: ESTADO COBRE */
    0%, 100% {
        background: rgba(153, 78, 55, 0.3);
        border: 1px solid rgba(153, 78, 55, 1);
        box-shadow: inset 0 0 15px rgba(153, 78, 55, 0.8), 0 0 20px rgba(153, 78, 55, 0.4);
        color: rgba(153, 78, 55, 1); /* Tono cobre para el borde */
    }
    
    /* 33% a 66%: ESTADO PLATA / TITANIO */
    33% {
        background: rgba(168, 176, 195, 0.3);
        border: 1px solid rgba(168, 176, 195, 1);
        box-shadow: inset 0 0 15px rgba(168, 176, 195, 0.8), 0 0 20px rgba(168, 176, 195, 0.4);
        color: rgba(168, 176, 195, 1);
    }
    
    /* 66% a 100%: ESTADO ORO CHAMPAGNE */
    66% {
        background: rgba(220, 195, 167, 0.3);
        border: 1px solid rgba(220, 195, 167, 1);
        box-shadow: inset 0 0 15px rgba(220, 195, 167, 0.8), 0 0 20px rgba(220, 195, 167, 0.4);
        color: rgba(220, 195, 167, 1);
    }
}

/* Estilos para el logo dentro del cubo 3D */
.core-logo {
    width: 50%; /* Ocupará el 70% de la cara para dejar un margen elegante */
    height: auto;
    object-fit: contain;
    /* Le damos un resplandor blanco/dorado suave para que parezca un holograma interno */
    /*filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.6));*/
    animation: holograma-brillo 3s infinite ease-in-out;
}

@keyframes holograma-brillo {
    0% {
        /* Empieza apagado y normal */
        filter: drop-shadow(0 0 0px rgba(255, 255, 255, 0)) brightness(1);
    }
    40% {
        /* El punto de máximo brillo: crece la sombra blanca y se sobreilumina el logo */
        filter: drop-shadow(0 0 25px rgba(255, 255, 255, 1)) brightness(1.8);
    }
    80% {
        /* Vuelve a apagarse */
        filter: drop-shadow(0 0 0px rgba(255, 255, 255, 0)) brightness(1);
    }
    100% {
        /* Pausa sutil antes de volver a empezar el bucle */
        filter: drop-shadow(0 0 0px rgba(255, 255, 255, 0)) brightness(1);
    }
}


/* =========================================
   OPTIMIZACIÓN DE RENDIMIENTO (GPU)
   ========================================= */

/* 1. Forzar Aceleración por Hardware (Para todos los dispositivos) */


/* 2. Rescate de Rendimiento para Celulares */
@media (max-width: 768px) {
    
    /* El enemigo #1 del celular: El desenfoque en objetos 3D */
    .core-face {
        backdrop-filter: none !important; 
        -webkit-backdrop-filter: none !important;
        /* Hacemos el cristal un poco menos transparente para compensar la falta de blur */
        background-color: rgba(0, 0, 0, 0.4); 
    }

    /* El enemigo #2 del celular: Animar drop-shadows */
    .core-logo {
        /* Cambiamos la animación costosa por una más ligera (solo opacidad y tamaño) */
        animation: holograma-movil 3s infinite ease-in-out !important;
        filter: none !important; /* Apagamos el drop-shadow dinámico */
    }

    /* Apagamos el brillo interno excesivo de los anillos para ahorrar batería y GPU */
    .gyro-ring {
        box-shadow: none !important;
    }
}

/* Animación optimizada exclusiva para celular (0 lag) */
@keyframes holograma-movil {
    0%, 80%, 100% { 
        opacity: 0.6; 
        transform: scale(1); 
    }
    40% { 
        opacity: 1; 
        transform: scale(1.1); /* Crece un poquito para simular el latido de luz */
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-cd864e4 */.elementor-930 .elementor-element.elementor-element-cd864e4{
        width: 120px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--brand-copper), transparent);
    margin: 0px auto;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7840d8a */.metal-title{
    font-family: 'Inter' !important;
    color: white !important;
    font-size: 18px  !important;
}

/* =========================================
   RED DE HUBS (DUBÁI Y MIAMI)
   ========================================= */
.hubs-network-container {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px; /* Espacio para el puente de datos en el medio */
    max-width: 1200px;
    margin: 0px auto;
    z-index: 5;
}

/* Tarjetas individuales de los Hubs */
.hub-card {
    position: relative;
    padding: 50px;
    background: rgba(12, 14, 18, 0.6);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border-radius: 12px;
    box-shadow: 0 30px 60px rgba(0,0,0,0.8), inset 0 2px 20px rgba(255,255,255,0.03);
    transition: transform 0.4s ease;
}

.hub-card:hover {
    transform: translateY(-5px);
}

.hub-desc {
    color: #a0a0a0;
    font-size: 1.05rem;
    line-height: 1.7;
    font-weight: 300;
}

/* Íconos de ubicación y animaciones Ping */
.hub-icon-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.hub-city {
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0;
}

/* El punto parpadeante simulando un radar/mapa */
.ping-ring {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    position: relative;
}

.gold-ping { background: var(--brand-gold, #ebd5b3); box-shadow: 0 0 10px var(--brand-gold, #ebd5b3); }
.copper-ping { background: var(--brand-copper, #994E37); box-shadow: 0 0 10px var(--brand-copper, #994E37); }

.ping-ring::after {
    content: '';
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    border-radius: 50%;
    border: 2px solid;
    animation: radar-ping 2s infinite ease-out;
}

.gold-ping::after { border-color: var(--brand-gold, #ebd5b3); }
.copper-ping::after { border-color: var(--brand-copper, #994E37); }

@keyframes radar-ping {
    0% { transform: scale(0.5); opacity: 1; }
    100% { transform: scale(2.5); opacity: 0; }
}

/* =========================================
   EFECTO WOW: EL PUENTE DE DATOS
   ========================================= */
.data-bridge {
    position: absolute;
    top: 100px; /* Alineado aproximadamente con los títulos de los hubs */
    left: 45%;
    width: 10%; /* Conecta las dos tarjetas a través del gap */
    height: 2px;
    background: rgba(255, 255, 255, 0.1);
    z-index: 0;
    overflow: hidden;
}

/* Los "paquetes" de luz viajando entre Dubai y Miami */
.data-packet {
    position: absolute;
    top: 0;
    width: 40px;
    height: 100%;
}

.forward {
    background: linear-gradient(90deg, transparent, var(--brand-gold, #ebd5b3), transparent);
    box-shadow: 0 0 15px var(--brand-gold, #ebd5b3);
    animation: transfer-right 3s infinite linear;
}

.reverse {
    background: linear-gradient(-90deg, transparent, var(--brand-copper, #994E37), transparent);
    box-shadow: 0 0 15px var(--brand-copper, #994E37);
    animation: transfer-left 4s infinite linear;
    animation-delay: 1.5s;
}

@keyframes transfer-right {
    0% { left: -50px; opacity: 0; }
    20% { opacity: 1; }
    80% { opacity: 1; }
    100% { left: 100%; opacity: 0; }
}

@keyframes transfer-left {
    0% { right: -50px; opacity: 0; }
    20% { opacity: 1; }
    80% { opacity: 1; }
    100% { right: 100%; opacity: 0; }
}

/* =========================================
   RESPONSIVE (MÓVILES Y TABLETS)
   ========================================= */
@media (max-width: 900px) {
    .dual-hub-page { padding: 120px 20px 80px 20px; }
    
    .hubs-network-container {
        grid-template-columns: 1fr; /* Pasa a una columna */
        gap: 60px;
        margin: 0px auto;
    }
    
    .data-bridge {
        /* En móvil, el puente de datos gira 90 grados para ser vertical */
        top: 45%; 
        left: 50%;
        width: 2px;
        height: 60px; /* La distancia del gap */
        transform: translateX(-50%);
    }
    
    .forward { background: linear-gradient(180deg, transparent, var(--brand-gold), transparent); animation: transfer-down 3s infinite linear; width: 100%; height: 40px;}
    .reverse { background: linear-gradient(-180deg, transparent, var(--brand-copper), transparent); animation: transfer-up 4s infinite linear; width: 100%; height: 40px;}
    
    @keyframes transfer-down { 0% { top: -40px; opacity:0;} 50% {opacity:1;} 100% { top: 100%; opacity:0;} }
    @keyframes transfer-up { 0% { bottom: -40px; opacity:0;} 50% {opacity:1;} 100% { bottom: 100%; opacity:0;} }

    .hub-card { padding: 40px 25px; }
    .shield-card { padding: 40px 25px; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-00a9160 *//* Caja de alerta con estilo corporativo/legal */
.shield-alert {
   
    padding: 25px 30px;
    background: rgba(153, 78, 55, 0.05); /* Tono cobre muy tenue */
    border-left: 3px solid var(--brand-copper, #994E37);
    border-radius: 4px;
    color: #e0e0e0;
    font-size: 1.05rem;
    line-height: 1.6;
    font-weight: 300;
}

@media (max-width: 768px) {
    .shield-alert{
    padding: 10px 10px;
        
    }
}/* End custom CSS */
/* Start custom CSS for column, class: .elementor-element-4040121 */.elementor-930 .elementor-element.elementor-element-4040121{
    background: rgba(15, 17, 22, 0.45);
    backdrop-filter: blur(16px); 
    -webkit-backdrop-filter: blur(16px);
    border-radius: 6px;
    padding: 45px;
    position: relative;
    overflow: hidden;
    
    box-shadow: rgba(0, 0, 0, 0.6) 0px 20px 40px, rgba(153, 78, 55, 0.15) 0px 2px 20px inset;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(153, 78, 55, 0.8) rgba(153, 78, 55, 0.3) rgba(153, 78, 55, 0.3);
    border-image: none;
    border-top: 1px solid rgba(153, 78, 55, 0.8);
}

@media (max-width: 768px) {
    
    .elementor-930 .elementor-element.elementor-element-4040121{
         padding: 45px 20px;
    }

}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-dae262b */.elementor-930 .elementor-element.elementor-element-dae262b{
    display: flex;
    justify-content: center;
}


.vesica-container {
    margin-top: 0px;
    position: relative;
    width: 150px; 
    height: 100px;
    display: flex;
    align-items: center;
    }

.circle-container {
    position: absolute;
    width: 100px;
    height: 100px;
    mix-blend-mode: screen; 
}
        
.circle-left { left: 0; }
.circle-right { right: 0; }

/* --- CONTROL DE GROSOR AQUÍ --- */
.revolving-light {
    position: absolute;
    /* 1. Ajusta qué tanto sobresale la luz (menor número negativo = más delgado) */
    top: -8px;
    left: -8px;
    /* 2. Ajusta el tamaño total (debe ser 300px + el doble del valor de top/left) */
    width: 116px;
    height: 116px;
    border-radius: 50%;
    /* 3. Ajusta el difuminado (menor px = luz más concentrada y fina) */
filter: blur(6px); 
}

/* --- CONTROL DE LONGITUD (LUZ IZQUIERDA) --- */
.light-left {
    background: conic-gradient(
        from 0deg, 
        transparent 0%, 
        transparent 65%, /* La cola empieza desde el 15% (hace que sea muy larga) */
        rgba(235, 213, 179, 0.05) 35%, 
        rgba(235, 213, 179, 0.4) 95%, 
        #ebd5b3 100% /* La cabeza brillante */
    );
    animation: spin-clockwise 4s linear infinite;
}

/* --- CONTROL DE LONGITUD (LUZ DERECHA INVERTIDA) --- */
.light-right {
    background: conic-gradient(
        from 0deg, 
        #994E37 0%, /* La cabeza brillante */
        rgba(153, 78, 55, 0.4) 5%, 
        rgba(153, 78, 55, 0.05) 35%, 
        transparent 35%, /* La cola se arrastra hasta el 85% */
        transparent 100%
    );
    animation: spin-counterclockwise 4s linear infinite;
}

.dark-cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    background-color: black;
    border-radius: 50%;
}

.soft-border {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    box-sizing: border-box;
    border: 2px solid rgba(235, 213, 179, 0.15);
    box-shadow: inset 0 0 20px rgba(235, 213, 179, 0.05);
}

.circle-right .soft-border {
    border: 2px solid rgba(153, 78, 55, 0.2);
    box-shadow: inset 0 0 20px rgba(153, 78, 55, 0.05);
}

/* --- ESTILOS DEL LOGO CENTRAL --- */
.vesica-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px; /* Ajusta este valor para que encaje perfecto en la almendra */
    z-index: 10; /* Obligatorio para que quede por encima de las capas negras */
            
    /* Opcional: Un pequeño resplandor para que combine con la estética de luz */
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.6));
}

@keyframes spin-clockwise {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes spin-counterclockwise {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}

@media (max-width: 768px) {
     .vesica-container {
    margin-top: 10px;  
    margin-bottom: 10px;
         
     }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-52fec0c */.elementor-930 .elementor-element.elementor-element-52fec0c{
        width: 120px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--brand-copper), transparent);
    margin: 0px auto;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-4e37001 */body, html {
    overflow-x: clip !important;
    max-width: 100vw;
}
/* --- Luces Ambientales (Fondo Dinámico) --- */
.ambient-lights {
    position: absolute; /* Debe ser absoluto para cubrir todo el fondo de la sección */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    z-index: 1;
    pointer-events: none;
}

.light-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px); /* Desenfoque extremo para que parezca luz ambiental */
    opacity: 0.35;
    animation: floatOrb 20s infinite alternate ease-in-out;
}

.orb-copper-bg {
    
    width: 600px; height: 600px;
    background: var(--brand-copper);
    top: -30%; left: -45%;
}

.orb-gold-bg {
    width: 500px; height: 500px;
    background: var(--brand-gold);
    bottom: -10%; right: -40%;
    animation-duration: 25s;
    animation-delay: -5s;
}



.stack-container {
    display: flex;
    flex-direction: column;
    gap: 60px; /* Separación inicial de las tarjetas */
    margin-top: 50px;
    position: relative;
}

.stack-card {
    /* El truco del Stack: sticky las mantiene fijas al llegar al tope */
    position: sticky !important;
    /* Cada tarjeta se detiene un poco más abajo que la anterior usando su variable index */
    top: calc(15vh + (var(--card-index) * 25px)) !important;
    
    display: flex !important;
    flex-direction: row !important;
    background: rgba(12, 13, 16, 0.95) !important; /* Más opaco para ocultar las tarjetas de abajo */
    box-shadow: 0 -20px 50px rgba(0,0,0,0.8), inset 0 2px 20px rgba(255,255,255,0.02) !important;
    transform-origin: center top !important;
    transition: all 0.4s ease !important;
}

.card-image-wrapper {
    width: 100%;
    height: 350px;
    position: relative;
    overflow: hidden;
    border-radius: 4px 4px 0 0;
}

.card-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.stack-card:hover .card-image-wrapper img {
    transform: scale(1.05);
}

/* Filtros metálicos sobre las fotos para igualar la paleta de colores */
.image-overlay-copper {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to bottom, transparent 50%, rgba(153, 78, 55, 0.2) 100%);
}
.image-overlay-silver {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to bottom, transparent 50%, rgba(168, 176, 195, 0.2) 100%);
}
.image-overlay-gold {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to bottom, transparent 50%, rgba(220, 195, 167, 0.2) 100%);
}

.card-info {
    padding: 40px;
    background: linear-gradient(to bottom, rgba(20, 22, 26, 0.3), transparent);
}

.metal-title {
    font-size: 1.6rem;
    margin-bottom: 15px;
    letter-spacing: 1px;
}
.copper-text { color: var(--brand-copper); }
.silver-text { color: #a8b0c3; }
.gold-text { color: var(--brand-gold); }

.card-info p {
    color: #c0c0c0;
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1.6;
}






.copper-edge {
    box-shadow: rgba(0, 0, 0, 0.6) 0px 20px 40px, rgba(153, 78, 55, 0.15) 0px 2px 20px inset;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(153, 78, 55, 0.8) rgba(153, 78, 55, 0.3) rgba(153, 78, 55, 0.3);
    border-image: none;
    border-top: 1px solid rgba(153, 78, 55, 0.8);
}

.smoked-glass {
    backdrop-filter: blur(16px);
    position: relative;
    background: rgba(15, 17, 22, 0.45) !important;
    border-radius: 6px;
    padding: 45px;
    overflow: hidden;
}
.copper-text {
    color: var(--brand-copper) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 700 !important;
}

.silver-text {
    color: rgb(168, 176, 195) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 700 !important;
}

.gold-text {
    color: var(--brand-gold) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 700 !important;
}

.gold-edge {
    box-shadow: rgba(0, 0, 0, 0.6) 0px 20px 40px, rgba(220, 195, 167, 0.15) 0px 2px 20px inset;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(220, 195, 167, 0.8) rgba(220, 195, 167, 0.3) rgba(220, 195, 167, 0.3);
    border-image: none;
    border-top: 1px solid rgba(220, 195, 167, 0.8);
}


.card-image-wrapper{
    width: 60%;    
}
.card-info{
    width: 40%;
}

@media (max-width: 768px) {
    
    .stack-card {
        flex-direction: column !important; 
        top: calc(10vh + (var(--card-index) * 15px));
    }
    
    .card-image-wrapper { 
        height: 250px; 
    }
    
    .card-info { 
        padding: 25px; 
    }
    
    .card-image-wrapper{
        width: 100%;
    }
    
    .card-info{
        width: 100%;
    }
    
    .smoked-glass{
        padding: 30px 20px;
    }

}/* End custom CSS */
/* Start custom CSS for column, class: .elementor-element-cfad956 */.elementor-930 .elementor-element.elementor-element-cfad956{
    /*height: 100vh;*/
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-d45ef04 */.elementor-930 .elementor-element.elementor-element-d45ef04{
    /*height: 100vh;*/
    /*overflow: hidden !important;*/
    
}

.elementor-930 .elementor-element.elementor-element-d45ef04::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    
    /* Controla qué tan largo/suave quieres que sea el difuminado */
    height: 350px; 
    
    /* El degradado de oscuro a transparente */
    background: linear-gradient(to bottom, #121214 0%, transparent 100%);
    
    /* Z-index: asegúrate de que cubra el fondo pero no tape tus textos o botones */
    z-index: 1; 
    
    /* Esto evita que el degradado invisible bloquee los clics del usuario */
    pointer-events: none; 
}/* End custom CSS */