/* Appointment form uses the public website palette and component proportions. */
.consultation-surface {
  color-scheme:light;
  --consultation-page:#eef5fb;
  --consultation-ink:#252936;
  --consultation-accent:#1476c9;
  --consultation-muted:#596577;
  --consultation-line:#d7e2ed;
  --consultation-error:#b42318;
  color:var(--consultation-ink);
}
.consultation-surface * { box-sizing:border-box; }
body.consultation-surface { margin:0; background:var(--consultation-page); font:16px/1.65 Inter,"Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.consultation-surface a { color:inherit; }
.consultation-surface button,.consultation-surface input,.consultation-surface select,.consultation-surface textarea { font:inherit; }
.consultation-surface button,.consultation-surface a,.consultation-surface input,.consultation-surface textarea,.consultation-surface select { -webkit-tap-highlight-color:transparent; }
.consultation-surface button { cursor:pointer; }
.consultation-surface svg { width:20px; height:20px; flex-shrink:0; }
.consultation-surface [hidden] { display:none!important; }
.consultation-surface :focus-visible { outline:3px solid var(--consultation-accent); outline-offset:3px; }
.consultation-surface .skip-link { position:fixed; top:-100px; left:20px; z-index:2; padding:12px; background:#fff; }
.consultation-surface .skip-link:focus { top:12px; }
.consultation-surface .consultation-header { width:min(1180px,calc(100% - 96px)); margin:auto; height:76px; display:flex; align-items:center; justify-content:space-between; }
.consultation-surface .consultation-header img { display:block; object-fit:contain; width:120px; height:40px; }
.consultation-surface .back-link { display:flex; align-items:center; gap:12px; min-height:44px; text-decoration:none; font-size:14px; color:var(--consultation-muted); }
.consultation-surface .back-link:hover { color:var(--consultation-accent); }
.consultation-surface .consultation-layout { width:min(1180px,calc(100% - 112px)); margin:48px auto; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:clamp(40px,6vw,88px); align-items:center; }
.consultation-surface .consultation-intro { padding-top:0; }
.consultation-surface .eyebrow { display:block; margin:0 0 18px; font-size:12px; font-weight:600; letter-spacing:.06em; color:var(--consultation-accent); }
.consultation-surface .consultation-title { font-size:clamp(38px,4vw,54px); font-weight:650; letter-spacing:-.035em; line-height:1.3; margin:0 0 22px; }
.consultation-surface .consultation-title span { color:var(--consultation-accent); }
.consultation-surface .intro-description { max-width:430px; margin:0; font-size:14px; line-height:1.9; color:var(--consultation-muted); }
.consultation-surface .consultation-panel { background:#fff; color:var(--consultation-ink); border:1px solid var(--consultation-line); border-radius:18px; padding:32px; min-width:0; box-shadow:0 12px 36px rgba(31,56,79,.045); }
.consultation-surface .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; }
.consultation-surface .field { min-width:0; }
.consultation-surface .field-wide { grid-column:1/-1; }
.consultation-surface .field label { display:block; color:#344054; font-size:13px; font-weight:500; margin-bottom:8px; }
.consultation-surface .field label span { color:var(--consultation-error); }
.consultation-surface .field input,.consultation-surface .field textarea,.consultation-surface .field select { display:block; width:100%; background:#f8fafc; color:var(--consultation-ink); border:1px solid var(--consultation-line); border-radius:8px; padding:11px 12px; min-height:46px; font-size:14px; line-height:1.5; transition:border-color .18s,background-color .18s,box-shadow .18s; box-shadow:none; }
.consultation-surface .field textarea { resize:vertical; min-height:106px; max-height:320px; }
.consultation-surface .field input::placeholder,.consultation-surface .field textarea::placeholder { color:#697586; opacity:1; }
.consultation-surface .field select { color-scheme:light; cursor:pointer; }
.consultation-surface .field select option { background:#fff; color:var(--consultation-ink); }
.consultation-surface .field input:focus,.consultation-surface .field textarea:focus,.consultation-surface .field select:focus { border-color:var(--consultation-accent); background:#fff; outline:2px solid transparent; outline-offset:2px; box-shadow:0 0 0 3px rgba(20,118,201,.12); }
.consultation-surface .field [aria-invalid=true] { border-color:var(--consultation-error); }
.consultation-surface .field [aria-invalid=true]:focus { border-color:var(--consultation-error); box-shadow:0 0 0 3px rgba(180,35,24,.1); }
@media(forced-colors:active) { .consultation-surface .field :is(input,textarea,select):focus { outline-color:Highlight; } }
.consultation-surface .field-error { color:var(--consultation-error); font-size:12px; line-height:1.5; margin:6px 0 0; min-height:0; }
.consultation-surface .field-error:empty { display:none; }
.consultation-surface .submit-button { width:100%; display:flex; align-items:center; justify-content:center; gap:12px; border:0; border-radius:999px; background:var(--consultation-accent); color:#fff; padding:12px 22px; margin:24px 0 14px; min-height:48px; font-size:14px; font-weight:600; transition:background .18s; }
.consultation-surface .submit-button:hover { background:#0e67b3; }
.consultation-surface .submit-button:active { background:#105f9f; }
.consultation-surface .submit-button:disabled { opacity:.65; cursor:wait; }
.consultation-surface .button-arrow { display:grid; place-items:center; color:inherit; }
.consultation-surface .button-arrow svg { width:18px; height:18px; }
.consultation-surface .consent-field label { display:flex; align-items:flex-start; gap:9px; color:var(--consultation-muted); font-size:12px; line-height:1.8; cursor:pointer; min-height:44px; }
.consultation-surface .consent-field input { flex-shrink:0; width:16px; height:16px; accent-color:var(--consultation-accent); margin:3px 0 0; }
.consultation-surface .consent-field a { text-underline-offset:3px; color:var(--consultation-accent); }
.consultation-surface .form-error { font-size:14px; color:var(--consultation-error); margin:16px 0 0; }
.consultation-surface .bot-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.consultation-surface .success-state { min-height:440px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.consultation-surface .success-mark { width:56px; height:56px; border-radius:16px; background:#e0eefb; color:var(--consultation-accent); display:grid; place-items:center; margin-bottom:24px; }
.consultation-surface .success-mark svg { width:30px; height:30px; }
.consultation-surface .success-state :is(h2,h3) { font-size:30px; font-weight:600; margin:0 0 16px; }
.consultation-surface .success-state p { color:var(--consultation-muted); font-size:14px; margin:0 0 24px; line-height:1.8; }
.consultation-surface .success-link { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:6px; color:var(--consultation-accent); }
.paged #consultation,.paged main:has(#consultation.is-active),.paged:has(#consultation.is-active) .site-nav { background-color:#eef5fb; }
#consultation { font-family:inherit; color:var(--consultation-ink); }
#consultation .screen-content { padding:28px 0 calc(var(--footer-height,100px) + 28px); min-height:100%; justify-content:center; }
#consultation .consultation-layout { margin:0 auto; }
#consultation .field textarea { min-height:90px; }
@media(max-width:1000px) {
  .consultation-surface .consultation-layout { gap:32px; }
  .consultation-surface .consultation-header,.consultation-surface .consultation-layout { width:calc(100% - 64px); }
  .consultation-surface .consultation-panel { padding:26px; }
}
@media(max-width:760px) {
  .consultation-surface .consultation-header { height:64px; }
  .consultation-surface .consultation-header,.consultation-surface .consultation-layout { width:calc(100% - 48px); }
  .consultation-surface .consultation-layout { grid-template-columns:1fr; margin-top:28px; gap:24px; }
  .consultation-surface .eyebrow { margin-bottom:12px; }
  .consultation-surface .consultation-title { font-size:36px; margin-bottom:16px; }
  .consultation-surface .intro-description { font-size:13px; }
  .consultation-surface .consultation-panel { border-radius:16px; padding:24px; }
  .consultation-surface .success-state { min-height:320px; }
  #consultation .screen-content { justify-content:flex-start; padding:24px 0 calc(var(--footer-height,158px) + 32px); }
}
@media(max-width:420px) {
  .consultation-surface .consultation-header,.consultation-surface .consultation-layout { width:calc(100% - 40px); }
  .consultation-surface .form-grid { grid-template-columns:1fr; gap:18px; }
  .consultation-surface .field-wide { grid-column:auto; }
  .consultation-surface .consultation-panel { padding:22px 18px; }
  .consultation-surface .field input,.consultation-surface .field textarea,.consultation-surface .field select { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .consultation-surface * { transition:none!important; scroll-behavior:auto!important; } }
