/*=====================================================
01 VARIABLES
=====================================================*/

:root{

    --primary:#c40000;
    --primary-dark:#900000;

    --dark:#0f0f10;
    --dark-2:#181818;
    --dark-3:#242424;

    --white:#ffffff;
    --gray:#f5f5f5;
    --text:#5d5d5d;

    --shadow:0 10px 30px rgba(0,0,0,.15);

    --radius:18px;

    --transition:.35s ease;

    --container:1280px;

}

/*=====================================================
02 RESET
=====================================================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:"Poppins",sans-serif;

    background:#fff;

    color:#222;

    overflow-x:hidden;

}

img{

    display:block;

    width:100%;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

button{

    border:none;

    cursor:pointer;

    font-family:inherit;

}

/*=====================================================
03 UTILIDADES
=====================================================*/

.container{

    width:min(92%,var(--container));

    margin:auto;

}

section{

    padding:110px 0;

}

.section-title{

    text-align:center;

    max-width:760px;

    margin:auto auto 70px;

}

.section-title span{

    color:var(--primary);

    font-weight:700;

    letter-spacing:2px;

    font-size:.85rem;

}

.section-title h2{

    margin:15px 0;

    font-size:2.8rem;

    color:#111;

}

.section-title p{

    color:var(--text);

    line-height:1.8;

}

/*=====================================================
04 PRELOADER
=====================================================*/

#preloader{

    position:fixed;

    inset:0;

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:9999;

}

.loader{

    width:70px;

    height:70px;

    border-radius:50%;

    border:5px solid #ececec;

    border-top:5px solid var(--primary);

    animation:loader 1s linear infinite;

}

@keyframes loader{

    to{

        transform:rotate(360deg);

    }

}

/*=====================================================
05 HEADER
=====================================================*/

#header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:1000;

    transition:.4s;

}

#header.active{

    background:#fff;

    box-shadow:var(--shadow);

}

.header-container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:95px;

}

.logo{

    display:flex;

    align-items:center;

    gap:15px;

}

.logo img{

    width:58px;

}

.logo-text h2{

    color:#fff;

    font-size:1.6rem;

    transition:.3s;

}

.logo-text span{

    color:#ddd;

    font-size:.82rem;

}

#header.active .logo-text h2{

    color:#111;

}

#header.active .logo-text span{

    color:#666;

}

/*=====================================================
MENU
=====================================================*/

#navbar ul{

    display:flex;

    gap:40px;

}

#navbar a{

    color:#fff;

    font-weight:500;

    position:relative;

    transition:.3s;

}

#header.active #navbar a{

    color:#222;

}

#navbar a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.3s;

}

#navbar a:hover::after{

    width:100%;

}

/*=====================================================
BOTONES HEADER
=====================================================*/

.header-buttons{

    display:flex;

    gap:15px;

    align-items:center;

}

.btn-phone{

    color:#fff;

    display:flex;

    gap:8px;

    align-items:center;

    font-size:.95rem;

}

#header.active .btn-phone{

    color:#222;

}

.btn-whatsapp{

    background:#25d366;

    color:#fff;

    padding:12px 22px;

    border-radius:50px;

    transition:.3s;

}

.btn-whatsapp:hover{

    transform:translateY(-4px);

}

#menu-toggle{

    display:none;

}

/*=====================================================
06 HERO
=====================================================*/

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

}

.hero-slider{

    position:absolute;

    inset:0;

}

.hero-slider img{

    width:100%;

    height:100vh;

    object-fit:cover;

}

.slide{

    position:absolute;

    inset:0;

    opacity:0;

    transition:1.2s;

}

.slide.active{

    opacity:1;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        rgba(0,0,0,.72),

        rgba(0,0,0,.62)

    );

}

.hero-content{

    position:relative;

    z-index:10;

    max-width:760px;

    color:#fff;

}

.hero-badge{

    display:inline-flex;

    gap:10px;

    align-items:center;

    padding:12px 24px;

    background:rgba(255,255,255,.1);

    backdrop-filter:blur(12px);

    border-radius:50px;

    margin-bottom:30px;

}

.hero h1{

    font-size:4rem;

    line-height:1.15;

    margin-bottom:25px;

}

.hero h1 span{

    color:var(--primary);

}

.hero p{

    font-size:1.15rem;

    line-height:1.9;

    color:#e5e5e5;

    margin-bottom:45px;

}

/*=====================================================
BOTONES HERO
=====================================================*/

.hero-buttons{

    display:flex;

    gap:20px;

    margin-bottom:70px;

}

.btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    padding:17px 36px;

    border-radius:50px;

    font-weight:600;

    transition:.35s;

}

.btn-primary{

    background:var(--primary);

    color:#fff;

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-5px);

}

.btn-outline{

    border:2px solid #fff;

    color:#fff;

}

.btn-outline:hover{

    background:#fff;

    color:#111;

}

/*=====================================================
ESTADÍSTICAS HERO
=====================================================*/

.hero-stats{

    display:flex;

    gap:50px;

}

.stat h2{

    font-size:2rem;

    color:#fff;

}

.stat span{

    color:#ddd;

    font-size:.92rem;

}

/*=====================================================
SCROLL
=====================================================*/

.scroll-down{

    position:absolute;

    bottom:40px;

    left:50%;

    transform:translateX(-50%);

    color:#fff;

    font-size:1.4rem;

    animation:bounce 2s infinite;

}

@keyframes bounce{

    0%,100%{

        transform:translate(-50%,0);

    }

    50%{

        transform:translate(-50%,12px);

    }

}

/*=====================================================
07 CLIENTES
=====================================================*/

.clients{

    background:#fff;

    padding:55px 0;

    border-top:1px solid #ececec;

    border-bottom:1px solid #ececec;

}

.clients .container{

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:20px;

    align-items:center;

}

.client-item{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    color:#666;

    font-size:1rem;

    font-weight:600;

    transition:.35s;

    padding:18px;

}

.client-item i{

    font-size:1.8rem;

    color:var(--primary);

}

.client-item:hover{

    color:var(--primary);

    transform:translateY(-6px);

}

/*=====================================================
08 NOSOTROS
=====================================================*/

.about{

    background:var(--gray);

}

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.about-image{

    position:relative;

}

.about-image img{

    border-radius:25px;

    box-shadow:var(--shadow);

}

.experience-card{

    position:absolute;

    bottom:-30px;

    right:-30px;

    background:#fff;

    width:210px;

    border-radius:20px;

    padding:30px;

    text-align:center;

    box-shadow:0 15px 45px rgba(0,0,0,.15);

}

.experience-card h2{

    color:var(--primary);

    font-size:3rem;

}

.experience-card span{

    color:#666;

    font-size:.9rem;

}

.about-content{

    display:flex;

    flex-direction:column;

    gap:28px;

}

.about-card{

    display:flex;

    gap:25px;

    background:#fff;

    border-radius:18px;

    padding:28px;

    transition:.35s;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

}

.about-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.about-card .icon{

    width:70px;

    height:70px;

    background:var(--primary);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    font-size:1.5rem;

    flex-shrink:0;

}

.about-card h3{

    margin-bottom:12px;

    font-size:1.3rem;

}

.about-card p{

    color:#666;

    line-height:1.8;

}

.about-card ul{

    margin-top:10px;

}

.about-card li{

    margin-bottom:8px;

    color:#666;

}

/*=====================================================
09 ESTADÍSTICAS
=====================================================*/

