@media (max-width:1080px){
  .header__toggle{display:flex}
  .header__nav{position:fixed;top:var(--header-total);right:24px;width:min(360px,calc(100vw - 48px));max-height:calc(100svh - var(--header-total) - 24px);display:block;padding:1rem;background:var(--blanco);border:1px solid var(--borde);box-shadow:var(--sombra);overflow:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity var(--transicion),transform var(--transicion),visibility var(--transicion)}
  .header__nav.is-abierto{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .header__nav,.pagina-inicio .header__nav,.pagina-portada .header__nav{--foco:var(--azul-700)}
  .header__menu{display:grid;gap:0}.header__menu li+li{border-top:1px solid var(--borde)}
  .header__link,.pagina-inicio .header__link,.pagina-portada .header__link{display:block;padding:.85rem .4rem;color:var(--tinta)}
  .header__link::after{display:none}.header__cta{width:100%;margin-top:.75rem}
  .header__acciones{display:grid;gap:.9rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--borde)}
  .idioma-switch--nav,.pagina-inicio .idioma-switch--nav,.pagina-portada .idioma-switch--nav{justify-self:start;border-color:var(--borde);background:var(--gris-50);backdrop-filter:none}
  .idioma-switch--nav a,.pagina-inicio .idioma-switch--nav a,.pagina-portada .idioma-switch--nav a{min-width:46px;min-height:38px;color:var(--azul-900)}
  .idioma-switch--nav a.is-activo,.pagina-inicio .idioma-switch--nav a.is-activo,.pagina-portada .idioma-switch--nav a.is-activo{background:var(--azul-900);color:var(--blanco)}
  .header.is-menu-abierto .header__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .header.is-menu-abierto .header__toggle span:nth-child(2){opacity:0}
  .header.is-menu-abierto .header__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .plus-grid{grid-template-columns:repeat(2,1fr)}
  .specs-grid,.clientes-grid{grid-template-columns:repeat(2,1fr)}
  .exploracion-home__grid,.directorio-tools{grid-template-columns:1fr}
  .exploracion-home__intro{position:static}
  .directorio-filtros{justify-content:flex-start}
  .footer__inner{grid-template-columns:1fr 1fr}
}

@media (max-width:780px){
  :root{--topbar:0px;--nav:74px;--header-total:74px}
  .contenedor{width:min(100% - 32px,var(--contenedor))}
  h1{font-size:clamp(2.35rem,11vw,3.5rem)}h2{font-size:clamp(1.9rem,8vw,2.8rem)}
  .topbar{display:none}.header{top:0;height:var(--nav)}
  .header__logo img{height:48px;width:auto}.header__nav{top:var(--nav);right:16px;width:calc(100vw - 32px);max-height:calc(100svh - var(--nav) - 16px)}
  .hero-carousel{height:700px;min-height:700px}
  .hero-slide__contenido{padding-bottom:8.65rem}
  .hero-slide__contenido::before{width:56px;margin-bottom:1.15rem}
  .hero-slide h1,.hero-slide h2{max-width:100%;font-size:clamp(2.25rem,9.4vw,3.25rem);line-height:1.08}
  .hero-slide__mosaico{grid-template-columns:1fr}.hero-slide__mosaico .hero-slide__foto:nth-child(2){display:none}
  .hero-slide__velo{background:linear-gradient(0deg,rgba(4,27,45,.94) 0%,rgba(4,27,45,.72) 62%,rgba(4,27,45,.34) 100%)}
  .hero-carousel__controles{left:16px;right:auto;bottom:2.4rem;justify-content:center;gap:.18rem}.carousel-arrow{width:44px;height:44px}.carousel-pause{height:44px;padding:0 .7rem}
  .ventajas-rapidas{padding-bottom:2rem}.ventajas-rapidas__grid{grid-template-columns:1fr;transform:translateY(-16px)}
  .ventajas-rapidas article{min-height:120px;padding:1.3rem;border-right:0;border-bottom:1px solid var(--borde)}
  .cabecera-seccion,.cta-final__interior,.contacto-grid,.ubicacion-home,.hero-interno__grid,.sala-textual{grid-template-columns:1fr;gap:2rem}
  .cabecera-seccion{align-items:start;margin-bottom:2.5rem}.grid-servicios{grid-template-columns:1fr}.servicio-card{min-height:300px}
  .split-visual,.split-visual--invertido{grid-template-columns:1fr;gap:2.5rem}.split-visual--invertido .split-visual__contenido{order:2}
  .foto-destacada,.split-visual__imagen,.media-placeholder,.mapa{min-height:480px}
  .mapa--editorial{min-height:460px}.mapa__aviso{padding:2rem}.mapa__aviso h3{font-size:clamp(1.65rem,7vw,2.35rem)}.lista-check--ubicacion li{padding-right:.8rem}
  .galeria-real{grid-template-columns:repeat(2,minmax(0,1fr))}.galeria-real figure{min-height:490px}.galeria-real figure:last-child{grid-column:1 / -1;min-height:410px}
  .ubicacion-home__dato{min-height:240px}
  .hero-interno{min-height:560px;padding-top:calc(var(--nav) + 3rem)}.hero-interno h1{font-size:clamp(2.25rem,9vw,3.2rem)}.hero-interno__marca{display:none}.hero-interno__texto{max-width:100%}
  .hero-interno--foto{min-height:600px}.hero-interno__fondo::after{background:linear-gradient(0deg,rgba(4,27,45,.96) 0%,rgba(4,27,45,.72) 62%,rgba(4,27,45,.36) 100%)}.hero-interno--oficinas .hero-interno__fondo img{object-position:54% 52%}.hero-interno--contacto .hero-interno__fondo img{object-position:50% 58%}
  .directorio-grid,.nivel-plano__contenido,.nivel-resumen,.nivel-detalle,.formulario__fila{grid-template-columns:1fr}.contacto-aside{position:static}
  .plano-modal{padding:.5rem}.plano-modal__panel{max-height:96svh}
  .nivel-resumen__meta{grid-template-columns:1fr 1fr}
  .specs-grid{grid-template-columns:1fr}.clientes-grid{grid-template-columns:repeat(2,1fr)}
  .clientes-home__cabecera{flex-direction:column;align-items:flex-start}
  .footer__inner{grid-template-columns:1fr;gap:2.5rem}
}

