.contact-main{
  min-height:100vh;padding:180px 0 120px;
  position:relative;overflow:hidden;display:flex;align-items:center;
}
.contact-main::before{
  content:'';position:absolute;bottom:-300px;left:-200px;width:700px;height:700px;
  border-radius:50%;background:radial-gradient(ellipse,rgba(10,20,100,.5),transparent 70%);pointer-events:none;
}
.contact-main::after{
  content:'';position:absolute;top:100px;right:-100px;width:500px;height:500px;
  border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.025),transparent 70%);pointer-events:none;
}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.contact-heading{font-size:clamp(3.5rem,8vw,7rem);font-weight:700;letter-spacing:-.05em;line-height:.9;margin:16px 0 28px}
.contact-sub{font-size:.92rem;color:var(--dim);line-height:1.8;font-weight:300;max-width:380px;margin-bottom:48px}
.contact-info{
  display:flex;flex-direction:column;gap:0;
  border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-bottom:32px;
}
.ci-row{
  display:flex;flex-direction:column;gap:4px;padding:20px 24px;
  border-bottom:1px solid var(--border);
}
.ci-row:last-child{border-bottom:none}
.ci-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dimmer)}
.ci-val{font-size:.88rem;color:var(--off-white);font-weight:500}
.c-socials{display:flex;gap:10px;flex-wrap:wrap}
.c-social{
  display:inline-flex;align-items:center;gap:8px;padding:11px 18px;
  border:1px solid var(--border);border-radius:12px;
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;
  color:var(--dim);transition:.4s var(--ease);cursor:none;
}
.c-social svg{width:15px;height:15px}
.c-social:hover{color:var(--white);border-color:var(--border2);transform:translateY(-2px);background:var(--glass-bg)}

/* form */
.contact-form-wrap{
  background:var(--glass-bg);border:1px solid var(--glass-border);
  border-radius:24px;padding:48px;
  backdrop-filter:blur(20px);position:relative;overflow:hidden;
}
.contact-form-wrap::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);
}
.cf{display:flex;flex-direction:column;gap:18px}
.fg{display:flex;flex-direction:column;gap:6px}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fl{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer)}
.fi{
  background:rgba(255,255,255,.03);border:1px solid var(--border);
  border-radius:12px;padding:13px 16px;
  font-family:var(--font-display);font-size:.88rem;color:var(--off-white);
  outline:none;transition:border-color .3s,box-shadow .3s;resize:none;cursor:none;
  -webkit-appearance:none;
}
.fi::placeholder{color:var(--dimmer)}
.fi:focus{border-color:rgba(255,255,255,.25);box-shadow:0 0 0 3px rgba(255,255,255,.05)}
.ft{min-height:130px}
.gdpr-row{display:flex;align-items:flex-start;gap:10px;cursor:none}
.gdpr-row input{display:none}
.gdpr-box{
  width:18px;height:18px;flex-shrink:0;
  border:1px solid var(--border);border-radius:5px;
  background:rgba(255,255,255,.03);margin-top:1px;
  display:flex;align-items:center;justify-content:center;transition:.3s;
}
.gdpr-row:has(input:checked) .gdpr-box{background:var(--white)}
.gdpr-row:has(input:checked) .gdpr-box::after{content:'';width:9px;height:6px;border-left:2px solid var(--bg);border-bottom:2px solid var(--bg);transform:rotate(-45deg) translateY(-1px);display:block}
.gdpr-row span{font-size:.78rem;color:var(--dimmer);line-height:1.6}
.cf-submit{width:100%;justify-content:center}
.cf-success{
  display:flex;align-items:center;gap:10px;
  padding:14px 18px;background:rgba(255,255,255,.05);border:1px solid var(--border2);
  border-radius:12px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;color:var(--off-white);
  opacity:0;max-height:0;overflow:hidden;transition:opacity .4s,max-height .4s;
}
.cf-success.visible{opacity:1;max-height:80px}

@media(max-width:1024px){.contact-grid{grid-template-columns:1fr;gap:60px}.contact-main{padding:120px 0 80px}}
@media(max-width:768px){.contact-form-wrap{padding:28px 20px}.fg-row{grid-template-columns:1fr}.contact-heading{font-size:3.5rem}}
