*{
        margin:0;
        padding:0;
        box-sizing:border-box;
    }
    body{
        font-family:Arial, Helvetica, sans-serif;
        background: #050505;
    }
    .container{
        width:90%;
        max-width:1400px;
        margin:auto;
    }
/* =========================
CURSOR POINTER GALERIAS
========================= */

.gallery-item,
.project-card,
.gallery-filter-card,
.project-image,
.gallery-item img,
.project-image img{
    cursor:pointer;
}
    /* ===== HEADER ===== */
    .header{
        position:fixed;
        top:0;
        left:0;
        width:100%;
        z-index:999;
        padding:25px 0;
        background:transparent;
        transition:0.3s ease;
    }
    .header.scrolled{
        background:rgba(15,15,15,0.92);
        backdrop-filter:blur(8px);
        -webkit-backdrop-filter:blur(8px);
        padding:18px 0;
        box-shadow:0 5px 20px rgba(0,0,0,0.35);
    }
        .header-container{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:30px;
        }
        .logo{
    display: flex;
    align-items: center;
}

.logo img{
    display: block;
    height: 80px;
    width: auto;
}
    .navbar ul{
        display:flex;
        align-items:center;
        gap:40px;
        list-style:none;
    }
    .navbar a{
        text-decoration:none;
        color:#fff;
        text-transform:uppercase;
        font-size:14px;
        font-weight:700;
        position:relative;
        transition:0.3s ease;
    }
    .navbar a:hover,
    .navbar a.active{
        color:#f7c600;
    }
    .navbar a.active::after{
        content:"";
        position:absolute;
        left:0;
        bottom:-10px;
        width:100%;
        height:2px;
        background:#f7c600;
    }
    .btn-header{
        background:#f7c600;
        color:#000;
        text-decoration:none;
        padding: 8px 25px;
        font-size:14px;
        font-weight:700;
        text-transform:uppercase;
        border:2px solid #f7c600;
        transition:0.3s ease;
    }
    .btn-header:hover{
        background:transparent;
        color:#f7c600;
    }
    .menu-toggle{
        display:none;
        background:none;
        border:none;
        color:#fff;
        font-size:34px;
        cursor:pointer;
    }

    /* ===== RESPONSIVE ===== */
    @media(max-width:1100px){
        .menu-toggle{
            display:block;
        }
        .btn-header{
            display:none;
        }
        .navbar{
            position:absolute;
            top:100%;
            left:0;
            width:100%;
            background:#000;
            padding:30px 0;
            display:none;
        }
        .navbar.active{
            display:block;
        }
        .navbar ul{
            flex-direction:column;
            gap:25px;
        }
    }
    @media(max-width:768px){

        .logo img{
            height:45px;
        }
    }


    /* ===== HERO ===== */
    .hero{
        position:relative;
        width:100%;
        height:100vh;
        overflow:hidden;
    }
    .hero-slide{
        position:absolute;
        width:100%;
        height:100%;
        top:0;
        left:0;
        background-size:cover;
        background-position:center;
        opacity:0;
        visibility:hidden;
        transition:opacity 1s ease;
        z-index:0;
    }
    .hero-slide.active{
        opacity:1;
        visibility:visible;
        z-index:1;
    }
    .hero-overlay{
        position:absolute;
        width:100%;
        height:100%;
        top:0;
        left:0;
        background:rgba(0,0,0,0.65);
        z-index:1;
    }
    .hero-overlay{
        pointer-events:none;
    }
    .hero-content{
        position:relative;
        z-index:2;
        height:100%;
        display:flex;
        flex-direction:column;
        justify-content:center;
        color:#fff;
        width:90%;
        max-width:800px;
        padding-left:8%;
    }
    .hero-subtitle{
        font-size:14px;
        text-transform:uppercase;
        margin-bottom:20px;
        font-weight:600;
    }
    .hero-content h1{
        font-size: 58px;
        line-height:1;
        text-transform:uppercase;
        margin-bottom:25px;
        font-weight:800;
    }
    .hero-content h1 span{
        color:#f7c600;
    }
    .hero-line{
        width:80px;
        height:4px;
        background:#f7c600;
        margin-bottom:35px;
    }
    .hero-content p{
        font-size: 17px;
        line-height:1.7;
        margin-bottom:40px;
        color:#ddd;
    }
    .hero-buttons{
        display:flex;
        gap:20px;
        flex-wrap:wrap;
        font-size: 14px;
    }
    .btn-yellow{
        background:#f7c600;
        color:#000;
        padding:13px 32px;
        text-decoration:none;
        font-weight:700;
        text-transform:uppercase;
        border:2px solid #f7c600;
        transition:0.3s ease;
    }
    .btn-yellow:hover{
        background:transparent;
        color:#f7c600;
    }
    .btn-outline{
        border:2px solid #f7c600;
        color:#fff;
        padding:13px 32px;
        text-decoration:none;
        font-weight:700;
        text-transform:uppercase;
        transition:0.3s ease;
    }
    .btn-outline:hover{
        background:#f7c600;
        color:#000;
    }
    .hero-dots{
        position:absolute;
        bottom:40px;
        left:50%;
        transform:translateX(-50%);
        display:flex;
        gap:15px;
        z-index:3;
    }
    .dot{
        width:14px;
        height:14px;
        border-radius:50%;
        background:#fff;
        opacity:0.5;
        cursor:pointer;
        transition:0.3s ease;
    }
    .dot.active{
        background:#f7c600;
        opacity:1;
    }

    /* RESPONSIVE */
    @media(max-width:992px){

        .hero-content h1{
            font-size:55px;
        }
        .hero-content p{
            font-size:18px;
        }
    }
    @media(max-width:768px){
        .hero{
            height:100svh;
        }
        .hero-content{
            width:100%;
            padding-left:25px;
            padding-right:25px;
            justify-content:center;
        }
        .hero-subtitle{
            font-size:14px;
            margin-bottom:15px;
        }
        .hero-content h1{
            line-height:1.1;
            margin-bottom:20px;
        }
        .hero-line{
            margin-bottom:25px;
        }
        .hero-content p{
            line-height:1.6;
            margin-bottom:30px;
        }
        .hero-buttons{
            width:100%;
            flex-direction:column;
            gap:15px;
        }
        .btn-yellow,
        .btn-outline{
            width:100%;
            text-align:center;
            padding:16px 20px;
            font-size:14px;
        }
        .hero-dots{
            bottom:25px;
        }
    }
    @media(max-width:599px){
        .hero-content{
            width:100%;
            padding-left:40px;
            padding-right:40px;
            justify-content:center;
        }
        .hero-content h1 {
            font-size: 45px;
        }
    }

    /* ===== SERVICIOS ===== */
    .services{
        position:relative;
        padding:120px 0;
        background:#050505;
        overflow:hidden;
    }
    .services::before{
        content:"";
        position:absolute;
        inset:0;
        background:url('../img/fondo.png') center center/cover no-repeat;
        opacity:0.15;
    }
    .services-container{
        position:relative;
        z-index:2;
        width:90%;
        max-width:1400px;
        margin:auto;
    }
    .services-top{
        text-align:center;
        max-width:900px;
        margin:0 auto 70px;
    }
    .services-subtitle{
        display:block;
        color:#f7c600;
        text-transform:uppercase;
        font-weight:700;
        margin-bottom:15px;
        font-size:18px;
    }
    .services-top h2{
        font-size: 42px;
        text-transform:uppercase;
        color:#fff;
        margin-bottom:20px;
        font-weight:800;
    }
    .services-line{
        width:90px;
        height:4px;
        background:#f7c600;
        margin:0 auto 25px;
    }
    .services-top p{
        color:#ccc;
        font-size:17px;
        line-height:1.7;
    }
    .services-grid{
        display:grid;
        grid-template-columns:repeat(4, 1fr);
        gap:25px;
    }
    .service-card{
        border:1px solid rgba(255,255,255,0.1);
        background:#0a0a0a;
        transition:0.3s ease;
        overflow:hidden;
    }
    .service-card:hover{
        transform:translateY(-10px);
        border-color:#f7c600;
    }
.service-image{
    position:relative;
    height:280px;
    overflow:hidden;
}

.service-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.5s ease;
}


/* CAPA OSCURA */
.service-image::after{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.65);
    transition:0.4s ease;
}


/* HOVER */
.service-card:hover img{
    transform:scale(1.08);
}


/* OPCIONAL */
/* OSCURECER MAS EN HOVER */
.service-card:hover .service-image::after{
    background:rgba(0,0,0,0.8);
}

/* CAPA OSCURA */
.service-image::after{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.5);
    transition:0.4s ease;
}


/* HOVER */
.service-card:hover img{
    transform:scale(1.08);
}


/* OPCIONAL */
/* OSCURECER MAS EN HOVER */
.service-card:hover .service-image::after{
    background:rgba(0,0,0,0.5);
}
    .service-content{
        padding:35px 30px;
        text-align:center;
    }
    .service-content h3{
        color:#fff;
        font-size:22px;
        text-transform:uppercase;
        margin-bottom:25px;
    }
    .service-content p{
        color:#ccc;
        line-height:1.8;
        font-size:14px;
        margin-bottom:30px;
        height: 70px;
    }
    .service-content a{
        color:#f7c600;
        text-decoration:none;
        text-transform:uppercase;
        font-weight:700;
        font-size:14px;
        transition:0.3s ease;
    }
    .service-content a:hover{
        letter-spacing:1px;
    }

    /* RESPONSIVE */
    @media(max-width:1200px){
        .services-grid{
            grid-template-columns:repeat(2, 1fr);
        }
    }
    @media(max-width:768px){
        .services{
            padding:80px 0;
        }
        .services-top h2{
            font-size:34px;
        }
        .services-top p{
            font-size:16px;
        }
        .services-grid{
            grid-template-columns:1fr;
        }
        .service-image{
            height:240px;
        }
    }

    /* ===== PROYECTOS ===== */
    .projects{
        background:#050505;
        padding:90px 0;
        overflow:hidden;
    }

    .projects-container{
        width:90%;
        max-width:1400px;
        margin:auto;
    }
    .projects-top{
        display:flex;
        align-items:center;
        justify-content:space-between;
        margin-bottom:40px;
    }
    .projects-title{
        text-align:center;
        margin:auto;
    }
    .projects-title span{
        display:block;
        color:#f7c600;
        text-transform:uppercase;
        font-weight:700;
        font-size:14px;
        margin-bottom:8px;
        letter-spacing:1px;
    }
    .projects-title h2{
        color:#fff;
        text-transform:uppercase;
        font-size:42px;
        font-weight:800;
        margin-bottom:15px;
        line-height:1.1;
    }
    .projects-line{
        width:70px;
        height:3px;
        background:#f7c600;
        margin:auto;
    }
    .projects-btn{
        border:1px solid #f7c600;
        color:#f7c600;
        text-decoration:none;
        padding:14px 26px;
        text-transform:uppercase;
        font-weight:700;
        font-size:13px;
        transition:0.3s ease;
        white-space:nowrap;
    }
    .projects-btn:hover{
        background:#f7c600;
        color:#000;
    }
    .projects-slider{
        overflow:hidden;
        margin-bottom:30px;
    }
    .projects-track{
        display:flex;
        gap:18px;
        transition:transform 0.5s ease;
    }
    .project-item{
        min-width:calc(20% - 15px);
        border:1px solid rgba(255,255,255,0.08);
        overflow:hidden;
        background:#0b0b0b;
        position:relative;
    overflow:hidden;
    }
    .project-item::after{
    content:'';
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.65);

    transition:0.4s ease;

    z-index:1;
}

