/*==================================================
XR STUDIO 6.0
Diseño exclusivo
No plantilla
==================================================*/


/*=========================================
FUENTES
(cargada de forma no bloqueante mediante
<link rel="preconnect"> + <link rel="stylesheet">
en el <head> de index.html)
=========================================*/


/*=========================================
VARIABLES
=========================================*/

:root{

    --blue:#0057D9;

    --blue2:#0D74FF;

    --dark:#081019;

    --text:#CBD5E1;

    --white:#FFFFFF;

    --glass:rgba(10,18,28,.55);

    --glassBorder:rgba(255,255,255,.08);

    --radius:30px;

    --shadow:

    0 25px 70px rgba(0,0,0,.35);

}


/*=========================================
RESET
=========================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

    width:100%;

    overflow-x:hidden;

}

body{

    font-family:'Manrope',sans-serif;

    background:#000;

    color:white;

    overflow-x:hidden;

    width:100%;

    position:relative;

}

a,

button{

    -webkit-tap-highlight-color:transparent;

}

a:focus-visible,

button:focus-visible,

input:focus-visible,

textarea:focus-visible,

select:focus-visible{

    outline:2px solid var(--blue2);

    outline-offset:3px;

    border-radius:6px;

}

.skip-link{

    position:absolute;

    top:-60px;

    left:16px;

    z-index:100002;

    padding:12px 20px;

    background:var(--blue);

    color:#fff;

    border-radius:10px;

    font-weight:600;

    text-decoration:none;

    transition:top .25s;

}

.skip-link:focus{

    top:16px;

}

@media(prefers-reduced-motion:reduce){

    *,

    *::before,

    *::after{

        animation-duration:.001ms!important;

        animation-iteration-count:1!important;

        transition-duration:.001ms!important;

        scroll-behavior:auto!important;

    }

}

img{

    display:block;

    max-width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

ul{

    list-style:none;

}

section{

    position:relative;

}

.container{

    width:min(1450px,92%);

    margin:auto;

}


/*=========================================
VIDEO DE FONDO
=========================================*/

.video-background{

    position:fixed;

    inset:0;

    z-index:-5;

    overflow:hidden;

}

.background-video{

    width:100%;

    height:100%;

    object-fit:cover;

    transform:scale(1.08);

}

.background-overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(

    rgba(4,8,15,.70),

    rgba(4,8,15,.55)

    );

}


/*=========================================
HEADER
=========================================*/

#header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:9999;

    padding-top:env(safe-area-inset-top);

    transition:.4s;

}

.navbar{

    width:min(1450px,94%);

    margin:18px auto;

    padding:18px 38px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    border-radius:18px;

    background:rgba(0,0,0,.20);

    -webkit-backdrop-filter:blur(16px);

    backdrop-filter:blur(16px);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

    position:relative;

}

.logo img{

    width:130px;

}

.menu{

    display:flex;

    gap:45px;

}

.menu a{

    color:white;

    font-weight:600;

    letter-spacing:.4px;

    transition:.3s;

}

.menu a:hover{

    color:#7AB9FF;

}

.menu-cta{

    display:none;

}


/*=========================================
MENÚ MÓVIL (HAMBURGUESA)
=========================================*/

.menu-toggle{

    display:none;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:6px;

    width:44px;

    height:44px;

    background:none;

    border:none;

    cursor:pointer;

    -webkit-tap-highlight-color:transparent;

    flex-shrink:0;

}

.menu-toggle span{

    display:block;

    width:26px;

    height:2px;

    border-radius:2px;

    background:white;

    transition:.3s;

}

.menu-toggle.active span:nth-child(1){

    transform:translateY(8px) rotate(45deg);

}

.menu-toggle.active span:nth-child(2){

    opacity:0;

}

.menu-toggle.active span:nth-child(3){

    transform:translateY(-8px) rotate(-45deg);

}

.menu-backdrop{

    position:fixed;

    inset:0;

    background:rgba(4,8,15,.6);

    opacity:0;

    visibility:hidden;

    transition:opacity .35s, visibility .35s;

    z-index:100000;

}

.menu-backdrop.active{

    opacity:1;

    visibility:visible;

}


/*=========================================
BOTONES
=========================================*/

