.client-intake { position: absolute; inset: 0; z-index: 45; overflow-y: auto; overscroll-behavior-y: contain; background: var(--ink); padding: clamp(18px, 4vw, 40px) var(--gut) calc(24px + env(safe-area-inset-bottom)); }
.intake-card { max-width: 660px; margin-inline: auto; display: grid; gap: 20px; }
.intake-card .h2 { font-size: clamp(28px, 5vw, 42px); }
.intake-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; counter-reset: intake; }
.intake-steps li { padding-block: 10px; border-top: 2px solid var(--line); color: var(--dim); font-size: 13px; }
.intake-steps li::before { counter-increment: intake; content: counter(intake) " · "; }
.intake-steps [aria-current="step"] { border-color: var(--brass); color: var(--bone); }
#intakeForm, #intakeForm fieldset { display: grid; gap: 16px; }
#intakeForm fieldset { border: 0; min-width: 0; }
#intakeForm legend { margin-bottom: 16px; color: var(--bone); font-size: 17px; }
#intakeForm .input { font-size: 16px; }
.intake-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.intake-phone { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; }
.intake-description { min-height: 108px; padding: 12px 16px; resize: vertical; }
.intake-actions { display: flex; justify-content: space-between; gap: 12px; padding-top: 4px; }
.intake-actions #intakeNext { margin-inline-start: auto; }
.intake-error { color: var(--warn); }
.intake-error:empty { display: none; }
@media (max-width: 520px) { .intake-grid { grid-template-columns: minmax(0, 1fr); } .intake-steps { gap: 8px; } }
@media (max-height: 600px) {
  .client-intake { padding-block-start: 12px; }
  .intake-card { gap: 12px; }
  .intake-card .h2 { font-size: 24px; }
  .intake-card > .muted { display: none; }
  .intake-steps li { padding-block: 6px; }
  #intakeForm legend { margin-bottom: 8px; }
}
