/* Ajustes responsive compartidos y por página */

@media (max-width:980px){
.nav{position:absolute;display:none;top:86px;left:0;right:0;background:#fff;padding:18px 24px;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);box-shadow:var(--shadow)}
.nav.open{display:flex}
.nav a{padding:9px 0}
.nav a::after{bottom:2px}
.menu-btn{display:block}
.grid-4{grid-template-columns:repeat(2,1fr)}
.split,
.contact-grid{grid-template-columns:1fr}
.clients{grid-template-columns:repeat(3,1fr)}
.catalog{grid-template-columns:repeat(2,1fr)}
.service-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr 1fr}
.topbar .container{justify-content:center}
.topbar-links:first-child{display:none}
}



@media (max-width:980px){
.hero-slider{
    height:calc(100vh - 86px);
    min-height:560px;
    max-height:none;
  }
.hero-slide{
    background-position:68% center;
    background-image:
      linear-gradient(90deg,rgba(4,5,7,.94) 0%,rgba(4,5,7,.74) 54%,rgba(4,5,7,.18) 100%),
      var(--slide-image);
  }
.hero-slide .container.hero-inner{
    width:min(var(--max),calc(100% - 80px));
    display:flex;
    align-items:center;
  }
.hero-content{
    top:0;
    max-width:570px;
    padding:48px 34px 72px;
  }
.slider-arrow{
    width:48px;
    height:48px;
  }
.slider-prev{left:8px}
.slider-next{right:8px}
.slider-bars{
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
  }
}

@media (max-width:640px){
.hero-slider{
    height:calc(100vh - 76px);
    min-height:520px;
    max-height:none;
  }
.hero-slide{
    background-position:72% center;
    background-image:
      linear-gradient(90deg,rgba(4,5,7,.96) 0%,rgba(4,5,7,.78) 70%,rgba(4,5,7,.42) 100%),
      var(--slide-image);
  }
.hero-slide .container.hero-inner{
    width:min(var(--max),calc(100% - 40px));
    align-items:flex-end;
  }
.hero-content{
    max-width:100%;
    padding:55px 18px 78px;
  }
.hero-content .eyebrow{font-size:.72rem}
.hero-slide h1,
.hero-slide h2{
    font-size:clamp(2.5rem,12vw,3.5rem);
  }
.hero-slide p{
    font-size:.98rem;
    line-height:1.55;
  }
.hero-content .actions{gap:10px}
.hero-content .btn{
    min-height:52px;
    padding:0 16px;
    font-size:.9rem;
  }
.slider-arrow{display:none}
.slider-dot{width:38px}
.slider-dot.active{width:54px}
}

