.contact-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr); gap: var(--space-8); align-items: flex-start; }
@media (max-width: 960px) { .contact-layout { grid-template-columns: 1fr; } }
.contact-intro { margin-bottom: var(--space-6); }
.contact-cta-group { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.contact-card { margin-top: var(--space-6); }
.contact-form { display: flex; flex-direction: column; gap: var(--space-4); }
.form-field--checkbox .checkbox-label { display: flex; align-items: flex-start; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-text-muted); }
.form-field--checkbox input[type="checkbox"] { margin-top: 3px; }
.form-actions { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-2); }
.form-note { font-size: var(--font-size-xs); color: var(--color-text-muted); max-width: 36rem; }
.contact-sidebar { display: flex; flex-direction: column; gap: var(--space-4); }
.contact-sidebar .card-title { font-size: var(--font-size-lg); }
.location-map-placeholder { margin-top: var(--space-3); border-radius: var(--radius-md); border: 1px dashed var(--color-border-strong); padding: var(--space-4); font-size: var(--font-size-sm); color: var(--color-text-muted); text-align: center; background: repeating-linear-gradient(-45deg, #f9fafb, #f9fafb 6px, #f3f4f6 6px, #f3f4f6 12px); }
.how-list { margin: 0; padding-left: 1.25rem; font-size: var(--font-size-sm); color: var(--color-text); }
.how-list li { margin-bottom: var(--space-2); }
@media (max-width: 600px) { .contact-cta-group { flex-direction: column; align-items: stretch; } .form-actions .btn { width: 100%; justify-content: center; } }