.btn-principal{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    padding:17px 34px;

    border-radius:999px;

    background:

    linear-gradient(

    135deg,

    var(--blue),

    var(--blue2)

    );

    color:white;

    font-weight:700;

    transition:.35s;

}

.btn-principal:hover{

    transform:translateY(-4px);

    box-shadow:

    0 18px 45px rgba(0,87,217,.40);

}

.btn-secundario{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    padding:17px 34px;

    border-radius:999px;

    border:2px solid rgba(255,255,255,.25);

    color:white;

    font-weight:700;

    -webkit-backdrop-filter:blur(10px);

    backdrop-filter:blur(10px);

    transition:.35s;

}

.btn-secundario:hover{

    background:white;

    color:var(--blue);

}


/*=========================================
HERO
=========================================*/

.hero{

    min-height:100vh;

    min-height:100dvh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:0 30px;

}

.hero-content{

    max-width:980px;

}

.hero-mini{

    color:#69B4FF;

    letter-spacing:4px;

    font-size:.9rem;

    margin-bottom:25px;

}

.hero h1{

    font-size:clamp(4rem,8vw,7rem);

    line-height:.92;

    font-weight:800;

    margin-bottom:35px;

}

.hero h1 strong{

    color:#69B4FF;

    font-weight:800;

}

.hero-text{

    max-width:760px;

    margin:auto;

    font-size:1.3rem;

    line-height:2;

    color:#D6DEE8;

}

.hero-buttons{

    margin-top:55px;

    display:flex;

    justify-content:center;

    gap:22px;

    flex-wrap:wrap;

}

.scroll-indicator{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:8px;

    color:white;

    animation:bounce 2s infinite;

}

@keyframes bounce{

0%,20%,50%,80%,100%{

transform:translate(-50%,0);

}

40%{

transform:translate(-50%,-10px);

}

60%{

transform:translate(-50%,-5px);

}

}


/*=========================================
SHOWCASE
=========================================*/

.section-title{

    width:min(900px,92%);

    margin:0 auto 70px;

    text-align:center;

}

.section-title p{

    color:#69B4FF;

    letter-spacing:3px;

    font-size:.9rem;

    font-weight:700;

    margin-bottom:18px;

    text-transform:uppercase;

}

.section-title h2{

    font-size:clamp(2.8rem,5vw,4.8rem);

    line-height:1.05;

    margin-bottom:25px;

}

.section-description{

    color:#CBD5E1;

    font-size:1.15rem;

    line-height:2;

}



/*=========================================
SHOWCASE
=========================================*/

.showcase{

    padding:120px 0;

}

.showcase-grid{

    display:grid;

    grid-template-columns:

        2fr 1fr 1fr;

    gap:25px;

}

.showcase-item{

    position:relative;

    overflow:hidden;

    border-radius:32px;

    background:#111;

    min-height:320px;

    cursor:pointer;

    box-shadow:

    0 20px 60px rgba(0,0,0,.35);

    transition:.45s;

}

.showcase-item.large{

    grid-row:span 2;

    min-height:680px;

}

.showcase-item.wide{

    grid-column:span 2;

    min-height:320px;

}

.showcase-item img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.8s;

}

.showcase-item:hover img{

    transform:scale(1.08);

}

.showcase-item::after{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(

    transparent,

    rgba(0,0,0,.75)

    );

}

.overlay{

    position:absolute;

    left:35px;

    right:35px;

    bottom:30px;

    z-index:5;

}

.overlay h3{

    font-size:2rem;

    margin-bottom:10px;

}

.overlay p{

    color:#D7DEE8;

    line-height:1.7;

}



/*=========================================
STATEMENT
=========================================*/

.statement{

    padding:180px 0;

    text-align:center;

}

.statement-content{

    width:min(950px,92%);

    margin:auto;

}

.statement-mini{

    color:#69B4FF;

    letter-spacing:4px;

    margin-bottom:20px;

    font-weight:700;

}

.statement h2{

    font-size:clamp(3rem,6vw,5.5rem);

    line-height:1.05;

    margin-bottom:35px;

}

.statement p{

    font-size:1.25rem;

    color:#D5DCE5;

    line-height:2;

}



/*=========================================
CATEGORÍAS
=========================================*/

.categories{

    padding:100px 0 140px;

}

