.contact-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(36px, 6vw, 76px); align-items: start; }
.contact-copy h1 { max-width: 620px; margin: 20px 0; font: 600 clamp(2.9rem, 5vw, 4.8rem)/1.02 var(--font-display); letter-spacing: -.065em; }
.contact-copy > p { max-width: 440px; color: var(--muted); font-size: 18px; }
.contact-note { display: flex; align-items: center; gap: 14px; margin-top: 42px; }
.contact-note__icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: var(--lime); font-size: 20px; }
.contact-note small { display: block; color: var(--muted); font-size: 12px; }
.contact-note strong { font-size: 14px; }
.contact-form { padding: clamp(24px, 4vw, 48px); border-radius: 22px; background: white; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { margin-bottom: 20px; }
.field label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; }
.field input, .field textarea, .field select { width: 100%; padding: 14px 15px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: var(--paper); color: var(--ink); }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--coral); box-shadow: 0 0 0 3px rgba(79,111,220,.18); }
.field textarea { min-height: 130px; resize: vertical; }
.form-success { display: none; margin: 18px 0 0; padding: 13px; border-radius: 10px; background: var(--lime); font-size: 14px; }
.form-success.is-visible { display: block; }
.contact-image { width: 100%; height: 260px; margin-top: 42px; border-radius: 20px; object-fit: cover; }
@media (max-width: 760px) { .contact-layout { grid-template-columns: 1fr; } .contact-copy > p { font-size: 16px; } .contact-image { margin-top: 44px; } }
@media (max-width: 480px) { .form-row { grid-template-columns: 1fr; gap: 0; } }