/* HOVER */

.project-item:hover::after{
    background:rgba(0,0,0,0.8);
}
    .project-item img{
        width:100%;
        height:220px;
        object-fit:cover;
        display:block;
        transition:0.5s ease;
    }
    .project-item:hover img{
        transform:scale(1.04);
    }
    .projects-dots{
        display:flex;
        justify-content:center;
        gap:12px;
        margin-bottom:40px;
    }
    .project-dot{
        width:12px;
        height:12px;
        border-radius:50%;
        background:#fff;
        opacity:0.4;
        cursor:pointer;
        transition:0.3s ease;
    }
    .project-dot.active{
        background:#f7c600;
        opacity:1;
    }
    .projects-info{
        border:1px solid rgba(247,198,0,0.35);
        display:grid;
        grid-template-columns:1fr 1.5fr;
        background:#080808;
    }
    .projects-about{
        padding:40px;
        border-right:1px solid rgba(255,255,255,0.08);
    }
    .projects-about h3{
        color:#fff;
        text-transform:uppercase;
        font-size:34px;
        margin-bottom:18px;
        line-height:1.1;
    }
    .projects-about h3 span{
        color:#f7c600;
    }
    .projects-info-line{
        width:65px;
        height:3px;
        background:#f7c600;
        margin-bottom:22px;
    }
    .projects-about p{
        color:#ccc;
        font-size:16px;
        line-height:1.7;
    }
    .projects-stats{
        display:grid;
        grid-template-columns:repeat(4,1fr);
    }
    .stat-item{
        padding:35px 20px;
        text-align:center;
        border-right:1px solid rgba(255,255,255,0.08);
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:12px;
    }
    .stat-item:last-child{
        border-right:none;
    }
    .stat-item img{
        width:55px;
        height:55px;
        object-fit:contain;
    }
    .stat-item h4{
        color:#fff;
        font-size:22px;
        font-weight:800;
        text-transform:uppercase;
        line-height:1;
    }
    .stat-item span{
        color:#ccc;
        text-transform:uppercase;
        line-height:1.5;
        display:block;
        font-size:13px;
        letter-spacing:0.5px;
    }


    /* ===== RESPONSIVE ===== */
    @media(max-width:1200px){
        .project-item{
            min-width:calc(33.333% - 12px);
        }
        .projects-info{
            grid-template-columns:1fr;
        }
        .projects-about{
            border-right:none;
            border-bottom:1px solid rgba(255,255,255,0.08);
        }
    }
    @media(max-width:768px){
        .projects{
            padding:70px 0;
        }
        .projects-top{
            flex-direction:column;
            align-items:center;
        }
        .projects-title h2{
            font-size:30px;
        }
        .projects-btn{
            width:100%;
            text-align:center;
        }
        .project-item{
            min-width:100%;
        }
        .project-item img{
            height:240px;
        }
        .projects-about{
            padding:30px 25px;
        }
        .projects-about h3{
            font-size:28px;
        }
        .projects-about p{
            font-size:15px;
        }
        .projects-stats{
            grid-template-columns:1fr 1fr;
        }
        .stat-item{
            border-right:none;
            border-bottom:1px solid rgba(255,255,255,0.08);
            padding:30px 15px;
        }
        .stat-item img{
            width:45px;
            height:45px;
        }
        .stat-item h4{
            font-size:30px;
        }
        .stat-item span{
            font-size:12px;
        }
    }
    @media(max-width:480px){
        .projects-title h2{
            font-size:26px;
        }
        .projects-about h3{
            font-size:24px;
        }
        .projects-stats{
            grid-template-columns:1fr;
        }
    }



    /* ===== STRIP EXPOS ===== */
    .expo-strip{
        background:#050505;
        border-top:1px solid rgba(255,255,255,0.05);
        border-bottom:1px solid rgba(255,255,255,0.05);
        overflow:hidden;
        position:relative;
    }
    .expos-line{
        width:70px;
        height:3px;
        background:#f7c600;
        margin-bottom: 10px;
    }
    .expo-strip::before{
        content:"";
        position:absolute;
        inset:0;
        background:
        linear-gradient(
            90deg,
            rgba(111,0,255,0.12) 0%,
            rgba(0,0,0,0) 12%,
            rgba(0,0,0,0) 88%,
            rgba(111,0,255,0.12) 100%
        );
        pointer-events:none;
    }
    .expo-strip-container{
        width:90%;
        max-width:1400px;
        margin:auto;
        min-height:75px;
        display:flex;
        align-items:center;
        gap:55px;
        position:relative;
        z-index:2;
    }
    .expo-strip-text{
        min-width:240px;
        position:relative;
        padding-left:5px;
    }
    .expo-strip-text::before{
        content:"";
        position:absolute;
        left:-35px;
        top:0;
        width:1px;
        height:100%;
        background:rgba(128,0,255,0.4);
    }
    .expo-strip-text span{
        display:block;
        color:#f7c600;
        font-size:17px;
        text-transform:uppercase;
        margin-bottom:5px;
        letter-spacing:1px;
    }
    .expo-strip-text h2{
        color:#fff;
        font-size:16px;
        line-height:1.15;
        font-weight:500;
        text-transform:uppercase;
    }
    .expo-strip-logos{
        flex:1;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:45px;
    }
    .expo-logo{
        display:flex;
        align-items:center;
        justify-content:center;
        opacity:0.9;
        transition:0.3s ease;
    }
    .expo-logo:hover{
        opacity:1;
    }
    .expo-logo img{
        width:100%;
        max-width:180px;
        height:auto;
        object-fit:contain;
        filter:brightness(0) invert(1);
    }

    /* ===== RESPONSIVE ===== */
    @media(max-width:992px){
        .expo-strip-container{
            flex-direction:column;
            justify-content:center;
            padding:30px 0;
            gap:30px;
        }
        .expo-strip-text{
            text-align:center;
            min-width:auto;
            padding-left:0;
        }
        .expo-strip-text::before{
            display:none;
        }
        .expo-strip-logos{
            flex-wrap:wrap;
            justify-content:center;
            gap:35px;
        }
    }
    @media(max-width:768px){
        .expo-strip{
            padding:10px 0;
        }
        .expo-strip-text h2{
            font-size:14px;
        }
        .expo-strip-logos{
            gap:25px;
        }
        .expo-logo img{
            max-width:90px !important;
        }
    }

    /* ===== ABOUT STRIP ===== */
    .about-strip{
        background:#050505;
        position:relative;
        overflow:hidden;
        margin-top: 70px;
    }
    .about-strip-container{
        width:90%;
        max-width:1400px;
        margin:auto;
        display:grid;
        grid-template-columns:1.1fr 1fr 0.7fr;
        align-items:stretch;
        min-height:140px;
        position:relative;
        z-index:2;
    }
    .about-strip-image{
        overflow:hidden;
        position:relative;
    }
    .about-strip-image img{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
    }
    .about-strip-info{
        padding:22px 28px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        border-left:1px solid rgba(255,255,255,0.06);
        border-right:1px solid rgba(255,255,255,0.06);
    }
    .about-strip-info span{
        color:#f7c600;
        font-size:17px;
        text-transform:uppercase;
        font-weight:700;
        margin-bottom:8px;
        letter-spacing:0.5px;
    }
    .about-strip-info h2{
        color:#fff;
        font-size: 15px;
        line-height: 1.3;
        text-transform:uppercase;
        margin-bottom:12px;
        font-weight:700;
    }
    .about-strip-info p{
        color:#b8b8b8;
        font-size:17px;
        line-height: 1.2;
        margin-bottom:18px;
        max-width:360px;
    }
    .about-strip-btn{
        display:inline-flex;
        align-items:center;
        gap:12px;
        width:max-content;
        border:1px solid rgba(247,198,0,0.5);
        color:#f7c600;
        text-decoration:none;
        padding:12px 16px;
        font-size:11px;
        text-transform:uppercase;
        font-weight:700;
        transition:0.3s ease;
        letter-spacing:0.3px;
    }
    .about-strip-btn::after{
        content:"→";
        font-size:14px;
        transition:0.3s ease;
    }
    .about-strip-btn:hover{
        background:#f7c600;
        color:#000;
    }
    .about-strip-btn:hover::after{
        transform:translateX(4px);
    }
    .about-strip-stats{
        display:flex;
        flex-direction:column;
        justify-content:center;
        padding:0 25px;
    }
    .about-stat{
        display:flex;
        align-items:center;
        gap:18px;
        padding:14px 0;
        border-bottom:1px solid rgba(255,255,255,0.06);
    }
    .about-stat:last-child{
        border-bottom:none;
    }
    .about-stat-icon{
        width:34px;
        display:flex;
        align-items:center;
        justify-content:center;
        flex-shrink:0;
    }
    .about-stat-icon img{
        width:35px;
        height:35px;
        object-fit:contain;
        filter:brightness(0) saturate(100%) invert(77%) sepia(71%) saturate(644%) hue-rotate(3deg) brightness(101%) contrast(102%);
    }
    .about-stat-text h3{
        color:#f7c600;
        font-size:18px;
        line-height:1;
        margin-bottom:5px;
        font-weight:800;
    }
    .about-stat-text span{
        color:#fff;
        font-size:10px;
        text-transform:uppercase;
        line-height:1.5;
        opacity:0.85;
    }


    /* ===== RESPONSIVE ===== */
    @media(max-width:1100px){
        .about-strip-container{
            grid-template-columns:1fr;
        }
        .about-strip-info{
            border-left:none;
            border-right:none;
            border-top:1px solid rgba(255,255,255,0.06);
            border-bottom:1px solid rgba(255,255,255,0.06);
        }
        .about-strip-image img{
            height:260px;
        }
        .about-strip-stats{
            padding:25px;
        }
    }
    @media(max-width:768px){
        .about-strip-info{
            padding:30px 22px;
        }
        .about-strip-info h2{
            font-size:26px;
        }
        .about-strip-info p{
            font-size:14px;
        }
        .about-strip-btn{
            width:100%;
            justify-content:center;
        }
        .about-stat-text h3{
            font-size:28px;
        }
        .about-stat-text span{
            font-size:11px;
        }
    }

    /* ===== FOOTER ===== */
    .footer{
        background:
        linear-gradient(rgba(0,0,0,0.78), rgba(0,0,0,0.78)),
        url('../img/fondo.png') center center/cover no-repeat;
        border-top:1px solid rgba(255,255,255,0.05);
            margin-top: 70px;
    }
    .footer-item img {
        width: 22px;
    }
    .footer-social img {
        width: 25px;
    }
    .footer-container{
        display:grid;
        grid-template-columns: 0.9fr 1px 1.4fr;
        gap:40px;
        padding:60px 0 0;
        align-items:flex-start;
    }
    .footer-left{
        padding-right:10px;
    }
    .footer-subtitle{
        display:block;
        color:#f7c600;
        font-size:13px;
        font-weight:700;
        text-transform:uppercase;
        margin-bottom:12px;
    }
    .footer-left h2{
        color:#fff;
        font-size:46px;
        line-height:1;
        font-weight:300;
        text-transform:uppercase;
        margin-bottom:5px;
    }
    .footer-contact{
        display:flex;
        flex-direction:column;
        gap:5px;
        margin-top: 30px;
    }
    .footer-item{
        display:flex;
        align-items:center;
        gap:14px;
    }
    .footer-item span{
        color:#f7c600;
        font-size:20px;
    }
    .footer-item p{
        color:#ddd;
        font-size:15px;
        font-weight:400;
    }
    .footer-divider{
        width:1px;
        height:100%;
        background:rgba(255,255,255,0.12);
    }
    .footer-form{
        width:100%;
    }
    .form-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:14px;
        margin-bottom:14px;
    }
    .footer-form input,
    .footer-form textarea{
        width:100%;
        border:none;
        outline:none;
        background:rgba(255,255,255,0.06);
        padding:18px 18px;
        color:#fff;
        font-size:14px;
        font-family:Arial, Helvetica, sans-serif;
    }
    .footer-form input::placeholder,
    .footer-form textarea::placeholder{
        color:#999;
    }
    .footer-form textarea{
        height:120px;
        resize:none;
        margin-bottom:18px;
    }
    .footer-form button{
        border:none;
        background:#f7c600;
        color:#000;
        padding: 8px 25px;
        font-size:13px;
        font-weight:700;
        text-transform:uppercase;
        cursor:pointer;
        display:flex;
        align-items:center;
        gap:14px;
        transition:0.3s ease;
        margin-left:auto;
    }
    .footer-form button span{
        font-size:18px;
    }
    .footer-form button:hover{
        background:#ffd93d;
    }
    .footer-bottom{
        margin-top:55px;
        border-top:1px solid rgba(255,255,255,0.06);
        background:#050505;
    }
    .footer-bottom-container{
        min-height:78px;
        display:grid;
        grid-template-columns:1fr auto 1fr;
        align-items:center;
    }
    .footer-logo img{
        height:42px;
        width:auto;
    }
    .footer-bottom p{
        color:#999;
        font-size:13px;
        text-align:center;
    }
    .footer-social{
        display:flex;
        justify-content: center;
        align-items:center;
        gap:28px;
    }
    .footer-social a{
        color:#fff;
        text-decoration:none;
        font-size:26px;
        font-weight:700;
        transition:0.3s ease;
    }
    .footer-social a:hover{
        color:#f7c600;
    }

    /* ===== RESPONSIVE ===== */
    @media(max-width:1100px){
        .footer-container{
            grid-template-columns:1fr;
            gap:40px;
        }
        .footer-divider{
            display:none;
        }
    }
    @media(max-width:768px){
        .footer{
            padding-top:10px;
        }
        .footer-left h2{
            font-size:34px;
        }
        .form-grid{
            grid-template-columns:1fr;
        }
        .footer-form button{
            width:100%;
            justify-content:center;
        }
        .footer-bottom-container{
            grid-template-columns:1fr;
            gap:20px;
            padding:25px 0;
        }
        .footer-logo{
            text-align:center;
        }
        .footer-social{
            justify-content:center;
        }
    }


    /* ===== HERO PAGE ===== */

    .hero-page{
        position:relative;
        width:100%;
        height:85vh;
        min-height:650px;
        overflow:hidden;
        display:flex;
        align-items:center;
    }

    .hero-page-bg{
        position:absolute;
        inset:0;
        background:url('../img/servicios.png') center center/cover no-repeat;
        transform:scale(1.05);
    }

    .hero-page-overlay{
        position:absolute;
        inset:0;
        background:rgba(0,0,0,0.72);
    }

    .hero-page-content{
        position:relative;
        z-index:2;
        max-width:760px;
        color:#fff;
        padding-top:100px;
    }

    .hero-page-subtitle{
        display:block;
        color:#f7c600;
        text-transform:uppercase;
        font-size:14px;
        font-weight:700;
        margin-bottom:18px;
        letter-spacing:1px;
    }

    .hero-page-content h1{
        font-size:58px;
        line-height:1;
        text-transform:uppercase;
        font-weight:800;
        margin-bottom:24px;
    }

    .hero-page-content h1 span{
        color:#f7c600;
    }

    .hero-page-line{
        width:80px;
        height:4px;
        background:#f7c600;
        margin-bottom:28px;
    }

    .hero-page-content p{
        font-size:17px;
        line-height:1.8;
        color:#ddd;
        margin-bottom:35px;
        max-width:560px;
    }

    .hero-page-buttons{
        display:flex;
        gap:18px;
        flex-wrap:wrap;
    }

    /* ===== RESPONSIVE ===== */

    @media(max-width:992px){

        .hero-page{
            min-height:600px;
        }

        .hero-page-content h1{
            font-size:46px;
        }

    }

    @media(max-width:768px){

        .hero-page{
            height:85svh;
            min-height:auto;
        }

        .hero-page-content{
            padding-top:70px;
        }

        .hero-page-content h1{
            font-size:36px;
            line-height:1.1;
        }

        .hero-page-content p{
            font-size:15px;
        }

        .hero-page-buttons{
            flex-direction:column;
        }

        .hero-page-buttons a{
            width:100%;
            text-align:center;
        }

    }


    .stands-section{
        background: #050505;
        padding: 80px 20px;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
    }

    .stands-section .container{
        max-width: 1400px;
        margin: auto;
    }

    .subtitle{
        display: block;
        text-align: center;
        color: #d4a100;
        font-size: 14px;
        font-weight: 600;
        margin-bottom: 10px;
        letter-spacing: 1px;
    }

    .title{
        text-align: center;
        font-size: 42px;
        font-weight: 700;
        margin-bottom: 15px;
    }

    .description{
        text-align: center;
        color: #d1d1d1;
        max-width: 700px;
        margin: 0 auto 50px;
        line-height: 1.6;
    }

    .stands-grid{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
    }

    .stand-card{
        background: #0c0c0c;
        border: 1px solid rgba(255,255,255,0.08);
        transition: 0.3s ease;
        overflow: hidden;
        
    }

    .stand-card:hover{
        transform: translateY(-5px);
        border-color: rgba(212,161,0,0.4);
    }

    .stand-header{
        height: 110px;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 30px 25px 15px;
    }

    .stand-header .icon{
        color: #d4a100;
        font-size: 24px;
    }

    .stand-header h3{
        font-size: 24px;
        font-weight: 600;
        margin: 0;
    }

    .stand-card p{
        padding: 0 25px;
        color: #d1d1d1;
        line-height: 1.7;
        font-size: 15px;
        min-height: 120px;
    }

    .stand-card img{
        width: 100%;
        height: 260px;
        object-fit: cover;
        display: block;
    }