@media (max-width:980px){
.solutions-benefits{grid-template-columns:repeat(2,1fr);row-gap:22px}
.benefit-item:nth-child(2){border-right:0}
.benefit-item:nth-child(-n/**/+2){padding-bottom:20px;border-bottom:1px solid #dde1e7}
.solution-card{min-height:450px}
}

@media (max-width:640px){
.solutions-section{padding:58px 0}
.solutions-heading{margin-bottom:28px}
.solutions-heading h2{font-size:2.25rem}
.desktop-only{display:none}
.solution-card{min-height:0}
.solution-card .product-media{height:225px}
.solutions-benefits{grid-template-columns:1fr;padding:10px 18px}
.benefit-item,
.benefit-item:nth-child(2){border-right:0;border-bottom:1px solid #dde1e7!important;padding:18px 4px}
.benefit-item:last-child{border-bottom:0!important}
}

@media (max-width:1050px){
.about-dark-grid{grid-template-columns:1fr;gap:45px}
.about-product-panel{max-width:680px;margin:auto;width:100%}
.about-product-frame img{height:auto;max-height:680px;object-fit:contain}
.about-dark-content{max-width:820px;margin:auto}
.about-dark-bg::before{background-size:cover;opacity:.035}
}

@media (max-width:700px){
.about-dark-section{padding:62px 0}
.about-product-panel{padding-left:0}
.about-product-panel::before{display:none}
.about-product-frame{border-radius:18px}
.about-dark-content h2{font-size:2.45rem}
.about-stats{grid-template-columns:1fr}
.about-stat{min-height:105px}
.about-feature{grid-template-columns:42px 1fr;padding:12px}
.about-intro{font-size:.95rem}
}

@media (min-width:1051px){
.nav-wrap{height:86px}
.brand img{max-height:82px}
.nav a{padding:22px 0}
.nav a::after{bottom:14px}
.about-dark-section{
    min-height:calc(100vh - 68px);
    padding:38px 0 42px;
    display:flex;
    align-items:center;
  }
.about-dark-grid{
    grid-template-columns:.92fr 1.08fr;
    gap:46px;
  }
.about-product-panel{padding:8px 0 8px 16px}
.about-product-frame{border-radius:22px}
.about-product-frame img{
    height:min(520px,calc(100vh - 150px));
    min-height:440px;
    object-fit:cover;
  }
.about-dark-content h2{
    font-size:clamp(2.6rem,3.45vw,3.55rem);
    line-height:1.02;
    margin:12px 0 18px;
  }
.about-intro{
    line-height:1.55;
    margin-bottom:16px;
    font-size:.96rem;
  }
.about-feature-list{gap:7px;margin-bottom:14px}
.about-feature{
    grid-template-columns:40px 1fr;
    gap:12px;
    min-height:52px;
    padding:8px 12px;
  }
.about-feature .feature-icon{width:34px;height:34px}
.about-feature p{font-size:.92rem;line-height:1.3}
.about-cta{min-width:214px;padding:11px 18px}
.about-stats{gap:10px;margin-top:16px}
.about-stat{
    min-height:92px;
    padding:12px;
    grid-template-columns:44px 1fr;
    gap:9px;
  }
.about-stat .stat-icon{width:42px;height:42px}
.about-stat strong{font-size:1.55rem;margin-bottom:5px}
.about-stat span{font-size:.84rem}
}

@media (min-width:1051px){
.about-product-frame img{height:100%;min-height:0;object-fit:cover;object-position:left center}
.about-product-panel{align-self:center}
}

@media (max-width:1050px){
.about-product-frame{aspect-ratio:16/9}
.about-product-frame img{height:100%;max-height:none;object-fit:cover;object-position:left center}
}

@media (max-width:700px){
.about-product-frame{aspect-ratio:4/3}
.about-product-frame img{object-position:32% center}
}

@media (min-width:1051px){
.about-dark-grid{
    grid-template-columns:1fr 1fr;
    gap:58px;
  }
.about-product-panel{
    width:100%;
    max-width:600px;
    justify-self:center;
    padding:8px 0 8px 16px;
  }
.about-product-frame{
    width:100%;
    aspect-ratio:1.14/1;
    border-radius:22px;
  }
.about-product-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
}

@media (min-width:1051px){
.about-dark-section{
    height:calc(100vh - 68px);
    min-height:700px;
    max-height:920px;
    box-sizing:border-box;
    padding:24px 0;
    display:flex;
    align-items:center;
  }
.about-dark-grid{
    height:100%;
    grid-template-columns:.98fr 1.02fr;
    gap:52px;
    align-items:center;
  }
.about-product-panel{
    width:100%;
    max-width:610px;
    height:min(570px,calc(100vh - 150px));
    min-height:500px;
    padding:0;
    justify-self:center;
    display:flex;
    align-items:center;
  }
.about-product-panel::before{
    inset:8px 5% 8px 0;
    transform:translate(-14px,0);
  }
.about-product-frame{
    width:100%;
    height:100%;
    aspect-ratio:auto;
    border-radius:22px;
  }
.about-product-frame img{
    width:100%;
    height:100%;
    min-height:0;
    object-fit:cover;
    object-position:39% center;
    display:block;
  }
.about-dark-content{
    align-self:center;
  }
.about-dark-content h2{
    font-size:clamp(2.65rem,3.35vw,3.55rem);
    margin:10px 0 16px;
  }
.about-intro{margin-bottom:14px}
.about-feature-list{gap:7px;margin-bottom:13px}
.about-feature{min-height:50px;padding:7px 12px}
.about-stats{margin-top:14px}
}

@media (min-width:1051px) and (max-height:820px){
.about-dark-section{min-height:640px;padding:18px 0}
.about-product-panel{height:480px;min-height:460px;max-width:560px}
.about-dark-content h2{font-size:2.75rem}
.about-intro{font-size:.91rem;line-height:1.42}
.about-feature{min-height:46px;padding:6px 10px}
.about-feature p{font-size:.86rem}
.about-stat{min-height:78px;padding:9px}
}

@media (min-width:1051px){
.about-product-frame img{
    object-fit:cover;
    object-position:8% center;
  }
}

@media (min-width:1051px){
.about-product-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
}

@media (min-width:1051px){
.about-product-frame{
    background:#080b0f;
    border:0;
  }
.about-product-frame img{
    width:100%;
    height:100%;
    object-fit:fill;
    object-position:center center;
    transform:none;
  }
}

@media (max-width:1120px){
.footer-grid{grid-template-columns:1.25fr .75fr 1fr 1.25fr}
.footer-brand,
.footer-column{padding-left:28px;padding-right:28px}
.footer-brand{padding-left:0}
.footer-contact{padding-right:0}
}

@media (max-width:980px){
.footer-grid{grid-template-columns:1fr 1fr;row-gap:46px}
.footer-brand,
.footer-column{padding:0 32px}
.footer-brand,
.footer-benefits{padding-left:0;border-left:0}
.footer-column:nth-child(2),
.footer-contact{padding-right:0}
.copyright{flex-direction:column;align-items:flex-start;margin-top:44px}
}

@media (max-width:640px){
.footer{padding-top:52px}
.footer-grid{grid-template-columns:1fr;row-gap:38px}
.footer-brand,
.footer-column{padding:0;border-left:0}
.footer-logo{width:270px}
.copyright{margin-top:38px;padding-bottom:24px}
}







@media (max-width:1120px){
.footer-brand,
.footer-column{padding-left:22px;padding-right:22px}
.footer-brand{padding-left:0}
.footer-contact{padding-right:0}
}

@media (max-width:980px){
.footer-grid{row-gap:30px}
.copyright{margin-top:28px;padding:10px 0}
}

@media (max-width:640px){
.footer{padding-top:34px}
.footer-grid{row-gap:28px}
.footer-logo{width:230px;margin-bottom:12px}
.copyright{margin-top:25px;padding:10px 0 12px}
}

/* CTA Home responsive — versión definitiva */
@media (max-width:900px){
  .quote-strip{
    height:auto;
    min-height:0;
    background-position:66% center;
  }
  .quote-strip-content{
    width:min(100% - 40px,720px)!important;
    height:auto;
    grid-template-columns:1fr!important;
    gap:28px!important;
    padding:42px 0!important;
  }
  .quote-strip-copy{max-width:680px!important}
  .quote-strip-action{width:min(100%,520px);align-items:stretch}
}

@media (max-width:640px){
  .quote-strip{background-position:72% center}
  .quote-strip-content{
    width:min(100% - 30px,680px)!important;
    padding:34px 0!important;
    gap:24px!important;
  }
  .quote-strip h2{font-size:2rem}
  .quote-strip-copy>p br,
  .quote-strip h2 br{display:none}
  .quote-button{
    grid-template-columns:44px 1fr 28px;
    min-height:74px!important;
    padding:14px 17px!important;
    font-size:1.05rem;
  }
  .quote-icon{width:42px;height:42px}
  .quote-arrow{width:26px!important}
  .quote-note{font-size:.84rem!important}
}



/* =========================================================
   HOME — CORRECCIÓN MÓVIL FINAL
   Este bloque debe permanecer AL FINAL de responsive.css.
   ========================================================= */

@media (max-width:768px){

  /* HERO */
  .page-index .hero-slider{
    height:calc(100svh - 76px) !important;
    min-height:680px !important;
    max-height:none !important;
  }

  .page-index .hero-slide{
    padding:0 !important;
    background-image:
      linear-gradient(
        180deg,
        rgba(4,5,7,.42) 0%,
        rgba(4,5,7,.60) 30%,
        rgba(4,5,7,.88) 66%,
        rgba(4,5,7,.98) 100%
      ),
      var(--slide-image) !important;
    background-size:cover !important;
    background-position:var(--slide-mobile-position,var(--slide-position,center center)) !important;
  }

  .page-index .hero-slide .container.hero-inner{
    width:calc(100% - 36px) !important;
    height:100% !important;
    margin:0 auto !important;
    padding:0 0 106px !important;
    display:flex !important;
    align-items:flex-end !important;
  }

  .page-index .hero-content{
    top:0 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .page-index .hero-content .eyebrow{
    margin-bottom:13px !important;
    font-size:.7rem !important;
    letter-spacing:.075em !important;
  }

  .page-index .hero-content .eyebrow::before{
    width:28px !important;
  }

  .page-index .hero-slide h1,
  .page-index .hero-slide h2{
    max-width:100% !important;
    margin:0 0 17px !important;
    font-size:clamp(2.15rem,9.4vw,2.8rem) !important;
    line-height:1 !important;
    letter-spacing:-.045em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }

  .page-index .hero-slide h1 span,
  .page-index .hero-slide h2 span{
    display:inline !important;
  }

  .page-index .hero-slide p{
    max-width:100% !important;
    margin:0 0 23px !important;
    font-size:.93rem !important;
    line-height:1.5 !important;
  }

  .page-index .hero-content .actions{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:11px !important;
  }

  .page-index .hero-content .btn{
    width:100% !important;
    min-height:54px !important;
    padding:0 18px !important;
    justify-content:space-between !important;
    font-size:.91rem !important;
  }

  .page-index .slider-arrow{
    display:none !important;
  }

  .page-index .slider-bars{
    left:50% !important;
    bottom:32px !important;
    gap:12px !important;
    transform:translateX(-50%) !important;
  }

  .page-index .slider-dot{
    width:40px !important;
  }

  .page-index .slider-dot.active{
    width:56px !important;
  }

  .page-index .hero-slide:nth-child(1){
    --slide-mobile-position:58% center;
  }

  .page-index .hero-slide:nth-child(2){
    --slide-mobile-position:62% center;
  }

  .page-index .hero-slide:nth-child(3){
    --slide-mobile-position:56% center;
  }

  /* LÍNEA DE SOLUCIONES */
  .page-index .solutions-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .page-index .solution-card{
    min-height:auto !important;
  }

  .page-index .solution-card .product-media{
    height:225px !important;
    padding:20px 20px 8px !important;
  }

  .page-index .solution-card .product-media img{
    max-height:175px !important;
  }

  .page-index .solution-card .product-body{
    padding:20px 22px 24px !important;
  }

  .page-index .solution-card .product-body h3{
    font-size:1.2rem !important;
  }

  .page-index .solution-card .product-body p{
    min-height:0 !important;
    font-size:.97rem !important;
  }

  .page-index .solutions-benefits{
    grid-template-columns:1fr !important;
    padding:10px 18px !important;
  }

  .page-index .benefit-item,
  .page-index .benefit-item:nth-child(2),
  .page-index .benefit-item:nth-child(3),
  .page-index .benefit-item:nth-child(4){
    border-right:0 !important;
    border-bottom:1px solid #dde1e7 !important;
    border-top:0 !important;
    padding:18px 4px !important;
  }

  .page-index .benefit-item:last-child{
    border-bottom:0 !important;
  }

  /* QUIÉNES SOMOS DEL HOME */
  .page-index .about-dark-section{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    padding:58px 0 66px !important;
  }

  .page-index .about-dark-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:34px !important;
    align-items:stretch !important;
    height:auto !important;
  }

  .page-index .about-product-panel{
    order:-1 !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
  }

  .page-index .about-product-panel::before{
    display:none !important;
  }

  .page-index .about-product-frame{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1.25/1 !important;
    border-radius:20px !important;
  }

  .page-index .about-product-frame img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:32% center !important;
  }

  .page-index .about-dark-content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  .page-index .about-dark-content h2{
    margin:14px 0 22px !important;
    font-size:clamp(2rem,9.2vw,2.55rem) !important;
    line-height:1.04 !important;
  }

  .page-index .about-intro{
    margin-bottom:22px !important;
    font-size:.95rem !important;
    line-height:1.62 !important;
  }

  .page-index .about-feature-list{
    gap:12px !important;
  }

  .page-index .about-feature{
    grid-template-columns:42px 1fr !important;
    gap:12px !important;
    padding:12px !important;
  }

  .page-index .about-stats{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .page-index .about-stat{
    min-height:96px !important;
  }

  /* WHATSAPP */
  .page-index .whatsapp{
    right:16px !important;
    bottom:86px !important;
    width:52px !important;
    height:52px !important;
  }

  .page-index .whatsapp > svg{
    width:31px !important;
    height:31px !important;
  }
}

@media (max-width:390px){

  .page-index .hero-slider{
    min-height:650px !important;
  }

  .page-index .hero-slide .container.hero-inner{
    width:calc(100% - 30px) !important;
    padding-bottom:100px !important;
  }

  .page-index .hero-slide h1,
  .page-index .hero-slide h2{
    font-size:clamp(2rem,9.7vw,2.45rem) !important;
  }

  .page-index .solution-card .product-media{
    height:205px !important;
  }

  .page-index .solution-card .product-media img{
    max-height:158px !important;
  }

  .page-index .about-product-frame{
    aspect-ratio:1.12/1 !important;
  }
}