.categories-grid{

    display:grid;

    grid-template-columns:

    repeat(4,1fr);

    gap:22px;

    margin-top:50px;

}

.categories-grid div{

    padding:35px;

    border-radius:24px;

    background:

    rgba(255,255,255,.06);

    -webkit-backdrop-filter:blur(12px);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.08);

    text-align:center;

    font-size:1.2rem;

    font-weight:600;

    transition:.35s;

}

.categories-grid div:hover{

    transform:translateY(-8px);

    background:

    rgba(0,87,217,.30);

    border-color:

    rgba(255,255,255,.18);

}

.categories-grid div.cat-photo{

    padding:0;

    overflow:hidden;

    position:relative;

    min-height:180px;

    display:flex;

    align-items:flex-end;

    justify-content:flex-start;

    text-align:left;

}

.categories-grid div.cat-photo img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

}

.categories-grid div.cat-photo::after{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(

    transparent,

    rgba(0,0,0,.75)

    );

}

.categories-grid div.cat-photo span{

    position:relative;

    z-index:2;

    padding:22px;

    font-size:1.2rem;

    font-weight:600;

}

/*=========================================
GALERÍA
=========================================*/

.gallery{

    padding:120px 0;

}

.gallery-grid{

    display:grid;

    grid-template-columns:

        repeat(4,1fr);

    gap:22px;

    margin-top:50px;

}

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    background:#111;

    min-height:260px;

    content-visibility:auto;

    contain-intrinsic-size:auto 260px;

    box-shadow:

    0 20px 60px rgba(0,0,0,.35);

}

.gallery-item img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

}

/*=========================================
TIMELINE
=========================================*/

.timeline{

    padding:140px 0;

    position:relative;

}

.timeline-grid{

    display:grid;

    grid-template-columns:

        repeat(4,1fr);

    gap:60px;

    position:relative;

    margin-top:90px;

}

.timeline-grid::before{

    content:"";

    position:absolute;

    top:55px;

    left:12%;

    width:76%;

    height:2px;

    background:

    linear-gradient(

    90deg,

    rgba(255,255,255,.15),

    #4EA2FF,

    rgba(255,255,255,.15)

    );

}

.timeline-item{

    position:relative;

    text-align:center;

    z-index:2;

}

.timeline-icon{

    width:110px;

    height:110px;

    margin:auto;

    margin-bottom:30px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2.2rem;

    color:white;

    background:

    linear-gradient(

    135deg,

    var(--blue),

    var(--blue2)

    );

    box-shadow:

    0 0 40px rgba(13,116,255,.45);

}

.timeline-item h3{

    font-size:1.6rem;

    margin-bottom:18px;

}

.timeline-item p{

    color:#D5DDE6;

    line-height:1.9;

    max-width:260px;

    margin:auto;

}

.timeline-arrow{

    display:none;

}



/*=========================================
WORKSHOP
=========================================*/

.workshop{

    padding:150px 0;

}

.workshop-content{

    display:grid;

    grid-template-columns:

        1fr 1.2fr;

    gap:70px;

    align-items:center;

}

.workshop-text p{

    color:#69B4FF;

    letter-spacing:3px;

    font-weight:700;

    margin-bottom:20px;

}

.workshop-text h2{

    font-size:clamp(2.8rem,5vw,4.5rem);

    line-height:1.05;

    margin-bottom:30px;

}

.workshop-text>p:last-of-type{

    color:#D6DEE8;

    line-height:2;

    font-size:1.1rem;

    margin-bottom:40px;

}

.workshop-video{

    overflow:hidden;

    border-radius:35px;

    box-shadow:

    0 35px 80px rgba(0,0,0,.45);

}

.workshop-video video{

    width:100%;

    display:block;

}



/*=========================================
ANYTHING
=========================================*/

.anything{

    padding:170px 0;

}

.anything-box{

    width:min(950px,92%);

    margin:auto;

    text-align:center;

    padding:90px 70px;

    border-radius:40px;

    background:

    linear-gradient(

    145deg,

    rgba(0,87,217,.28),

    rgba(8,15,24,.70)

    );

    -webkit-backdrop-filter:blur(20px);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.10);

}

.anything-box p{

    color:#69B4FF;

    letter-spacing:3px;

    font-weight:700;

    margin-bottom:22px;

}

