.consultation-page { background: #f8f7f3; color: #163832; padding: 64px max(24px, calc((100vw - 1160px) / 2)) 90px; }
.consultation-heading { max-width: 720px; margin-bottom: 40px; }
.consultation-eyebrow { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #7d735c; }
.consultation-page h1 { font: 400 clamp(36px, 5vw, 58px)/1.12 Georgia, serif; margin: 18px 0; }
.consultation-page h2 { font: 400 28px/1.2 Georgia, serif; margin: 0 0 22px; }
.consultation-page p { line-height: 1.75; }
.consultation-form { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.consultation-details, .consultation-schedule, .consultation-empty { padding: 30px; border: 1px solid #deded3; background: #fffefa; min-width: 0; }
.consultation-field { margin: 0 0 20px; }
.consultation-field label { display: block; font-size: 14px; margin-bottom: 8px; }
.consultation-field :is(input, textarea, select) { box-sizing: border-box; display: block; width: 100%; min-height: 46px; padding: 12px; border: 1px solid #b9bfb2; border-radius: 0; background: #fff; color: #163832; font: inherit; }
.consultation-field small { display: block; margin-top: 7px; color: #626b5e; line-height: 1.5; }
.consultation-timezone, .consultation-schedule > p { font-size: 13px; color: #626b5e; }
.consultation-submit { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; box-sizing: border-box; border: 0; padding: 18px 24px; background: #163832; color: #fffefa; font: inherit; cursor: pointer; }
.consultation-submit:disabled { opacity: .5; cursor: default; }
.consultation-submit:hover { background: #235347; }
.consultation-errors { grid-column: 1 / -1; padding: 14px; border: 1px solid #a35846; }
.consultation-page .errorlist { padding-left: 20px; color: #963d2a; font-size: 14px; }
.calendar-heading { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; gap: 8px; }
.calendar-heading h3 { font-size: 17px; font-weight: 500; }
.calendar-heading button, .calendar-days button { min-height: 44px; border: 1px solid #deded3; background: transparent; color: #163832; font: inherit; cursor: pointer; }
.calendar-heading button { min-width: 44px; }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.calendar-weekdays { text-align: center; font-size: 11px; margin: 12px 0; color: #626b5e; }
.calendar-days button { padding: 4px; }
.calendar-days button[aria-pressed="true"] { background: #163832; color: white; }
.calendar-days button:disabled, .calendar-heading button:disabled { opacity: .3; cursor: default; border-color: transparent; }
#calendar-selection { font-size: 13px; }
.consultation-page :is(a, button, input, textarea, select):focus-visible { outline: 2px solid #a35846; outline-offset: 3px; }
.consultation-confirmed { margin: 20px auto; text-align: center; }
.consultation-confirmed .consultation-submit { width: fit-content; margin: 30px auto 0; }
@media (max-width: 760px) {
    .consultation-page { padding: 36px 20px 60px; }
    .consultation-form { grid-template-columns: 1fr; gap: 24px; }
    .consultation-details, .consultation-schedule { padding: 20px 14px; }
}
