.contact { padding: 80px 0 90px; }
.contact_container { width: min(1160px, 92vw); margin: auto; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 80px; align-items: start; }
.formTitle, .contactTitle { margin-bottom: 28px; font: 900 2rem/1.15 var(--heading); letter-spacing: -.03em; }
.multi-line { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.inputBox { min-width: 0; margin-bottom: 22px; }
.inputBox label { display: block; margin-bottom: 8px; font-weight: 600; font-size: .92rem; }
.inputBox input:not([type="submit"]), .inputBox textarea { display: block; width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #b4c5d0; border-radius: 10px; background: #fff; color: var(--ink); font: 400 1rem/1.5 var(--body); }
.inputBox textarea { min-height: 150px; resize: vertical; }
.contactInfo { padding: 32px; border-left: 3px solid var(--blue); background: var(--mist); }
.contactInfo .box + .box { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
.contactInfo h3 { margin-bottom: 6px; font: 800 1.1rem var(--heading); }
.contactInfo p { color: var(--muted); }
.contactInfo a { color: var(--deep); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.form-status { margin-bottom: 22px; color: var(--deep); font-size: .95rem; overflow-wrap: anywhere; }
.form-status:empty { margin: 0; }
.contact-form [type="submit"]:disabled { opacity: .65; cursor: wait; transform: none; }
@media (max-width: 900px) { .contact_container { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 600px) { .contact { padding: 46px 0 60px; } .multi-line { grid-template-columns: 1fr; gap: 0; } .contactInfo { padding: 26px 22px; } .formTitle, .contactTitle { font-size: 1.75rem; } .contact-form [type="submit"] { width: 100%; } }
