/* =========================
   HEADER SIMD
========================= */

.header-simd{
    background:#ffffff;
    height:120px;
    display:flex;
    align-items:center;
    border-bottom:1px solid #ececec;
}

.header-simd .navbar{
    width:100%;
}

.header-simd .navbar-brand img{
    height:90px;
    width:auto;
}

.header-simd .nav-link{
    color:#1f2937 !important;
    font-size:1.05rem;
    font-weight:600;
    margin-left:20px;
    transition:all .3s ease;
}

.header-simd .nav-link:hover{
    color:#0d6efd !important;
}

.header-simd .nav-link.active{
    color:#0d6efd !important;
}

.dropdown-menu{
    border:none;
    border-radius:0;
    box-shadow:0 10px 30px rgba(0,0,0,.10);
}

.dropdown-item{
    padding:10px 20px;
}

.dropdown-item:hover{
    background:#f8f9fa;
}

/* =========================
   CONTENIDO
========================= */

main{
    min-height:600px;
}

/* =========================
   HERO PRINCIPAL SIMD
========================= */

.hero-simd{
    position:relative;
    width:90%;
    height:50vh;
    min-height:500px;
    margin:50px auto 80px;
    overflow:hidden;
    display:flex;
    align-items:center;
    border-radius:22px;
    background:#111827;
    box-shadow:0 25px 60px rgba(0,0,0,.25);
    cursor:pointer;
}

.hero-video{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:1;
    filter:grayscale(5%) brightness(70%) contrast(105%);
}

.hero-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.55) 38%,
            rgba(0,0,0,.20) 70%,
            rgba(0,0,0,.10) 100%
        );
}

.hero-content{
    position:relative;
    z-index:3;
    color:#ffffff;
}

.hero-simd .carousel{
    max-width:720px;
}

.hero-simd .carousel-item{
    min-height:420px;
}

.hero-slide-custom .carousel-item{
    display:none;
    opacity:0;
    transform:translateY(25px) scale(.98);
    transition:opacity .5s ease, transform .5s ease;
}

.hero-slide-custom .carousel-item.active{
    display:block;
    opacity:1;
    transform:translateY(0) scale(1);
}

.hero-label{
    display:block;
    font-size:4.4rem;
    line-height:1.08;
    letter-spacing:0;
    text-transform:none;
    margin-bottom:25px;
    color:#ffffff;
    font-weight:800;
}

.hero-simd h1{
    font-size:1.4rem;
    line-height:1.5;
    font-weight:600;
    margin-bottom:28px;
    color:#f1f5f9;
    max-width:720px;
}

.hero-simd p{
    font-size:1.25rem;
    line-height:1.8;
    color:#f1f5f9;
    max-width:660px;
    padding-left:22px;
    border-left:2px solid #ffffff;
}

.hero-simd p strong{
    color:#ffffff;
    font-weight:800;
}

.hero-simd .carousel-control-prev,
.hero-simd .carousel-control-next{
    display:none;
}

.hero-btn{
    display:inline-flex;
    align-items:center;
    gap:14px;
    background:#ffffff;
    color:#111827;
    text-decoration:none;
    font-weight:800;
    padding:18px 34px;
    border-radius:4px;
    font-size:1rem;
    letter-spacing:.3px;
    transition:all .3s ease;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
}

.hero-btn:hover{
    background:#e5e7eb;
    color:#000000;
    transform:translateY(-3px);
}

.hero-btn i{
    font-size:1.2rem;
}

@media (max-width:991px){

    .hero-simd{
        width:94%;
        height:60vh;
        min-height:550px;
        margin:30px auto 60px;
        border-radius:16px;
    }

    .hero-simd .carousel{
        max-width:620px;
    }

    .hero-simd .carousel-item{
        min-height:360px;
    }

    .hero-label{
        font-size:3rem;
        letter-spacing:0;
    }

    .hero-simd h1{
        font-size:1.25rem;
    }

    .hero-simd p{
        font-size:1.05rem;
    }

}

@media (max-width:576px){

    .hero-simd{
        width:100%;
        height:65vh;
        min-height:560px;
        margin:0 0 50px;
        border-radius:0;
    }

    .hero-content{
        padding-left:15px;
        padding-right:15px;
    }

    .hero-simd .carousel-item{
        min-height:390px;
    }

    .hero-label{
        font-size:2.3rem;
        letter-spacing:0;
    }

    .hero-simd h1{
        font-size:1.1rem;
    }

    .hero-simd p{
        font-size:1rem;
        padding-left:15px;
    }

    .hero-btn{
        width:100%;
        justify-content:center;
        padding:16px 20px;
    }

}

/* =========================
   ACERCA DE NOSOTROS
========================= */

.about-simd{
    background:#f3f6f9;
    padding:100px 0;
}

.about-image img{
    width:100%;
    height:430px;
    object-fit:cover;
    border-radius:0;
    /*box-shadow:0 20px 50px rgba(0,0,0,.12);*/
}

.section-label{
    display:block;
    color:#4b5563;
    text-transform:uppercase;
    letter-spacing:7px;
    font-size:.9rem;
    font-weight:600;
    margin-bottom:20px;
}

.about-simd h2{
    font-size:3rem;
    font-weight:800;
    color:#111827;
    line-height:1.15;
    margin-bottom:20px;
}