/* ======================================
STAND IMAGE OVERLAY
====================================== */

.stand-image{
    position:relative;
    overflow:hidden;
}

/* OVERLAY */

.stand-image::after{
    content:'';
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.65);

    transition:0.4s ease;

    z-index:1;
}

/* HOVER */

.stand-card:hover .stand-image::after{
    background:rgba(0,0,0,0.8);
}

/* IMAGE */

.stand-image img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;

    position:relative;
    z-index:0;

    transition:0.5s ease;
}

/* IMAGE HOVER */

    /* RESPONSIVE */
    @media(max-width: 1200px){
        .stands-grid{
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media(max-width: 768px){

        .title{
            font-size: 32px;
        }

        .stands-grid{
            grid-template-columns: 1fr;
        }

        .stand-card p{
            min-height: auto;
        }
    }



    /* ===== GALLERY SERVICES ===== */

    .gallery-services{
        background:#050505;
        padding:100px 0;
    }

    /* TOP */

    .gallery-top{
        text-align:center;
        margin-bottom:40px;
    }

    .gallery-subtitle{
        display:block;
        color:#f7c600;
        text-transform:uppercase;
        font-size:14px;
        font-weight:700;
        margin-bottom:12px;
    }

    .gallery-top h2{
        color:#fff;
        font-size:42px;
        text-transform:uppercase;
        font-weight:700;
        margin-bottom:20px;
    }

    .gallery-line{
        width:80px;
        height:3px;
        background:#f7c600;
        margin:auto;
    }

    /* TABS */

    .gallery-tabs{
        display:flex;
        justify-content:center;
        align-items:center;
        gap:15px;
        flex-wrap:wrap;
        margin-bottom:50px;
    }

    .gallery-tab{
        background:transparent;
        border:none;
        color:#fff;
        text-transform:uppercase;
        font-size:13px;
        font-weight:700;
        padding:14px 24px;
        cursor:pointer;
        transition:0.3s ease;
        border:1px solid rgba(255,255,255,0.1);
    }

    .gallery-tab:hover{
        background:#f7c600;
        color:#000;
    }

    .gallery-tab.active{
        background:#f7c600;
        color:#000;
        border-color:#f7c600;
    }

    /* GRID */

    .gallery-grid{
        display:grid;
        grid-template-columns:repeat(4, 1fr);
        gap:20px;
    }

    /* ITEMS */

    .gallery-item{
        position:relative;
        overflow:hidden;
        border:1px solid rgba(255,255,255,0.08);
        transition:0.3s ease;
    }

    .gallery-item img{
        width:100%;
        height:280px;
        object-fit:cover;
        display:block;
        transition:0.5s ease;
    }

    .gallery-item:hover img{
        transform:scale(1.05);
    }

    .gallery-item.hide{
        display:none;
    }
    /* ======================================
GALLERY SERVICES OVERLAY
servicios.php
====================================== */

.gallery-item{
    position:relative;
    overflow:hidden;
    cursor:pointer;
}

/* OVERLAY */

.gallery-item::after{
    content:'';
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.5);

    transition:0.4s ease;

    z-index:1;
}

/* HOVER */

.gallery-item:hover::after{
    background:rgba(0,0,0,0.8);
}

/* IMAGE */

.gallery-item img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;

    position:relative;
    z-index:0;

    transition:0.5s ease;
}

