/* ===== SEPARADOR ABOUT ME ===== */

.about-marquee{

    width:100%;
    overflow:hidden;

    background-color:#c40000;

    background-image:
    linear-gradient(rgba(255,255,255,0.45) 1.5px, transparent 1.5px),
    linear-gradient(90deg, rgba(255,255,255,0.45) 1.5px, transparent 1.5px);

    background-size:30px 30px;

    padding:18px 0;

    position:relative;
}

/* LUZ */

.about-marquee::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(
    circle at center,
    rgba(255,255,255,0.08),
    transparent 70%
    );

    pointer-events:none;
}

/* TEXTURA */

.about-marquee::after{

    content:"";

    position:absolute;

    inset:0;

    background:url("https://www.transparenttextures.com/patterns/noise.png");

    opacity:0.15;

    pointer-events:none;
}

/* TRACK */

.about-track{

    display:flex;

    align-items:center;

    width:max-content;

    white-space:nowrap;

    animation:aboutScroll 20s linear infinite;
}

/* TEXTO */

.about-track span{

    flex-shrink:0;

    margin-right:140px;

    font-size:3.5rem;

    font-weight:900;

    line-height:1;

    text-transform:lowercase;

    color:white;

    letter-spacing:-2px;

    font-family:Arial,sans-serif;

    mix-blend-mode:screen;

    text-shadow:
    2px 2px 0 rgba(255,255,255,0.15),
    -2px -2px 0 rgba(255,255,255,0.05);
}

html.lenis{
    height:auto;
}

.lenis.lenis-smooth{
    scroll-behavior:auto;
}

.lenis.lenis-smooth [data-lenis-prevent]{
    overscroll-behavior:contain;
}

.lenis.lenis-stopped{
    overflow:hidden;
}

/* ANIMACIÓN */

@keyframes aboutScroll{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }
}

/* CONTENEDOR TARJETA */

.card-sticky{

    display:flex;

    justify-content:center;

    align-items:center;
}

/* IMAGEN TARJETA */

.card-sticky img{

    width:420px;

    transform:rotate(-6deg);

    transition:transform 0.4s ease;
}

/* HOVER SUAVE */

.card-sticky img:hover{

    transform:rotate(-3deg) scale(1.02);
}

/* ABOUT SECTION */

.text-scene{

    position:relative;

    height:100vh;

    display:flex;

    align-items:center;
}

/* WRAPPER */

.text-wrapper{

    position:relative;

    width:550px;

    min-height:350px;

    display:flex;

    flex-direction:column;

    justify-content:center;
}

/* SLIDES */

.text-slide{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    opacity:0;

    transform:translateY(60px);

    transition:
    opacity 0.7s ease,
    transform 0.7s ease;

    pointer-events:none;
}

/* ACTIVO */

.text-slide.active{

    opacity:1;

    transform:translateY(0);

    pointer-events:auto;
}

/* TITULO */

.text-slide h2{

    color:white;

    font-size:90px;

    line-height:0.95;

    font-weight:900;

    margin:0;
}

/* PÁRRAFOS */

.text-slide p{

    color:white;

    font-size:28px;

    line-height:1.4;

    font-weight:400;

    margin:0;
}

/* BOTÓN */

#nextBtn{

    margin-top:220px;

    width:max-content;

    padding:16px 30px;

    border:none;

    border-radius:999px;

    background:#ffe100;

    color:black;

    font-size:18px;

    font-weight:700;

    cursor:pointer;

    transition:0.3s ease;
}

/* HOVER */

#nextBtn:hover{

    transform:scale(1.05);

    background:white;
}

/* ===== FONDO GLOBAL ===== */