.section-line{
    width:55px;
    height:3px;
    background:#111827;
    margin-bottom:35px;
}

.about-simd p{
    color:#1f2937;
    font-size:1.05rem;
    line-height:1.8;
    margin-bottom:18px;
}

.about-simd p strong{
    font-weight:800;
}

.about-cards{
    margin-top:70px;
    background:#ffffff;
    border-radius:18px;
    box-shadow:0 20px 45px rgba(0,0,0,.06);
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    overflow:hidden;
}

.about-card{
    padding:35px;
    display:flex;
    gap:25px;
    border-right:1px solid #e5e7eb;
}

.about-card:last-child{
    border-right:none;
}

.about-icon{
    min-width:80px;
    height:80px;
    border-radius:50%;
    background:#111827;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2rem;
}

.about-card h3{
    font-size:1.7rem;
    font-weight:800;
    color:#111827;
    margin-bottom:5px;
}

.about-card span{
    display:block;
    text-transform:uppercase;
    color:#374151;
    font-size:.85rem;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:12px;
}

.about-card p{
    margin:0;
    font-size:.95rem;
    color:#4b5563;
    line-height:1.6;
}

@media (max-width:991px){

    .about-simd{
        padding:70px 0;
    }

    .about-simd h2{
        font-size:2.3rem;
    }

    .about-cards{
        grid-template-columns:1fr;
    }

    .about-card{
        border-right:none;
        border-bottom:1px solid #e5e7eb;
    }

    .about-card:last-child{
        border-bottom:none;
    }

}

@media (max-width:576px){

    .about-image img{
        height:320px;
    }

    .about-card{
        flex-direction:column;
    }

}

/* =========================
   SERVICIOS HOME
========================= */

.services-home{
    background:#f3f6f9;
    padding:0 0 100px;
}

.services-header{
    margin-bottom:50px;
}

.services-header h2{
    font-size:2.8rem;
    font-weight:800;
    color:#111827;
}

.service-card{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:14px;
    text-decoration:none;
    height:350px;
    transition:all .35s ease;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.service-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}

.service-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:25px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:
    linear-gradient(
        to top,
        rgba(15,23,42,.90),
        rgba(15,23,42,.15)
    );
}

.service-overlay h3{
    color:#ffffff;
    font-size:1.25rem;
    font-weight:600;
    margin:0;
}

.service-overlay span{
    color:#ffffff;
    font-size:1.5rem;
    transition:.3s;
}

.service-card:hover{
    transform:translateY(-12px);
    box-shadow:0 25px 50px rgba(0,0,0,.18);
}

.service-card:hover img{
    transform:scale(1.08);
}

.service-card:hover .service-overlay span{
    transform:translateX(8px);
}

@media (max-width:991px){

    .services-header h2{
        font-size:2rem;
    }

    .service-card{
        height:300px;
    }

}

@media (max-width:576px){

    .services-home{
        padding:0 0 70px;
    }

    .services-header h2{
        font-size:1.7rem;
    }

    .service-card{
        height:260px;
    }

}

/* =========================
   UBICACIÓN
========================= */

.location-simd{
    background:#f3f6f9;
    padding:90px 0;
}

.location-simd .row{
    align-items:center;
}

.map-square{
    width:100%;
    height:280px;
}

.map-square iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}

.location-content{
    padding:20px 0;
}

.location-content h2{
    font-size:2.5rem;
    font-weight:800;
    color:#111827;
    margin-bottom:14px;
}

.location-line{
    width:150px;
    height:4px;
    background:#111827;
    margin-bottom:30px;
}

.location-content p{
    font-size:1.25rem;
    line-height:1.6;
    color:#374151;
    margin-bottom:35px;
}

.region-circles-simple{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:24px;
    flex-wrap:nowrap;
}

.region-circle-simple{
    position:relative;
    width:150px;
    height:150px;
    min-width:150px;
    border-radius:50%;
    overflow:hidden;
    box-shadow:0 16px 35px rgba(0,0,0,.16);
    opacity:0;
    transform:translateY(25px);
    animation:regionSoftIn .8s ease forwards;
    transition:all .4s ease;
}

.region-circle-simple img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s ease, filter .6s ease;
}

.region-circle-simple::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.60),
        rgba(0,0,0,.10)
    );
}

.region-circle-simple span{
    position:absolute;
    z-index:2;
    left:0;
    right:0;
    bottom:28px;
    text-align:center;
    color:#ffffff;
    font-size:.85rem;
    font-weight:800;
    text-shadow:0 4px 12px rgba(0,0,0,.55);
}

.region-circle-simple:hover{
    transform:translateY(-8px) scale(1.04);
    box-shadow:0 28px 60px rgba(0,0,0,.24);
}

.region-circle-simple:hover img{
    transform:scale(1.1);
    filter:brightness(1.08);
}

.region-circle-simple:nth-child(1){
    animation-delay:.1s;
}

.region-circle-simple:nth-child(2){
    animation-delay:.25s;
}

.region-circle-simple:nth-child(3){
    animation-delay:.4s;
}

