/* NEXO CONTACT 44.0.0 — estrutura alinhada ao login aprovado */
html.nx44-contact-page,
html.nx44-contact-page body,
body.nx44-contact-page{
  margin:0!important;
  min-height:100%!important;
  background:
    radial-gradient(circle at 74% 16%,rgba(8,121,255,.18),transparent 31%),
    linear-gradient(120deg,#020711 0%,#04101f 56%,#071a31 100%)!important;
  color:#f7fbff!important;
}

.nx44-contact-host{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.nx44-contact-outer-hidden{
  display:none!important;
}

.nx40-contact{
  --blue:#0879ff;
  --blue-2:#0566e6;
  --navy:#020711;
  --navy-2:#06101e;
  --card:#071322;
  --line:#1d3d5c;
  --text:#f7fbff;
  --muted:#8fa4b8;
  width:100%;
  min-height:100vh;
  margin:0!important;
  padding:38px 24px!important;
  background:
    radial-gradient(circle at 73% 15%,rgba(8,121,255,.17),transparent 31%),
    linear-gradient(120deg,#020711 0%,#04101f 57%,#071a31 100%)!important;
  color:var(--text);
  font-family:Inter,Manrope,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.nx40-contact *,
.nx40-contact *::before,
.nx40-contact *::after{
  box-sizing:border-box;
}

.nx40-contact img{
  display:block;
  max-width:100%;
}

.nx40-contact a{
  text-decoration:none;
}

.nx40-contact__shell{
  width:min(1240px,100%)!important;
  min-height:calc(100vh - 76px)!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(360px,.78fr) minmax(560px,1.22fr)!important;
  grid-template-areas:"panel showcase"!important;
  align-items:center!important;
  gap:42px!important;
}

.nx40-contact__panel{
  grid-area:panel!important;
  min-width:0;
  padding:34px 35px 29px!important;
  border:1px solid rgba(72,132,194,.34)!important;
  border-radius:20px!important;
  background:
    linear-gradient(155deg,rgba(7,20,37,.98),rgba(3,11,23,.98))!important;
  box-shadow:0 28px 75px rgba(0,0,0,.34)!important;
}

.nx44-contact__panel-brand{
  display:inline-flex;
  margin-bottom:29px;
}

.nx44-contact__panel-brand img{
  width:176px;
  height:auto;
}

.nx40-contact__panel-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding-bottom:20px!important;
  border-bottom:1px solid #183149!important;
}

.nx40-contact__panel-top>span{
  color:#3b9cff!important;
  font-size:.62rem!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
}

.nx40-contact__panel-top>a{
  color:#a9bed2!important;
  font-size:.66rem!important;
  font-weight:800!important;
}

.nx40-contact__card{
  padding-top:25px!important;
}

.nx40-contact__heading>span{
  display:block!important;
  color:#3b9cff!important;
  font-size:.65rem!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
}

.nx40-contact__heading h2{
  margin:10px 0 0!important;
  color:#fff!important;
  font-size:clamp(1.8rem,2.7vw,2.45rem)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
}

.nx40-contact__heading p{
  margin:12px 0 0!important;
  color:#91a6ba!important;
  font-size:.75rem!important;
  line-height:1.58!important;
}

.nx40-contact__alert{
  margin-top:18px!important;
  padding:12px 14px!important;
  border-radius:9px!important;
  font-size:.72rem!important;
}

.nx40-contact__alert strong,
.nx40-contact__alert span{
  display:block!important;
}

.nx40-contact__alert span{
  margin-top:3px!important;
}

.nx40-contact__alert--success{
  border:1px solid rgba(65,207,132,.35)!important;
  background:rgba(23,100,62,.25)!important;
  color:#d9ffea!important;
}

.nx40-contact__alert--error{
  border:1px solid rgba(255,103,103,.38)!important;
  background:rgba(114,25,34,.3)!important;
  color:#ffd9dc!important;
}

.nx40-contact__form{
  margin-top:24px!important;
}

.nx40-contact__form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:15px 13px!important;
}

.nx40-contact__field{
  display:block!important;
}

.nx40-contact__field--wide{
  grid-column:1/-1!important;
}

.nx40-contact__field>span{
  display:block!important;
  margin-bottom:7px!important;
  color:#e8f1f9!important;
  font-size:.69rem!important;
  font-weight:750!important;
}

.nx40-contact__field>div{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:48px!important;
  border:1px solid #294766!important;
  border-radius:9px!important;
  background:#050e1a!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}

.nx40-contact__field>div:focus-within{
  border-color:#1582ff!important;
  box-shadow:0 0 0 3px rgba(21,130,255,.13)!important;
}

.nx40-contact__field svg{
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  width:19px!important;
  height:19px!important;
  fill:none!important;
  stroke:#5b7895!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.nx40-contact__field input,
.nx40-contact__field textarea{
  width:100%!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#fff!important;
  font:inherit!important;
  font-size:.74rem!important;
}

.nx40-contact__field input{
  min-height:46px!important;
  padding:0 13px 0 43px!important;
}

.nx40-contact__field textarea{
  min-height:118px!important;
  padding:14px 13px 14px 43px!important;
  resize:vertical!important;
  line-height:1.5!important;
}

.nx40-contact__field input::placeholder,
.nx40-contact__field textarea::placeholder{
  color:#60758a!important;
}

.nx40-contact__submit{
  width:100%!important;
  min-height:48px!important;
  margin-top:19px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border:0!important;
  border-radius:8px!important;
  background:linear-gradient(135deg,var(--blue),var(--blue-2))!important;
  color:#fff!important;
  font-size:.75rem!important;
  font-weight:900!important;
  box-shadow:0 14px 30px rgba(8,121,255,.24)!important;
  cursor:pointer!important;
  transition:transform .18s ease,filter .18s ease!important;
}

.nx40-contact__submit:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.05)!important;
}

.nx40-contact__submit svg{
  width:17px!important;
  height:17px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.nx40-contact__privacy{
  margin-top:18px!important;
  display:flex!important;
  gap:10px!important;
  padding:12px!important;
  border:1px solid #1d3853!important;
  border-radius:9px!important;
  background:rgba(5,17,31,.7)!important;
}

.nx40-contact__privacy>svg{
  flex:0 0 auto!important;
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:#2a91ff!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.nx40-contact__privacy strong,
.nx40-contact__privacy span{
  display:block!important;
}

.nx40-contact__privacy strong{
  color:#eaf4fe!important;
  font-size:.66rem!important;
}

.nx40-contact__privacy span{
  margin-top:2px!important;
  color:#7f95aa!important;
  font-size:.58rem!important;
}

.nx40-contact__footer{
  display:flex!important;
  justify-content:space-between!important;
  margin-top:20px!important;
  padding-top:16px!important;
  border-top:1px solid #183149!important;
  color:#687f95!important;
  font-size:.57rem!important;
}

.nx40-contact__showcase{
  grid-area:showcase!important;
  min-width:0;
}

.nx40-contact__showcase-top{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin-bottom:16px!important;
  padding:0 3px!important;
}

.nx40-contact__showcase-top .nx40-contact__brand{
  display:none!important;
}

.nx40-contact__back{
  color:#b6c9dc!important;
  font-size:.68rem!important;
  font-weight:800!important;
}

.nx40-contact__visual{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(84,151,221,.34)!important;
  border-radius:22px!important;
  background:#071321!important;
  box-shadow:0 30px 85px rgba(0,0,0,.38)!important;
}

.nx40-contact__visual::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(180deg,transparent 40%,rgba(2,9,20,.88) 100%),
    linear-gradient(90deg,rgba(2,9,20,.16),transparent 44%)!important;
  pointer-events:none!important;
}

.nx40-contact__visual>img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  object-position:center 40%!important;
}

.nx40-contact__visual-copy{
  position:absolute!important;
  z-index:2!important;
  left:30px!important;
  right:30px!important;
  bottom:28px!important;
}

.nx40-contact__visual-copy>span{
  display:block!important;
  color:#4ea3ff!important;
  font-size:.65rem!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
}

.nx40-contact__visual-copy h1{
  max-width:650px!important;
  margin:9px 0 0!important;
  color:#fff!important;
  font-size:clamp(2rem,3.4vw,3.45rem)!important;
  line-height:1.02!important;
  letter-spacing:-.047em!important;
}

.nx40-contact__visual-copy p{
  max-width:590px!important;
  margin:11px 0 0!important;
  color:#c0d0df!important;
  font-size:.78rem!important;
  line-height:1.55!important;
}

.nx40-contact__benefits{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:11px!important;
  margin-top:13px!important;
}

.nx40-contact__benefits article{
  min-height:82px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  padding:14px!important;
  border:1px solid #1f3e5c!important;
  border-radius:11px!important;
  background:
    linear-gradient(145deg,rgba(7,20,37,.95),rgba(3,12,24,.95))!important;
  box-shadow:0 14px 32px rgba(0,0,0,.17)!important;
}

.nx40-contact__benefits svg{
  flex:0 0 auto!important;
  width:24px!important;
  height:24px!important;
  fill:none!important;
  stroke:#248bff!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.nx40-contact__benefits strong,
.nx40-contact__benefits span{
  display:block!important;
}

.nx40-contact__benefits strong{
  color:#eef7ff!important;
  font-size:.66rem!important;
}

.nx40-contact__benefits span{
  margin-top:3px!important;
  color:#8197ab!important;
  font-size:.56rem!important;
}

@media(max-width:1050px){
  .nx40-contact__shell{
    grid-template-columns:minmax(340px,.9fr) minmax(460px,1.1fr)!important;
    gap:28px!important;
  }

  .nx40-contact__panel{
    padding:30px 28px 27px!important;
  }

  .nx40-contact__visual-copy{
    left:24px!important;
    right:24px!important;
    bottom:22px!important;
  }

  .nx40-contact__benefits{
    grid-template-columns:1fr!important;
  }

  .nx40-contact__benefits article{
    min-height:68px!important;
  }
}

@media(max-width:820px){
  .nx40-contact{
    padding:24px 18px!important;
  }

  .nx40-contact__shell{
    max-width:700px!important;
    grid-template-columns:1fr!important;
    grid-template-areas:
      "panel"
      "showcase"!important;
  }

  .nx40-contact__panel{
    padding:30px!important;
  }

  .nx40-contact__benefits{
    grid-template-columns:repeat(3,1fr)!important;
  }
}

@media(max-width:560px){
  .nx40-contact{
    padding:14px 12px 24px!important;
  }

  .nx40-contact__shell{
    gap:17px!important;
  }

  .nx40-contact__panel{
    padding:24px 19px!important;
    border-radius:14px!important;
  }

  .nx44-contact__panel-brand img{
    width:153px!important;
  }

  .nx40-contact__form-grid{
    grid-template-columns:1fr!important;
  }

  .nx40-contact__field--wide{
    grid-column:auto!important;
  }

  .nx40-contact__visual{
    border-radius:14px!important;
  }

  .nx40-contact__visual-copy{
    left:16px!important;
    right:16px!important;
    bottom:15px!important;
  }

  .nx40-contact__visual-copy h1{
    font-size:1.55rem!important;
  }

  .nx40-contact__visual-copy p{
    display:none!important;
  }

  .nx40-contact__benefits{
    grid-template-columns:1fr!important;
  }

  .nx40-contact__footer{
    display:grid!important;
    gap:6px!important;
  }
}


/* =========================================================
   NEXO CONTACT 44.0.0 — AJUSTE INTEGRAL AO VIEWPORT
   ========================================================= */
html.nx44-contact-page,
html.nx44-contact-page body,
body.nx44-contact-page{
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
}

.nx44-contact-host{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

.nx40-contact{
  min-height:100svh!important;
  height:auto!important;
  padding:
    clamp(14px,2.4vh,28px)
    clamp(14px,1.7vw,24px)!important;
  overflow:visible!important;
}

.nx40-contact__shell{
  min-height:calc(100svh - clamp(28px,4.8vh,56px))!important;
  height:auto!important;
  max-height:none!important;
  align-items:center!important;
}

/*
 * Desktop com altura reduzida:
 * mantém tudo visível sem alterar conteúdo, ordem ou funcionalidade.
 */
@media (min-width:821px) and (max-height:920px){
  .nx40-contact{
    padding:16px 22px!important;
  }

  .nx40-contact__shell{
    width:min(1180px,100%)!important;
    min-height:calc(100svh - 32px)!important;
    grid-template-columns:minmax(350px,.77fr) minmax(520px,1.23fr)!important;
    gap:36px!important;
  }

  .nx40-contact__panel{
    padding:24px 30px 20px!important;
    border-radius:17px!important;
  }

  .nx44-contact__panel-brand{
    margin-bottom:17px!important;
  }

  .nx44-contact__panel-brand img{
    width:158px!important;
  }

  .nx40-contact__panel-top{
    padding-bottom:13px!important;
  }

  .nx40-contact__card{
    padding-top:16px!important;
  }

  .nx40-contact__heading h2{
    margin-top:7px!important;
    font-size:clamp(1.75rem,2.15vw,2.12rem)!important;
    line-height:1.01!important;
  }

  .nx40-contact__heading p{
    margin-top:8px!important;
    font-size:.68rem!important;
    line-height:1.46!important;
  }

  .nx40-contact__form{
    margin-top:16px!important;
  }

  .nx40-contact__form-grid{
    gap:10px 11px!important;
  }

  .nx40-contact__field>span{
    margin-bottom:5px!important;
    font-size:.64rem!important;
  }

  .nx40-contact__field>div{
    min-height:43px!important;
  }

  .nx40-contact__field svg{
    top:12px!important;
    width:18px!important;
    height:18px!important;
  }

  .nx40-contact__field input{
    min-height:41px!important;
    font-size:.69rem!important;
  }

  .nx40-contact__field textarea{
    min-height:86px!important;
    max-height:104px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
    font-size:.68rem!important;
  }

  .nx40-contact__submit{
    min-height:43px!important;
    margin-top:13px!important;
    font-size:.7rem!important;
  }

  .nx40-contact__privacy{
    margin-top:11px!important;
    padding:9px 11px!important;
  }

  .nx40-contact__privacy strong{
    font-size:.62rem!important;
  }

  .nx40-contact__privacy span{
    font-size:.54rem!important;
  }

  .nx40-contact__footer{
    margin-top:11px!important;
    padding-top:10px!important;
    font-size:.53rem!important;
  }

  .nx40-contact__showcase-top{
    margin-bottom:10px!important;
  }

  .nx40-contact__brand img{
    width:158px!important;
  }

  .nx40-contact__visual{
    border-radius:18px!important;
  }

  .nx40-contact__visual-copy{
    left:24px!important;
    right:24px!important;
    bottom:20px!important;
  }

  .nx40-contact__visual-copy h1{
    margin-top:6px!important;
    font-size:clamp(1.75rem,2.7vw,2.72rem)!important;
    line-height:1!important;
  }

  .nx40-contact__visual-copy p{
    margin-top:7px!important;
    font-size:.68rem!important;
  }

  .nx40-contact__benefits{
    gap:9px!important;
    margin-top:10px!important;
  }

  .nx40-contact__benefits article{
    min-height:68px!important;
    padding:10px 11px!important;
  }

  .nx40-contact__benefits svg{
    width:21px!important;
    height:21px!important;
  }

  .nx40-contact__benefits strong{
    font-size:.61rem!important;
  }

  .nx40-contact__benefits span{
    font-size:.51rem!important;
  }
}

/* Alturas muito pequenas continuam totalmente acessíveis por rolagem. */
@media (min-width:821px) and (max-height:760px){
  .nx40-contact__shell{
    align-items:start!important;
  }

  .nx40-contact__panel{
    padding-top:20px!important;
  }

  .nx40-contact__visual-copy p,
  .nx40-contact__footer span:last-child{
    display:none!important;
  }
}

@media (max-width:820px){
  .nx40-contact{
    min-height:100svh!important;
    padding-top:16px!important;
    padding-bottom:22px!important;
  }

  .nx40-contact__shell{
    min-height:0!important;
    align-items:stretch!important;
  }

  .nx40-contact__panel,
  .nx40-contact__showcase{
    width:100%!important;
    max-width:100%!important;
  }
}

@media (max-width:560px){
  .nx40-contact__panel{
    padding-bottom:19px!important;
  }

  .nx40-contact__footer{
    padding-bottom:2px!important;
  }
}
