/* ============================================================
   Grupo Integral VC — Responsive V127
   Ajustes móviles finales solicitados:
   - Inicio: partículas limpias alrededor del logo
   - Qué ofrecemos: paginador 01–04 visible y funcional en móvil
   - Nuestro equipo: grid móvil premium de 2 columnas
   - Contacto: credencial compacta, alta y completa en teléfono
   Desktop (>900px) permanece sin cambios visuales.
   ============================================================ */

/* ------------------------------------------------------------
   HOME / APERTURA — limpiar el centro del logo en teléfono
   ------------------------------------------------------------ */
@media (max-width:700px){
  /* El motor de partículas que reconstruye el logo fue calculado para
     una relación de aspecto de escritorio. En móvil se conserva el
     Molten Metal + partículas ambientales, pero se elimina esa segunda
     silueta para que no aparezca corrida detrás del PNG. */
  body.home-v42 .v51-global-gl{display:none!important}

  /* Mantiene puntos sutiles alrededor, dejando una zona de lectura
     limpia detrás del logo principal sólo durante la apertura. */
  body.home-v42.rv127-opening-active .v52-ambient-particles{
    opacity:.38!important;
    -webkit-mask-image:radial-gradient(ellipse 78% 43% at 50% 47%,transparent 0 43%,rgba(0,0,0,.10) 58%,#000 82%);
    mask-image:radial-gradient(ellipse 78% 43% at 50% 47%,transparent 0 43%,rgba(0,0,0,.10) 58%,#000 82%);
  }
}

/* ------------------------------------------------------------
   QUÉ OFRECEMOS — recupera el paginador 01 / 02 / 03 / 04
   ------------------------------------------------------------ */
@media (max-width:900px){
  body.home-v42 .v42-scene-offers .v55-offer-pager{
    position:sticky!important;
    top:calc(var(--gpv-r-header-h,60px) + 10px)!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    z-index:40!important;
    display:flex!important;
    width:max-content!important;
    max-width:calc(100vw - 28px)!important;
    margin:-10px auto 38px!important;
    padding:7px 9px!important;
    gap:7px!important;
    border:1px solid rgba(102,198,255,.16)!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,rgba(7,29,50,.82),rgba(3,16,30,.68))!important;
    box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04)!important;
    backdrop-filter:blur(16px) saturate(125%)!important;
    -webkit-backdrop-filter:blur(16px) saturate(125%)!important;
  }
  body.home-v42 .v42-scene-offers .v55-offer-dot{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    font-size:10px!important;
    border-color:rgba(107,191,239,.24)!important;
    background:rgba(2,15,29,.26)!important;
  }
  body.home-v42 .v42-scene-offers .v55-offer-dot.is-active{
    border-color:#60d8ff!important;
    color:#fff!important;
    background:radial-gradient(circle at 50% 40%,rgba(64,177,255,.32),rgba(5,38,67,.58) 72%)!important;
    box-shadow:0 0 0 1px rgba(83,198,255,.08),0 0 18px rgba(47,173,255,.20),inset 0 0 16px rgba(61,166,255,.10)!important;
    transform:scale(1.045)!important;
  }

  /* Ya no duplicamos un número encima de cada foto: el paginador móvil
     hace exactamente el trabajo visual de los numeritos de laptop. */
  body.home-v42 .v42-scene-offers .v42-offer::before{display:none!important;content:none!important}
}

@media (max-width:390px){
  body.home-v42 .v42-scene-offers .v55-offer-pager{gap:5px!important;padding:6px 7px!important}
  body.home-v42 .v42-scene-offers .v55-offer-dot{width:35px!important;height:35px!important;flex-basis:35px!important}
}

/* ------------------------------------------------------------
   NUESTRO EQUIPO — 2 columnas reales incluso en 360/390px.
   Sigue usando las mismas fotos, nombres y fondo; sólo cambia layout móvil.
   ------------------------------------------------------------ */