@keyframes regionSoftIn{
    from{
        opacity:0;
        transform:translateY(25px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media (max-width:991px){

    .location-simd{
        padding:70px 0;
    }

    .map-square{
        height:320px;
    }

    .location-content{
        text-align:center;
    }

    .location-line{
        margin-left:auto;
        margin-right:auto;
    }

    .region-circles-simple{
        justify-content:center;
        flex-wrap:wrap;
    }
}

@media (max-width:576px){

    .map-square{
        height:300px;
    }

    .location-content h2{
        font-size:2rem;
    }

    .location-content p{
        font-size:1.1rem;
    }

    .region-circles-simple{
        flex-direction:column;
    }

    .region-circle-simple{
        width:180px;
        height:180px;
    }
}

/* =========================
   CLIENTES
========================= */

.clientes-simd{
    background:#ffffff;
    padding:90px 0;
    overflow:hidden;
}

.clientes-header{
    margin-bottom:60px;
}

.clientes-header h2{
    font-size:2.7rem;
    font-weight:800;
    color:#111827;
    margin-bottom:12px;
}

.clientes-line{
    width:120px;
    height:4px;
    background:#111827;
}

.clientes-slider{
    position:relative;
    width:100%;
    overflow:hidden;
}

.clientes-track{
    display:flex;
    align-items:center;
    width:max-content;
    animation:clientesScroll 35s linear infinite;
}

.cliente-item{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:280px;
    padding:0 35px;
}

.cliente-item img{
    max-width:370px;
    max-height:270px;
    width:auto;
    height:auto;
    transition:all .35s ease;
}

.cliente-item:hover img{
    transform:scale(1.15);
}

.clientes-slider:hover .clientes-track{
    animation-play-state:paused;
}

@keyframes clientesScroll{

    0%{
        transform:translateX(0);
    }

    100%{
        transform:translateX(-50%);
    }

}

@media (max-width:991px){

    .clientes-simd{
        padding:70px 0;
    }

    .clientes-header h2{
        font-size:2rem;
    }

    .cliente-item{
        min-width:220px;
        padding:0 20px;
    }

    .cliente-item img{
        max-width:170px;
        max-height:90px;
    }

}

@media (max-width:576px){

    .clientes-header{
        text-align:center;
    }

    .clientes-line{
        margin:auto;
    }

    .cliente-item{
        min-width:180px;
    }

    .cliente-item img{
        max-width:140px;
        max-height:70px;
    }

}

/* =========================
   WHATSAPP FLOTANTE
========================= */

.whatsapp-float{
    position:fixed;
    right:25px;
    bottom:25px;
    width:65px;
    height:65px;
    background:#25D366;
    color:#ffffff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:2rem;
    box-shadow:0 8px 25px rgba(0,0,0,.25);
    z-index:9999;
    transition:all .3s ease;
    animation:whatsappPulse 2s infinite;
}

.whatsapp-float:hover{
    color:#ffffff;
    transform:scale(1.12);
    box-shadow:0 12px 35px rgba(0,0,0,.35);
}

@keyframes whatsappPulse{

    0%{
        box-shadow:0 0 0 0 rgba(37,211,102,.5);
    }

    70%{
        box-shadow:0 0 0 18px rgba(37,211,102,0);
    }

    100%{
        box-shadow:0 0 0 0 rgba(37,211,102,0);
    }

}

@media (max-width:768px){

    .whatsapp-float{
        width:58px;
        height:58px;
        font-size:1.8rem;
        right:18px;
        bottom:18px;
    }

}

/* =========================
   FOOTER
========================= */

.footer-simd{
    background:#f4f2ed;
    padding:25px 0;
}

.footer-content{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.footer-logo img{
    height:95px;
    width:auto;
}

.footer-social{
    display:flex;
    align-items:center;
    gap:35px;
}

.footer-social a{
    color:#000000;
    font-size:2.5rem;
    text-decoration:none;
    transition:all .3s ease;
}

.footer-social a:hover{
    color:#343a40;
    transform:translateY(-3px);
}

@media (max-width:768px){

    .footer-content{
        flex-direction:column;
        gap:25px;
        text-align:center;
    }

    .footer-logo img{
        height:75px;
    }

    .footer-social{
        gap:25px;
    }

    .footer-social a{
        font-size:2rem;
    }

}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:991px){

    .header-simd{
        height:auto;
        padding:15px 0;
    }

    .header-simd .navbar-brand img{
        height:60px;
    }

    .header-simd .nav-link{
        margin-left:0;
        padding:10px 0;
    }

}

.quienes-somos{
    background:url('../img/quienes-somos-bg.jpg') center center/cover no-repeat;
    position:relative;
    padding:100px 0;
}

.quienes-somos .overlay{
    background:rgba(0,0,0,.60);
    width:100%;
    height:100%;
}

.titulo-seccion{
    color:#fff;
    text-align:center;
    font-size:3rem;
    font-weight:800;
    margin-bottom:50px;
}

.info-card{
    background:rgba(40,40,40,.70);
    backdrop-filter:blur(5px);
    display:flex;
    gap:25px;
    padding:30px;
    margin-bottom:25px;
    color:#fff;
}

.icono{
    min-width:60px;
    width:60px;
    height:60px;
    border:2px solid #fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:24px;
}

.info-card h3{
    font-size:2rem;
    font-weight:800;
    margin-bottom:15px;
}

.info-card p,
.info-card li{
    font-size:1.1rem;
    line-height:1.8;
}

.repse-box{
    margin-top:25px;
}

.repse-box img{
    max-width:260px;
    height:auto;
}

@media(max-width:768px){

    .titulo-seccion{
        font-size:2rem;
    }

    .info-card{
        flex-direction:column;
    }

    .info-card h3{
        font-size:1.5rem;
    }
}

/* ========================= */
/* INSTALACIONES ELÉCTRICAS */
/* ========================= */

.service-banner{
    background:url('../img/servicios/banner-electricas.png') center center/cover no-repeat;
    height:280px;
    position:relative;
    margin-bottom:15px;
    width: 92%;
    border-radius: 0px;
    display: flex;
    align-items: center;
    margin-left: 4%;
}

.service-banner-overlay{
    width:100%;
    height:100%;
    background:rgba(0,0,0,.55);
    display:flex;
    align-items:center;
    border-radius: 0px;
}

.service-banner h1{
    color:#fff;
    font-size:3rem;
    font-weight:800;
    margin:0;
}

.service-content{
    padding:60px 0;
    background:#fff;
}

.service-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
}

.service-column p{
    color:#444;
    line-height:2;
    margin-bottom:20px;
}

.service-image{
    width:100%;
    margin:20px 0;
    display:block;
}

.service-cta{
    background:url('../img/servicios/cta-electricas.png') center center/cover no-repeat;
    position:relative;
    margin-top:20px;
}

.service-cta-overlay{
    background:rgba(0,0,0,.55);
    padding:80px 0;
    text-align:left;
}

.service-cta h2{
    color:#fff;
    font-size:3rem;
    font-weight:800;
    margin-bottom:10px;
}

.service-cta h2 span{
    color:#ffffff;
}

.service-cta p{
    color:#fff;
    font-size:1.2rem;
    margin-bottom:25px;
}

.btn-contacto{
    background:#ffffff;
    color:#000;
    padding:12px 25px;
    text-decoration:none;
    font-weight:700;
    display:inline-block;
}

.btn-contacto:hover{
    background:#1c819c;
    color:#fff;
}

@media(max-width:768px){

    .service-grid{
        grid-template-columns:1fr;
    }

    .service-banner h1{
        font-size:2rem;
    }

    .service-cta h2{
        font-size:2rem;
    }
}

/* ========================= */
/* ELECTRICAL NUEVO DISEÑO   */
/* ========================= */

.service-intro{
    background:#4b4b4b;
    color:#ffffff;
    padding:25px 35px;
    position:relative;
    margin-bottom:0;
}

.service-intro::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:0;
    height:0;
    border-top:30px solid #ffffff;
    border-left:30px solid transparent;
}

.service-intro p{
    margin:0;
    line-height:2;
    font-size:1.5rem;
}

.electrical-services-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
}

