@media(max-width:1200px){.site-navbar{padding:0 28px}.nav-links,.nav-cta{display:none}.menu-btn{display:block}.brand{min-width:auto}.hero-container{grid-template-columns:1fr;padding:72px 32px}.hero-content h1{font-size:50px}.hero-description{font-size:18px}}@media(max-width:720px){.site-navbar{height:68px;padding:0 18px}.brand-icon{width:40px;height:40px}.brand-copy strong{font-size:16px}.brand-copy small{display:none}.hero{padding-top:68px;min-height:auto}.hero-bg,.hero-overlay{inset:68px 0 0}.hero-bg{background-position:62% center}.hero-container{padding:54px 20px 48px;min-height:auto}.hero-content h1{font-size:38px;letter-spacing:-1.4px}.hero-pill{font-size:10px;letter-spacing:1px}.hero-description{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .btn{width:100%;max-width:320px}.hero-metrics{grid-template-columns:repeat(2,1fr);gap:24px}.hero-metrics article{border-right:0;padding:0;border-top:1px solid rgba(56,189,248,.24);padding-top:18px}.section{padding:64px 20px}.section-grid{grid-template-columns:1fr}.feature-grid,.service-cards{grid-template-columns:1fr}.site-footer{flex-direction:column}}
/* ABOUT PREMIUM V42 RESPONSIVE */
@media(max-width:1200px){
  .about-container{grid-template-columns:280px 1fr}
  .about-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
  .about-values article{padding:18px;border-bottom:0;border-right:1px solid rgba(148,163,184,.16)}
  .about-values article:last-child{border-right:0}
}
@media(max-width:820px){
  .about-premium{padding:64px 20px}
  .about-container{grid-template-columns:1fr;gap:28px}
  .about-profile-card{max-width:360px;margin:0 auto}
  .about-main h2{font-size:34px}
  .about-capabilities{grid-template-columns:1fr}
  .about-values{grid-template-columns:1fr}
  .about-values article{border-right:0;border-bottom:1px solid rgba(148,163,184,.16)}
}

@media(max-width:1200px){.about-v45 .about-shell{grid-template-columns:340px 1fr}.about-v45 .about-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}.about-v45 .about-values article{border-bottom:0;border-right:1px solid rgba(148,163,184,.16);padding:14px 18px}}
@media(max-width:820px){.about-v45{padding:58px 20px!important}.about-v45 .about-shell{grid-template-columns:1fr;padding:16px}.about-v45 .about-profile-card{max-width:420px;margin:0 auto}.about-v45 .about-capabilities{grid-template-columns:1fr}.about-v45 .about-values{grid-template-columns:1fr}.about-v45 .about-values article{border-right:0;border-bottom:1px solid rgba(148,163,184,.16)}}

@media(max-width:1200px){.about-v46 .about-shell{grid-template-columns:340px 1fr}.about-v46 .about-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}.about-v46 .about-values article{border-bottom:0;border-right:1px solid rgba(148,163,184,.16);padding:14px 18px}}
@media(max-width:820px){.about-v46{padding:58px 20px!important}.about-v46 .about-shell{grid-template-columns:1fr;padding:16px}.about-v46 .about-profile-card{max-width:420px;margin:0 auto}.about-v46 .about-capabilities{grid-template-columns:1fr}.about-v46 .about-values{grid-template-columns:1fr}.about-v46 .about-values article{border-right:0;border-bottom:1px solid rgba(148,163,184,.16)}}


