html, body{
  overflow-x:hidden;
}
body{
  max-width:100%;
}
*, *::before, *::after{
  box-sizing:border-box;
}
img, svg, iframe, video, canvas{
  max-width:100%;
  height:auto;
}
.container, .contact-grid, .contact-card, .form, .submit-wrap, .cta-box, .subpanel{
  max-width:100%;
}
.contact-card{
  position:relative;
  overflow:hidden;
}
.contact-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, rgba(77,163,255,.95), rgba(125,211,252,.95), rgba(16,185,129,.95));
}
.field{
  width:100%;
  max-width:100%;
}
textarea.field{
  min-height:160px;
}
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.submit-wrap{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.inline-note{
  font-size:13px;
  color:#b9c8dd;
}
.status-box{
  display:none;
  padding:14px 16px;
  border-radius:16px;
  margin:6px 0 2px;
  word-break:break-word;
}
.status-box.success{
  display:block;
  background:rgba(16,185,129,.12);
  border:1px solid rgba(16,185,129,.28);
  color:#d9ffee;
}
.status-box.error{
  display:block;
  background:rgba(239,68,68,.12);
  border:1px solid rgba(239,68,68,.28);
  color:#ffe1e1;
}
.btn[disabled]{
  opacity:.72;
  cursor:not-allowed;
}
@media (max-width: 640px){
  .contact-grid{
    grid-template-columns:1fr !important;
  }
  .contact-card{
    padding:20px;
  }
  .submit-wrap{
    flex-direction:column;
    align-items:stretch;
  }
}