.anything-box h2{

    font-size:clamp(3rem,6vw,5rem);

    line-height:1.05;

    margin-bottom:30px;

}

.anything-box>p:last-of-type{

    color:#D5DDE6;

    line-height:2;

    font-size:1.15rem;

    margin-bottom:45px;

}

/*=========================================
LABORATORIO
=========================================*/

.laboratorio{

    padding:150px 0;

}

.laboratorio-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:24px;

}

.lab-card{

    position:relative;

    overflow:hidden;

    border-radius:32px;

    min-height:340px;

    background:#111;

    box-shadow:

    0 25px 70px rgba(0,0,0,.35);

    transition:.45s;

}

.lab-card.large{

    grid-row:span 2;

    min-height:720px;

}

.lab-card img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.8s;

}

.lab-card:hover img{

    transform:scale(1.08);

}

.lab-card::after{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(

    transparent,

    rgba(0,0,0,.78)

    );

}

.lab-info{

    position:absolute;

    left:30px;

    right:30px;

    bottom:30px;

    z-index:5;

}

.lab-info h3{

    font-size:2rem;

    margin-bottom:10px;

}

.lab-info p{

    color:#D8DFE8;

    line-height:1.8;

}



/*=========================================
WHY XR
=========================================*/

.why-xr{

    padding:150px 0;

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

    margin-top:70px;

}