.electrical-card{
    background:#f5f5f5;
    text-align:center;
    padding:35px 30px;
    border:1px solid #e5e5e5;
}

.electrical-card img{
    width:80px;
    height:80px;
    object-fit:contain;
    margin-bottom:20px;
}

.electrical-card h3{
    background:linear-gradient(
        90deg,
        #1f1f1f,
        #6f6f6f
    );
    color:#ffffff;
    font-size:1.2rem;
    font-weight:700;
    padding:10px;
    margin:0 -30px 20px;
}

.electrical-card p{
    color:#222;
    font-size:.95rem;
    line-height:2;
    margin:0;
    font-weight:500;
}

.electrical-image-card{
    overflow:hidden;
}

.electrical-image-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

@media(max-width:768px){

    .electrical-services-grid{
        grid-template-columns:1fr;
    }

    .service-intro{
        padding:20px;
    }

    .electrical-card{
        padding:25px 20px;
    }

    .electrical-card h3{
        margin:0 -20px 15px;
    }

}

/* ========================= */
/* ELECTRICAL DISEÑO MAQUETA */
/* ========================= */

.electrical-layout{
    padding:0;
    background:#ffffff;
}

.electrical-layout .container{
    max-width:94%;
    padding-left:0;
    padding-right:0;
}

.electrical-intro{
    background:linear-gradient(90deg, #202020 0%, #5d5d5d 100%);
    color:#ffffff;
    padding:22px 90px;
    position:relative;
}

.electrical-intro::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:0;
    height:0;
    border-top:160px solid #ffffff;
    border-left:160px solid transparent;
}

.electrical-intro p{
    margin:0;
    color:#ffffff;
    font-size:1.2rem;
    line-height:2;
    font-weight:400;
}



.electrical-row{
    background:#ffffff;
}

.electrical-icons{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:115px;
    align-items:end;
}

.electrical-icons > div{
    display:flex;
    align-items:center;
    justify-content:center;
}

.electrical-icons img{
    width:150px;
    height:150px;
    object-fit:contain;
}

/*.electrical-title-row{
    display:grid;
    grid-template-columns:1fr 1fr;
     min-height:80px;
    background:linear-gradient(90deg, #222222 0%, #767676 50%, #dddddd 100%);
}*/

.electrical-title-row{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;

    width: 100%;
    min-height: 60px;

    background: linear-gradient(
        90deg,
        #222222 0%,
        #767676 50%,
        #dddddd 100%
    );

    /* Romboide aplastado */
    clip-path: polygon(
        0 0,
        90% 0,
        100% 100%,
        10% 100%
    );

    overflow: hidden;
}