/* IMAGE HOVER */

.gallery-item:hover img{
    transform:scale(1.05);
}
/* ======================================
SERVICES LIGHTBOX
servicios.php
====================================== */

.services-lightbox{
    position:fixed;
    inset:0;

    width:100%;
    height:100vh;

    background:rgba(0,0,0,0.94);

    display:flex;
    align-items:center;
    justify-content:center;

    padding:40px;

    z-index:99999;

    opacity:0;
    visibility:hidden;

    transition:0.4s ease;
}

/* ACTIVE */

.services-lightbox.active{
    opacity:1;
    visibility:visible;
}

/* IMAGE */

.services-lightbox-img{
    max-width:90%;
    max-height:90vh;

    object-fit:contain;

    border-radius:12px;

    position:relative;
    z-index:1;

    transform:scale(.92);

    transition:0.4s ease;
}

/* ACTIVE IMAGE */

.services-lightbox.active .services-lightbox-img{
    transform:scale(1);
}

/* OVERLAY IMAGE */

.services-lightbox-overlay{
    position:absolute;

    width:90%;
    height:90vh;

    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,0.5),
        rgba(0,0,0,0.8)
    );

    border-radius:12px;

    z-index:2;

    pointer-events:none;
}

/* CLOSE */

.services-lightbox-close{
    position:absolute;
    top:30px;
    right:30px;

    width:50px;
    height:50px;

    border:none;
    outline:none;

    background:#f5c400;

    border-radius:50%;

    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:5;

    transition:0.3s ease;
}

.services-lightbox-close i{
    color:#000;
    font-size:22px;
}

.services-lightbox-close:hover{
    transform:rotate(90deg);
}
    /* RESPONSIVE */

    @media(max-width:1100px){

        .gallery-grid{
            grid-template-columns:repeat(3,1fr);
        }

    }

    @media(max-width:768px){

        .gallery-services{
            padding:80px 0;
        }

        .gallery-top h2{
            font-size:28px;
            line-height:1.2;
        }

        .gallery-tabs{
            gap:10px;
        }

        .gallery-tab{
            width:100%;
        }

        .gallery-grid{
            grid-template-columns:repeat(2,1fr);
            gap:15px;
        }

        .gallery-item img{
            height:220px;
        }

    }

    @media(max-width:540px){

        .gallery-grid{
            grid-template-columns:1fr;
        }

        .gallery-item img{
            height:260px;
        }

    }


    /* ===== CTA ===== */

    .cta-section{
        background:#050505;
        padding:0 0 100px;
    }

    .cta-box{
    background: url(../img/fondop.png);
    border-radius: 14px;
    padding: 35px 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    position: relative;
    overflow: hidden;
    background-position: bottom;
    }

    /* LINEA CENTRAL */

    .cta-box::before{
        content:"";
        position:absolute;
        top:50%;
        left:75%;
        width:1px;
        height:70px;
        background:rgba(255,255,255,0.08);
        transform:translateY(-50%);
    }

    /* LEFT */

    .cta-left{
        display:flex;
        align-items:center;
        gap:25px;
        flex:1.5;
    }

    .cta-icon img{
        width:65px;
        height:auto;
    }

    .cta-content span{
        display:block;
        color:#f7c600;
        text-transform:uppercase;
        font-size:13px;
        font-weight:700;
        margin-bottom:10px;
    }

    .cta-content h2{
        color:#fff;
        font-size:36px;
        text-transform:uppercase;
        line-height:1.1;
        margin-bottom:15px;
        font-weight:700;
    }

    .cta-content p{
        color:#cfcfcf;
        font-size:15px;
        line-height:1.7;
        max-width:520px;
    }

    /* CTA VERSION SIMPLE */

.cta-box-single{
    justify-content:center;
}

.cta-box-single::before{
    display:none;
}

.cta-box-single .cta-left{
    flex:none;
    max-width:900px;
    margin:auto;
    text-align:center;
    flex-direction:column;
}

.cta-box-single .cta-content p{
    max-width:700px;
    margin:auto;
}

.cta-box-single .cta-icon img{
    width:70px;
}

    /* RESPONSIVE */

    @media(max-width:1100px){

        .cta-box{
            flex-direction:column;
            align-items:flex-start;
            padding:40px 30px;
        }

        .cta-box::before{
            display:none;
        }

        .cta-left{
            flex-direction:column;
            align-items:flex-start;
        }

        .cta-center{
            width:100%;
            justify-content:flex-start;
        }

        .cta-right{
            justify-content:flex-start;
        }

    }

    @media(max-width:768px){

        .cta-section{
            padding:0 0 80px;
        }

        .cta-content h2{
            font-size:32px;
        }

        .cta-content p{
            font-size:15px;
        }

        .cta-btn{
            width:100%;
            text-align:center;
        }

    }

    @media(max-width:540px){

        .cta-box{
            padding:30px 22px;
        }

        .cta-content h2{
            font-size:26px;
        }

        .cta-right strong{
            font-size:17px;
        }

    }

    /* ===== HERO PROYECTOS ===== */

    .projects-hero{
        position:relative;
        width:100%;
        height:85vh;
        min-height:720px;
        overflow:hidden;
        display:flex;
        align-items:center;
        background:#050505;
    }

    /* BG */

    .projects-hero-bg{
        position:absolute;
        inset:0;

        background:
        url('../img/hero-proyectos.png')
        center center/cover no-repeat;

        transform:scale(1.05);
    }

    /* OVERLAY */

    .projects-hero-overlay{
        position:absolute;
        inset:0;

        background:
        linear-gradient(
            90deg,
            rgba(0,0,0,0.88) 0%,
            rgba(0,0,0,0.68) 45%,
            rgba(0,0,0,0.78) 100%
        );
    }

    /* CONTENT */

    .projects-hero-content{
        position:relative;
        z-index:2;
        max-width:760px;
        color:#fff;
        padding-top:120px;
    }

    /* BREADCRUMB */

    .projects-breadcrumb{
        display:flex;
        align-items:center;
        gap:12px;
        margin-bottom:30px;
    }

    .projects-breadcrumb a{
        color:#ccc;
        text-decoration:none;
        transition:0.3s ease;
    }

    .projects-breadcrumb a:hover{
        color:#f7c600;
    }

    .projects-breadcrumb span{
        color:#888;
        font-size:14px;
    }

    .projects-breadcrumb .active{
        color:#f7c600;
    }

    /* SUBTITLE */

    .projects-subtitle{
        display:block;
        color:#f7c600;
        text-transform:uppercase;
        font-size:14px;
        font-weight:700;
        letter-spacing:1px;
        margin-bottom:18px;
    }

    /* TITLE */

    .projects-hero-content h1{
        font-size:58px;
        line-height:0.95;
        text-transform:uppercase;
        font-weight:800;
        margin-bottom:28px;
    }

    .projects-hero-content h1 span{
        color:#f7c600;
    }

    /* LINE */

    .projects-line{
        width:90px;
        height:4px;
        background:#f7c600;
        margin-bottom:30px;
    }

    /* TEXT */

    .projects-hero-content p{
        color:#d5d5d5;
        font-size:17px;
        line-height:1.8;
        margin-bottom:40px;
        max-width:620px;
    }

    /* BUTTONS */

    .projects-buttons{
        display:flex;
        align-items:center;
        gap:20px;
        flex-wrap:wrap;
    }

    /* RESPONSIVE */

    @media(max-width:1200px){

        .projects-hero-content h1{
            font-size:60px;
        }

    }

    @media(max-width:768px){

        .projects-hero{
            height:100svh;
            min-height:auto;
        }

        .projects-hero-content{
            padding-top:90px;
        }

        .projects-hero-content h1{
            font-size:42px;
            line-height:1.05;
        }

        .projects-hero-content p{
            font-size:15px;
        }

        .projects-buttons{
            flex-direction:column;
            width:100%;
        }

        .projects-buttons a{
            width:100%;
            text-align:center;
        }

    }

    @media(max-width:540px){

        .projects-hero-content h1{
            font-size:34px;
        }

    }


    /* ===== PROJECTS GALLERY ===== */

    .projects-gallery{
        background:#050505;
        padding:100px 0;
    }
    .projects-gallery-top{
        text-align:center;
        margin-bottom:50px;
    }
    .projects-gallery-subtitle{
        display:block;
        color:#f7c600;
        text-transform:uppercase;
        font-size:13px;
        font-weight:700;
        margin-bottom:12px;
    }
    .projects-gallery-top h2{
        color:#fff;
        font-size:42px;
        font-weight:700;
    }
    .projects-filters{
        display:flex;
        justify-content:center;
        align-items:center;
        gap:15px;
        flex-wrap:wrap;
        margin-bottom:50px;
    }
    .filter-btn{
        background:transparent;
        border:none;
        color:#fff;
        padding:14px 24px;
        cursor:pointer;
        text-transform:uppercase;
        font-size:13px;
        font-weight:700;
        transition:0.3s ease;
        border:1px solid rgba(255,255,255,0.08);
    }
    .filter-btn:hover{
        background:#f7c600;
        color:#000;
    }
    .filter-btn.active{
        background:#f7c600;
        color:#000;
        border-color:#f7c600;
    }
    .projects-grid{
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:25px;
    }
    .project-card{
        transition:0.3s ease;
    }
    .project-image{
        overflow:hidden;
        border:1px solid rgba(255,255,255,0.08);
        margin-bottom:18px;
        position: relative;
    }
    .project-image img{
        width:100%;
        height:320px;
        object-fit:cover;
        display:block;
        display: block;
        transition: 0.5s ease;
    }
    .project-card:hover img{
        transform:scale(1.05);
    }
    /* CAPA OSCURA */

.project-image::before{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.5);
    z-index:1;
    transition:0.4s ease;
}

/* HOVER */

.project-card:hover .project-image::before{
    background:rgba(0,0,0,0.8);
}

.project-card:hover .project-image img{
    transform:scale(1.05);
}

