.contact-page {
  padding: 120px 0;
  background:
    radial-gradient(circle at 10% 10%, rgba(77,154,255,.17), transparent 25%),
    linear-gradient(145deg,#f9fcff,#edf5ff);
}
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.contact-copy { position:sticky; top:130px; }
.contact-copy h1 { font-size:clamp(3rem,5vw,5.2rem); line-height:.98; letter-spacing:-.06em; margin:16px 0 25px; }
.contact-copy > p:not(.eyebrow) { color:var(--text); font-size:1.08rem; }
.contact-points { margin-top:42px; display:flex; flex-direction:column; gap:22px; }
.contact-points > div { display:grid; grid-template-columns:30px 1fr; gap:12px; }
.contact-points i { color:var(--blue); margin-top:5px; }
.contact-points span { color:var(--text); font-size:.88rem; }
.contact-points strong { display:block; color:var(--navy); margin-bottom:2px; font-size:.95rem; }
.contact-card { background:#fff; border:1px solid var(--line); border-radius:24px; padding:40px; box-shadow:var(--shadow); }
.contact-form { display:flex; flex-direction:column; gap:19px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field label { color:#2c405c; font-size:.78rem; font-weight:800; }
.field input,.field textarea,.field select {
  width:100%; border:1px solid #ccd8e7; background:#fbfdff; border-radius:10px;
  padding:13px 14px; color:var(--ink); outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.field textarea { resize:vertical; min-height:150px; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--blue); background:#fff; box-shadow:0 0 0 4px rgba(19,104,232,.1); }
.honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; }
.recaptcha-wrapper { overflow:hidden; }
.submit-btn { min-height:54px; border:0; border-radius:10px; background:var(--navy); color:#fff; font-weight:800; transition:transform .2s ease, background .2s ease; }
.submit-btn:hover { transform:translateY(-2px); background:var(--blue); }
.submit-btn:disabled { opacity:.6; cursor:not-allowed; transform:none; }
.form-result { min-height:22px; font-size:.82rem; font-weight:700; }
.form-result.success { color:#087a45; } .form-result.error { color:#ba2a2a; }
.privacy-notice { color:var(--muted); text-align:center; font-size:.68rem; }
.privacy-notice a { color:var(--blue); font-weight:700; }

@media (min-width:701px) and (max-width:1024px) {
  .contact-grid { gap:45px; }
  .contact-card { padding:32px; }
}
@media (max-width:700px) {
  .contact-page { padding:80px 0; }
  .contact-grid { grid-template-columns:1fr; gap:45px; }
  .contact-copy { position:static; }
  .contact-card { padding:26px 20px; border-radius:20px; }
  .form-row { grid-template-columns:1fr; }
  .recaptcha-wrapper .g-recaptcha { transform:scale(.88); transform-origin:left top; margin-bottom:-8px; }
}
@media (max-width:370px) {
  .recaptcha-wrapper .g-recaptcha { transform:scale(.78); margin-bottom:-18px; }
}