.electrical-title-row h3{
    color:#ffffff;
    text-align:center;
    font-size:1.5rem;
    font-weight:700;
    margin:0;
    padding:15px 5px;
}

.electrical-title-row h3:nth-child(2){
    color:#ffffff;
}

.electrical-text-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:135px;
    align-items:start;
}

.electrical-text-row p{
    margin:0;
    padding:20px 20px 10px;
    text-align:center;
    color:#000000;
    font-size:1.2rem;
    line-height:2;
    font-weight:700;
}

.electrical-final-row{
    position:relative;
}

.electrical-final-row .electrical-title-row{
    position:relative;
    z-index:1;
}

.electrical-text-image-row{
    align-items:stretch;
    position:relative;
}

.electrical-photo{
    position:relative;
    z-index:3;
    margin-top:-150px;
    padding:0 0 0 0;
}

.electrical-photo img{
    width:105%;
    height:60vh;
    object-fit:cover;
    display:block;
}

@media(max-width:768px){

    .electrical-intro{
        padding:25px 20px;
    }

    .electrical-intro::after{
        display:none;
    }

    .electrical-intro p{
        font-size:.95rem;
        line-height:1.8;
    }

    .electrical-icons,
    .electrical-title-row,
    .electrical-text-row{
        grid-template-columns:1fr;
    }

    .electrical-icons{
        min-height:auto;
        padding-top:30px;
        gap:25px;
    }

    .electrical-title-row h3:empty{
        display:none;
    }

    .electrical-text-row p{
        font-size:.9rem;
    }

    .electrical-photo img{
        min-height:230px;
    }
}

/* ========================= */
/* MOVIMIENTO DE MAQUINARIA  */
/* ========================= */

.maquinaria-banner{
    margin-bottom:15px;
}

.maquinaria-layout{
    padding:0 0 35px;
    background:#ffffff;
}

.maquinaria-layout .container{
    max-width:100%;
    padding-left:0;
    padding-right:0;
}

/* Intro */

.maquinaria-intro{
    width:102%;
    background:linear-gradient(
        90deg,
        #202020 0%,
        #565656 58%,
        #9f9f9f 100%
    );
    color:#ffffff;
    padding:30px 150px;
    position:relative;
    overflow:hidden;
}

.maquinaria-intro::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:0;
    height:0;
    border-top:200px solid #ffffff;
    border-left:250px solid transparent;
}

.maquinaria-intro ul{
    margin:0;
    padding-left:220px;
    max-width:1150px;
}

.maquinaria-intro li{
    color:#ffffff;
    font-size:1.18rem;
    line-height:2.1;
    font-weight:400;
}

/* Bloque superior */

.maquinaria-top-row{
    background:#ffffff;
    padding-top:0px;
    margin-top: -20px;
}

.maquinaria-icons{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:end;
    min-height:150px;
}

.maquinaria-icons > div{
    display:flex;
    justify-content:center;
    align-items:center;
}

.maquinaria-icons img{
    width:125px;
    height:125px;
    object-fit:contain;
}

.maquinaria-title-row{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    align-items:center;
    width:100%;
    min-height:58px;
    background:linear-gradient(
        90deg,
        #111111 0%,
        #555555 50%,
        #d8d8d8 100%
    );
    clip-path:polygon(
        10% 0,
        100% 0,
        100% 100%,
        18% 100%
    );
    overflow:hidden;
}

.maquinaria-title-row h3{
    color:#ffffff;
    text-align:center;
    font-size:1.35rem;
    font-weight:800;
    margin:0;
    padding:14px 10px;
}

.maquinaria-text-row{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    align-items:start;
    min-height:145px;
}

.maquinaria-text-row p{
    max-width:430px;
    margin:0 auto;
    padding:28px 20px 20px;
    text-align:center;
    color:#000000;
    font-size:1.08rem;
    line-height:2;
    font-weight:800;
}

/* Bloque inferior */

.maquinaria-top-row2{
    background:#ffffff;
    padding-top:20px;
    margin-top: -1050px;
}

.maquinaria-photo-main img{
    width:100%;
    height:1300px;
    object-fit:cover;
    display:block;
    position: relative;
    z-index: 10;
    margin-top: -100px;
}

.maquinaria-right-content{
    background:#ffffff;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.maquinaria-worker-icon{
    width:125px;
    height:125px;
    object-fit:contain;
    /*display:flex;
    align-items:flex-end;
    justify-content:center;*/
    padding-bottom:0px;
    padding-left: 40%;
    margin-top: 50px;
}

.maquinaria-title-row2{
    display:grid;
    color: #ffffff;
    grid-template-columns:repeat(2, 1fr);
    align-items:center;
    width:100%;
    min-height:58px;
    background:linear-gradient(
        90deg,
        #111111 0%,
        #555555 50%,
        #d8d8d8 100%
    );
    clip-path:polygon(
        10% 0,
        100% 0,
        100% 100%,
        18% 100%
    );
    overflow:hidden;
    position: relative;
    z-index: 1;
    padding-left: 20vw;
}

.maquinaria-worker-icon img{
    width:125px;
    height:125px;
    object-fit:contain;
}

.maquinaria-single-title{
    grid-template-columns:1fr;
    clip-path:none;
    min-height:60px;
    margin: 0;
    padding: 0;
}

.maquinaria-single-title h3{
    font-size:1.5rem;
}