.why-item{

    padding:45px;

    border-radius:28px;

    background:

    rgba(255,255,255,.06);

    -webkit-backdrop-filter:blur(16px);

    backdrop-filter:blur(16px);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.why-item:hover{

    transform:translateY(-10px);

    border-color:#4EA2FF;

}

.why-number{

    font-size:4rem;

    font-weight:800;

    color:rgba(78,162,255,.25);

    margin-bottom:20px;

}

.why-item h3{

    font-size:1.8rem;

    margin-bottom:18px;

}

.why-item p{

    color:#D6DEE8;

    line-height:1.9;

}



/*=========================================
ESTADÍSTICAS
=========================================*/

.stats{

    padding:140px 0;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.stat{

    text-align:center;

    padding:55px 30px;

    border-radius:28px;

    background:

    linear-gradient(

    180deg,

    rgba(255,255,255,.08),

    rgba(255,255,255,.03)

    );

    -webkit-backdrop-filter:blur(16px);

    backdrop-filter:blur(16px);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.stat:hover{

    transform:translateY(-8px);

}

.stat h2{

    font-size:4rem;

    color:#69B4FF;

    margin-bottom:15px;

}

.stat p{

    color:#D7DEE8;

    font-size:1.1rem;

    line-height:1.6;

}



/*=========================================
DREAM
=========================================*/

.dream{

    padding:180px 0;

}

.dream-box{

    width:min(1000px,92%);

    margin:auto;

    text-align:center;

    padding:100px 70px;

    border-radius:40px;

    background:

    linear-gradient(

    135deg,

    rgba(0,87,217,.35),

    rgba(8,15,24,.85)

    );

    border:1px solid rgba(255,255,255,.10);

    -webkit-backdrop-filter:blur(18px);

    backdrop-filter:blur(18px);

    box-shadow:

    0 35px 90px rgba(0,0,0,.35);

}

.dream-box p{

    color:#69B4FF;

    letter-spacing:3px;

    font-weight:700;

    margin-bottom:20px;

}

.dream-box h2{

    font-size:clamp(3rem,6vw,5.5rem);

    line-height:1.05;

    margin-bottom:30px;

}

.dream-box > p:last-of-type{

    color:#D6DEE8;

    line-height:2;

    font-size:1.2rem;

    margin-bottom:45px;

}

/*=========================================
TESTIMONIALS
=========================================*/

.testimonials{

    padding:140px 0;

}

.testimonial-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:70px;

}

.testimonial{

    padding:45px;

    border-radius:30px;

    background:

    rgba(255,255,255,.06);

    -webkit-backdrop-filter:blur(18px);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.testimonial:hover{

    transform:translateY(-10px);

    border-color:#4EA2FF;

}

.testimonial p{

    color:#D7DEE8;

    line-height:2;

    margin-bottom:25px;

    font-size:1.05rem;

}

.testimonial h4{

    color:#FFD54A;

    font-size:1.1rem;

    margin-bottom:8px;

}

.testimonial span{

    color:#8FA8C5;

    font-size:.95rem;

}



/*=========================================
CONTACTO
=========================================*/

.contact{

    padding:150px 0;

}

.contact-box{

    display:grid;

    grid-template-columns:1.3fr .9fr;

    gap:70px;

    align-items:center;

    padding:70px;

    border-radius:35px;

    background:

    linear-gradient(

    135deg,

    rgba(0,87,217,.28),

    rgba(10,18,30,.82)

    );

    -webkit-backdrop-filter:blur(20px);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.10);

}

.contact-box p:first-child{

    color:#69B4FF;

    letter-spacing:3px;

    font-weight:700;

    margin-bottom:18px;

}

.contact-box h2{

    font-size:clamp(2.8rem,5vw,4.5rem);

    line-height:1.05;

    margin-bottom:30px;

}

.contact-box p{

    color:#D6DEE8;

    line-height:2;

}

.contact-buttons{

    display:flex;

    flex-direction:column;

    gap:20px;

}



/*=========================================
FOOTER
=========================================*/

footer{

    padding:90px 0 40px;

    border-top:1px solid rgba(255,255,255,.08);

    background:rgba(0,0,0,.35);

    -webkit-backdrop-filter:blur(15px);

    backdrop-filter:blur(15px);

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:60px;

    margin-bottom:45px;

}

.footer-logo{

    width:170px;

    margin-bottom:25px;

}

.footer-grid h3{

    margin-bottom:22px;

    color:white;

}

.footer-grid ul{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.footer-grid li{

    color:#C8D3DF;

}

.footer-grid a{

    transition:.3s;

}

.footer-grid a:hover{

    color:#69B4FF;

}

.copyright{

    text-align:center;

    color:#8EA0B5;

    border-top:1px solid rgba(255,255,255,.08);

    padding-top:25px;

}



/*=========================================
WHATSAPP
=========================================*/

.whatsapp{

    position:fixed;

    right:calc(28px + env(safe-area-inset-right));

    bottom:calc(28px + env(safe-area-inset-bottom));

    width:70px;

    height:70px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#25D366;

    color:white;

    font-size:2rem;

    box-shadow:

    0 20px 50px rgba(0,0,0,.35);

    z-index:9999;

    transition:.35s;

}

.whatsapp:hover{

    transform:scale(1.08);

}



/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:1100px){

    .showcase-grid,

    .laboratorio-grid,

    .categories-grid,

    .stats-grid,

    .testimonial-grid,

    .gallery-grid{

        grid-template-columns:1fr 1fr;

    }

    .timeline-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .workshop-content,

    .contact-box,

    .footer-grid,

    .why-grid{

        grid-template-columns:1fr;

    }

}



@media(max-width:1024px){

    .navbar>.btn-principal{

        display:none;

    }

    .menu-toggle{

        display:flex;

    }

    body.nav-open #header{

        z-index:100000;

    }

    .menu{

        position:fixed;

        top:0;

        right:0;

        height:100vh;

        height:100dvh;

        width:min(320px,82vw);

        flex-direction:column;

        align-items:flex-start;

        justify-content:center;

        gap:26px;

        padding:40px;

        padding-top:calc(100px + env(safe-area-inset-top));

        padding-right:calc(40px + env(safe-area-inset-right));

        padding-bottom:calc(40px + env(safe-area-inset-bottom));

        margin:0;

        background:rgba(5,10,18,.96);

        -webkit-backdrop-filter:blur(20px);

        backdrop-filter:blur(20px);

        border-left:1px solid rgba(255,255,255,.08);

        opacity:0;

        visibility:hidden;

        transform:translateX(24px);

        transition:opacity .35s, visibility .35s, transform .35s;

        z-index:100001;

        overflow-y:auto;

        -webkit-overflow-scrolling:touch;

    }

    .menu.active{

        opacity:1;

        visibility:visible;

        transform:translateX(0);

    }

    .menu li{

        width:100%;

    }

    .menu a{

        font-size:1.25rem;

    }

    .menu-cta{

        display:block;

        width:100%;

        margin-top:8px;

    }

    .menu-cta .btn-principal{

        width:100%;

    }

}



@media(max-width:768px){

    .hero{

        padding-top:130px;

        padding-bottom:40px;

    }

    .hero h1{

        font-size:3rem;

    }

    .hero-text{

        font-size:1.05rem;

    }

    .hero-buttons{

        flex-direction:column;

        align-items:center;

    }

    .showcase-grid,

    .categories-grid,

    .laboratorio-grid,

    .timeline-grid,

    .why-grid,

    .stats-grid,

    .testimonial-grid,

    .gallery-grid{

        grid-template-columns:1fr;

    }

    .showcase-item.large,

    .showcase-item.wide{

        grid-column:auto;

        grid-row:auto;

        min-height:350px;

    }

    .lab-card.large{

        grid-row:auto;

        min-height:380px;

    }

    .anything-box,

    .dream-box,

    .contact-box{

        padding:45px 30px;

    }

    .footer-grid{

        text-align:center;

    }

    .copyright{

        padding-right:100px;

    }

}



@media(max-width:480px){

    .navbar{

        padding:16px 22px;

    }

    .logo img{

        width:105px;

    }

    .hero h1{

        font-size:2.3rem;

    }

    .section-title h2{

        font-size:2rem;

    }

    .timeline-icon{

        width:85px;

        height:85px;

        font-size:1.8rem;

    }

    .stat h2{

        font-size:3rem;

    }

    .whatsapp{

        width:60px;

        height:60px;

        font-size:1.7rem;

    }

}



/*=========================================
LIGHTBOX DE IMÁGENES
=========================================*/

.showcase-item img,
.cat-photo img,
.gallery-item img,
.lab-card img{

    cursor:pointer;

}

.lightbox-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.85);

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:999999;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:opacity .3s ease;

    padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));

}

