/* =========================================================
   SEIRV · Responsive hardening 2026-08-14
   Refuerzo transversal para desktop, laptop, tablet y móvil.
   Se carga al final para corregir desbordes sin cambiar el look.
   ========================================================= */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:clip;
}
body,#site{max-width:100%;overflow-x:clip}
img,video,canvas,svg{max-width:100%}
img,video{height:auto}

/* Evita que hijos de grid/flex fuercen el ancho del viewport. */
.container,
.title-row,
.nav-shell,
.main-nav,
.nav-actions,
.problem-grid,.services-grid,.page-service-grid,
.compare-wrap,.about-grid,.coverage,.faq-wrap,.contact-shell,
.case-grid,.case-stack,.stats-panel,.sectors-wrap,
.sector-panel,.cert-grid,.footer-grid,
.methodology-shell,.methodology-list,
.who-lab-shell,.about-immersive-shell,
.compliance-shell,.compliance-grid,
.values-stage,.values-selector-grid,
.contact-boardroom-hero-inner,.contact-boardroom-shell,
.contact-boardroom-process-grid,.contact-boardroom-form-footer,
.seirv-project-gallery__summary,.seirv-project-gallery__grid,
.seirv-metrics-grid{
  min-width:0;
}
.container > *,
.title-row > *,
.nav-shell > *,
.problem-grid > *, .services-grid > *, .page-service-grid > *,
.compare-wrap > *, .about-grid > *, .coverage > *, .faq-wrap > *,
.case-grid > *, .case-stack > *, .stats-panel > *, .sectors-wrap > *,
.sector-panel > *, .cert-grid > *, .footer-grid > *,
.methodology-shell > *, .methodology-list > *,
.who-lab-shell > *, .about-immersive-shell > *,
.compliance-shell > *, .compliance-grid > *,
.values-stage > *, .values-selector-grid > *,
.contact-boardroom-hero-inner > *, .contact-boardroom-shell > *,
.contact-boardroom-process-grid > *, .contact-boardroom-form-footer > *,
.seirv-project-gallery__summary > *, .seirv-project-gallery__grid > *,
.seirv-metrics-grid > *{
  min-width:0;
}