.maquinaria-single-text{
    grid-template-columns:1fr;
    min-height:auto;
}

.maquinaria-single-text p{
    max-width:520px;
    padding:26px 20px 35px;
}

.maquinaria-photo-secondary{
    width:50%;
    margin-top:auto;
    margin-left: 50%;
}

.sideside{
    margin: 0;
    padding: 0;
     display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    padding: 0;
    gap: 0;
    width: 100vw;
}

.half{
    margin: 0;
    padding: 0;
    width: 50%;
}

.maquinaria-photo-secondary img{
    width:100%;
    height:680px;
    object-fit:cover;
    display:block;
}

/* CTA maquinaria */

.maquinaria-cta{
    margin-top:0;
}

.maquinaria-cta .service-cta-overlay{
    padding:65px 0 55px;
    background:rgba(0,0,0,.45);
}

.maquinaria-cta h2{
    font-size:2.7rem;
}

.maquinaria-cta p{
    max-width:850px;
    line-height:1.6;
}

/* Responsive */

@media(max-width:991px){

    .maquinaria-intro{
        padding:28px 45px;
    }

    .maquinaria-intro::after{
        display:none;
    }

    .maquinaria-bottom-row{
        grid-template-columns:1fr;
        padding:0 18px;
    }

    .maquinaria-photo-main img{
        height:430px;
    }

    .maquinaria-photo-secondary img{
        height:300px;
    }

}

@media(max-width:768px){

    .maquinaria-icons,
    .maquinaria-title-row,
    .maquinaria-text-row{
        grid-template-columns:1fr;
    }

    .maquinaria-title-row{
        clip-path:none;
    }

    .maquinaria-icons{
        gap:25px;
        padding-top:20px;
    }

    .maquinaria-text-row p{
        font-size:1rem;
        padding:22px 25px;
    }

    .maquinaria-photo-main img{
        height:340px;
    }

    .maquinaria-cta h2{
        font-size:2rem;
    }

}

@media(max-width:576px){

    .maquinaria-intro{
        padding:24px 25px;
    }

    .maquinaria-intro li{
        font-size:.95rem;
        line-height:1.8;
    }

    .maquinaria-icons img,
    .maquinaria-worker-icon img{
        width:95px;
        height:95px;
    }

    .maquinaria-title-row h3{
        font-size:1.1rem;
    }

    .maquinaria-bottom-row{
        padding:0 12px;
    }

    .maquinaria-photo-main img,
    .maquinaria-photo-secondary img{
        height:260px;
    }
}
/* ========================= */
/* REMODELACIÓN DE OFICINAS  */
/* ========================= */

.oficinas-layout{
    padding-top:5px;
    padding-bottom:0px;
    background:#ffffff;
}

.oficinas-layout .container{
    max-width:94%;
    padding-top: 5px;
    padding-left:0;
    padding-right:0;
}

.oficinas-intro{
    background:linear-gradient(90deg, #202020 0%, #5d5d5d 100%);
    color:#ffffff;
    padding:30px 190px;
    position:relative;
    width: 105%;
    top: 20px;
    margin-left: -60px;
    margin-bottom: 50px;
}

.oficinas-intro::after{
    content:"";
    position:absolute;
    top:0px;
    right:0;
    width:0;
    height:0;
    border-top:160px solid #ffffff;
    border-left: 160px solid transparent;
}

.oficinas-intro p{
    line-height: 2;
}

.oficinas-top-row{
    background:#ffffff;
}

.oficinas-title-row{
     display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;

    width: 100%;
    min-height: 60px;

    background: linear-gradient(
        90deg,
        #222222 0%,
        #767676 50%,
        #dddddd 100%
    );

    /* Romboide aplastado */
    clip-path: polygon(
        0 0,
        90% 0,
        100% 100%,
        10% 100%
    );

    overflow: hidden;
}

.oficinas-title-row2{
     display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    color: #ffffff;

    width: 90%;
    min-height: 60px;

    background: linear-gradient(
        90deg,
        #222222 0%,
        #767676 50%,
        #dddddd 100%
    );

    /* Romboide aplastado */
    clip-path: polygon(
        0 0,
        90% 0,
        100% 100%,
        10% 100%
    );

    overflow: hidden;
}

.oficinas-title-row2 h3{
    color:#ffffff;
    text-align:center;
    font-size:1.5rem;
    font-weight:700;
    margin:0;
    padding:15px 5px;
    padding-left: 350px;
}

.oficinas-title-row h3{
    color:#ffffff;
    text-align:center;
    font-size:1.5rem;
    font-weight:700;
    margin:0;
    padding:15px 5px;
}

.oficinas-text-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:115px;
    align-items:start;
}

.oficinas-text-row p{
    margin:0;
    padding:18px 20px 22px;
    text-align:center;
    color:#000000;
    font-size:1.2rem;
    line-height:2;
    font-weight:700;
}

.oficinas-text-row2 p{
    margin:0;
    padding:18px 20px 22px;
    text-align:center;
    color:#000000;
    font-size:1.2rem;
    line-height:2;
    font-weight:700;
    padding-left: 50px;
}

.oficinas-layout .electrical-icons img{
    width:125px;
    height:125px;
    object-fit:contain;
}