.stats{

    background:#101010;

    color:#fff;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}

.stats-card{

    text-align:center;

    background:#1d1d1d;

    border-radius:20px;

    padding:45px 25px;

    transition:.35s;

}

.stats-card:hover{

    background:var(--primary);

    transform:translateY(-12px);

}

.stats-card i{

    font-size:2.8rem;

    margin-bottom:25px;

}

.stats-card h2{

    font-size:3rem;

    margin-bottom:10px;

}

.stats-card p{

    color:#ddd;

}

.stats-card:hover p{

    color:#fff;

}

/*=====================================================
10 WHY US
=====================================================*/

.why-us{

    background:#fff;

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.why-grid article{

    background:#fff;

    padding:40px 30px;

    border-radius:20px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.35s;

    border-top:5px solid transparent;

}

.why-grid article:hover{

    transform:translateY(-10px);

    border-color:var(--primary);

    box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.why-grid i{

    width:90px;

    height:90px;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:auto;

    border-radius:50%;

    background:rgba(196,0,0,.08);

    color:var(--primary);

    font-size:2rem;

    margin-bottom:30px;

}

.why-grid h3{

    margin-bottom:18px;

    font-size:1.35rem;

}

.why-grid p{

    color:#666;

    line-height:1.8;

}

/*=====================================================
EFECTOS
=====================================================*/

.about-card,
.stats-card,
.why-grid article,
.client-item{

    transition:all .35s ease;

}

/*=====================================================
11 SERVICIOS
=====================================================*/

.services{

    background:#f8f8f8;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.service-card{

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.4s;

}

.service-card:hover{

    transform:translateY(-15px);

    box-shadow:0 25px 55px rgba(0,0,0,.18);

}

.service-image{

    overflow:hidden;

    height:260px;

}

.service-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.service-card:hover img{

    transform:scale(1.08);

}

.service-content{

    padding:35px;

}

.service-icon{

    width:75px;

    height:75px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:18px;

    background:rgba(196,0,0,.08);

    color:var(--primary);

    font-size:2rem;

    margin-bottom:25px;

}

.service-content h3{

    font-size:1.5rem;

    margin-bottom:18px;

    color:#111;

}

.service-content p{

    color:#666;

    line-height:1.8;

    margin-bottom:25px;

}

.service-content a{

    display:inline-flex;

    gap:12px;

    align-items:center;

    color:var(--primary);

    font-weight:600;

    transition:.35s;

}

.service-content a:hover{

    gap:20px;

}

/*=====================================================
12 PRODUCTOS
=====================================================*/

.products{

    background:#fff;

}

.products-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:40px;

}

.product-card{

    background:#fff;

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.4s;

    position:relative;

    display:flex;

    flex-direction:column;

}


.product-card:hover{

    transform:translateY(-12px);

    box-shadow:0 25px 60px rgba(0,0,0,.16);

}

.product-card img{

    width:100%;

    height:280px;

    object-fit:cover;

    display:block;

    position:relative;

    z-index:1;

}

.product-card:hover img{

    transform:scale(1.05);

}

.product-tag{

    position:absolute;

    top:20px;

    left:20px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    background:var(--primary);

    color:#fff;

    padding:10px 18px;

    border-radius:50px;

    font-size:.8rem;

    font-weight:700;

    white-space:nowrap;

    z-index:100;

}

.product-info{

    padding:35px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.product-info h3{

    font-size:1.7rem;

    margin-bottom:18px;

}

.product-info p{

    color:#666;

    margin-bottom:20px;

    line-height:1.7;

}

.product-info ul{

    margin-bottom:30px;

}

.product-btn{

    margin-top:auto;

}

.product-info li{

    margin-bottom:12px;

    color:#555;

}

.product-btn{

    display:inline-block;

    width:100%;

    text-align:center;

    padding:16px;

    background:var(--primary);

    color:#fff;

    border-radius:12px;

    transition:.35s;

    font-weight:600;

}

.product-btn:hover{

    background:#111;

}

.products-button{

    text-align:center;

    margin-top:70px;

}

/*=====================================================
EFECTOS
=====================================================*/

.service-card,
.product-card{

    will-change:transform;

}

.service-card::after{

    content:"";

    position:absolute;

    inset:0;

    border:2px solid transparent;

    transition:.35s;

    border-radius:22px;

}

.service-card:hover::after{

    border-color:rgba(196,0,0,.25);

}

.product-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.04)

    );

    pointer-events:none;

}

/*=====================================================
HOVER BOTONES
=====================================================*/

.product-btn,
.service-content a{

    transition:all .35s ease;

}

/*=====================================================
13 PROCESO
=====================================================*/

.process{

    background:#f7f7f7;

}

.process-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:30px;

    position:relative;

}

.process-grid::before{

    content:"";

    position:absolute;

    top:50px;

    left:10%;

    width:80%;

    height:3px;

    background:#e3e3e3;

    z-index:0;

}

.process-card{

    position:relative;

    z-index:2;

    text-align:center;

    background:#fff;

    padding:45px 25px;

    border-radius:22px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.process-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.process-number{

    width:60px;

    height:60px;

    margin:auto auto 25px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.2rem;

    font-weight:700;

}

.process-card i{

    font-size:2.2rem;

    color:var(--primary);

    margin-bottom:25px;

}

.process-card h3{

    margin-bottom:15px;

    font-size:1.3rem;

}

.process-card p{

    color:#666;

    line-height:1.7;

}

/*=====================================================
14 PROYECTOS
=====================================================*/

.projects{

    background:#fff;

}

.projects-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.project-item{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    height:320px;

    cursor:pointer;

}

.project-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.project-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.55);

    opacity:0;

    transition:.35s;

}

.project-overlay h3{

    color:#fff;

    font-size:1.6rem;

}

.project-item:hover img{

    transform:scale(1.12);

}

.project-item:hover .project-overlay{

    opacity:1;

}

/*=====================================================
15 MARCAS
=====================================================*/

.brands{

    background:#111;

    padding:90px 0;

}