/* Tipografía fluida y sin cortes accidentales. */
h1,h2,h3,h4,
.two-line-title,.services-title,.methodology-title,.compliance-title,
.nosotros-hero-title,.contact-hero-title,.process-title-one-line{
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
p,li,a,button,label,span,strong,small{word-break:normal}

/* El contenedor nunca se sale en monitores angostos o con zoom. */
@media (max-width:1240px){
  :root{--container:min(1180px,calc(100vw - 32px))}
  .container{width:min(1180px,calc(100vw - 32px))}
}

/* Cabecera: antes de que se amontone, pasa al menú móvil. */
@media (max-width:1160px){
  .site-header{top:8px}
  .nav-shell{width:calc(100vw - 20px);height:60px;padding:0 10px 0 14px;gap:12px}
  .brand{width:138px}
  .main-nav{display:none!important}
  .nav-actions .btn{display:none!important}
  .menu-toggle{display:grid!important;place-items:center;margin-left:auto}
  .mobile-panel{
    position:fixed;inset:0;z-index:999;
    display:flex!important;flex-direction:column;gap:10px;
    padding:92px 24px 28px;
    background:rgba(11,17,19,.97);
    -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
    transform:translateX(100%);transition:transform .35s ease;
    overflow-y:auto;overscroll-behavior:contain;
  }
  .mobile-panel.open{transform:none}
  .mobile-panel a{color:#fff;font:700 clamp(20px,3.2vw,26px)/1.15 Sora,Inter,sans-serif;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .mobile-panel .btn{margin-top:12px;color:#101604}

  /* Líneas forzadas pasan a ser fluidas si ya no caben. */
  .two-line-title>.title-line,
  .methodology-title span,
  .compliance-title span,
  .who-lab-copy h2 .who-title-line,
  .about-immersive-copy h2 .about-title-line,
  .contact-boardroom-hero-copy h1 .contact-hero-title-line,
  .contact-boardroom-process-head .process-title-one-line,
  .service-next-step-title-line{
    white-space:normal!important;
  }

  .title-row{gap:24px}
  .section{padding:clamp(74px,8vw,96px) 0}
  .section-sm{padding:clamp(50px,6vw,66px) 0}

  .inner-hero{min-height:520px;padding:140px 0 72px}
  .inner-hero h1{font-size:clamp(40px,6.4vw,64px)}
  .inner-hero p{font-size:17px}

  .problem-grid,.services-grid,.page-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-panel{grid-template-columns:repeat(2,minmax(0,1fr))}

  .sectors-wrap{grid-template-columns:1fr}
  .sector-tabs{display:flex;overflow-x:auto;gap:9px;padding-bottom:8px;scroll-snap-type:x proximity}
  .sector-tab{width:auto;flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
  .sector-tab.active{transform:none}

  .methodology-shell,.who-lab-shell,.about-immersive-shell,.values-stage,.compliance-shell{grid-template-columns:1fr!important}
  .who-lab-visual{min-height:clamp(520px,68vw,640px)}
  .about-immersive-media{min-height:clamp(480px,62vw,580px)}
  .values-stage-media{min-height:clamp(450px,60vw,520px)}

  .contact-boardroom-hero-inner{grid-template-columns:1fr}
  .contact-boardroom-status{justify-self:start;width:min(520px,100%)}
  .contact-boardroom-shell{grid-template-columns:1fr;transform:translateY(-38px)}
  .contact-boardroom-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .footer-modern__grid.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-modern__contact{grid-column:auto!important}
}

/* Tablet / laptop angosta. */
@media (max-width:900px){
  :root{--container:calc(100vw - 28px)}
  .container{width:calc(100vw - 28px)}

  h1{font-size:clamp(40px,8vw,62px)}
  h2{font-size:clamp(32px,6.8vw,52px)}
  h3{font-size:clamp(20px,3.8vw,28px)}
  .lead{font-size:clamp(16px,2.6vw,20px)}

  .title-row{display:block;margin-bottom:38px}
  .title-row>div:first-child,.title-row>p{max-width:none}
  .title-row p{margin-top:16px}

  .compare-wrap,.about-grid,.coverage,.faq-wrap,.contact-shell,.case-grid{grid-template-columns:1fr}
  .sector-panel.active{grid-template-columns:1fr}
  .sector-panel img{min-height:320px;max-height:480px}

  .process-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}
  .process-track::before{display:none}

  .case-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-feature{min-height:500px}
  .case-small{min-height:300px}

  .methodology-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .methodology-item-copy h3{white-space:normal!important;overflow:visible;text-overflow:clip}
  .values-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compliance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .about-immersive-points{grid-template-columns:1fr 1fr}
  .about-immersive-chip-row{right:20px;max-width:none}

  .seirv-project-gallery__summary{grid-template-columns:1fr}
  .seirv-project-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .contact-boardroom-process-head .process-title-one-line{white-space:normal!important}
  .contact-boardroom-form-footer{grid-template-columns:1fr}
  .contact-boardroom-form-footer .btn{justify-self:start}

  .footer-modern__cta{grid-template-columns:1fr!important}
  .footer-modern__cta-btn{justify-self:start!important}
}

/* Móvil y tablet pequeña. */
@media (max-width:720px){
  :root{--container:calc(100vw - 24px);--radius:22px}
  .container{width:calc(100vw - 24px)}

  .section{padding:64px 0}
  .section-sm{padding:46px 0}
  .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:14px}
  .eyebrow::before{width:24px}

  h1{font-size:clamp(34px,10.7vw,48px);line-height:1.01;letter-spacing:-.045em}
  h2{font-size:clamp(30px,9.2vw,42px);line-height:1.03;letter-spacing:-.043em}
  h3{font-size:clamp(20px,6.2vw,27px)}
  p{line-height:1.62}

  .site-header{top:6px}
  .nav-shell{width:calc(100vw - 12px);height:56px;padding:0 8px 0 11px;border-radius:16px}
  .brand{width:122px}
  .menu-toggle{width:40px;height:40px}
  .mobile-panel{padding:78px 18px calc(24px + env(safe-area-inset-bottom,0px));gap:8px}
  .mobile-panel a{font-size:20px;padding:9px 0}

  .inner-hero{min-height:auto;padding:128px 0 58px;align-items:flex-end}
  .inner-hero h1{font-size:clamp(34px,10vw,46px);line-height:1.01}
  .inner-hero p{font-size:15px;line-height:1.6;margin-top:16px}

  .problem-grid,.services-grid,.page-service-grid,
  .cert-grid,.stats-panel,.case-stack,.methodology-list,
  .values-selector-grid,.compliance-grid,
  .contact-boardroom-process-grid,
  .seirv-project-gallery__grid{
    grid-template-columns:1fr!important;
  }

  .page-service-card{padding:22px}
  .page-service-card .page-service-media{height:200px;flex-basis:200px;margin:-22px -22px 22px}

  .compare-stage{height:clamp(390px,112vw,500px)}
  .compare-wrap{gap:24px}
  .compare-wrap img[style*="min-height"]{min-height:0!important;height:auto!important;max-height:520px;width:100%;object-fit:cover}

  .process-track{grid-template-columns:1fr;gap:20px}
  .process-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;padding-inline:0}
  .process-node{margin:0}

  .case-feature{min-height:470px}
  .case-small{min-height:300px}
  .case-content{left:20px;right:20px;bottom:20px}

  .sector-tabs{margin-inline:-2px}
  .sector-tab{padding:13px 15px;font-size:13px}
  .sector-panel img{min-height:260px;height:48vw;max-height:360px}
  .sector-info{padding:24px}
  .sector-info h3{font-size:clamp(27px,8vw,34px)}

  .who-lab-shell,.about-immersive-shell{padding:18px!important;border-radius:24px}
  .who-lab-copy h2,.about-immersive-copy h2{font-size:clamp(30px,8.2vw,40px)}
  .who-lab-copy h2 .who-title-line,.about-immersive-copy h2 .about-title-line{white-space:normal!important}
  .who-lab-lead{font-size:17px}
  .who-lab-copy p,.about-immersive-copy p,.about-immersive-copy .lead{font-size:15px}
  .who-lab-visual{min-height:520px;border-radius:24px}
  .who-pill-strip{left:14px;right:14px;top:14px;max-width:none}
  .who-stat-card{right:14px;bottom:200px}
  .who-visual-card{left:14px;right:14px;bottom:14px;padding:18px}
  .who-visual-card h3{font-size:28px;max-width:12ch}

  .about-immersive-media{min-height:480px;border-radius:24px}
  .about-immersive-chip-row{left:14px;right:14px;top:14px;gap:7px}
  .about-immersive-chip-row span{padding:8px 10px;font-size:10px}
  .about-immersive-metric{right:14px;top:92px;width:min(210px,calc(100% - 28px))}
  .about-immersive-brand{left:14px;right:14px;bottom:14px;max-width:none}
  .about-immersive-points{grid-template-columns:1fr}

  .methodology-stage{padding:18px;border-radius:24px;min-height:auto}
  .methodology-title{font-size:clamp(31px,9vw,42px)}
  .methodology-title span{white-space:normal!important}
  .methodology-spotlight{padding:17px}
  .methodology-spotlight h3{font-size:31px;margin-top:52px}
  .methodology-controls{flex-direction:column}
  .methodology-control{width:100%;min-width:0;justify-content:center!important}

  .compliance-title{font-size:clamp(29px,8.4vw,39px)}
  .compliance-title span{white-space:normal!important}
  .compliance-shell{padding:16px}
  .compliance-spotlight{min-height:300px;padding:20px}

  .values-stage-media{min-height:400px}
  .values-stage-copy{padding:20px}
  .values-stage-copy h3{font-size:clamp(30px,8vw,38px);max-width:none}
  .values-stage-copy p{font-size:15px;max-width:none}
  .values-stage-controls{flex-direction:column}
  .values-nav{width:100%}

  .photo-slide,.photo-slide img{height:clamp(310px,92vw,390px)!important;min-height:0!important}
  .photo-slide figcaption{left:14px!important;right:14px!important;bottom:14px!important}
  .photo-slide figcaption strong{font-size:21px!important;max-width:16ch!important}

  .reviews-carousel-shell{padding-inline:0}
  .review-card{min-height:0}
  .seirv-metric-copy{white-space:normal!important;overflow:visible;text-overflow:clip}

  .contact-boardroom-hero{min-height:auto;padding:122px 0 54px}
  .contact-boardroom-hero-copy h1{font-size:clamp(34px,9.8vw,46px)}
  .contact-boardroom-hero-copy h1 .contact-hero-title-line{white-space:normal!important}
  .contact-boardroom-hero-copy>p{font-size:15px}
  .contact-boardroom-status{padding:18px}
  .contact-boardroom-status-grid{gap:9px}
  .contact-boardroom-status-grid div{padding:13px}
  .contact-boardroom-shell{transform:translateY(-24px);border-radius:24px}
  .contact-boardroom-brief{padding:26px 20px}
  .contact-boardroom-brief h2{font-size:clamp(31px,9vw,40px);max-width:none}
  .contact-boardroom-form{padding:24px 18px}
  .contact-boardroom-form-head{display:block}
  .contact-boardroom-form-badge{margin-top:12px}
  .contact-boardroom-closing-card{padding:27px 20px}
  .contact-boardroom-closing-card .btn{width:100%}

  .footer-modern__grid.footer-grid{grid-template-columns:1fr!important}
  .footer-modern__grid>div{padding:21px 18px!important}
  .footer-modern__bottom.footer-bottom{display:block!important}
  .footer-modern__bottom div{margin-top:10px!important}

  .chat-launcher,.wa-launcher{bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}
}