.oficinas-bottom-row{
    display:grid;
    grid-template-columns:53% 47%;
    background:#ffffff;
    margin-bottom:0px;
}

.oficinas-left-content{
    background:#ffffff;
}

.oficinas-single-icon{
    grid-template-columns:1fr;
    min-height:100px;
    padding-right: 48%;
}

.oficinas-single-title{
    grid-template-columns:1fr;
}

.oficinas-single-text{
    grid-template-columns:1fr;
    min-height:auto;
}

.oficinas-single-text p{
    padding:18px 20px 24px;
}

.oficinas-photo-small{
    width:100%;
}

.oficinas-photo-small img{
    width: 100%;
}

.oficinas-photo-wide{
    width:100%;
}

.oficinas-img{
    margin: 0;
    padding: 0;
    object-fit: none;
    width: 100%;
    overflow: hidden;
}

.oficinas-img-l{
    width:100%;
    height:500px;      /* El alto que necesites */
    overflow:hidden;
    position:relative;
}

.oficinas-img-r{
   width:80%;
   height: 1000px;
    object-fit:cover;      /* Recorta automáticamente */
    object-position:center;/* Mantiene el centro */
    display:block;
}

.oficinas-photo-wide img{
    width:100%;
}

.sideside-oficinas{
    margin: 0;
    padding: 0;
     display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    padding: 0;
    gap: 0;
    width: 90vw;
}

.oficinas-photo-main{
    padding:0 0 0 0;
}

.oficinas-photo-main img{
    width:100%;
    height:1110px;
    object-fit:cover;
    display:block;
    margin-top: -400px;
    position: relative;
    z-index: 1;
}

.sideside-oficinas{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:0;
    width:100%;
    margin-top:40px;
}

.oficinas-img-l{
    width:90%;
    height:720px;
    overflow:hidden;
    position:relative;
    margin-left: 50px;
}

.oficinas-img-r{
    width:100%;
    height:1020px;
    overflow:hidden;
    position:relative;
    margin-top: -300px;
}

.oficinas-img-l img,
.oficinas-img-r img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
}

/* Ajuste individual si una imagen necesita moverse */
.oficinas-img-l img{
    object-position:center center;
}

.oficinas-img-r img{
    object-position:center center;
}

@media (max-width:768px){
    .sideside-oficinas{
        grid-template-columns:1fr;
    }

    .oficinas-img-l,
    .oficinas-img-r{
        height:320px;
    }
}

@media(max-width:768px){

    .oficinas-layout{
        padding-top:40px;
        padding-bottom:60px;
    }

    .oficinas-title-row,
    .oficinas-text-row,
    .oficinas-bottom-row{
        grid-template-columns:1fr;
    }

    .oficinas-photo-small,
    .oficinas-photo-wide{
        width:100%;
        margin-bottom:20px;
    }

    .oficinas-photo-small img,
    .oficinas-photo-wide img{
        height:230px;
    }

    .oficinas-photo-main img{
        height:360px;
    }
}

/* ========================= */
/* HVAC / AC                 */
/* ========================= */

.hvac-layout{
    padding-top:5px;
    padding-bottom:5px;
    background:#ffffff;
}

.hvac-layout .container{
    max-width:94%;
    padding-left:0;
    padding-right:0;
}

.hvac-intro{
    background:linear-gradient(90deg, #202020 0%, #5d5d5d 100%);
    color:#ffffff;
    padding:30px 190px;
    position:relative;
    width: 105%;
    top: 20px;
    margin-left: -60px;
    margin-bottom: 20px;
    font-size:1.2rem;
}

.hvac-intro::after{
    content:"";
    position:absolute;
    top:0px;
    right:0;
    width:0;
    height:0;
    border-top:160px solid #ffffff;
    border-left: 160px solid transparent;
}

.hvac-intro p{
    line-height: 2;
}

.hvac-top-row{
    background:#ffffff;
    padding: 0;
}

.hvac-title-row{
     display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    padding-right: 10%;
    padding-left: 10%;

    width: 100%;
    min-height: 60px;

    background: linear-gradient(
        90deg,
        #222222 0%,
        #767676 50%,
        #dddddd 100%
    );

    /* Romboide aplastado */
    clip-path: polygon(
        0 0,
        90% 0,
        100% 100%,
        10% 100%
    );

    overflow: hidden;
}

.hvac-title-row2{
     display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    margin-left: -3vw;

    width: 112%;
    min-height: 60px;

    background: linear-gradient(
        90deg,
        #222222 0%,
        #767676 50%,
        #dddddd 100%
    );

    /* Romboide aplastado */
    clip-path: polygon(
        0 0,
        80% 0,
        100% 100%,
        0% 100%
    );

    overflow: hidden;
}

.hvac-title-row h3{
    color:#ffffff;
    text-align:center;
    font-size:1.5rem;
    font-weight:700;
}

.hvac-title-row2 h3{
    color:#ffffff;
    text-align:center;
    font-size:1.5rem;
    font-weight:700;
    margin:0;
    padding:15px 5px;
    padding-left: 200px;
}

.hvac-text-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:115px;
    align-items:start;
}

.hvac-text-row p{
    margin:0;
    padding:18px 20px 22px;
    text-align:center;
    color:#000000;
    font-size:1.2rem;
    line-height:2;
    font-weight:700;
}

.hvac-layout .electrical-icons img{
    width:150px;
    height:150px;
    object-fit:contain;
}