body{

    background:
    radial-gradient(circle at top, #101010, #000000);

    overflow-x:hidden;
}

/* ===== ESTRELLAS PREMIUM ===== */

body::before{

    content:"";

    position:fixed;

    inset:0;

    background-image:

    radial-gradient(
    rgba(255,255,255,0.95) 1.8px,
    transparent 1.8px
    ),

    radial-gradient(
    rgba(255,255,255,0.75) 3px,
    transparent 3px
    ),

    radial-gradient(
    rgba(255,255,255,0.35) 1px,
    transparent 1px
    );

    background-size:

    220px 220px,
    420px 420px,
    140px 140px;

    background-position:

    0 0,
    40px 60px,
    120px 180px;

    opacity:0.7;

    pointer-events:none;

    z-index:-1;

    animation:
    starsMove 80s linear infinite,
    starsTwinkle 4s ease-in-out infinite;

    will-change:
    transform,
    opacity,
    filter;
}

/* MOVIMIENTO */

@keyframes starsMove{

    from{
        transform:translateY(0px);
    }

    to{
        transform:translateY(-150px);
    }
}

/* BRILLO ESTRELLAS */

@keyframes starsTwinkle{

    0%{

        opacity:0.55;

        filter:brightness(1);

        transform:scale(1);
    }

    50%{

        opacity:0.95;

        filter:brightness(1.35);

        transform:scale(1.015);
    }

    100%{

        opacity:0.55;

        filter:brightness(1);

        transform:scale(1);
    }
}

/* GRID SOFTWARES */
/* LOGOS */

.software-grid .elementor-widget-image{

    opacity:0;

    transform:
    translateY(40px)
    scale(0.9);

    transition:
    opacity 0.7s cubic-bezier(.22,.61,.36,1),
    transform 0.7s cubic-bezier(.22,.61,.36,1),
    filter 0.7s cubic-bezier(.22,.61,.36,1);

    filter:
    brightness(0.9);

    will-change:
    transform,
    filter;

    position:relative;
}

/* APARICIÓN */

.software-grid.show .elementor-widget-image{

    opacity:1;

    transform:
    translateY(0)
    scale(1);
}

/* CASCADA */

.software-grid.show .elementor-widget-image:nth-child(1){transition-delay:0.05s;}
.software-grid.show .elementor-widget-image:nth-child(2){transition-delay:0.1s;}
.software-grid.show .elementor-widget-image:nth-child(3){transition-delay:0.15s;}
.software-grid.show .elementor-widget-image:nth-child(4){transition-delay:0.2s;}
.software-grid.show .elementor-widget-image:nth-child(5){transition-delay:0.25s;}
.software-grid.show .elementor-widget-image:nth-child(6){transition-delay:0.3s;}
.software-grid.show .elementor-widget-image:nth-child(7){transition-delay:0.35s;}
.software-grid.show .elementor-widget-image:nth-child(8){transition-delay:0.4s;}
.software-grid.show .elementor-widget-image:nth-child(9){transition-delay:0.45s;}
.software-grid.show .elementor-widget-image:nth-child(10){transition-delay:0.5s;}

/* HOVER */

.software-grid .elementor-widget-image:hover{

    transform:
    scale(1.08);

    filter:
    brightness(1.25)
    drop-shadow(0 0 4px rgba(255,255,255,0.22))
drop-shadow(0 0 10px rgba(255,255,255,0.08));
}

/* IMAGEN */

.software-grid .elementor-widget-image img{

    transition:
    transform 0.7s cubic-bezier(.22,.61,.36,1),
    filter 0.7s cubic-bezier(.22,.61,.36,1);
}

/* ANIMACIÓN */

@keyframes softwareReveal{

    to{

        opacity:1;

        transform:
        translateY(0)
        scale(1);
    }
}

.grow-3d-btn .elementor-button{

    transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease;

}

.grow-3d-btn .elementor-button:hover{

    transform:scale(1.12);

    box-shadow:
    0 0 25px rgba(255,225,0,0.45);

}

/* ===== CONTACTO ===== */

.wpforms-container{

    width:100% !important;

    max-width:1200px !important;

    margin-top:10px !important;

    margin-left:0 !important;
}

/* FORMULARIO */

.wpforms-form{

    width:100% !important;
}

/* FILAS */

.wpforms-field-row{

    display:flex !important;

    gap:24px !important;
}

/* ===== LABELS ===== */

.wpforms-field-label{

    color:white !important;

    font-size:18px !important;

    font-weight:600 !important;

    margin-bottom:6px !important;
}

/* ASTERISCOS */

.wpforms-required-label{

    color:#ffe100 !important;
}

/* INPUTS */

.wpforms-field input,
.wpforms-field textarea{

    width:100% !important;

    background:white !important;

    color:black !important;

    border:none !important;

    border-radius:28px !important;

    padding:22px !important;

    font-size:18px !important;

    transition:
    transform 0.3s ease,
    box-shadow 0.3s ease !important;
}

/* PLACEHOLDER */

.wpforms-field input::placeholder,
.wpforms-field textarea::placeholder{

    color:#777 !important;
}

/* TEXTAREA */

.wpforms-field textarea{

    min-height:240px !important;

    resize:none !important;
}

/* FOCUS */

.wpforms-field input:focus,
.wpforms-field textarea:focus{

    box-shadow:
    0 0 30px rgba(255,225,0,0.25);

    transform:scale(1.01);
}

/* BOTÓN */

.wpforms-submit{

    background:#ffe100 !important;

    color:black !important;

    border:none !important;

    border-radius:999px !important;

    padding:22px 52px !important;

    font-size:18px !important;

    font-weight:700 !important;

    line-height:1 !important;

    display:flex !important;

    align-items:center !important;

    justify-content:center !important;

    transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease !important;
}

/* HOVER BOTÓN */

.wpforms-submit:hover{

    transform:scale(1.06) translateY(-2px);

    background:white !important;

    box-shadow:
    0 0 30px rgba(255,225,0,0.3);
}

/* ESPACIADO ENTRE CAMPOS */

.wpforms-field{

    margin-bottom:8px !important;
}

/* FOOTER BOTONES */

.footer-btn .elementor-button{

    transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease !important;
}

/* HOVER */

.footer-btn .elementor-button:hover{

    transform:
    translateY(-3px)
    scale(1.04);

    box-shadow:
    0 0 25px rgba(0,0,0,0.25);

    background:#111111 !important;
}

/* ===== FLECHA FOOTER ===== */

.footer-arrow{

    animation:
    footerArrowFloat 1.8s ease-in-out infinite;

    transform-origin:center;
}

/* ANIMACIÓN */

@keyframes footerArrowFloat{

    0%{

        transform:
        scale(1)
        translateX(0px);
    }

    50%{

        transform:
        scale(1.12)
        translateX(8px);
    }

    100%{

        transform:
        scale(1)
        translateX(0px);
    }
}

/* ===== HOVER IMÁGENES 3D ===== */

.model-card{

    overflow:hidden;

    border-radius:28px;

    transition:
    transform 0.45s cubic-bezier(.22,1,.36,1),
    box-shadow 0.45s ease,
    filter 0.45s ease !important;
}

/* IMAGEN */

.model-card img{

    transition:
    transform 0.6s cubic-bezier(.22,1,.36,1),
    filter 0.45s ease !important;
}

/* HOVER */

.model-card:hover{

    transform:
    translateY(-8px)
    scale(1.03);

    box-shadow:
    0 20px 45px rgba(0,0,0,0.35),
    0 0 40px rgba(255,225,0,0.12);

    z-index:5;
}

/* ZOOM IMAGEN */

.model-card:hover img{

    transform:scale(1.08);

    filter:
    brightness(1.05)
    contrast(1.05);
}

.menu-link{

    transition:
    color 0.3s ease,
    transform 0.3s ease;

}

.menu-link a{

    color:black !important;

}

.menu-link:hover a{

    color:#4C4C4C !important;

}

.menu-link:hover{

    transform:translateY(-2px) scale(1.08);

}