.contact-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 3rem; align-items: start; }
.lead-form { display: grid; gap: 1.25rem; padding: 2rem; border: 1px solid var(--border); background: var(--foreground); }
.lead-form fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.lead-form legend, .lead-form label { color: var(--text); font-size: 15px; font-weight: 600; }
.lead-form .optional { color: var(--text-muted); font-weight: 400; font-size: 13px; }
.lead-form .field { display: grid; gap: 0.4rem; }
.lead-form .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.lead-form input[type="text"], .lead-form input[type="email"], .lead-form select, .lead-form textarea { width: 100%; min-height: 44px; padding: 0.65rem 0.75rem; background: var(--bg); color: var(--text); border: 1px solid #3a3a3a; font: 16px/1.4 var(--sans); letter-spacing: 0; border-radius: 0; }
.lead-form textarea { min-height: 120px; resize: vertical; }
.lead-form input:focus-visible, .lead-form select:focus-visible, .lead-form textarea:focus-visible { outline: 2px solid #7d98ff; outline-offset: 1px; border-color: #7d98ff; }
.lead-form [aria-invalid="true"] { border-color: #e06c6c; }
.intent-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.intent-options label { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.75rem; border: 1px solid var(--border); font-weight: 500; cursor: pointer; background: var(--bg); }
.intent-options label:has(input:checked) { border-color: var(--accent-bright); }
.intent-options input { margin-top: 0.3rem; accent-color: var(--accent-bright); }
.lead-form .hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lead-form .form-note { font-size: 13px; color: var(--text-muted); }
.lead-form .form-note a, .contact-aside a { color: var(--accent-bright); }
.form-status { padding: 1rem; border: 1px solid var(--border); background: var(--bg); }
.form-status[data-state="error"] { border-color: #e06c6c; }
.form-status[data-state="success"] { border-color: var(--accent-bright); }
.form-status h2 { font-size: 22px; margin-bottom: 0.5rem; }
.contact-aside { display: grid; gap: 2rem; }
.contact-aside h2 { font-size: 22px; margin-bottom: 0.75rem; }
.contact-aside ol { margin: 0; padding-left: 1.2rem; display: grid; gap: 0.5rem; }
.booking-frame { width: 100%; min-height: 700px; border: 1px solid var(--border); background: #fff; margin-top: 1rem; }
@media (max-width: 900px) {
  .contact-layout { grid-template-columns: 1fr; }
  .lead-form { padding: 1.25rem; }
  .lead-form .row, .intent-options { grid-template-columns: 1fr; }
}
.booking-ctas { margin-top: 1rem; }