.hvac-bottom-row{
    display:grid;
    grid-template-columns:49% 51%;
    background:#ffffff;
    margin-bottom:70px;
}

.hvac-photo-main img{
    width:100%;
    height:auto;
    object-fit:cover;
    display:block;
}

.hvac-right-content{
    background:#ffffff;
}

.hvac-single-icon{
    grid-template-columns:1fr;
    min-height:105px;
}

.hvac-single-title{
    grid-template-columns:1fr;
}

.hvac-single-text{
    grid-template-columns:1fr;
    min-height:auto;
}

.hvac-single-text p{
    padding:18px 20px 24px;
}

.hvac-second-icon{
    margin-top:10px;
}

@media(max-width:768px){

    .hvac-layout{
        padding-top:40px;
        padding-bottom:60px;
    }

    .hvac-title-row,
    .hvac-text-row,
    .hvac-bottom-row{
        grid-template-columns:1fr;
    }

    .hvac-photo-main img{
        height:360px;
    }
}

/* ========================= */
/* ESTRUCTURAS Y MEZANINE    */
/* ========================= */

.mezanine-layout{
    padding-top:5px;
    padding-bottom:5px;
    background:#ffffff;
}

.mezanine-layout .container{
    max-width:94%;
    padding-left:0;
    padding-right:0;
}

.mezanine-intro{
    background:linear-gradient(90deg, #202020 0%, #5d5d5d 100%);
    color:#ffffff;
    padding:30px 190px;
    position:relative;
    width: 105%;
    top: 20px;
    margin-left: -60px;
    margin-bottom: 20px;
    font-size:1.2rem;
}

.mezanine-intro::after{
    content:"";
    position:absolute;
    top:0px;
    right:0;
    width:0;
    height:0;
    border-top:160px solid #ffffff;
    border-left: 160px solid transparent;
}

.mezanine-top-row{
    background:#ffffff;
}

.mezanine-title-row{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    padding: 0 10%;

    width: 100%;
    min-height: 60px;

    background: linear-gradient(
        90deg,
        #222222 0%,
        #767676 50%,
        #dddddd 100%
    );

    /* Romboide aplastado */
    clip-path: polygon(
        0 0,
        90% 0,
        100% 100%,
        10% 100%
    );

    overflow: hidden;
}

.mezanine-title-row-1{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    padding: 0 10%;
    margin-left: 20%;

    width: 80%;
    min-height: 60px;

    background: linear-gradient(
        90deg,
        #222222 0%,
        #767676 50%,
        #dddddd 100%
    );

    /* Romboide aplastado */
    clip-path: polygon(
        0 0,
        90% 0,
        100% 100%,
        10% 100%
    );
}

.mezanine-title-row h3{
    color:#ffffff;
    text-align:center;
    font-size:1.5rem;
    font-weight:700;
    margin:0;
    padding:15px 5px;
}

.mezanine-title-row-1 h3{
    color:#ffffff;
    text-align:center;
    font-size:1.5rem;
    font-weight:700;
    margin:0;
    padding:15px 5px;
    margin-left: -10vw;
     position: relative;
    z-index: -6;
}

.mezanine-text-row{
    min-height:115px;
    align-items:start;
    padding-left: 10vw;
}

.mezanine-text-row p{
    margin:0;
    text-align:center;
    color:#000000;
    font-size:1.2rem;
    line-height:2;
    font-weight:700;
}

.mezanine-text-row_1{
    min-height:115px;
    align-items:start;
}

.mezanine-text-row-1 p{
    margin:0;
    text-align:center;
    color:#000000;
    font-size:1.2rem;
    line-height:2;
    font-weight:700;
    margin-left: -10vw;
}

.mezanine-layout .electrical-icons img{
    width:250px;
    height:250px;
    object-fit:contain;
}

.mezanine-bottom-row{
    display:grid;
    grid-template-columns:52.5% 47.5%;
    background:#ffffff;
    margin-bottom:5px;
}

.mezanine-photo-main img{
    margin-top: -650px;
    width:50%;
    height:700px;
    object-fit:cover;
    display:block;
    position: relative;
    z-index: 10;
}

.mez-left-content{
    width:50%;
    align-items: center;
    justify-content: center;
    margin-left: 50%;
}

.mez-left-content img{
    width:150px;
    height:150px;
    object-fit:contain;
}

.mez-right-content{
    width: 50%;
    align-items: center;
    margin-left: 30%;
}

.mez-right-content img{
    width:150px;
    height:150px;
    object-fit:contain;
}

.mezanine-right-content{
    background:#ffffff;
}

.mezanine-single-icon{
    grid-template-columns:1fr;
    min-height:105px;
}

.mezanine-single-title{
    grid-template-columns:1fr;
}

.mezanine-single-text{
    grid-template-columns:1fr;
    min-height:auto;
}

.mezanine-single-text p{
    padding:18px 20px 24px;
}

.mezanine-second-icon{
    margin-top:10px;
}

@media(max-width:768px){

    .mezanine-layout{
        padding-top:40px;
        padding-bottom:60px;
    }

    .mezanine-title-row,
    .mezanine-text-row,
    .mezanine-bottom-row{
        grid-template-columns:1fr;
    }

    .mezanine-photo-main img{
        height:360px;
    }
}