.brands .section-title h2{

    color:#fff;

}

.brands .section-title p{

    color:#bbb;

}

.brands-slider{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:50px;

    flex-wrap:wrap;

}

.brands-slider img{

    width:150px;

    filter:grayscale(100%);

    opacity:.7;

    transition:.35s;

}

.brands-slider img:hover{

    filter:none;

    opacity:1;

    transform:scale(1.08);

}

/*=====================================================
16 CTA
=====================================================*/

.cta{

    background:

        linear-gradient(

            rgba(0,0,0,.75),

            rgba(0,0,0,.75)

        ),

        url("../img/Hero/hero-bg2.jpg.jpeg");

    background-size:cover;

    background-position:center;

    background-attachment:fixed;

    text-align:center;

    color:#fff;

}

.cta-content{

    max-width:850px;

    margin:auto;

}

.cta h2{

    font-size:3rem;

    margin-bottom:25px;

}

.cta p{

    color:#ddd;

    line-height:1.9;

    margin-bottom:45px;

    font-size:1.1rem;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:25px;

}

/*=====================================================
ANIMACIONES
=====================================================*/

.process-card,
.project-item,
.brands-slider img{

    transition:all .35s ease;

}

/*=====================================================
17 CONTACTO
=====================================================*/

.contact{

    background:#f8f8f8;

}

.contact-wrapper{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:60px;

    align-items:start;

}

.contact-info{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.contact-card{

    display:flex;

    gap:20px;

    align-items:flex-start;

    background:#fff;

    padding:28px;

    border-radius:18px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.contact-card:hover{

    transform:translateX(8px);

}

.contact-card i{

    width:60px;

    height:60px;

    background:var(--primary);

    color:#fff;

    border-radius:15px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.4rem;

}

.contact-card h3{

    margin-bottom:8px;

}

.contact-card p,
.contact-card a{

    color:#666;

    line-height:1.7;

}

/*=====================================================
FORMULARIO
=====================================================*/

.contact-form{

    background:#fff;

    padding:45px;

    border-radius:25px;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

}

.form-group{

    margin-bottom:25px;

}

.contact-form input,
.contact-form textarea{

    width:100%;

    padding:18px 20px;

    border:1px solid #ddd;

    border-radius:12px;

    font-family:inherit;

    font-size:1rem;

    transition:.3s;

}

.contact-form textarea{

    resize:none;

}

.contact-form input:focus,
.contact-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(196,0,0,.08);

}

/*=====================================================
MAPA
=====================================================*/

.map iframe{

    width:100%;

    height:500px;

    border:none;

}

/*=====================================================
18 FOOTER
=====================================================*/

footer{

    background:#111;

    color:#fff;

    padding-top:80px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:50px;

    padding-bottom:60px;

}

.footer-grid img{

    width:180px;

    margin-bottom:25px;

}

.footer-grid p{

    color:#bdbdbd;

    line-height:1.8;

}

.footer-grid h3{

    margin-bottom:25px;

    font-size:1.3rem;

}

.footer-grid ul{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.footer-grid a{

    color:#bdbdbd;

    transition:.3s;

}

.footer-grid a:hover{

    color:#fff;

    padding-left:6px;

}

.social{

    display:flex;

    gap:15px;

}

.social a{

    width:48px;

    height:48px;

    border-radius:50%;

    background:#222;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.35s;

}

.social a:hover{

    background:var(--primary);

    transform:translateY(-6px);

}

.footer-bottom{

    text-align:center;

    border-top:1px solid #2a2a2a;

    padding:25px;

    color:#aaa;

}

/*=====================================================
19 WHATSAPP
=====================================================*/

.whatsapp-float{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    background:#25D366;

    color:#fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

    z-index:999;

    animation:whats 2s infinite;

}

@keyframes whats{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.08);

    }

    100%{

        transform:scale(1);

    }

}

/*=====================================================
20 SCROLL TOP
=====================================================*/

#scrollTop{

    position:fixed;

    right:30px;

    bottom:105px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.2rem;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:998;

}

#scrollTop.active{

    opacity:1;

    visibility:visible;

}

#scrollTop:hover{

    background:#111;

}

/*=====================================================
21 ANIMACIONES GENERALES
=====================================================*/

img{

    transition:.5s;

}

.service-card:hover img,
.product-card:hover img,
.project-item:hover img{

    transform:scale(1.08);

}

.btn{

    transition:.35s;

}

.btn:hover{

    transform:translateY(-5px);

}

::selection{

    background:var(--primary);

    color:#fff;

}