/* Teléfonos angostos: 320–420 px. */
@media (max-width:430px){
  :root{--container:calc(100vw - 20px)}
  .container{width:calc(100vw - 20px)}
  h1{font-size:clamp(32px,10.5vw,42px)}
  h2{font-size:clamp(28px,9.2vw,37px)}
  .section{padding:56px 0}
  .title-row{margin-bottom:28px}
  .brand{width:112px}

  .btn{min-height:50px;padding-inline:17px}
  .btn-row>.btn{width:100%}

  .trust-grid{grid-template-columns:1fr!important}
  .trust-item:last-child{grid-column:auto!important}

  .who-lab-visual{min-height:480px}
  .who-stat-card{bottom:188px;padding:13px 14px}
  .who-stat-card strong{font-size:38px}
  .who-stat-card span{font-size:11px}
  .who-visual-card h3{font-size:25px}

  .about-immersive-media{min-height:440px}
  .about-immersive-metric{top:82px;padding:13px 14px}
  .about-immersive-metric b{font-size:27px}

  .sector-tab{font-size:12px;padding:12px 13px}
  .sector-info{padding:20px}

  .faq-q{gap:12px}
  #faq .faq-q span:first-child{font-size:15px!important;line-height:1.35}

  .contact-boardroom-status-grid{grid-template-columns:1fr 1fr}
  .contact-boardroom-direct{grid-template-columns:40px minmax(0,1fr)}
  .contact-boardroom-direct>a{grid-column:1/-1;text-align:center}

  .seirv-project-gallery__shell{padding:10px!important}
  .photo-slide,.photo-slide img{height:330px!important}
}

/* Monitores bajos/ultrawide: reduce altura para que nada quede cortado. */
@media (min-width:721px) and (max-height:760px){
  .site-header{top:6px}
  .nav-shell{height:56px}
  .inner-hero{min-height:min(520px,100dvh);padding:110px 0 48px}
  .inner-hero h1{font-size:clamp(38px,5vw,60px)}
  .inner-hero p{font-size:16px;margin-top:14px}
  .contact-boardroom-hero{min-height:min(620px,100dvh);padding:112px 0 48px}
  .contact-boardroom-hero-copy h1{font-size:clamp(40px,4.4vw,60px)}
  .contact-boardroom-hero-copy>p{font-size:16px;line-height:1.58;margin-top:16px}
  .contact-boardroom-hero-actions{margin-top:22px}
  .seirv-cover-content{padding-top:72px!important;padding-bottom:78px!important}
  .seirv-cover-title{font-size:clamp(40px,4.5vw,68px)!important}
  .seirv-cover-description{margin-top:16px!important;line-height:1.5!important}
  .seirv-cover-actions{margin-top:20px!important}
  .seirv-cover-tags{margin-top:20px!important}
  .seirv-cover-sidecard{bottom:76px!important}
}

/* Orientación horizontal en móvil/tablet: prioriza contenido visible. */
@media (max-width:900px) and (orientation:landscape) and (max-height:560px){
  .inner-hero{min-height:auto;padding:100px 0 42px}
  .inner-hero h1{font-size:clamp(32px,5.8vw,44px)}
  .contact-boardroom-hero{padding:98px 0 40px}
  .contact-boardroom-status{display:none}
  .mobile-panel{padding-top:68px}
  .mobile-panel a{font-size:18px;padding:7px 0}
}

/* =========================================================
   SEIRV · Responsive total · 2026-08-18
   Ajuste transversal final para laptop, tablet y móvil.
   Solo corrige distribución, escalas y desbordes: no cambia contenido.
   ========================================================= */

/* Base segura para cualquier viewport / zoom del navegador. */
html,body{
  width:100%;
  max-width:100%;
}
body{min-width:0}
main,section,footer,header,nav,aside,article,figure,form{min-width:0}
iframe,embed,object{max-width:100%;width:100%}
input,textarea,select,button{max-width:100%;font:inherit}
textarea{resize:vertical}
pre,code{max-width:100%;overflow-wrap:anywhere}