@media (max-width:700px){
  body.home-v42 .v42-scene-team{
    padding-bottom:50px!important;
  }
  body.home-v42 .v42-scene-team .v42-scene-title{
    margin-bottom:28px!important;
  }
  body.home-v42 .v42-team-map{
    width:100%!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:stretch!important;
    padding:0!important;
  }
  body.home-v42 .v42-team-lines{display:none!important}
  body.home-v42 .v42-member,
  body.home-v42 .v42-javier,
  body.home-v42 .v42-kenia,
  body.home-v42 .v42-cristian,
  body.home-v42 .v42-federico,
  body.home-v42 .v42-hannia,
  body.home-v42 .v42-eduardo,
  body.home-v42 .v42-karina,
  body.home-v42 .v42-enrique{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:174px!important;
    margin:0!important;
    padding:16px 7px 14px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    border:1px solid rgba(112,197,247,.14)!important;
    border-radius:22px!important;
    background:linear-gradient(155deg,rgba(12,37,63,.42),rgba(3,16,31,.22))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 14px 30px rgba(0,0,0,.12)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
  }
  body.home-v42 .v42-member>div,
  body.home-v42 .v42-javier>div{
    width:88px!important;
    height:88px!important;
    flex:0 0 88px!important;
    margin:0 auto 10px!important;
    padding:4px!important;
  }
  body.home-v42 .v42-javier>div{
    box-shadow:0 0 0 1px rgba(111,215,255,.28),0 0 38px rgba(44,145,255,.24)!important;
  }
  body.home-v42 .v42-member h3{
    width:100%!important;
    margin:0 0 5px!important;
    font-size:13px!important;
    line-height:1.15!important;
  }
  body.home-v42 .v42-member p{
    width:100%!important;
    margin:0!important;
    font-size:9.5px!important;
    line-height:1.3!important;
    color:#aabacc!important;
  }
}

@media (max-width:350px){
  body.home-v42 .v42-team-map{gap:9px!important}
  body.home-v42 .v42-member{min-height:166px!important;padding-inline:5px!important}
  body.home-v42 .v42-member>div,
  body.home-v42 .v42-javier>div{width:82px!important;height:82px!important;flex-basis:82px!important}
  body.home-v42 .v42-member h3{font-size:12px!important}
  body.home-v42 .v42-member p{font-size:9px!important}
}

/* ------------------------------------------------------------
   CONTACTO — la credencial deja de arrancar tan abajo en móvil.
   Se conserva el concepto del broche, pero con cordón corto y tarjeta
   compacta para que el formulario completo entre mucho mejor en pantalla.
   ------------------------------------------------------------ */