@media (max-width:480px){
  .grupo-botones{align-items:stretch;flex-direction:column}.grupo-botones .btn{width:100%}.hero-slide__contenido .grupo-botones{width:100%}
  .hero-carousel{height:min(690px,92svh);min-height:640px}.hero-slide__contenido{padding-bottom:8.05rem}.hero-slide .eyebrow--claro{font-size:.66rem;letter-spacing:.18em}.hero-slide h1,.hero-slide h2,.hero-interno h1{font-size:clamp(2rem,11.8vw,2.65rem);letter-spacing:-.025em;line-height:1.1;overflow-wrap:break-word}.hero-slide__contenido>p:not(.eyebrow){font-size:.94rem}.hero-carousel__controles{bottom:2rem;justify-content:center;max-width:calc(100vw - 32px)}.carousel-pause{font-size:.62rem}
  .plus-grid{grid-template-columns:1fr 1fr}.plus-grid article{min-height:165px;padding:1rem}.plus-grid img{width:64px;height:64px;padding:14px;border-radius:18px}.plus-grid article:nth-child(4) img,.plus-grid article:nth-child(8) img{width:72px;padding:15px 12px}.plus-grid h3{font-size:.7rem}
  .ubicacion-cta{align-items:stretch;flex-direction:column}.ubicacion-cta .btn{width:100%}.mapa__acciones{align-items:stretch;flex-direction:column}.mapa__acciones .btn{width:100%}
  .ruta-card{grid-template-columns:1fr;gap:1rem;padding:1.5rem 0}.ruta-card h3,.ruta-card p,.ruta-card strong{grid-column:1}.ruta-card:hover{padding-left:0}.nivel-resumen__meta{grid-template-columns:1fr}
  .empresa-card{grid-template-columns:1fr}.galeria-real{grid-template-columns:1fr}.galeria-real figure,.galeria-real figure:last-child{grid-column:auto;min-height:510px}
  .footer__bottom-inner{align-items:center;flex-direction:column;text-align:center}
  .whatsapp-widget{right:14px;bottom:14px;bottom:calc(14px + env(safe-area-inset-bottom));left:14px}
  .whatsapp-panel{width:auto;padding:1rem;border-radius:16px}.whatsapp-panel__top{margin-right:2rem}.whatsapp-panel__opciones{grid-template-columns:1fr}.whatsapp-assistant__resumen{max-height:110px}.whatsapp-panel::after{right:24px}
  .whatsapp-flotante{width:54px;height:54px}.whatsapp-flotante img{width:54px;height:54px}
}

/* Impresion. Va al final del ultimo archivo para ganar la cascada: en papel el
   ancho suele caer por debajo de 780 px y las reglas moviles de arriba tienen
   la misma especificidad. */
@media print{
  .topbar,.header,.whatsapp-widget,.hero-carousel__controles,.skip-link,.footer__col--marca,.mapa,.plano-modal,.campo-trampa{display:none!important}
  button,input[type="submit"],.faq-item__icono{display:none!important}
  body{color:#000;background:#fff;font-size:11pt;line-height:1.5}
  .hero-interno,.hero-carousel,.cta-final,.seccion--azul,.contacto-aside{min-height:0;padding:1.5rem 0;color:#000;background:none!important}
  .hero-interno__fondo,.hero-slide__media,.hero-slide__mosaico,.hero-slide__velo,.hero-interno__marca{display:none}
  .hero-interno__texto::before,.hero-slide__contenido::before{display:none}
  .hero-interno h1,.hero-slide h1,.cta-final h2,.contacto-aside h2,.contacto-aside dd,.plus-grid h3{color:#000}
  .hero-interno p:not(.eyebrow),.cta-final__interior p,.contacto-aside>p:not(.eyebrow),.footer__claim,.footer__texto{color:#333}
  /* Los tonos claros sobre papel blanco son ilegibles: ~1.5:1 de contraste. */
  .eyebrow,.eyebrow--claro,.contacto-aside dt,.enlace-flecha,.servicio-card__numero{color:#000!important}
  .lista-check li,.lista-check li::before{color:#000}
  /* Un boton en papel no se pulsa: se imprime como texto, sin fondo ni caja. */
  .btn{min-height:0;padding:0;border:0;color:#000!important;background:none!important;font-size:inherit;text-transform:none}
  .seccion,.seccion--compacta{padding:1.2rem 0}
  .foto-destacada,.galeria-real,.split-visual__imagen{display:none}
  .split-visual,.contacto-grid,.cta-final__interior,.sala-textual{grid-template-columns:1fr;gap:1rem}
  .footer{padding-top:1.5rem;color:#000;background:none}
  .footer__titulo,.footer__lista a,.footer__bottom p,.footer__bottom a{color:#000}
  /* La URL se anexa solo a enlaces de texto: en un boton se estampaba encima. */
  a[href^="http"]:not(.btn)::after{content:" (" attr(href) ")";font-size:9pt;color:#555;word-break:break-all}
  .texto-legal{max-width:none}
  h1,h2,h3{page-break-after:avoid}
  .faq-item__respuesta[hidden]{display:block!important}
  .faq-item,.formulario__grupo{page-break-inside:avoid}
}