/* Mantiene elementos flex/grid dentro de su columna. */
.reveal,.reveal-delay-1,.reveal-delay-2,
.service-next-step-shell,.service-next-step-visual,.service-next-step-side,
.ev-chargers-shell,.ev-chargers-copy,.ev-chargers-visual,
.contact-v2-shell,.contact-v2-header,.contact-v2-body,.contact-v2-media,.contact-v2-form,
.values-carousel-shell,.values-stage,.values-stage-copy,.values-selector-grid,
.seirv-institutional-head,.seirv-mv-grid,.seirv-mv-card,
.seirv-problem-card,.seirv-values-grid,.seirv-process-shell,.seirv-process-title,.seirv-process-grid,
.seirv-philosophy,.coverage-enhanced,.coverage-map-shell,.coverage-map-design-wrap,
.services-manifesto,.service-next-step-card,
.seirv-project-gallery__shell,.seirv-project-gallery__classic-head,
.faq-intro-card,.faq-list,
.contact-boardroom-hero-copy,.contact-boardroom-status,.contact-boardroom-brief,.contact-boardroom-form{
  min-width:0;
  max-width:100%;
}

/* Los controles nunca fuerzan scroll horizontal. */
.btn-row{max-width:100%;flex-wrap:wrap}
.btn,.seirv-cover-btn,.seirv-cover-header-cta,
.service-all-cta-btn,.service-next-step-card .btn,
.faq-cta,.footer-modern__cta-btn{
  max-width:100%;
}

/* Laptop pequeña / tablet horizontal. */
@media (max-width:1180px){
  .fullwidth-container{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
    margin-inline:auto!important;
  }

  /* No conservar títulos de una sola línea cuando ya no hay espacio real. */
  .services-title span,
  .service-next-step-title-line,
  .seirv-gallery-title-single,
  .contact-hero-title-line{
    white-space:normal!important;
  }

  /* Servicios */
  .service-next-step-shell{grid-template-columns:1fr!important}
  .service-next-step-visual{min-height:390px}
  .service-next-step-side{padding:22px}

  /* Nosotros: el proceso mantiene una sola línea solo en desktop amplio. */
  .seirv-process-title{
    grid-template-columns:1fr!important;
    gap:14px!important;
    align-items:start!important;
  }
  .seirv-process-title h3{
    white-space:normal!important;
    max-width:18ch!important;
  }

  /* Proyectos */
  .seirv-project-gallery__classic-head{align-items:flex-start;flex-direction:column}
  .seirv-project-gallery__classic-head p{max-width:760px!important}
}

