/* Grupo Integral VC — V136
   Apertura HTML refinada sin sustituir el diseño ni usar una imagen de portada.
   Conserva logo, partículas, brillos, fondo y posiciones base del proyecto.
*/
:root{
  --v131-gutter:clamp(14px,3vw,32px);
}
html{
  width:100%;
  max-width:100%;
  overflow-x:visible;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
@supports not (overflow:clip){
  body{overflow-x:hidden}
}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%}
img{height:auto}
button,input,textarea,select{font:inherit;max-width:100%}
a,button{touch-action:manipulation}

/* V136 · Salvaguarda del storytelling desktop.
   No cambia el diseño; preserva el sticky del recorrido largo. */
body.home-v42 .v42-cinema{overflow:visible!important}
body.home-v42 .v42-cinema-sticky{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  overflow:hidden!important;
}

/* ============================================================
   APERTURA
   No modificamos el fondo, el logo ni la posición base de la
   composición. El texto aprovecha el espacio oscuro inferior
   que ya existe dentro del PNG del logo para quedar más cerca,
   sin empujar visualmente el resto de la escena.
   ============================================================ */
body.home-v42 .v129-opening-copy{
  width:min(82vw,790px);
  margin:clamp(-94px,-5.8vw,-72px) auto 0;
  padding-inline:12px;
  color:rgba(246,250,255,.94);
  text-align:center;
  text-shadow:0 3px 20px rgba(0,0,0,.46),0 0 20px rgba(74,170,255,.07);
}
body.home-v42 .v129-opening-copy h1{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  font-size:clamp(24px,2.12vw,34px);
  line-height:1.18;
  letter-spacing:-.025em;
  font-weight:300;
  color:rgba(248,250,253,.96);
  text-wrap:balance;
}
body.home-v42 .v129-opening-copy p{
  margin:14px 0 0;
  color:rgba(185,211,231,.76);
  font:600 clamp(9px,.73vw,11.5px)/1.4 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  letter-spacing:.20em;
  text-transform:uppercase;
  text-wrap:balance;
}
body.home-v42 .v113-opening-contact{
  margin-top:clamp(17px,2vh,21px)!important;
}

/* Evita cortes por textos/controles largos en todas las páginas. */
main,section,article,header,footer,nav,div{min-width:0}
p,h1,h2,h3,h4,li,a,strong,span{overflow-wrap:break-word}

/* Tablet y teléfono: se conserva la composición original del proyecto;
   solamente se escala la tipografía y se reduce el solapamiento óptico. */
@media (max-width:900px){
  input,textarea,select{font-size:16px!important}
  body.home-v42 .v129-opening-copy{
    width:min(88vw,620px);
    margin-top:clamp(-58px,-8vw,-36px);
    padding-inline:8px;
  }
  body.home-v42 .v129-opening-copy h1{
    font-size:clamp(20px,4.7vw,29px);
    line-height:1.20;
    letter-spacing:-.02em;
    font-weight:300;
  }
  body.home-v42 .v129-opening-copy p{
    margin-top:10px;
    font-size:clamp(8.5px,1.65vw,10.5px);
    line-height:1.45;
    letter-spacing:.14em;
  }
  body.home-v42 .v113-opening-contact{margin-top:15px!important}
}

@media (max-width:700px){
  body.home-v42 .v131-title-break{display:none}
  body.home-v42 .v129-opening-copy{
    width:min(90vw,520px);
    margin-top:clamp(-48px,-10vw,-30px);
  }
  body.home-v42 .v129-opening-copy h1{
    font-size:clamp(19px,5.35vw,25px);
    line-height:1.22;
  }
}

@media (max-width:430px){
  body.home-v42 .v129-opening-copy{
    width:91vw;
    margin-top:clamp(-42px,-10.5vw,-28px);
    padding-inline:5px;
  }
  body.home-v42 .v129-opening-copy h1{
    font-size:clamp(18px,5.55vw,23px);
    line-height:1.23;
    letter-spacing:-.018em;
  }
  body.home-v42 .v129-opening-copy p{
    margin-top:9px;
    font-size:8.5px;
    line-height:1.45;
    letter-spacing:.11em;
  }
  body.home-v42 .v113-opening-contact{margin-top:13px!important}
}

/* Horizontal corto: no alteramos la distribución original con grids ni
   desplazamientos especiales; solo compactamos el nuevo bloque de texto. */
@media (max-width:900px) and (max-height:560px) and (orientation:landscape){
  body.home-v42 .v129-opening-copy{
    width:min(72vw,610px);
    margin-top:clamp(-48px,-6.5vh,-25px);
  }
  body.home-v42 .v129-opening-copy h1{
    font-size:clamp(16px,2.5vw,23px);
    line-height:1.15;
  }
  body.home-v42 .v129-opening-copy p{
    margin-top:6px;
    font-size:8px;
    letter-spacing:.11em;
  }
  body.home-v42 .v113-opening-contact{
    min-height:38px;
    margin-top:9px!important;
    padding-inline:17px;
    font-size:10px;
  }
}

/* Vista local del formulario: no reserva un bloque enorme para captcha. */
.contact-v96-captcha-row.is-local-preview{
  min-height:0!important;
  padding:8px 10px!important;
}
.contact-v96-captcha-row.is-local-preview .contact-v96-recaptcha-host{display:none!important}
.contact-v96-captcha-row.is-local-preview .contact-v96-recaptcha-placeholder{position:static!important;min-height:0!important}

/* Safe areas para móviles con notch/barra inferior. */
@supports (padding:max(0px)){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
}
