.booking-form-card{padding:clamp(26px,3.4vw,42px);background:#fbf8f2;color:#201e1b;border:1px solid rgba(32,30,27,.18);box-shadow:0 22px 65px rgba(35,29,24,.14);color-scheme:light}
.form-section-heading{gap:16px;margin:8px 0 23px;padding-bottom:17px;border-bottom:1px solid rgba(32,30,27,.2)}
.form-section-heading:not(:first-child){margin-top:38px}
.form-section-heading>span{min-width:31px;color:#91333c;font-size:22px}
.form-section-heading h3{margin:0 0 5px;color:#201e1b;font-size:24px;line-height:1.25}
.form-section-heading p{margin:0;color:#58524a;font-size:15px;line-height:1.55}
.booking-fields{gap:18px 16px}
.booking-fields[hidden],.booking-context-note[hidden]{display:none!important}
.booking-context-note{margin:16px 0 0;padding:14px 16px;border-left:3px solid #91333c;background:#f1ebe3;color:#322c25;font-size:15px;line-height:1.65}
.booking-fields-schedule{column-gap:28px}
.booking-fields .field{gap:7px;color:#28241f;font-size:16px;font-weight:600;line-height:1.45}
.booking-fields .field small{color:#5d564d;font-size:14px;font-weight:400}
.booking-fields input,.booking-fields select,.booking-fields textarea{min-height:54px;padding:13px 14px;background:#fffefa;color:#201e1b;border:1px solid #898073;border-radius:2px;font-family:var(--sans);font-size:17px;line-height:1.45}
.booking-fields textarea{min-height:132px;resize:vertical}
.booking-fields select{color-scheme:light}
.booking-fields select:invalid{color:#625c54}
.booking-fields input::placeholder,.booking-fields textarea::placeholder{color:#625c54;opacity:1}
.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{outline:3px solid rgba(145,51,60,.25);outline-offset:1px;border-color:#91333c;box-shadow:0 0 0 1px #91333c}
.booking-fields input:focus-visible,.booking-fields select:focus-visible,.booking-fields textarea:focus-visible{outline-style:solid}
.booking-fields input[type="date"]{min-height:54px}
.submit-appointment{min-height:56px;margin-top:24px;background:#91333c;border:1px solid #91333c;color:#fff;font-size:16px}
.submit-appointment:hover{background:#aa464d;border-color:#aa464d;color:#fff}
.booking-form-error{padding:12px 14px;background:#fbe9e8;border-left:3px solid #91333c;color:#7b232b;font-size:15px;line-height:1.55}
.booking-form-disclaimer{margin-top:14px;color:#514b44;font-size:14px!important;line-height:1.6}
.appointment-review{border-top:1px solid rgba(32,30,27,.2);padding-top:24px;color:#201e1b}
.appointment-review .success-kicker{color:#91333c;font-size:13px;letter-spacing:.13em}
.appointment-review h3{color:#201e1b;font-size:clamp(30px,3vw,36px);line-height:1.2}
.appointment-review>p{color:#49443e;font-size:16px;line-height:1.7}
.appointment-payment{gap:15px;border:1px solid rgba(32,30,27,.2);background:#fffefa;padding:18px}
.appointment-payment .payment-icon{flex:none;color:#91333c;border-color:rgba(145,51,60,.4)}
.appointment-payment b{color:#201e1b;font-size:16px}
.appointment-payment span{color:#514b44;font-size:15px;line-height:1.55}
.reset-appointment{min-height:50px;margin-top:18px;border-color:#655d53;color:#29251f;font-size:15px}
.preview-note{padding-top:14px;border-top:1px solid rgba(32,30,27,.14);color:#514b44!important;font-size:14px!important}
.booking-step,.booking-step b,.booking-step small{color:#4c463e}
.booking-step small{font-size:14px}
.booking-step>span,.booking-step.is-current>span{color:#91333c}
.booking-side-note{color:#49443e}
.booking-page-intro>p:not(.eyebrow):not(.booking-side-note){font-size:16px;line-height:1.8}
.booking-page-intro{padding:clamp(24px,3vw,36px);background:#191817;color:#fff;border:1px solid rgba(255,255,255,.14)}
.booking-page-intro .eyebrow,.booking-page-intro .eyebrow-dark,.booking-page-intro h2,.booking-page-intro h2 em,.booking-page-intro>p:not(.eyebrow):not(.booking-side-note),.booking-page-intro .booking-step,.booking-page-intro .booking-step>span,.booking-page-intro .booking-step b,.booking-page-intro .booking-step small,.booking-page-intro .booking-side-note{color:#fff}
.booking-page-intro .booking-steps{border-color:rgba(255,255,255,.25)}
.booking-page-intro .booking-step{border-color:rgba(255,255,255,.2)}
.booking-page-intro .booking-side-note{border-left-color:#fff}
.booking-page-intro h2,.booking-page-intro h2 em{color:#e0a18f}
.booking-page-intro .booking-step.is-current b,.booking-page-intro .booking-step-final>span,.form-section-heading-final>span{color:#e0a18f}
@media(max-width:640px){
  .booking-page-intro{padding:23px 19px}
  .booking-form-card{padding:24px 18px}
  .form-section-heading{gap:12px;margin-bottom:20px}
  .form-section-heading:not(:first-child){margin-top:32px}
  .form-section-heading h3{font-size:22px}
  .form-section-heading p{font-size:15px}
  .booking-fields{gap:15px}
  .booking-context-note{margin-top:14px;padding:13px 14px;font-size:15px}
  .booking-fields-schedule{column-gap:18px;row-gap:18px}
  .booking-fields .field{font-size:16px}
  .booking-fields .field small{font-size:14px}
  .booking-fields input,.booking-fields select,.booking-fields textarea{min-height:54px;font-size:17px}
  .booking-fields textarea{min-height:126px}
  .booking-form-disclaimer{font-size:14px!important}
  .appointment-review>p{font-size:16px}
}