/* Tablet / iPad vertical y laptops angostas. */
@media (max-width:980px){
  .section{padding-block:clamp(64px,8vw,82px)}
  .section-sm{padding-block:clamp(46px,6vw,60px)}

  /* Portada principal */
  .seirv-cover-header{width:calc(100% - 28px)!important}
  .seirv-cover-content{width:calc(100% - 28px)!important}
  .seirv-cover-controls{width:calc(100% - 28px)!important}
  .seirv-cover-title{max-width:14ch!important}
  .seirv-cover-description{max-width:60ch!important}

  /* Home */
  .ev-chargers-shell{grid-template-columns:1fr!important}
  .ev-chargers-visual{min-height:clamp(380px,56vw,520px)!important}
  .methodology-shell{grid-template-columns:1fr!important}
  .methodology-stage{min-height:auto!important}
  .reviews-carousel-shell{max-width:100%}
  .contact-v2-header,.contact-v2-body{grid-template-columns:1fr!important}

  /* Nosotros */
  .seirv-institutional-head{grid-template-columns:1fr!important;gap:16px!important}
  .seirv-institutional-head h2{max-width:100%!important}
  .seirv-mv-grid{grid-template-columns:1fr!important}
  .seirv-mv-card{min-height:0!important}
  .about-immersive-shell{grid-template-columns:1fr!important}
  .seirv-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .seirv-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .coverage.coverage-enhanced{grid-template-columns:1fr!important;gap:34px!important}
  .coverage-copy{max-width:760px}
  .coverage-visual{width:100%;min-width:0}

  /* Sectores */
  .sectors-page-main #sectores{padding-top:128px!important}
  .sectors-wrap{grid-template-columns:1fr!important}
  .sector-tabs{
    display:flex!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .sector-tabs::-webkit-scrollbar{display:none}
  .sector-tab{flex:0 0 auto!important;width:auto!important;scroll-snap-align:start}

  /* FAQ */
  .faq-page-main #faq{padding-top:128px!important}
  .faq-wrap{grid-template-columns:1fr!important;gap:26px!important}
  .faq-intro{position:static!important}

  /* Contacto */
  .contact-boardroom-hero-inner{grid-template-columns:1fr!important;gap:30px!important}
  .contact-boardroom-status{justify-self:start!important;width:min(560px,100%)!important}
  .contact-boardroom-shell{grid-template-columns:1fr!important}
}

/* Tablet pequeña y móviles grandes. */
@media (max-width:820px){
  :root{--container:calc(100vw - 24px)}
  .container{width:calc(100vw - 24px)!important}
  .fullwidth-container{width:calc(100vw - 20px)!important}

  /* Tipografía escalable sin cortes. */
  .two-line-title>.title-line,
  .services-title span,
  .methodology-title span,
  .seirv-institutional-head h2,
  .seirv-process-title h3,
  .seirv-gallery-title-single,
  .service-next-step-title-line,
  .process-title-one-line{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  .inner-hero{padding-top:124px!important;padding-bottom:56px!important;min-height:auto!important}
  .inner-hero h1{max-width:18ch!important}
  .breadcrumb{max-width:100%;flex-wrap:wrap;row-gap:5px}

  /* Home */
  .trust-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .methodology-list{grid-template-columns:1fr!important}
  .methodology-item-copy h3{white-space:normal!important}
  .photo-carousel-shell{padding:16px!important;border-radius:26px!important}
  .seirv-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Nosotros */
  .seirv-mv-card{padding:24px!important;border-radius:24px!important}
  .seirv-mv-card > div{margin-top:18px!important}
  .seirv-mv-card h3{font-size:clamp(29px,6vw,38px)!important}
  .seirv-problem-card{grid-template-columns:1fr!important}
  .seirv-values-grid,.seirv-process-grid{grid-template-columns:1fr!important}
  .seirv-process-title h3{max-width:none!important}
  .values-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .seirv-philosophy{grid-template-columns:auto minmax(0,1fr)!important}
  .coverage-map-shell{min-height:0!important}

  /* Servicios */
  .page-service-grid{grid-template-columns:1fr!important}
  .services-manifesto.manifesto{padding-inline:32px!important}
  .service-next-step-visual{min-height:340px!important}

  /* Proyectos */
  .case-stack{grid-template-columns:1fr!important}
  .seirv-project-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .seirv-project-gallery__lightbox{padding:18px!important}
  .seirv-project-gallery__lightbox-inner{max-width:96vw!important;max-height:90dvh!important}

  /* Contacto */
  .contact-boardroom-process-grid{grid-template-columns:1fr!important}
  .contact-boardroom-form-footer{grid-template-columns:1fr!important}
  .contact-boardroom-form-footer .btn{justify-self:stretch!important;width:100%!important}
}

/* Móvil. */
@media (max-width:720px){
  :root{--container:calc(100vw - 20px)}
  .container{width:calc(100vw - 20px)!important}
  .fullwidth-container{width:calc(100vw - 16px)!important}

  body{font-size:15px}
  .section{padding-block:54px!important}
  .section-sm{padding-block:40px!important}
  .title-row{margin-bottom:28px!important}
  .title-row p{margin-top:13px!important}

  /* Header + menú: cómodo en 320–430px y respeta zonas seguras. */
  .site-header{top:max(5px,env(safe-area-inset-top,0px))!important}
  .nav-shell{
    width:calc(100vw - 10px)!important;
    height:54px!important;
    padding:0 7px 0 10px!important;
    gap:8px!important;
  }
  .brand{width:112px!important}
  .menu-toggle{width:38px!important;height:38px!important;flex:none!important}
  .mobile-panel{
    padding-left:max(18px,env(safe-area-inset-left,0px))!important;
    padding-right:max(18px,env(safe-area-inset-right,0px))!important;
  }

  /* Portada */
  #seirv-cover{min-height:100svh!important}
  .seirv-cover-header{width:calc(100% - 20px)!important;padding-top:max(10px,env(safe-area-inset-top,0px))!important}
  .seirv-cover-brand{padding:8px 11px!important}
  .seirv-cover-brand img{width:78px!important}
  .seirv-cover-header-cta{padding:10px 12px!important;font-size:10px!important}
  .seirv-cover-content{width:calc(100% - 22px)!important;padding-bottom:98px!important}
  .seirv-cover-title{font-size:clamp(36px,11.3vw,50px)!important;max-width:11ch!important}
  .seirv-cover-description{font-size:14px!important;line-height:1.55!important}
  .seirv-cover-actions{gap:9px!important}
  .seirv-cover-btn{width:100%!important;min-height:48px!important;padding-inline:15px!important}
  .seirv-cover-controls{width:calc(100% - 22px)!important}

  /* Home */
  .hero-scroll .hero .container{padding-inline:0!important}
  .hero-scroll .hero h1{max-width:100%!important}
  .hero-scroll .hero-copy .lead{max-width:100%!important}
  .hero-scroll .hero-kickers{max-width:100%!important}
  .trust-grid-premium{grid-template-columns:1fr!important}
  .trust-card{min-height:0!important}
  .service-home-card{min-height:280px!important}
  .ev-chargers-shell{padding:18px!important;border-radius:24px!important}
  .ev-chargers-feature-grid{grid-template-columns:1fr!important}
  .ev-chargers-metrics{grid-template-columns:1fr 1fr!important}
  .ev-chargers-actions{flex-direction:column!important;align-items:stretch!important}
  .ev-chargers-actions .btn{width:100%!important}
  .ev-chargers-visual{min-height:360px!important}
  .compare-stage{height:clamp(360px,108vw,470px)!important}
  .methodology-stage{padding:16px!important}
  .methodology-stage-head{margin-bottom:20px!important;gap:10px!important}
  .methodology-stage-meta{align-items:flex-start!important}
  .methodology-progress{width:min(150px,42vw)!important}
  .methodology-spotlight h3{margin-top:48px!important;max-width:none!important}
  .photo-carousel-shell{padding:10px!important;border-radius:22px!important}
  .photo-slide,.photo-slide img{height:clamp(300px,92vw,390px)!important;min-height:0!important}
  .photo-slide figcaption{left:14px!important;right:14px!important;bottom:14px!important}
  .seirv-metrics-grid{grid-template-columns:1fr!important}
  .review-card{min-height:0!important;padding:20px!important}
  .contact-v2-shell{border-radius:24px!important}
  .contact-v2-header{padding:26px 18px!important}
  .contact-v2-steps{grid-template-columns:1fr!important}
  .contact-v2-body{grid-template-columns:1fr!important}
  .contact-v2-media{min-height:360px!important}
  .contact-v2-facts{grid-template-columns:1fr!important}
  .contact-v2-form{padding:24px 18px!important}
  .contact-v2-form-footer{grid-template-columns:1fr!important}
  .contact-v2-form-footer .btn{width:100%!important}

  /* Servicios */
  .services-manifesto-section{padding-block:42px!important}
  .services-manifesto-section .container{width:calc(100vw - 16px)!important}
  .services-manifesto.manifesto{padding:25px 18px 26px 24px!important;border-radius:22px!important}
  .services-manifesto-text{font-size:clamp(18px,5.4vw,21px)!important}
  .page-service-card{padding:20px!important}
  .page-service-card .page-service-media{margin:-20px -20px 20px!important;height:190px!important;flex-basis:190px!important}
  .service-next-step-shell{border-radius:24px!important}
  .service-next-step-visual{min-height:300px!important}
  .service-next-step-copy{padding:24px 18px!important}
  .service-next-step-side{padding:14px!important}
  .service-next-step-card{padding:20px 17px!important;border-radius:21px!important}
  .service-next-step-points{grid-template-columns:1fr!important}

  /* Nosotros */
  .seirv-mv-primary-section{padding-top:12px!important}
  .seirv-institutional-head{margin-bottom:16px!important}
  .seirv-institutional-head h2{font-size:clamp(31px,9.2vw,42px)!important;line-height:1.02!important}
  .seirv-mv-card{padding:20px!important}
  .seirv-mv-card > div{margin-top:14px!important}
  .seirv-mv-card h3{margin-bottom:10px!important}
  .about-immersive-shell{padding:14px!important;border-radius:22px!important}
  .about-immersive-media{min-height:420px!important;border-radius:20px!important}
  .about-immersive-chip-row{left:12px!important;right:12px!important;top:12px!important;gap:6px!important}
  .about-immersive-chip-row span{padding:7px 9px!important;font-size:9px!important}
  .about-immersive-metric{right:12px!important;top:78px!important;width:min(190px,calc(100% - 24px))!important}
  .about-immersive-brand{left:12px!important;right:12px!important;bottom:12px!important;padding:14px!important}
  .about-immersive-copy{padding:8px 4px!important}
  .about-immersive-points{grid-template-columns:1fr!important}
  .seirv-problem-card,.seirv-values-block,.seirv-process-shell{padding:18px!important;border-radius:22px!important}
  .seirv-problem-lead{padding:18px!important}
  .seirv-process-title{margin-bottom:18px!important}
  .seirv-process-title h3{font-size:clamp(30px,8.2vw,39px)!important;line-height:1.02!important}
  .values-carousel-section{padding-bottom:24px!important}
  .values-selector-grid{grid-template-columns:1fr!important}
  .values-stage-media{min-height:370px!important}
  .values-stage-copy{left:12px!important;right:12px!important;bottom:12px!important;padding:17px!important}
  .values-stage-controls{gap:8px!important}
  .values-nav{min-width:0!important}
  .seirv-philosophy-section{padding-top:14px!important}
  .seirv-philosophy{grid-template-columns:1fr!important;gap:14px!important;padding:18px!important;border-radius:22px!important}
  .seirv-philosophy-mark{width:54px!important;height:54px!important}
  .seirv-philosophy-copy blockquote{font-size:16px!important;line-height:1.62!important}
  .coverage.coverage-enhanced{gap:24px!important}
  .coverage-copy h2{font-size:clamp(34px,10vw,46px)!important;max-width:11ch!important}
  .coverage-points{grid-template-columns:1fr!important;margin:22px 0!important}
  .coverage-visual{height:auto!important;min-height:0!important}
  .coverage-map-shell{padding:18px!important;border-radius:22px!important}
  .coverage-map-design-wrap{min-height:280px!important}

  /* Proyectos */
  .case-feature{min-height:440px!important}
  .case-small{min-height:290px!important}
  .case-content{left:17px!important;right:17px!important;bottom:17px!important}
  .seirv-project-gallery__shell{padding:10px!important;border-radius:22px!important}
  .seirv-project-gallery__grid{grid-template-columns:1fr!important}
  .seirv-project-gallery__classic-head{gap:10px!important}
  .seirv-project-gallery__lightbox{padding:10px!important}
  .seirv-project-gallery__close{right:4px!important;top:4px!important;z-index:3}

  /* Sectores */
  .sectors-page-main #sectores{padding-top:108px!important}
  .sector-tabs{gap:7px!important;padding-bottom:7px!important}
  .sector-tab{font-size:12px!important;padding:11px 13px!important}
  .sector-panel.active{grid-template-columns:1fr!important}
  .sector-panel img{height:clamp(250px,70vw,340px)!important;min-height:0!important}
  .sector-info{padding:20px!important}
  .sector-list{padding-left:0!important}

  /* FAQ */
  .faq-page-main #faq{padding-top:108px!important}
  .faq-intro-card{padding:20px!important;border-radius:22px!important}
  .faq-highlights{gap:7px!important}
  .faq-highlights span{font-size:10px!important;padding:8px 10px!important}
  .faq-q{padding:17px 15px!important;gap:10px!important}
  .faq-q span:first-child{font-size:16px!important;line-height:1.35!important}
  .faq-q span:last-child{flex:none!important}
  .faq-a p{padding:0 15px 18px!important}

  /* Contacto */
  .contact-boardroom-hero{padding-top:112px!important;padding-bottom:48px!important}
  .contact-boardroom-hero-copy h1{max-width:100%!important}
  .contact-boardroom-hero-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .contact-boardroom-hero-actions .btn{width:100%!important}
  .contact-boardroom-status{padding:16px!important}
  .contact-boardroom-status-grid{grid-template-columns:1fr 1fr!important}
  .contact-boardroom-shell{transform:translateY(-18px)!important;border-radius:22px!important}
  .contact-boardroom-brief{padding:22px 18px!important}
  .contact-boardroom-form{padding:22px 16px!important}
  .contact-boardroom-direct{grid-template-columns:40px minmax(0,1fr)!important}
  .contact-boardroom-direct>a{grid-column:1/-1!important;text-align:center!important}
  .contact-boardroom-closing-card{padding:24px 18px!important}

  /* Footer y flotantes */
  .footer-modern__container{width:calc(100vw - 20px)!important}
  .footer-modern__grid.footer-grid{grid-template-columns:1fr!important}
  .footer-modern__cta{padding:24px 18px!important}
  .footer-modern__cta-btn{width:100%!important}
  .footer-modern__bottom.footer-bottom{gap:10px!important}
  .chat-panel{
    right:8px!important;
    left:8px!important;
    width:auto!important;
    bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;
    max-height:min(72dvh,620px)!important;
  }
  .chat-body{max-height:min(48dvh,380px)!important;overflow-y:auto!important}
  .chat-launcher{left:12px!important;right:auto!important}
  .wa-launcher{right:12px!important}
}

/* Teléfonos angostos (320–430 px). */
@media (max-width:430px){
  :root{--container:calc(100vw - 16px)}
  .container{width:calc(100vw - 16px)!important}
  .fullwidth-container{width:calc(100vw - 12px)!important}

  h1{font-size:clamp(31px,10vw,40px)!important}
  h2{font-size:clamp(27px,8.8vw,36px)!important}
  .lead{font-size:15px!important}

  .nav-shell{width:calc(100vw - 8px)!important}
  .brand{width:104px!important}

  .seirv-cover-header{width:calc(100% - 14px)!important}
  .seirv-cover-brand img{width:70px!important}
  .seirv-cover-header-cta{padding:9px 10px!important;font-size:9.5px!important}
  .seirv-cover-content{width:calc(100% - 18px)!important}
  .seirv-cover-title{font-size:clamp(34px,10.8vw,44px)!important}
  .seirv-cover-tags{gap:6px!important}
  .seirv-cover-tag{font-size:9.5px!important;padding:8px 9px!important}

  .ev-chargers-metrics{grid-template-columns:1fr!important}
  .methodology-stage-head{display:block!important}
  .methodology-stage-meta{margin-top:14px!important}
  .photo-slide,.photo-slide img{height:320px!important}

  .seirv-mv-card p,.seirv-problem-copy p{font-size:14px!important}
  .about-immersive-media{min-height:400px!important}
  .about-immersive-metric{top:74px!important;max-width:178px!important}
  .about-immersive-brand span{font-size:12px!important}
  .values-stage-media{min-height:350px!important}
  .coverage-map-design-wrap{min-height:240px!important}

  .contact-boardroom-status-grid{grid-template-columns:1fr!important}
  .contact-boardroom-form-badge{white-space:normal!important}

  .chat-panel{right:5px!important;left:5px!important;border-radius:19px!important}
}

/* Horizontal en móvil/tablet: evita héroes gigantes y contenido cortado. */
@media (max-width:980px) and (orientation:landscape) and (max-height:620px){
  .section{padding-block:46px!important}
  .inner-hero{padding-top:94px!important;padding-bottom:36px!important}
  .inner-hero h1{font-size:clamp(30px,5.4vw,43px)!important;max-width:20ch!important}
  .contact-boardroom-hero{padding-top:94px!important;padding-bottom:36px!important}
  .contact-boardroom-status{display:none!important}
  .about-immersive-media,.values-stage-media{min-height:360px!important}
  .mobile-panel{padding-top:68px!important}
}

/* En pantallas táctiles no deja estados hover desplazados/pegados. */
@media (hover:none){
  .problem-card:hover,.page-service-card:hover,.methodology-item:hover,
  .sector-tab:hover,.service-home-card:hover,.review-card:hover,
  .seirv-project-gallery__item:hover,.who-switch:hover{
    transform:none!important;
  }
}


/* =========================================================
   SEIRV · Verificación responsive final · 2026-08-18
   Ajustes de seguridad para resoluciones intermedias, tablets
   y teléfonos angostos. Conserva diseño, contenido y funciones.
   ========================================================= */

/* Anclas visibles aunque exista cabecera fija. */
section[id], [id].section{
  scroll-margin-top:104px;
}

/* Elementos flotantes y contenido multimedia nunca fuerzan el viewport. */
.facility-copy,
.about-float,
.hotspot-card,
.photo-slide figcaption,
.case-content,
.seirv-cover-sidecard{
  max-width:calc(100% - 28px);
}

@media (max-width:1180px){
  section[id], [id].section{scroll-margin-top:88px}
  .facility-copy{max-width:calc(100% - 46px)}
  .about-float{right:16px;max-width:min(250px,calc(100% - 32px))}
}

@media (max-width:820px){
  section[id], [id].section{scroll-margin-top:76px}

  /* Carruseles: controles dentro de la imagen sin salirse ni tapar demasiado contenido. */
  .photo-carousel-nav{
    width:46px!important;
    height:46px!important;
  }
  .photo-carousel-nav.prev{left:8px!important}
  .photo-carousel-nav.next{right:8px!important}

  /* Imágenes con alturas proporcionadas a tablet/móvil. */
  .facility>img{height:clamp(420px,72vw,590px)!important}
  .about-media>img{height:clamp(400px,70vw,540px)!important}

  .facility-copy{
    left:20px!important;
    right:20px!important;
    bottom:22px!important;
    max-width:none!important;
  }
  .about-float{
    right:12px!important;
    bottom:12px!important;
    max-width:calc(100% - 24px)!important;
  }
}

@media (max-width:430px){
  .photo-carousel-nav{
    width:40px!important;
    height:40px!important;
  }
  .photo-carousel-nav.prev{left:6px!important}
  .photo-carousel-nav.next{right:6px!important}

  .facility>img{height:clamp(380px,112vw,500px)!important}
  .about-media>img{height:clamp(360px,108vw,470px)!important}
}

/* Pantallas bajas: evita que bloques de imagen enormes dominen toda la vista. */
@media (min-width:821px) and (max-height:720px){
  .facility>img{height:min(600px,82vh)}
  .about-media>img{height:min(590px,80vh)}
  .photo-slide,.photo-slide img{height:min(520px,72vh)!important;min-height:min(520px,72vh)!important}
}

/* =========================================================
   SEIRV · Laptop + escalado Windows 125%/150% · 2026-08-18
   Ajuste compacto para viewports lógicos típicos de laptops.
   Mantiene el mismo diseño; solo reduce escala/espaciado cuando
   el navegador dispone de menos ancho/alto por DPI o zoom.
   ========================================================= */

/* Laptop de 1280–1440 CSS px: conserva layout desktop, pero con
   navegación y portada ligeramente más compactas para evitar amontonado. */
@media (min-width:981px) and (max-width:1440px){
  .seirv-cover-header{
    width:min(1360px,calc(100% - 36px))!important;
    padding:17px 0!important;
    gap:16px!important;
  }
  .seirv-cover-brand{padding:10px 15px!important}
  .seirv-cover-brand img{width:108px!important}
  .seirv-cover-nav{gap:4px!important;padding:5px!important}
  .seirv-cover-nav a{padding:9px 13px!important;font-size:12px!important}
  .seirv-cover-header-cta{padding:11px 17px!important;font-size:12px!important}

  .seirv-cover-content{
    width:min(1360px,calc(100% - 40px))!important;
    grid-template-columns:minmax(0,680px) 1fr!important;
    min-height:calc(100svh - 86px)!important;
    padding:76px 0 90px!important;
  }
  .seirv-cover-copy{max-width:680px!important;padding-top:8px!important}
  .seirv-cover-eyebrow{margin-bottom:17px!important;font-size:11px!important}
  .seirv-cover-title{
    font-size:clamp(42px,4.35vw,64px)!important;
    max-width:13.2ch!important;
  }
  .seirv-cover-description{
    margin-top:18px!important;
    font-size:clamp(15px,1.18vw,17px)!important;
    line-height:1.55!important;
  }
  .seirv-cover-actions{margin-top:22px!important;gap:10px!important}
  .seirv-cover-btn{min-height:48px!important;padding-inline:20px!important;font-size:13px!important}
  .seirv-cover-tags{margin-top:22px!important;gap:8px!important}
  .seirv-cover-tag{padding:9px 12px!important;font-size:11px!important}

  .seirv-cover-sidecard{
    right:max(20px,calc((100vw - 1360px)/2))!important;
    bottom:78px!important;
    width:min(310px,26vw)!important;
    padding:17px!important;
    border-radius:21px!important;
  }
  .seirv-cover-sidecard strong{font-size:18px!important}
  .seirv-cover-sidecard p{font-size:12px!important}

  .seirv-cover-controls{
    width:min(1360px,calc(100% - 40px))!important;
    bottom:18px!important;
  }
  .seirv-cover-arrow{width:44px!important;height:44px!important}
}

/* Caso típico de laptop Full HD con Windows a 125%/150%:
   el ancho puede seguir siendo desktop, pero la altura CSS cae a ~560–680px. */
@media (min-width:981px) and (max-height:680px){
  #seirv-cover{
    height:100dvh!important;
    min-height:100dvh!important;
  }
  .seirv-cover-header{padding:10px 0!important}
  .seirv-cover-brand{padding:8px 13px!important}
  .seirv-cover-brand img{width:96px!important}
  .seirv-cover-nav a{padding:8px 11px!important;font-size:11.5px!important}
  .seirv-cover-header-cta{padding:10px 15px!important;font-size:11px!important}

  .seirv-cover-content{
    min-height:calc(100dvh - 64px)!important;
    padding:30px 0 62px!important;
    align-items:center!important;
  }
  .seirv-cover-copy{padding-top:0!important}
  .seirv-cover-eyebrow{
    margin-bottom:10px!important;
    font-size:9.5px!important;
    letter-spacing:.16em!important;
  }
  .seirv-cover-eyebrow::before{width:30px!important}
  .seirv-cover-title{
    font-size:clamp(37px,3.9vw,52px)!important;
    line-height:.97!important;
    max-width:13.4ch!important;
  }
  .seirv-cover-description{
    margin-top:10px!important;
    max-width:56ch!important;
    font-size:14px!important;
    line-height:1.45!important;
  }
  .seirv-cover-actions{margin-top:13px!important;gap:8px!important}
  .seirv-cover-btn{
    min-height:42px!important;
    padding-inline:17px!important;
    border-radius:13px!important;
    font-size:12px!important;
  }
  .seirv-cover-tags{margin-top:12px!important;gap:7px!important}
  .seirv-cover-tag{
    padding:7px 10px!important;
    border-radius:12px!important;
    font-size:10px!important;
  }
  .seirv-cover-tag i{width:7px!important;height:7px!important}

  .seirv-cover-sidecard{
    bottom:58px!important;
    width:min(286px,25vw)!important;
    padding:14px!important;
    border-radius:19px!important;
  }
  .seirv-cover-sidecard small{font-size:9px!important}
  .seirv-cover-sidecard strong{margin-top:6px!important;font-size:16px!important}
  .seirv-cover-sidecard p{margin-top:6px!important;font-size:11px!important;line-height:1.4!important}

  .seirv-cover-controls{bottom:10px!important}
  .seirv-cover-arrow{width:39px!important;height:39px!important}
  .seirv-cover-arrow svg{width:16px!important;height:16px!important}
  .seirv-cover-dot{width:26px!important}
  .seirv-cover-scroll{font-size:9.5px!important}
  .seirv-cover-scroll span{width:29px!important;height:29px!important}

  /* Héroes de páginas internas: mismo diseño, versión vertical compacta. */
  .inner-hero{
    min-height:100dvh!important;
    padding:86px 0 34px!important;
  }
  .inner-hero h1{font-size:clamp(36px,4.5vw,54px)!important}
  .inner-hero p{font-size:15px!important;line-height:1.5!important;margin-top:12px!important}
  .contact-boardroom-hero{
    min-height:100dvh!important;
    padding:86px 0 34px!important;
  }
  .contact-boardroom-hero-copy h1{font-size:clamp(37px,4.2vw,54px)!important}
  .contact-boardroom-hero-copy>p{font-size:15px!important;line-height:1.5!important;margin-top:12px!important}
  .contact-boardroom-hero-actions{margin-top:16px!important}
}

/* Alturas extremadamente reducidas (barra del navegador + escalado alto).
   Evita que controles inferiores se monten sobre el contenido. */
@media (min-width:981px) and (max-height:590px){
  .seirv-cover-content{padding-top:20px!important;padding-bottom:50px!important}
  .seirv-cover-title{font-size:clamp(34px,3.55vw,46px)!important}
  .seirv-cover-description{font-size:13px!important}
  .seirv-cover-btn{min-height:38px!important;font-size:11.5px!important}
  .seirv-cover-tags{margin-top:9px!important}
  .seirv-cover-tag{padding:6px 9px!important;font-size:9.5px!important}
  .seirv-cover-sidecard{bottom:50px!important}
  .seirv-cover-controls{bottom:7px!important}
}