/* ================================
   V47 RESPONSIVE HARD FIX
================================ */
@media(max-width:1360px){
  .site-navbar{padding:0 28px}
  .nav-links{gap:24px}
  .nav-links a{font-size:12px}
  .brand{min-width:270px}
  .brand-copy strong{font-size:18px}
  .brand-copy small{font-size:8.5px}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1024px){
  .site-navbar{height:70px}
  .nav-links,.nav-cta{display:none!important}
  .menu-btn{display:block!important}
  .hero{padding-top:70px!important;min-height:auto}
  .hero-bg,.hero-overlay,.hero-media,.hero-grid{inset:70px 0 0!important}
  .hero-container{grid-template-columns:1fr!important;min-height:auto!important;padding:76px 28px 54px!important}
  .hero-content{max-width:680px}
  .hero-content h1{font-size:50px!important}
  .hero-description{font-size:18px!important}
  .about-v46 .about-shell,
  .about-v45 .about-shell,
  .about-shell{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .about-profile-card{
    max-width:430px!important;
    margin:0 auto!important;
  }
  .about-values{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  body{overflow-x:hidden}
  .site-navbar{height:64px!important;padding:0 16px!important}
  .brand-icon{width:38px!important;height:38px!important}
  .brand-copy strong{font-size:15px!important}
  .brand-copy small{display:none!important}

  .hero{padding-top:64px!important}
  .hero-bg,.hero-overlay,.hero-media,.hero-grid{inset:64px 0 0!important}
  .hero-bg,.hero-media{background-position:62% center!important}
  .hero-container{padding:48px 18px 42px!important}
  .hero-pill{font-size:10px!important;letter-spacing:.8px!important;white-space:normal!important}
  .hero-content h1{font-size:36px!important;letter-spacing:-1.2px!important}
  .hero-description{font-size:15px!important}
  .hero-actions{flex-direction:column!important;align-items:stretch!important}
  .hero-actions .btn{width:100%!important;max-width:none!important}
  .hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .hero-metrics article{border-right:0!important;border-top:1px solid rgba(56,189,248,.20)!important;padding:18px 6px 0!important}
  .hero-metric-icon{width:42px!important;height:42px!important}

  .about-v46,.about-v45,.about-premium{padding:54px 16px!important}
  .about-v46 .about-shell,.about-v45 .about-shell,.about-shell{padding:14px!important}
  .about-main h2{font-size:30px!important}
  .about-capabilities{grid-template-columns:1fr!important}
  .about-values{grid-template-columns:1fr!important}
  .about-values article{border-right:0!important;border-bottom:1px solid rgba(148,163,184,.16)!important}

  .services-premium{padding:64px 16px!important}
  .services-header h2{font-size:32px!important}
  .services-grid{grid-template-columns:1fr!important}
  .service-card{min-height:260px;padding:24px!important}

  .section{padding:64px 16px!important}
}

@media(max-width:420px){
  .hero-content h1{font-size:32px!important}
  .hero-metrics strong{font-size:26px!important}
  .hero-metrics span{font-size:10px!important}
  .about-profile-card{max-width:100%!important}
}


/* ================================
   V48 - ABOUT RESPONSIVE FIX
   Corrige cortes y desbordes en tablet / laptop
================================ */

@media(max-width:1280px){
  .about-v46,
  .about-v45,
  .about-premium{
    padding:72px 24px!important;
  }

  .about-v46 .about-shell,
  .about-v45 .about-shell,
  .about-shell{
    grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important;
    gap:32px!important;
    align-items:start!important;
  }

  .about-v46 .about-values,
  .about-v45 .about-values,
  .about-values{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
  }

  .about-v46 .about-main h2,
  .about-v45 .about-main h2,
  .about-main h2{
    font-size:34px!important;
    line-height:1.12!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .about-v46 .about-lead,
  .about-v45 .about-lead,
  .about-lead{
    font-size:15px!important;
    max-width:100%!important;
  }

  .about-v46 .about-capabilities,
  .about-v45 .about-capabilities,
  .about-capabilities{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:100%!important;
  }
}

@media(max-width:960px){
  .about-v46 .about-shell,
  .about-v45 .about-shell,
  .about-shell{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }

  .about-profile-card{
    max-width:430px!important;
    width:100%!important;
    margin:0 auto!important;
  }

  .about-v46 .about-main,
  .about-v45 .about-main,
  .about-main{
    width:100%!important;
    min-width:0!important;
  }

  .about-v46 .about-main h2,
  .about-v45 .about-main h2,
  .about-main h2{
    font-size:32px!important;
  }

  .about-v46 .about-values,
  .about-v45 .about-values,
  .about-values{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:640px){
  .about-v46,
  .about-v45,
  .about-premium{
    padding:54px 14px!important;
  }

  .about-v46 .about-shell,
  .about-v45 .about-shell,
  .about-shell{
    padding:14px!important;
    border-radius:14px!important;
  }

  .about-v46 .about-main h2,
  .about-v45 .about-main h2,
  .about-main h2{
    font-size:28px!important;
    line-height:1.16!important;
    letter-spacing:-.6px!important;
  }

  .about-v46 .about-capabilities,
  .about-v45 .about-capabilities,
  .about-capabilities{
    grid-template-columns:1fr!important;
  }

  .about-v46 .about-capabilities article,
  .about-v45 .about-capabilities article,
  .about-capabilities article{
    display:grid!important;
    grid-template-columns:44px 1fr!important;
    align-items:center!important;
    gap:14px!important;
    padding:16px!important;
    min-width:0!important;
  }

  .about-v46 .about-capabilities h4,
  .about-v45 .about-capabilities h4,
  .about-capabilities h4{
    font-size:15px!important;
    line-height:1.2!important;
  }

  .about-v46 .about-capabilities p,
  .about-v45 .about-capabilities p,
  .about-capabilities p{
    font-size:13px!important;
  }

  .about-v46 .about-values,
  .about-v45 .about-values,
  .about-values{
    grid-template-columns:1fr!important;
    padding:12px 18px!important;
  }

  .about-v46 .about-values article,
  .about-v45 .about-values article,
  .about-values article{
    min-height:auto!important;
    padding:18px 0!important;
  }
}

/* Evita que títulos grandes queden cortados por contenedores antiguos */
.about-main,
.about-main h2,
.about-lead,
.about-capabilities,
.about-capabilities article,
.about-values,
.about-values article{
  min-width:0!important;
  overflow:visible!important;
}


/* V49 services responsive */
@media(max-width:1280px){
  .services-wrap{
    grid-template-columns:1fr;
  }
  .service-mini-grid{
    grid-template-columns:repeat(5,minmax(145px,1fr));
    overflow-x:auto;
    padding-bottom:8px;
  }
}

@media(max-width:820px){
  .services-matrix{
    padding:64px 16px;
  }
  .services-left h2,
  .capability-matrix h2{
    font-size:28px;
  }
  .service-mini-grid{
    grid-template-columns:1fr;
    overflow:visible;
  }
  .service-mini-card{
    min-height:auto;
    padding:24px;
  }
  .matrix-row{
    grid-template-columns:1fr;
    gap:8px;
    padding:14px 0;
  }
  .matrix-row span{
    white-space:normal;
  }
  .matrix-row em{
    width:max-content;
  }
}


/* V51 contact responsive */
@media(max-width:1024px){
  .contact-clean-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .footer-clean{
    grid-template-columns:1fr;
    text-align:center;
  }
  .footer-brand-clean{
    justify-content:center;
  }
  .footer-copy-clean{
    text-align:center;
  }
  .footer-nav-clean{
    flex-wrap:wrap;
  }
}

@media(max-width:640px){
  .contact-clean{
    padding:64px 16px 28px;
  }
  .contact-clean-header h2{
    font-size:28px;
  }
  .contact-clean-actions{
    grid-template-columns:1fr;
  }
  .footer-clean{
    padding:22px;
  }
}


/* V52 contact responsive */
@media(max-width:1024px){
  .contact-v52-panel{
    grid-template-columns:1fr;
    gap:28px;
    padding:34px 28px;
  }
  .footer-v52{
    grid-template-columns:1fr;
    text-align:center;
  }
  .footer-brand-v52{
    justify-content:center;
  }
  .footer-info-v52{
    border-left:0;
    border-right:0;
  }
  .footer-social-v52{
    justify-content:center;
  }
}

@media(max-width:720px){
  .contact-v52{
    padding:64px 16px 28px;
  }
  .contact-copy h2{
    font-size:28px;
  }
  .form-row{
    grid-template-columns:1fr;
  }
  .form-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .form-actions button,
  .form-actions a{
    width:100%;
  }
  .footer-info-v52{
    grid-template-columns:1fr;
    gap:18px;
  }
  .footer-info-v52 article{
    justify-content:center;
    padding:0;
  }
  .footer-info-v52 article:first-child{
    border-right:0;
  }
  .footer-bottom-v52{
    flex-direction:column;
    text-align:center;
    padding:18px 24px 24px;
  }
}


/* V53 responsive */
@media(max-width:1024px){
  .contact-v53-panel{
    grid-template-columns:1fr;
    gap:28px;
    padding:34px 28px;
  }

  .footer-v53-container{
    grid-template-columns:1fr;
    text-align:center;
  }

  .footer-brand-v53,
  .footer-social-v53{
    justify-content:center;
  }

  .footer-info-v53{
    border-left:0;
    border-right:0;
  }
}

@media(max-width:720px){
  .contact-v53{
    padding:64px 16px 42px;
  }

  .contact-v53 .contact-copy h2{
    font-size:28px;
  }

  .footer-info-v53{
    grid-template-columns:1fr;
    gap:18px;
  }

  .footer-info-v53 article{
    justify-content:center;
    padding:0;
  }

  .footer-info-v53 article:first-child{
    border-right:0;
  }

  .footer-bottom-v53{
    flex-direction:column;
    text-align:center;
  }
}


/* V54 final responsive footer */
@media(max-width:1024px){
  .footer-v53-container{
    grid-template-columns:1fr!important;
    padding:24px 28px!important;
    text-align:center!important;
  }
  .footer-brand-v53,
  .footer-social-v53{
    justify-content:center!important;
  }
  .footer-info-v53{
    border-left:0!important;
    border-right:0!important;
  }
  .footer-bottom-v53{
    padding:14px 28px 18px!important;
    flex-direction:column!important;
    text-align:center!important;
  }
}

@media(max-width:720px){
  .footer-v53-container{
    padding:22px 18px!important;
  }
  .footer-info-v53{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .footer-info-v53 article{
    justify-content:center!important;
    padding:0!important;
  }
  .footer-info-v53 article:first-child{
    border-right:0!important;
  }
  .contact-v53 .form-actions button{
    width:100%!important;
  }
}


/* ================================
   V55 FINAL RESPONSIVE HARDENING
================================ */

/* Desktop/laptop: evita que el navbar se reviente */
@media(max-width:1360px){
  .site-navbar{
    padding:0 28px!important;
  }
  .nav-links{
    gap:22px!important;
  }
  .nav-links a{
    font-size:12px!important;
  }
  .brand{
    min-width:260px!important;
  }
  .nav-cta{
    padding:0 18px!important;
    font-size:11px!important;
  }
}

/* Tablet y móvil: menú hamburguesa real */
@media(max-width:1100px){
  .nav-links,
  .nav-cta{
    display:none!important;
  }
  .menu-btn{
    display:block!important;
    width:42px;
    height:42px;
    border:1px solid rgba(56,189,248,.28)!important;
    border-radius:10px;
    color:#38BDF8!important;
    background:rgba(2,6,23,.42)!important;
    font-size:24px!important;
    line-height:1;
  }
  .brand{
    min-width:auto!important;
  }
}

/* General: ningún componente debe salirse */
html, body{
  max-width:100%;
  overflow-x:hidden!important;
}

img, svg, video, canvas{
  max-width:100%;
}

section,
header,
footer,
div,
article,
aside,
main{
  min-width:0;
}

/* Hero */
@media(max-width:720px){
  .hero-content h1{
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .hero-metrics{
    width:100%!important;
  }
}

/* About */
@media(max-width:720px){
  .about-v46 .about-shell,
  .about-v45 .about-shell,
  .about-shell{
    width:100%!important;
    max-width:100%!important;
  }
  .about-profile-image img{
    width:100%!important;
  }
}

/* Services matrix */
@media(max-width:900px){
  .services-wrap{
    grid-template-columns:1fr!important;
  }
  .service-mini-grid{
    grid-template-columns:1fr!important;
    overflow:visible!important;
  }
  .capability-matrix{
    width:100%!important;
    min-width:0!important;
  }
  .matrix-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:14px 0!important;
  }
  .matrix-row span{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}

/* Contact/Footer */
@media(max-width:720px){
  .contact-v53-panel{
    width:100%!important;
    padding:24px 18px!important;
  }
  .footer-v53-container{
    width:100%!important;
  }
}

/* Very small phones */
@media(max-width:390px){
  .brand-copy strong{
    font-size:13px!important;
  }
  .hero-content h1{
    font-size:30px!important;
  }
  .contact-v53 .contact-copy h2{
    font-size:25px!important;
  }
}