/* INFO ARRIBA DE LA CAPA */

.project-info{
    position:relative;
    z-index:2;
}
    .project-info h3{
        color:#fff;
        font-size:26px;
        margin-bottom:8px;
        font-weight:700;
    }
    .project-info p{
        color:#bdbdbd;
        font-size:15px;
        margin-bottom:14px;
    }
    .project-info span{
        color:#f7c600;
        font-size:13px;
        text-transform:uppercase;
        font-weight:700;
    }
    .project-card.hide{
        display:none;
    }
    .hide{
    display: none !important;
}

.hidden-project{
    display: none !important;
}
/* ======================================
PROJECTS LIGHTBOX
====================================== */

.projects-lightbox{
    position:fixed;
    inset:0;

    width:100%;
    height:100vh;

    background:rgba(0,0,0,0.94);

    display:flex;
    align-items:center;
    justify-content:center;

    padding:40px;

    z-index:99999;

    opacity:0;
    visibility:hidden;

    transition:0.4s ease;
}

/* ACTIVE */

.projects-lightbox.active{
    opacity:1;
    visibility:visible;
}

/* IMAGE */

.projects-lightbox-img{
    max-width:90%;
    max-height:90vh;

    object-fit:contain;

    border-radius:12px;

    position:relative;
    z-index:1;

    transform:scale(.92);

    transition:0.4s ease;
}

/* ACTIVE IMAGE */

.projects-lightbox.active .projects-lightbox-img{
    transform:scale(1);
}

/* OVERLAY SOBRE IMAGEN */

.projects-lightbox-overlay{
    position:absolute;

    width:90%;
    height:90vh;

    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,0.45),
        rgba(0,0,0,0.75)
    );

    border-radius:12px;

    z-index:2;

    pointer-events:none;
}

/* CLOSE BUTTON */

.projects-lightbox-close{
    position:absolute;
    top:30px;
    right:30px;

    width:50px;
    height:50px;

    border:none;
    outline:none;

    background:#f5c400;

    border-radius:50%;

    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:5;

    transition:0.3s ease;
}

.projects-lightbox-close i{
    color:#000;
    font-size:22px;
}

.projects-lightbox-close:hover{
    transform:rotate(90deg);
}
.project-card.hidden-project{
    display: none;
}

.projects-more{
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.projects-more-btn{
    padding: 14px 30px;
    border: none;
    cursor: pointer;
    background: #000;
    color: #fff;
    font-size: 15px;
    border-radius: 8px;
    transition: 0.3s;
}

.projects-more-btn:hover{
    opacity: 0.8;
}
    /* RESPONSIVE */
    @media(max-width:1200px){
        .projects-grid{
            grid-template-columns:repeat(3,1fr);
        }
    }
    @media(max-width:768px){
        .projects-gallery{
            padding:80px 0;
        }
        .projects-gallery-top h2{
            font-size:30px;
            line-height:1.2;
        }
        .projects-grid{
            grid-template-columns:repeat(2,1fr);
            gap:20px;
        }
        .project-image img{
            height:240px;
        }
        .project-info h3{
            font-size:20px;
        }
    }
    @media(max-width:540px){
        .projects-grid{
            grid-template-columns:1fr;
        }
    }
    .stats-section{
        background:#050505;
        padding:100px 0;
        position:relative;
        overflow:hidden;
    }
    .stats-section::before{
        content:"";
        position:absolute;
        inset:0;
        background:url('../img/fondo.png') center center/cover no-repeat;
        opacity:0.08;
    }
    .stats-section .container{
        position:relative;
        z-index:2;
    }
    .stats-top{
        text-align:center;
        margin-bottom:70px;
    }
    .stats-subtitle{
        display:block;
        color:#f7c600;
        text-transform:uppercase;
        font-size:13px;
        font-weight:700;
        margin-bottom:14px;
    }
    .stats-top h2{
        color:#fff;
        font-size:42px;
        font-weight:700;
    }
    .stats-grid{
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:0;
    }
    .stats-item{
        text-align:center;
        padding:20px 40px;
        border-right:1px solid rgba(255,255,255,0.08);
    }
    .stats-item:last-child{
        border-right:none;
    }
    .stats-icon{
        margin-bottom:28px;
    }
    .stats-icon img{
        width:68px;
        height:68px;
        object-fit:contain;
    }
    .stats-item h3{
        color:#fff;
        font-size:36px;
        font-weight:800;
        margin-bottom:16px;
    }
    .stats-item p{
        color:#d5d5d5;
        font-size:17px;
        line-height:1.7;
    }
    .stats-item:hover .stats-icon img{
        transform:translateY(-4px);
        transition:0.3s ease;
    }
    .stats-item:hover h3{
        color:#f7c600;
        transition:0.3s ease;
    }

    /* RESPONSIVE */
    @media(max-width:992px){
        .stats-grid{
            grid-template-columns:repeat(2,1fr);
            gap:40px 0;
        }
        .stats-item{
            border-right:none;
        }
    }
    @media(max-width:768px){
        .stats-section{
            padding:80px 0;
        }
        .stats-top{
            margin-bottom:50px;
        }
        .stats-top h2{
            font-size:34px;
            line-height:1.2;
        }
        .stats-item{
            padding:10px 20px;
        }
        .stats-icon img{
            width:56px;
            height:56px;
        }
        .stats-item h3{
            font-size:40px;
        }
        .stats-item p{
            font-size:15px;
        }
    }
    @media(max-width:540px){
        .stats-grid{
            grid-template-columns:1fr;
            gap:50px;
        }
    }
    .brands{
        background:#050505;
        padding:55px 0;
        position:relative;
        overflow:hidden;
    }
    .brands::before{
        content:"";
        position:absolute;
        inset:0;
        background:url('../img/fondo.png') center center/cover no-repeat;
        opacity:0.05;
    }
    .brands .container{
        position:relative;
        z-index:2;
    }
    .brands-title{
        display:block;
        text-align:center;
        color:#f7c600;
        text-transform:uppercase;
        font-size:13px;
        font-weight:700;
        margin-bottom:40px;
        letter-spacing:0.5px;
    }
    .brands-slider{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:45px;
        flex-wrap:wrap;
    }
    .brand-item{
        flex:1;
        display:flex;
        justify-content:center;
        align-items:center;
        min-width:100px;
    }
    .brand-item img{
        max-width:140px;
        width:100%;
        object-fit:contain;
        opacity:0.75;
        transition:0.3s ease;
        filter:grayscale(100%);
    }
    .brand-item:hover img{
        opacity:1;
        filter:grayscale(0%);
        transform:scale(1.05);
    }

    /* RESPONSIVE */
    @media(max-width:992px){
        .brands-slider{
            justify-content:center;
            gap:35px;
        }
        .brand-item{
            flex:unset;
        }
    }
    @media(max-width:768px){
        .brands{
            padding:45px 0;
        }
        .brands-title{
            margin-bottom:30px;
            line-height:1.5;
        }
        .brands-slider{
            gap:28px;
        }
        .brand-item img{
            max-width:110px;
            height:32px;
        }
    }
    @media(max-width:540px){
        .brands-slider{
            display:grid;
            grid-template-columns:repeat(2,1fr);
            gap:25px;
        }
    }



/* =========================================
   HERO GALERIA
========================================= */

.gallery-hero{
    position:relative;
    width:100%;
    height:85vh;
    min-height:720px;
    overflow:hidden;
    display:flex;
    align-items:center;
    background:#050505;
}

/* BG */

.gallery-hero-bg{
    position:absolute;
    inset:0;

    background:
    url('../img/galeria.png')
    center center/cover no-repeat;

    transform:scale(1.05);
}

/* OVERLAY */

.gallery-hero-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,0.88) 0%,
        rgba(0,0,0,0.70) 45%,
        rgba(0,0,0,0.82) 100%
    );
}

/* CONTENT */

.gallery-hero-content{
    position:relative;
    z-index:2;
    max-width:760px;
    color:#fff;
    padding-top:120px;
}

/* SUBTITLE */

.gallery-hero-subtitle{
    display:block;
    color:#f7c600;
    text-transform:uppercase;
    font-size:14px;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:18px;
}

/* TITLE */

.gallery-hero-content h1{
    font-size:58px;
    line-height:0.95;
    text-transform:uppercase;
    font-weight:800;
    margin-bottom:28px;
}

.gallery-hero-content h1 span{
    color:#f7c600;
}

/* LINE */

.gallery-hero-line{
    width:90px;
    height:4px;
    background:#f7c600;
    margin-bottom:30px;
}

/* TEXT */

.gallery-hero-content p{
    color:#d5d5d5;
    font-size:17px;
    line-height:1.8;
    margin-bottom:40px;
    max-width:620px;
}

/* BUTTONS */

.gallery-hero-buttons{
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}

/* RESPONSIVE */

@media(max-width:1200px){

    .gallery-hero-content h1{
        font-size:58px;
    }

}

@media(max-width:768px){

    .gallery-hero{
        height:100svh;
        min-height:auto;
    }

    .gallery-hero-content{
        padding-top:90px;
    }

    .gallery-hero-content h1{
        font-size:42px;
        line-height:1.05;
    }

    .gallery-hero-content p{
        font-size:15px;
    }

    .gallery-hero-buttons{
        flex-direction:column;
        width:100%;
    }

    .gallery-hero-buttons a{
        width:100%;
        text-align:center;
    }

}

@media(max-width:540px){

    .gallery-hero-content h1{
        font-size:34px;
    }

}   
/* ======================================
GALERIA FILTRABLE
galeria.php
====================================== */

.gallery-filter-section{
    width:100%;
    padding:120px 0;
    background:#050505;
}

.gallery-filter-buttons{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
    margin-bottom:60px;
}

.gallery-filter-btn{
    border:none;
    outline:none;
    background:transparent;
    color:#ffffff;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    padding:14px 24px;
    border-radius:6px;
    cursor:pointer;
    transition:all .3s ease;
}

.gallery-filter-btn:hover{
    color:#f5c400;
}

.gallery-filter-btn.active{
    background:#f5c400;
    color:#000000;
}

.gallery-filter-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:22px;
}

.gallery-filter-card{
    position:relative;
    overflow:hidden;
    border-radius:8px;
    border:1px solid rgba(255,255,255,0.08);
    transition:all .4s ease;
}

.gallery-filter-card.hide{
    display:none;
}

.gallery-filter-card img{
    width:100%;
    height:320px;
    display:block;
    object-fit:cover;
    transition:transform .5s ease;
}

.gallery-filter-card:hover img{
    transform:scale(1.05);
}