@media (max-width:680px){
  body.contact-v102-page .contact-v93-hero{
    min-height:690px!important;
    padding:calc(var(--gpv-r-header-h,60px) + 4px) 6px 18px!important;
    overflow:visible!important;
    align-items:start!important;
    place-items:start center!important;
  }
  body.contact-v102-page .contact-v93-stage{
    width:100%!important;
    height:620px!important;
    margin:0!important;
  }
  body.contact-v102-page .contact-v93-stage::before,
  body.contact-v102-page .contact-v93-stage::after{
    width:min(620px,96vw)!important;
    height:560px!important;
    top:50%!important;
  }
  body.contact-v102-page .contact-v93-lanyard{display:none!important}
  body.contact-v102-page .contact-v93-card-shell{
    top:46px!important;
    width:min(calc(100vw - 14px),520px)!important;
    max-width:520px!important;
    height:594px!important;
    transform:translateX(-50%) translate3d(var(--card-x),var(--card-y),0) rotateZ(var(--card-rz)) rotateY(var(--card-ry))!important;
  }
  body.contact-v102-page .contact-v93-card-shell::after{
    content:"";
    position:absolute;
    left:50%;
    top:-88px;
    width:2px;
    height:40px;
    transform:translateX(-50%);
    border-radius:999px;
    background:linear-gradient(180deg,rgba(93,187,255,.05),rgba(145,216,255,.72));
    box-shadow:0 0 9px rgba(74,170,255,.20);
    pointer-events:none;
  }
  body.contact-v102-page .contact-v93-drag-handle{
    top:-48px!important;
    width:170px!important;
    height:62px!important;
  }
  body.contact-v102-page .contact-v93-clip-ring{
    width:38px!important;
    height:38px!important;
    border-width:4px!important;
  }
  body.contact-v102-page .contact-v93-clip-body{
    top:25px!important;
    width:64px!important;
    height:32px!important;
  }

  body.contact-v102-page .contact-v93-front,
  body.contact-v102-page .contact-v93-back{
    padding:17px 16px 15px!important;
    border-radius:24px!important;
  }
  body.contact-v102-page .contact-v93-front-copy{margin-top:0!important}
  body.contact-v102-page .contact-v93-front-copy h1{
    font-size:36px!important;
    line-height:.98!important;
  }
  body.contact-v102-page .contact-v93-front-copy>p:last-child{
    margin-top:7px!important;
    font-size:11.5px!important;
    line-height:1.38!important;
  }
  body.contact-v102-page .contact-v93-form{
    margin-top:10px!important;
    gap:6px!important;
  }
  body.contact-v102-page .contact-v93-row{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  body.contact-v102-page .contact-v93-field{gap:4px!important}
  body.contact-v102-page .contact-v93-field>span{
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:.12em!important;
  }
  body.contact-v102-page .contact-v93-field input,
  body.contact-v102-page .contact-v93-field textarea{
    min-height:36px!important;
    padding:7px 10px!important;
    border-radius:11px!important;
    font-size:16px!important;
    line-height:1.22!important;
  }
  body.contact-v102-page .contact-v93-field textarea{
    min-height:54px!important;
    max-height:58px!important;
  }
  body.contact-v102-page .contact-v96-captcha-row{
    min-height:50px!important;
    height:50px!important;
    overflow:visible!important;
  }
  body.contact-v102-page .contact-v96-recaptcha-host{min-height:50px!important}
  body.contact-v102-page .contact-v96-recaptcha-host>div{
    transform:scale(.72)!important;
    transform-origin:0 0!important;
  }
  body.contact-v102-page .contact-v96-recaptcha-placeholder{
    transform:scale(.80)!important;
    transform-origin:0 0!important;
  }
  body.contact-v102-page .contact-v93-form-footer{
    margin-top:0!important;
    padding-top:0!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  body.contact-v102-page .contact-v93-submit{
    min-width:142px!important;
    min-height:38px!important;
    padding:9px 13px!important;
    font-size:10.5px!important;
  }
  body.contact-v102-page .contact-v93-status{
    min-height:0!important;
    margin:3px 0 0!important;
    font-size:9.5px!important;
  }
  body.contact-v102-page .contact-v93-flip-link{
    max-width:138px!important;
    padding:5px 0!important;
    text-align:right!important;
    font-size:9.5px!important;
    line-height:1.25!important;
  }

  /* Reverso también cabe dentro de la misma credencial compacta. */
  body.contact-v102-page .contact-v93-back-content{padding-top:16px!important}
  body.contact-v102-page .contact-v93-back-content h2{font-size:40px!important}
  body.contact-v102-page .contact-v93-back-lead{font-size:11.5px!important;line-height:1.45!important}
  body.contact-v102-page .contact-v93-contact-list{gap:7px!important}
}

@media (max-width:390px){
  body.contact-v102-page .contact-v93-hero{
    min-height:680px!important;
    padding-top:calc(var(--gpv-r-header-h,60px) + 2px)!important;
  }
  body.contact-v102-page .contact-v93-stage{height:612px!important}
  body.contact-v102-page .contact-v93-card-shell{
    top:44px!important;
    width:calc(100vw - 10px)!important;
    height:586px!important;
  }
  body.contact-v102-page .contact-v93-front,
  body.contact-v102-page .contact-v93-back{padding:15px 14px 13px!important}
  body.contact-v102-page .contact-v93-front-copy h1{font-size:34px!important}
  body.contact-v102-page .contact-v93-front-copy>p:last-child{font-size:11px!important}
  body.contact-v102-page .contact-v93-form{margin-top:8px!important;gap:5px!important}
  body.contact-v102-page .contact-v93-row{gap:5px!important}
  body.contact-v102-page .contact-v93-field input,
  body.contact-v102-page .contact-v93-field textarea{padding-top:6px!important;padding-bottom:6px!important}
  body.contact-v102-page .contact-v93-field textarea{min-height:50px!important;max-height:54px!important}
  body.contact-v102-page .contact-v96-captcha-row{height:47px!important;min-height:47px!important}
  body.contact-v102-page .contact-v96-recaptcha-host>div{transform:scale(.61)!important}
  body.contact-v102-page .contact-v93-submit{min-width:136px!important;padding-inline:11px!important}
  body.contact-v102-page .contact-v93-flip-link{max-width:128px!important;font-size:9px!important}
}

/* Pantallas móviles especialmente bajas: no ocultar contenido; el documento
   puede desplazarse naturalmente debajo de la credencial. */
@media (max-width:680px) and (max-height:620px){
  body.contact-v102-page .contact-v93-hero{min-height:680px!important}
}
