.qhw-contact{
  --qhw-font-head:"Funnel Display","DM Sans",system-ui,sans-serif;
  --qhw-font-body:"DM Sans","Inter",system-ui,sans-serif;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:calc(100svh - 120px);
  padding:clamp(48px,7vw,96px) 0 clamp(72px,8vw,120px);
  background:#000;
  color:#fff;
  -webkit-font-smoothing:antialiased;
}
.qhw-contact *,.qhw-contact *::before,.qhw-contact *::after{box-sizing:border-box}
.qhw-contact .qhw-cwrap{width:min(720px,100% - 48px);margin-inline:auto}
.qhw-contact__grid{
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 12%,transparent 72%);
  mask-image:radial-gradient(70% 60% at 50% 30%,#000 12%,transparent 72%);
}
.qhw-contact__glow{
  position:absolute;
  left:50%;
  top:8%;
  width:min(70vw,620px);
  height:min(70vw,620px);
  z-index:-2;
  border-radius:50%;
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(255,255,255,.12),transparent 68%);
  pointer-events:none;
}
.qhw-contact__kicker{
  margin:0 0 18px;
  font:500 12px/1 var(--qhw-font-body);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
  text-align:center;
}
.qhw-contact h1{
  margin:0;
  font:500 clamp(36px,2rem + 3vw,64px)/1.08 var(--qhw-font-head);
  letter-spacing:-.04em;
  color:#fff;
  text-align:center;
}
.qhw-contact__sub{
  margin:18px auto 40px;
  max-width:540px;
  font:400 17px/1.6 var(--qhw-font-body);
  color:rgba(255,255,255,.62);
  text-align:center;
}
.qhw-contact__card{
  padding:clamp(28px,4vw,44px);
  border-radius:28px;
  background:#fff;
  color:#111;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.qhw-contact__card label{
  display:block;
  margin:0 0 16px;
}
.qhw-contact__card label > span{
  display:block;
  margin:0 0 8px;
  font:500 13px/1.2 var(--qhw-font-body);
  color:#111;
}
.qhw-contact__card label > span i{
  font-style:normal;
  color:#111;
}
.qhw-contact__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.qhw-contact__card input[type="text"],
.qhw-contact__card input[type="email"],
.qhw-contact__card textarea{
  width:100%;
  margin:0;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  background:#f4f4f4;
  color:#111;
  font:400 15px/1.4 var(--qhw-font-body);
  outline:none;
  transition:border-color .2s,background-color .2s,box-shadow .2s;
}
.qhw-contact__card textarea{
  min-height:112px;
  border-radius:18px;
  resize:vertical;
}
.qhw-contact__card input:focus,
.qhw-contact__card textarea:focus{
  background:#fff;
  border-color:#111;
  box-shadow:0 0 0 3px rgba(0,0,0,.08);
}
.qhw-contact__agree{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:8px 0 22px;
  font:400 13px/1.5 var(--qhw-font-body);
  color:#333;
}
.qhw-contact__agree input{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:3px 0 0;
  accent-color:#111;
}
.qhw-contact__agree a{color:#111;text-decoration:underline;text-underline-offset:2px}
.qhw-contact__actions{display:flex;justify-content:flex-end}
.qhw-contact__go{
  min-height:44px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  font:500 15px/1 var(--qhw-font-body);
  cursor:pointer;
  transition:transform .2s,background-color .2s;
}
.qhw-contact__go:hover{background:#000;transform:translateY(-1px)}
.qhw-contact__go:disabled{opacity:.55;cursor:wait;transform:none}
.qhw-contact__status{
  margin:16px 0 0;
  font:500 14px/1.4 var(--qhw-font-body);
  color:#111;
}
.qhw-contact__status.is-err{color:#7a1f1f}
.qhw-contact__hp{
  position:absolute;
  left:-9999px;
  height:0;
  overflow:hidden;
}
html:has(.qhw-contact),
body:has(.qhw-contact){background:#000}
body:has(.qhw-contact) .elementor-section,
body:has(.qhw-contact) .e-con,
body:has(.qhw-contact) .elementor-column,
body:has(.qhw-contact) .elementor-widget{
  --padding-top:0px;
  --padding-bottom:0px;
  --padding-left:0px;
  --padding-right:0px;
}

@media (max-width:700px){
  .qhw-contact .qhw-cwrap{width:min(720px,100% - 32px)}
  .qhw-contact__row{grid-template-columns:1fr}
  .qhw-contact__card{padding:22px 18px}
  .qhw-contact__actions{justify-content:stretch}
  .qhw-contact__go{width:100%}
}