.gallery-filter-card:hover{
    transform:translateY(-6px);
    border-color:#f5c400;
}



/* ======================================
RESPONSIVE
====================================== */

@media(max-width:992px){

    .gallery-filter-grid{
        grid-template-columns:repeat(2, 1fr);
    }

}

@media(max-width:576px){

    .gallery-filter-section{
        padding:80px 0;
    }

    .gallery-filter-grid{
        grid-template-columns:1fr;
    }

    .gallery-filter-buttons{
        gap:12px;
    }

    .gallery-filter-btn{
        width:100%;
    }

}

/* ======================================
GALERIA VIDEOS
galeria.php
====================================== */

.gallery-video-section{
    width:100%;
    padding:120px 0;
    background:#080808;
}



/* TOP */

.gallery-video-top{
    width:100%;
    max-width:800px;
    margin:0 auto 70px;
    text-align:center;
}

.gallery-video-top span{
    display:inline-block;
    color:#f5c400;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.gallery-video-top h2{
    color:#ffffff;
    font-size:48px;
    font-weight:800;
    line-height:1.1;
    margin-bottom:20px;
}

.gallery-video-line{
    width:90px;
    height:4px;
    background:#f5c400;
    margin:0 auto 24px;
    border-radius:10px;
}

.gallery-video-top p{
    color:#bdbdbd;
    font-size:17px;
    line-height:1.8;
}



/* GRID */

.gallery-video-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
}



/* CARD */

.gallery-video-card{
    position:relative;
    overflow:hidden;
    border-radius:14px;
    background:#111111;
    border:1px solid rgba(255,255,255,0.08);
    cursor:pointer;
    transition:all .4s ease;
}

.gallery-video-card:hover{
    transform:translateY(-6px);
    border-color:#f5c400;
}



/* VIDEO */

.gallery-video-card video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}



/* OVERLAY */

.gallery-video-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:18px;
    background:linear-gradient(
        to top,
        rgba(0,0,0,0.75),
        rgba(0,0,0,0.10)
    );
}



/* PLAY */

.gallery-video-play{
    width:45px;
    height:45px;
    border-radius:50%;
    background:rgba(245,196,0,0.95);
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    transition:all .3s ease;
}

.gallery-video-play i{
    color:#000000;
    font-size:24px;
    margin-left:4px;
}

.gallery-video-card:hover .gallery-video-play{
    transform:scale(1.08);
}


/* OVERLAY HOVER */

.gallery-video-overlay{
    opacity:1;
    transition:all .4s ease;
}

.gallery-video-card:hover .gallery-video-overlay{
    opacity:0;
    pointer-events:none;
}
/* INFO */

.gallery-video-info{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
}

.gallery-video-info h3{
    color:#ffffff;
    font-size:13px;
    font-weight:600;
    line-height:1.5;
    max-width:75%;
}

.gallery-video-info span{
    color:#ffffff;
    font-size:12px;
    font-weight:700;
    opacity:.8;
}



/* ======================================
RESPONSIVE
====================================== */

@media(max-width:1200px){

    .gallery-video-grid{
        grid-template-columns:repeat(2, 1fr);
    }

}

@media(max-width:768px){

    .gallery-video-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:576px){

    .gallery-video-section{
        padding:80px 0;
    }

    .gallery-video-top h2{
        font-size:34px;
    }

    .gallery-video-top p{
        font-size:15px;
    }

}

/* ======================================
GALLERY LIGHTBOX
galeria.php
====================================== */

.gallery-lightbox{
    position:fixed;
    inset:0;
    width:100%;
    height:100vh;

    background:rgba(0,0,0,0.92);

    display:flex;
    align-items:center;
    justify-content:center;

    padding:40px;
    z-index:99999;

    opacity:0;
    visibility:hidden;

    transition:all .4s ease;
}

/* ACTIVE */

.gallery-lightbox.active{
    opacity:1;
    visibility:visible;
}

/* IMAGE */

.gallery-lightbox-img{
    max-width:90%;
    max-height:90vh;

    object-fit:contain;

    border-radius:12px;

    transform:scale(.9);

    transition:all .4s ease;
}

/* IMAGE ACTIVE */

.gallery-lightbox.active .gallery-lightbox-img{
    transform:scale(1);
}

/* CLOSE */

.gallery-lightbox-close{
    position:absolute;
    top:30px;
    right:30px;

    width:50px;
    height:50px;

    border:none;
    outline:none;

    background:#f5c400;

    border-radius:50%;

    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.3s ease;
}

.gallery-lightbox-close i{
    font-size:22px;
    color:#000000;
}

.gallery-lightbox-close:hover{
    transform:rotate(90deg) scale(1.05);
}

/* CURSOR */

.gallery-filter-card{
    cursor:pointer;
}



/* ======================================
RESPONSIVE
====================================== */

@media(max-width:768px){

    .gallery-lightbox{
        padding:20px;
    }

    .gallery-lightbox-img{
        max-width:100%;
    }

    .gallery-lightbox-close{
        top:20px;
        right:20px;

        width:45px;
        height:45px;
    }

}

/* ======================================
OVERLAY IMAGENES GALERIA
====================================== */

.gallery-filter-card::before{
    content:'';
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.28);

    opacity:1;

    transition:.4s ease;

    z-index:1;
}

/* HOVER */

.gallery-filter-card:hover::before{
    background:rgba(0,0,0,0.12);
}
.gallery-filter-card img{
    position:relative;
    z-index:0;
}

/* ======================================
OVERLAY LIGHTBOX IMAGE
====================================== */

.gallery-lightbox::before{
    content:'';
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,0.35),
        rgba(0,0,0,0.55)
    );

    z-index:1;
}

.gallery-lightbox-img{
    position:relative;
    z-index:2;
}

.gallery-lightbox-close{
    z-index:3;
}

/* ======================================
OVERLAY SOBRE IMAGEN GRANDE
====================================== */

.gallery-lightbox-image-overlay{
    position:absolute;

    width:90%;
    height:90vh;

    max-width:1400px;

    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,0.35),
        rgba(0,0,0,0.70)
    );

    border-radius:12px;

    z-index:2;

    pointer-events:none;

    opacity:1;
}

/* IMAGE */

.gallery-lightbox-img{
    position:relative;
    z-index:1;
}

/* CLOSE */

.gallery-lightbox-close{
    z-index:5;
}   
/* ======================================
HERO EXPOS
expos.php
====================================== */

.expos-hero{
    position:relative;
    width:100%;
    min-height:85vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#050505;
}

.expos-hero-bg{
    position:absolute;
    inset:0;
    background:url('../img/hero-expos.png') center center/cover no-repeat;
    transform:scale(1.05);
}

.expos-hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            to right,
            rgba(0,0,0,0.88) 15%,
            rgba(0,0,0,0.45) 60%,
            rgba(0,0,0,0.65) 100%
        );
}

.expos-hero .container{
    position:relative;
    z-index:2;
}

.expos-hero-content{
    width:100%;
    max-width:760px;
}

.expos-hero-subtitle{
    display:inline-block;
    color:#f5c400;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:22px;
}

.expos-hero-content h1{
    color:#ffffff;
    font-size:58px;
    line-height:1;
    font-weight:800;
    margin-bottom:28px;
}

.expos-hero-content h1 span{
    color:#f5c400;
}

.expos-hero-line{
    width:110px;
    height:5px;
    background:#f5c400;
    border-radius:10px;
    margin-bottom:32px;
}

.expos-hero-content p{
    max-width:620px;
    color:#d7d7d7;
    font-size:18px;
    line-height:1.9;
    margin-bottom:40px;
}

.expos-hero-buttons{
    display:flex;
    align-items:center;
    gap:20px;
}

button.expo-tab img {
    width: 65px;
}

/* ======================================
RESPONSIVE
====================================== */

@media(max-width:992px){

    .expos-hero-content h1{
        font-size:62px;
    }

}

@media(max-width:768px){

    .expos-hero{
        min-height:90vh;
    }

    .expos-hero-content h1{
        font-size:48px;
    }

    .expos-hero-content p{
        font-size:16px;
    }

    .expos-hero-buttons{
        flex-direction:column;
        align-items:flex-start;
    }

}

@media(max-width:576px){

    .expos-hero-content h1{
        font-size:40px;
    }

}


/* =========================================
   EXPO SHOWCASE
========================================= */

.expo-showcase{
    background: #050505;
    padding: 90px 20px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
}

.expo-header{
    text-align: center;
    margin-bottom: 40px;
}

.expo-header span{
    color: #d4a100;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
}

.expo-header h2{
    margin-top: 10px;
    font-size: 42px;
    font-weight: 600;
}


/* =========================================
   TABS
========================================= */

.expo-tabs{
    max-width: 1400px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border: 1px solid rgba(255,255,255,0.08);
    overflow: hidden;
}

.expo-tab{
    background: #0f0f0f;
    border: none;
    border-right: 1px solid rgba(255,255,255,0.06);
    color: #fff;

    padding: 22px 10px;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;

    cursor: pointer;
    transition: .3s ease;
}

.expo-tab:last-child{
    border-right: none;
}

.expo-tab i{
    font-size: 22px;
    color: #a8a8a8;
}

.expo-tab span{
    font-size: 13px;
}

.expo-tab.active{
    background: #d4a100;
    color: #000;
}

.expo-tab.active i{
    color: #000;
}


/* =========================================
   CONTENT
========================================= */

.expo-content-wrapper{
    max-width: 1400px;
    margin: auto;
}

.expo-content{
    display: none;
    grid-template-columns: 350px 1fr;
    gap: 25px;

    background: #0b0b0b;
    border: 1px solid rgba(255,255,255,0.08);

    padding: 35px;
}

.expo-content.active{
    display: grid;
}


/* =========================================
   INFO
========================================= */

.expo-info h3{
    font-size: 42px;
    margin-bottom: 15px;
}

.expo-location{
    display: flex;
    align-items: center;
    gap: 10px;

    color: #d4a100;
    font-size: 14px;
}

.expo-line{
    width: 100%;
    height: 1px;
    background: rgba(212,161,0,0.4);

    margin: 20px 0;
}

.expo-info p{
    color: #d1d1d1;
    line-height: 1.8;
    margin-bottom: 35px;
}

