.form{gap:var(--space-5);display:grid}.form__field{gap:var(--space-2);display:grid}.form__field label{font-size:var(--text-sm);color:var(--text);font-weight:600}.form__field input,.form__field textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);padding:.75rem .9rem;font-size:1rem;line-height:1.5}.form__field textarea{resize:vertical;min-height:9rem}.form__field input:hover,.form__field textarea:hover{border-color:var(--muted)}.form__field input:focus,.form__field textarea:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-wash);outline:none}.form__field input[aria-invalid=true],.form__field textarea[aria-invalid=true]{border-color:var(--danger)}.form__error{font-size:var(--text-sm);color:var(--danger)}.form__alert{padding:var(--space-3) var(--space-4);border-left:3px solid var(--danger);background:var(--danger-wash);color:var(--danger);font-size:var(--text-sm)}.form__trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-success{justify-items:start;gap:var(--space-3);padding:var(--space-6);border:1px solid var(--border);border-left:3px solid var(--success);border-radius:var(--radius);background:var(--success-wash);display:grid}.form-success>svg{width:1.75rem;height:1.75rem;color:var(--success)}
.contact{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,1rem + 5vw,6rem);display:grid}.contact__details,.contact__form{gap:var(--space-5);display:grid}.contact__list{border-top:2px solid var(--text);display:grid}.contact__list li{gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.contact__list svg{width:1.15rem;height:1.15rem;color:var(--accent);margin-top:.3rem}.contact__list a,.contact__list p{overflow-wrap:anywhere}.contact__label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}.contact__form{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:clamp(1.25rem,.8rem + 2vw,2.5rem)}@media (max-width:860px){.contact{grid-template-columns:1fr}}
