.contact-wrap { display:grid; grid-template-columns:1fr 420px; gap:80px; align-items:start; }
.contact-info h2 { font-size:clamp(1.6rem,3vw,2.4rem); font-weight:800; color:var(--ink-1); line-height:1.2; margin-bottom:16px; }
.contact-info p { font-size:16px; color:var(--muted); line-height:1.7; margin-bottom:32px; }
.contact-card { display:flex; gap:16px; align-items:flex-start; padding:20px; background:var(--bg-2); border-radius:12px; margin-bottom:12px; }
.contact-card-ico { width:42px; height:42px; border-radius:10px; background:var(--red); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#fff; }
.contact-card-ico svg { width:18px; height:18px; stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.contact-card h4 { font-size:13px; font-weight:600; color:var(--ink-1); margin-bottom:3px; }
.contact-card a, .contact-card span { font-size:14px; color:var(--muted); text-decoration:none; }
.contact-card a:hover { color:var(--red); }

.form-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:40px; box-shadow:0 4px 24px rgba(0,0,0,.06); }
.form-card h3 { font-size:1.2rem; font-weight:700; color:var(--ink-1); margin-bottom:6px; }
.form-card .form-sub { font-size:13px; color:var(--muted); margin-bottom:28px; }
.form-card .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-card .form-group { display:flex; flex-direction:column; gap:5px; margin-bottom:0; }
.form-card .form-group.full { grid-column:1/-1; }
.form-card label { font-size:12px; font-weight:600; color:var(--ink-2); letter-spacing:.03em; text-transform:uppercase; }
.form-card input, .form-card select, .form-card textarea {
  border:1.5px solid var(--line); border-radius:8px; padding:10px 12px;
  font-size:14px; font-family:inherit; color:var(--ink-1); background:#fff;
  transition:border-color .18s;
}
.form-card input:focus, .form-card select:focus, .form-card textarea:focus {
  outline:none; border-color:var(--red);
  box-shadow:0 0 0 3px rgba(226,35,26,.08);
}
.form-card textarea { resize:vertical; min-height:120px; }
.form-card .form-submit { width:100%; margin-top:8px; }
.form-card .form-note { font-size:11px; color:var(--muted-2); margin-top:12px; text-align:center; line-height:1.5; }

.success-msg { display:none; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:10px; padding:20px 24px; margin-top:16px; }
.success-msg p { font-size:14px; color:#166534; margin:0; }

@media(max-width:980px) {
  .contact-wrap { grid-template-columns:1fr; gap:48px; }
}
@media(max-width:620px) {
  .form-card { padding:24px 20px; }
  .form-card .form-grid { grid-template-columns:1fr; }
}