.expo-stats{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.stat-item{
    display: flex;
    gap: 15px;
}

.stat-item i{
    color: #d4a100;
    font-size: 22px;
    margin-top: 5px;
}

.stat-item strong{
    display: block;
    font-size: 22px;
}

.stat-item span{
    color: #bdbdbd;
    font-size: 11px;
}

.expo-btn{
    margin-top: 35px;

    display: inline-flex;
    align-items: center;
    gap: 12px;

    border: 1px solid #d4a100;

    padding: 14px 22px;

    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;

    transition: .3s ease;
}

.expo-btn:hover{
    background: #d4a100;
    color: #000;
}


/* =========================================
   GALLERY
========================================= */

.expo-gallery{
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 15px;
}

.gallery-main img,
.gallery-side img,
.gallery-bottom img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-main{
    height: 430px;
}

.gallery-side{
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 15px;
}

.gallery-side img{
    height: 207px;
}

.gallery-bottom{
    grid-column: span 2;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.gallery-bottom img{
    height: 170px;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width: 1200px){

    .expo-tabs{
        grid-template-columns: repeat(3, 1fr);
    }

    .expo-content{
        grid-template-columns: 1fr;
    }

}

@media(max-width: 768px){

    .expo-header h2{
        font-size: 32px;
    }

    .expo-tabs{
        grid-template-columns: repeat(2, 1fr);
    }

    .expo-gallery{
        grid-template-columns: 0fr;
    }

    .gallery-bottom{
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery-main{
        height: 300px;
    }

    .gallery-side img{
        height: 180px;
    }

}

/* =========================================
   PROCESS SECTION
========================================= */

.process-section{
    background: #050505;
    padding: 80px 20px;
    font-family: 'Montserrat', sans-serif;
}

.process-container{
    max-width: 1400px;
    margin: auto;

    background: #080808;

    border: 1px solid rgba(255,255,255,0.05);

    padding: 45px 30px;

    position: relative;
    overflow: hidden;
}


/* =========================================
   HEADER
========================================= */

.process-header{
    text-align: center;
    margin-bottom: 45px;
}

.process-header span{
    display: block;

    color: #d4a100;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 10px;
}

.process-header h2{
    color: #fff;

    font-size: 48px;
    font-weight: 600;
}


/* =========================================
   GRID
========================================= */

.process-grid{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}

.process-item{
    text-align: center;

    padding: 0 20px;

    position: relative;
}

.process-item::after{
    content: '';

    position: absolute;

    top: 10px;
    right: 0;

    width: 1px;
    height: 140px;

    background: rgba(255,255,255,0.08);
}

.process-item:last-child::after{
    display: none;
}


/* =========================================
   IMAGE
========================================= */

.process-item img{
    width: 55px;
    height: 55px;

    object-fit: contain;

    margin-bottom: 20px;
}


/* =========================================
   TEXT
========================================= */

.process-item h3{
    color: #fff;

    font-size: 24px;
    font-weight: 600;

    margin-bottom: 12px;
}

.process-item p{
    color: #cfcfcf;

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width: 1200px){

    .process-grid{
        grid-template-columns: repeat(3, 1fr);
        gap: 50px 0;
    }

    .process-item:nth-child(3)::after{
        display: none;
    }

}

@media(max-width: 768px){

    .process-header h2{
        font-size: 34px;
    }

    .process-grid{
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .process-item::after{
        display: none;
    }

}

/* =========================================
   TESTIMONIALS
========================================= */

.testimonials-section{
    background: #050505;
    padding: 100px 20px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;

    overflow: hidden;
}


/* =========================================
   HEADER
========================================= */

.testimonials-header{
    text-align: center;
    margin-bottom: 50px;
}

.testimonials-header span{
    display: block;

    color: #d4a100;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 10px;
}

.testimonials-header h2{
    font-size: 48px;
    font-weight: 600;
}


/* =========================================
   WRAPPER
========================================= */

.testimonials-slider-wrapper{
    position: relative;
    max-width: 1500px;
    margin: auto;
}


/* =========================================
   ARROWS
========================================= */

.testimonial-arrow{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: 50px;
    height: 50px;

    border: none;
    background: transparent;

    color: #fff;
    font-size: 22px;

    cursor: pointer;
    z-index: 5;

    transition: .3s ease;
}

.testimonial-arrow:hover{
    color: #d4a100;
}

.testimonial-arrow.prev{
    left: -20px;
}

.testimonial-arrow.next{
    right: -20px;
}


/* =========================================
   SLIDER
========================================= */

.testimonials-slider{
    overflow: hidden;
}

.testimonials-track{
    display: flex;
    gap: 25px;

    transition: transform .5s ease;
}


/* =========================================
   CARD
========================================= */

.testimonial-card{
    min-width: calc((100% - 50px) / 3);

    background: #0a0a0a;

    border: 1px solid rgba(255,255,255,0.05);

    padding: 35px;

    min-height: 260px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.testimonial-card img{
    height: 42px;
    width: auto;

    object-fit: contain;

    margin-bottom: 30px;
}

.testimonial-card p{
    color: #d7d7d7;

    line-height: 1.9;
    font-size: 17px;

    margin-bottom: 30px;
}

.testimonial-author{
    color: #fff;

    font-size: 15px;
}


/* =========================================
   DOTS
========================================= */

.testimonial-dots{
    display: flex;
    justify-content: center;
    gap: 10px;

    margin-top: 35px;
}

.testimonial-dot{
    width: 10px;
    height: 10px;

    border-radius: 50%;

    border: none;

    background: rgba(255,255,255,0.3);

    cursor: pointer;

    transition: .3s ease;
}

.testimonial-dot.active{
    width: 30px;

    border-radius: 20px;

    background: #d4a100;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width: 1200px){

    .testimonial-card{
        min-width: calc((100% - 25px) / 2);
    }

}

@media(max-width: 768px){

    .testimonials-header h2{
        font-size: 34px;
    }

    .testimonial-card{
        min-width: 100%;
    }

    .testimonial-arrow{
        display: none;
    }

}

/* =========================================
   HERO NOSOTROS
========================================= */

.hero-nosotros{
    position: relative;

    width: 100%;
    height: 85vh;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background-image:
        url('../img/hero-nosotros.jpg');

    background-size: cover;
    background-position: center;
}

.hero-nosotros-overlay{
    position: absolute;
    inset: 0;

    background:
    linear-gradient(
        to right,
        rgba(0,0,0,0.82),
        rgba(0,0,0,0.55)
    );
}

.hero-nosotros-content{
    position: relative;
    z-index: 2;

    max-width: 900px;

    text-align: center;

    padding: 0 20px;
}

.hero-nosotros-content span{
    display: inline-block;

    color: #d4a100;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 18px;
}

.hero-nosotros-content h1{
    color: #fff;

    font-size: 72px;
    font-weight: 700;
    line-height: 1.15;

    margin-bottom: 25px;
}

.hero-nosotros-content p{
    color: #d6d6d6;

    font-size: 19px;
    line-height: 1.8;

    max-width: 760px;

    margin: auto;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width: 992px){

    .hero-nosotros{
        height: 65vh;
    }

    .hero-nosotros-content h1{
        font-size: 54px;
    }

}

@media(max-width: 768px){

    .hero-nosotros{
        height: 60vh;
    }

    .hero-nosotros-content h1{
        font-size: 40px;
    }

    .hero-nosotros-content p{
        font-size: 16px;
    }

}
/* ===== PARTNERS STRIP ===== */

.partners-strip{
    background:#0a0a0a;
    border-top:1px solid rgba(255,255,255,0.05);
    border-bottom:1px solid rgba(255,255,255,0.05);
}

.partners-strip-container{
    width:90%;
    max-width:1400px;
    margin:auto;
    min-height:110px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:40px;
}

.partners-text{
    color:#d4af37;
    font-size:1rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
}

.partners-logos{
    display:flex;
    align-items:center;
    gap:40px;
}

.partners-logos img{
    max-height:65px;
    width:auto;
    opacity:.9;
    transition:.3s;
}

.partners-logos img:hover{
    opacity:1;
    transform:scale(1.05);
}
@media(max-width:768px){

    .partners-strip-container{
        flex-direction:column;
        gap:20px;
        padding:25px 0;
    }

    .partners-logos{
        gap:25px;
        flex-wrap:wrap;
        justify-content:center;
    }

    .partners-logos img{
        max-height:50px;
    }

}

/* =========================================
   ABOUT SECTION
========================================= */

.about-section{
    position: relative;

    padding: 120px 0;

    background: #050505;

    overflow: hidden;
}


/* =========================================
   GRID
========================================= */

.about-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;

    align-items: center;
}


/* =========================================
   IMAGES
========================================= */

.about-images{
    position: relative;
}

.about-image-main{
    width: 100%;
    height: 650px;

    overflow: hidden;
}

.about-image-main img{
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}

.about-image-secondary{
    position: absolute;

    right: -40px;
    bottom: 50px;

    width: 280px;
    height: 320px;

    border: 10px solid #050505;

    overflow: hidden;
}

.about-image-secondary img{
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}


/* =========================================
   EXPERIENCE BOX
========================================= */

.about-years{
    position: absolute;
    left: -30px;
    bottom: 80px;
    width: 180px;
    background: #d4a100;
    padding: 15px 15px;
    z-index: 3;
}
.about-years img {
    display: block;
    margin: 0 auto;
    width: 70px;
}
.about-years img{
    filter: brightness(0) invert(1);
}
.about-years strong{
    display: block;

    color: #000;

    font-size: 60px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

.about-years span{
    display: block;

    color: #000;

    font-size: 16px;
    font-weight: 600;

    margin-top: 10px;
    text-align: center;
}


/* =========================================
   CONTENT
========================================= */

.about-content{
    color: #fff;
}

.about-subtitle{
    display: inline-block;

    color: #d4a100;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 18px;
}

.about-content h2{
    font-size: 56px;
    font-weight: 700;
    line-height: 1.2;

    margin-bottom: 25px;
}

.about-line{
    width: 90px;
    height: 3px;

    background: #d4a100;

    margin-bottom: 30px;
}

.about-content p{
    color: #d1d1d1;

    font-size: 17px;
    line-height: 1.9;

    margin-bottom: 25px;
}


/* =========================================
   FEATURES
========================================= */

.about-features{
    display: flex;
    flex-direction: column;
    gap: 25px;

    margin: 45px 0;
}

.about-feature{
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.about-feature-icon{
    width: 65px;
    height: 65px;

    min-width: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(212,161,0,0.12);

    border: 1px solid rgba(212,161,0,0.25);

    color: #d4a100;

    font-size: 24px;
}

.about-feature h3{
    font-size: 22px;
    margin-bottom: 10px;
}

.about-feature p{
    margin-bottom: 0;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width: 1100px){

    .about-grid{
        grid-template-columns: 1fr;
        gap: 70px;
    }

}

@media(max-width: 768px){

    .about-section{
        padding: 90px 0;
    }

    .about-content h2{
        font-size: 38px;
    }

    .about-image-main{
        height: 450px;
    }

    .about-image-secondary{
        width: 180px;
        height: 220px;

        right: -10px;
    }

    .about-years{
        left: 0;
        bottom: 20px;

        width: 150px;

        padding: 20px;
    }

    .about-years strong{
        font-size: 42px;
    }

}

/* =========================================
   WHY SECTION
========================================= */

.why-section{
    position: relative;

    padding: 120px 0;

    background: #080808;

    overflow: hidden;
}


/* =========================================
   TOP
========================================= */

.why-top{
    max-width: 850px;

    margin-bottom: 70px;
}

.why-subtitle{
    display: inline-block;

    color: #d4a100;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 18px;
}

.why-top h2{
    color: #fff;

    font-size: 58px;
    font-weight: 700;
    line-height: 1.2;
}

.why-line{
    width: 90px;
    height: 3px;

    background: #d4a100;

    margin-top: 30px;
}


/* =========================================
   GRID
========================================= */

.why-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}


/* =========================================
   CARD
========================================= */

.why-card{
    position: relative;

    background: #0d0d0d;

    border: 1px solid rgba(255,255,255,0.05);

    padding: 45px 35px;

    transition: .4s ease;

    overflow: hidden;
}

.why-card::before{
    content: '';

    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 4px;

    background: #d4a100;

    transform: scaleX(0);

    transform-origin: left;

    transition: .4s ease;
}

.why-card:hover{
    transform: translateY(-8px);

    border-color: rgba(212,161,0,0.2);
}

.why-card:hover::before{
    transform: scaleX(1);
}


/* =========================================
   ICON
========================================= */

.why-icon{
    width: 85px;
    height: 85px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(212,161,0,0.08);

    border: 1px solid rgba(212,161,0,0.18);

    margin-bottom: 30px;
}

.why-icon img{
    width: 42px;
    height: 42px;

    object-fit: contain;
}


/* =========================================
   TEXT
========================================= */

.why-card h3{
    color: #fff;

    font-size: 28px;
    font-weight: 600;

    line-height: 1.3;

    margin-bottom: 18px;
}

.why-card p{
    color: #cfcfcf;

    font-size: 16px;
    line-height: 1.9;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width: 1200px){

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

}

@media(max-width: 768px){

    .why-section{
        padding: 90px 0;
    }

    .why-top{
        margin-bottom: 50px;
    }

    .why-top h2{
        font-size: 40px;
    }

    .why-grid{
        grid-template-columns: 1fr;
    }

    .why-card{
        padding: 35px 25px;
    }

}

/* =========================================
   VALUES SECTION
========================================= */

.values-section{
    position: relative;

    padding: 120px 0;

    background: #050505;

    overflow: hidden;
}


/* =========================================
   WRAPPER
========================================= */

.values-wrapper{
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 90px;

    align-items: center;
}


/* =========================================
   LEFT
========================================= */

.values-left{
    color: #fff;
}

.values-subtitle{
    display: inline-block;

    color: #d4a100;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 18px;
}

.values-left h2{
    font-size: 58px;
    font-weight: 700;
    line-height: 1.2;

    margin-bottom: 25px;
}

.values-line{
    width: 90px;
    height: 3px;

    background: #d4a100;

    margin-bottom: 30px;
}

.values-left p{
    color: #d1d1d1;

    font-size: 17px;
    line-height: 1.9;

    margin-bottom: 25px;
}


/* =========================================
   RIGHT
========================================= */

.values-right{
    display: flex;
    flex-direction: column;
    gap: 25px;
}


/* =========================================
   VALUE BOX
========================================= */

.value-box{
    display: flex;
    align-items: flex-start;
    gap: 30px;

    background: #0d0d0d;

    border: 1px solid rgba(255,255,255,0.05);

    padding: 35px;

    transition: .4s ease;
}

.value-box:hover{
    transform: translateX(10px);

    border-color: rgba(212,161,0,0.25);

    background: #111111;
}


/* =========================================
   NUMBER
========================================= */

.value-number{
    min-width: 70px;

    font-size: 42px;
    font-weight: 700;

    color: rgba(212,161,0,0.35);

    line-height: 1;
}


/* =========================================
   CONTENT
========================================= */

.value-content h3{
    color: #fff;

    font-size: 28px;
    font-weight: 600;

    margin-bottom: 12px;
}

.value-content p{
    color: #cfcfcf;

    font-size: 16px;
    line-height: 1.9;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width: 1100px){

    .values-wrapper{
        grid-template-columns: 1fr;
        gap: 60px;
    }

}

@media(max-width: 768px){

    .values-section{
        padding: 90px 0;
    }

    .values-left h2{
        font-size: 40px;
    }

    .value-box{
        gap: 20px;
        padding: 28px;
    }

    .value-number{
        font-size: 32px;
    }

    .value-content h3{
        font-size: 22px;
    }

}

/* =========================================
   CONTACT HERO
========================================= */

.contact-hero{
    position: relative;

    height: 85vh;

    display: flex;
    align-items: center;

    overflow: hidden;

    background: #050505;
}


/* =========================================
   BACKGROUND
========================================= */

.contact-hero-bg{
        position: absolute;
    inset: 0;
    background: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.75)), url(../img/contacto-hero.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.contact-hero-overlay{
    position: absolute;

    inset: 0;

    background:
        radial-gradient(
            circle at top right,
            rgba(212,161,0,0.15),
            transparent 40%
        );
}


/* =========================================
   CONTENT
========================================= */

.contact-hero-content{
    position: relative;

    z-index: 2;

    max-width: 760px;

    color: #fff;
}

.contact-hero-subtitle{
    display: inline-block;

    color: #d4a100;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    margin-bottom: 20px;
}

.contact-hero-content h1{
    font-size: 58px;
    font-weight: 800;
    line-height: 1.1;

    margin-bottom: 25px;
}

.contact-hero-content h1 span{
    color: #d4a100;
}

.contact-hero-line{
    width: 90px;
    height: 3px;

    background: #d4a100;

    margin-bottom: 30px;
}

.contact-hero-content p{
    color: #d1d1d1;

    font-size: 18px;
    line-height: 1.9;

    max-width: 650px;

    margin-bottom: 40px;
}


/* =========================================
   BUTTONS
========================================= */

.contact-hero-buttons{
    display: flex;
    align-items: center;
    gap: 20px;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width: 992px){

    .contact-hero{
        height: auto;

        padding: 180px 0 120px;
    }

    .contact-hero-content h1{
        font-size: 58px;
    }

}

@media(max-width: 768px){

    .contact-hero{
        padding: 160px 0 100px;
    }

    .contact-hero-content h1{
        font-size: 42px;
    }

    .contact-hero-content p{
        font-size: 16px;
    }

    .contact-hero-buttons{
        flex-direction: column;
        align-items: flex-start;
    }

}

/* =========================================
   CONTACT EXPERIENCE
========================================= */

.contact-experience{
    position: relative;

    padding: 120px 0;

    background: #050505;

    overflow: hidden;
}


/* =========================================
   BOX
========================================= */

.contact-box{
    display: grid;
    grid-template-columns: 480px 1fr;
    gap: 50px;

    align-items: stretch;
}


/* =========================================
    LEFT
========================================= */
.contact-info{
    position: relative;
    background: #0c0c0c;
    border: 1px solid rgba(255,255,255,0.05);
    padding: 55px;
}
.contact-subtitle{
    display: inline-block;
    color: #d4a100;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 18px;
}
.contact-info h2{
    color: #fff;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 25px;
}
.contact-line{
    width: 90px;
    height: 3px;
    background: #d4a100;
    margin-bottom: 30px;
}
.contact-info p{
    color: #cfcfcf;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 40px;
}
/* =========================================
    FEATURES
========================================= */

.contact-features{
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.contact-feature{
    display: flex;
    align-items: flex-start;
    gap: 18px;
}

.contact-feature-icon{
    width: 60px;
    height: 60px;

    min-width: 60px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(212,161,0,0.08);

    border: 1px solid rgba(212,161,0,0.15);

    color: #d4a100;

    font-size: 20px;
}

.contact-feature h3{
    color: #fff;

    font-size: 20px;
    font-weight: 600;

    margin-bottom: 8px;
}

.contact-feature span{
    color: #bdbdbd;

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================
   MAP
========================================= */

.contact-map-wrapper{
    background: #0b0b0b;

    border: 1px solid rgba(255,255,255,0.05);

    overflow: hidden;
}

.contact-map-top{
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 30px 35px;

    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.contact-map-top span{
    display: inline-block;

    color: #d4a100;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 10px;
}

.contact-map-top h3{
    color: #fff;

    font-size: 30px;
    font-weight: 600;
}

.contact-map-btn{
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: #fff;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    padding: 14px 22px;

    border: 1px solid rgba(212,161,0,0.3);

    transition: .3s ease;
}

.contact-map-btn:hover{
    background: #d4a100;

    color: #000;
}


/* =========================================
   IFRAME
========================================= */

/* =========================================
   MAP
========================================= */

.contact-map{
    position: relative;

    width: 100%;
    height: 100%;
    min-height: 620px;

    overflow: hidden;
}

.contact-map iframe{
    width: 100%;
    height: 100%;

    border: 0;

    filter:
        grayscale(1)
        invert(.92)
        contrast(1.1)
        brightness(.8);

    transition: .5s ease;
}


/* HOVER */

.contact-map:hover iframe{

    filter:
        grayscale(.4)
        invert(.75)
        contrast(1.05)
        brightness(.95)
        saturate(1.2);

}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width: 1200px){

    .contact-box{
        grid-template-columns: 1fr;
    }

}

@media(max-width: 768px){

    .contact-experience{
        padding: 90px 0;
    }

    .contact-info{
        padding: 35px 28px;
    }

    .contact-info h2{
        font-size: 38px;
    }

    .contact-map-top{
        flex-direction: column;
        align-items: flex-start;
    }

    .contact-map-top h3{
        font-size: 24px;
    }

    .contact-map{
        min-height: 450px;
    }

}


/* =========================================
   WHATSAPP FLOAT
========================================= */

.whatsapp-float{
    position: fixed;
    right: 25px;
    bottom: 25px;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease;
    color: transparent;
}
.whatsapp-float img{
    width: 70%;
    height: 70%;
    object-fit: contain;
    display: block;
    margin-bottom: 55px;;
}
.whatsapp-float:hover{
    transform: translateY(-5px);
}

/* =========================================
    MOBILE
========================================= */
@media(max-width: 768px){
    .whatsapp-float{
        width: 60px;
        height: 60px;
        right: 18px;
        bottom: 18px;
    }
}