.lightbox-overlay.active{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

}

.lightbox-content{

    position:relative;

    max-width:90vw;

    max-height:90vh;

    display:flex;

    align-items:center;

    justify-content:center;

    transform:scale(.92);

    transition:transform .3s ease;

}

.lightbox-overlay.active .lightbox-content{

    transform:scale(1);

}

.lightbox-img{

    max-width:90vw;

    max-height:90vh;

    width:auto;

    height:auto;

    object-fit:contain;

    border-radius:16px;

    box-shadow:0 25px 70px rgba(0,0,0,.5);

    cursor:default;

    -webkit-user-select:none;

    user-select:none;

}

.lightbox-video{

    max-width:90vw;

    max-height:90vh;

    width:auto;

    height:auto;

    border-radius:16px;

    box-shadow:0 25px 70px rgba(0,0,0,.5);

    background:#000;

}

.lightbox-img.hidden,
.lightbox-video.hidden{

    display:none;

}

.lightbox-close,
.lightbox-nav{

    position:fixed;

    display:flex;

    align-items:center;

    justify-content:center;

    width:52px;

    height:52px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.15);

    background:rgba(255,255,255,.08);

    color:#fff;

    font-size:1.3rem;

    cursor:pointer;

    -webkit-backdrop-filter:blur(10px);

    backdrop-filter:blur(10px);

    transition:.25s;

}

.lightbox-close:hover,
.lightbox-nav:hover{

    background:var(--blue2);

    border-color:var(--blue2);

}

.lightbox-close:hover{

    transform:scale(1.08);

}

.lightbox-close{

    top:calc(20px + env(safe-area-inset-top));

    right:calc(20px + env(safe-area-inset-right));

}

.lightbox-nav{

    top:50%;

    transform:translateY(-50%);

}

.lightbox-nav:hover{

    transform:translateY(-50%) scale(1.08);

}

.lightbox-prev{

    left:calc(20px + env(safe-area-inset-left));

}

.lightbox-next{

    right:calc(20px + env(safe-area-inset-right));

}

.lightbox-nav.hidden{

    display:none;

}

body.lightbox-open{

    overflow:hidden;

}

@media(max-width:768px){

    .lightbox-close,
    .lightbox-nav{

        width:44px;

        height:44px;

        font-size:1.05rem;

    }

    .lightbox-close{

        top:calc(14px + env(safe-area-inset-top));

        right:calc(14px + env(safe-area-inset-right));

    }

    .lightbox-prev{

        left:calc(10px + env(safe-area-inset-left));

    }

    .lightbox-next{

        right:calc(10px + env(safe-area-inset-right));

    }

}

