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

@media (min-width:1600px){
    :root{ --container-width:1440px; }

    .hero__title{
        font-size:clamp(3rem, 4.2vw, 5.6rem);
    }
}

@media (max-width:1200px){
    .navegacion ul{ gap:24px; }
    .services-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .footer__container{ grid-template-columns:1.4fr 1fr; }

    .fleet{
        grid-template-columns:minmax(250px, .85fr) minmax(0, 1fr);
        gap:40px;
    }

    .clients-slider{ padding-inline:50px !important; }
    .clients-slider .client-logo{ min-height:200px; }
}

@media (max-width:1024px){
    .navegacion ul{ gap:18px; }
    .navegacion a{ font-size:14px; }
    .logo-compuesto{ width:190px; }
    .hero__container{ gap:clamp(30px, 5vw, 50px); }
}

@media (max-width:900px){
    :root{ --header-main-height:84px; }

    .header-principal{ padding:12px 22px; }
    .logo-contenedor{ min-width:0; }
    .logo-compuesto{ width:168px; }
    .boton-hamburguesa{ display:flex; }

    body.menu-abierto{ overflow:hidden; }

    .navegacion{
        position:absolute;
        inset:100% 0 auto 0;
        display:block;
        max-height:calc(100vh - var(--header-height));
        padding:10px 0;
        overflow:auto;
        background:var(--blanco-puro);
        box-shadow:0 16px 28px rgb(0 0 0 / 16%);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-10px);
        transition:opacity .3s ease, transform .3s ease, visibility .3s ease;
    }

    .navegacion.activo{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .navegacion ul{
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }

    .navegacion li,
    .navegacion a{ width:100%; }

    .navegacion a{
        padding:15px 22px;
        text-align:center;
    }

    .navegacion a::after{
        bottom:7px;
        width:72px;
    }

    .hero{ min-height:auto; }

    .hero__content{
        align-items:center;
        text-align:center;
    }

    .hero__buttons{ justify-content:center; }

    .split-layout,
    .fleet,
    .contact__container{
        grid-template-columns:1fr;
    }

    .features-list{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:14px;
    }

    .features-list article{
        min-width:0;
        padding:20px;
    }

    .fleet{ gap:34px; }
    .fleet__image,
    .fleet__content{ width:100%; }
    .fleet__stats{ grid-template-columns:repeat(3, minmax(0, 1fr)); }

    .fleet-reference-gallery{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }

    .fleet-reference-card:first-child{ grid-column:auto !important; }

    .fleet-reference-card img,
    .fleet-reference-card:first-child img{ min-height:190px; }

    .clients.section{ padding-block:78px; }
    .clients-slider{ padding-inline:44px !important; }
    .clients-slider .client-logo{ min-height:185px; padding:22px; }
    .clients-slider__control--prev{ left:4px; }
    .clients-slider__control--next{ right:4px; }

    .contact__container{ gap:34px; }

    .footer__container{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:30px;
    }
}

@media (max-width:680px){
    :root{
        --barra-height:38px;
        --header-main-height:78px;
        --container-padding:1rem;
    }

    .barra-item{ padding-inline:22px; font-size:.88rem; }
    .barra-item::after{ margin-left:22px; }
    .header-principal{ padding:60px 16px; }
    .logo-compuesto{ width:150px; }

    .hero{ padding:58px 0 64px; }
    .hero__title{ font-size:clamp(2.15rem, 13vw, 3.2rem); }
    .hero__description,
    .section__text{ font-size:1rem; }
    .hero__buttons,
    .btn{ width:100%; }
    .btn{ min-height:50px; }

    .services-grid{ grid-template-columns:1fr; gap:14px; }
    .service-card{ min-height:auto; padding:22px; }
    .service-card p{ max-width:52ch; }

    .split-layout{ gap:28px; }
    .features-list{ grid-template-columns:1fr; gap:12px; }
    .features-list article{ padding:18px; }

    .fleet{ gap:28px; }
    .fleet__image{ padding:18px; }
    .fleet__stats{ grid-template-columns:1fr; gap:12px; margin-top:24px; }
    .fleet__stats div{ min-height:auto; padding:18px; }

    .fleet-reference-gallery{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    .fleet-reference-card:first-child{ grid-column:1 / -1 !important; }

    .clients.section{ padding-block:64px; }
    .clients-slider{ padding-inline:34px !important; padding-bottom:40px; }
    .clients-slider .client-logo{ min-height:175px; padding:20px; }
    .clients-slider__control{ width:34px; height:34px; font-size:1.55rem; }
    .clients-slider__control--prev{ left:0; }
    .clients-slider__control--next{ right:0; }

    .contact__container{ gap:28px; }
    .contact-link{ min-height:78px; padding:16px; }

    .footer__container{
        grid-template-columns:1fr;
        gap:28px;
        padding-block:48px 40px;
    }

    .footer__bottom-container{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media (max-width:460px){
    .barra-item{ padding-inline:16px; font-size:.8rem; }
    .barra-item::after{ margin-left:16px; }
    .navegacion a{ padding-inline:16px; }
    .hero__buttons{ flex-direction:column; }

    .contact-link{
        grid-template-columns:42px minmax(0, 1fr);
        gap:4px 12px;
        min-height:74px;
        padding:14px;
    }

    .contact-link span{ width:42px; height:42px; }

    .fleet-reference-gallery{ grid-template-columns:1fr !important; }
    .fleet-reference-card:first-child{ grid-column:auto !important; }

    .clients-slider{ padding-inline:30px !important; }
    .clients-slider .client-logo{ min-height:155px; padding:16px; flex-basis:100%; }
    .clients-slider .client-logo img{ max-height:112px; }

    .clients-slider__control{ width:36px; height:36px; font-size:1.6rem; }

    .footer__brand{ grid-template-columns:56px minmax(0, 1fr); }
    .footer__logo{ width:56px; height:56px; }
    .footer__logo img{ width:42px; }
}

@media (max-width:360px){
    .hero__title{ font-size:clamp(1.9rem, 12vw, 2.6rem); }
    .hero__description{ font-size:.94rem; }
    .footer__title{ font-size:1.3rem; }
}

@media (max-height:500px) and (orientation:landscape){
    .hero{ min-height:auto; padding:40px 0; }
    .hero__content{ align-items:flex-start; text-align:left; }
    .hero__buttons{ justify-content:flex-start; }
    .navegacion{ max-height:calc(100vh - var(--barra-height)); }
}

@media (max-width:400px){

    .rueda{
        bottom:17px;
        width:20px;
        height:22px;
    }

    .rueda-1{
        left:16px;
    }

    .rueda-2{
        left:36px;
    }
    .rueda-3{
        right :8px;
    }
}