.public-booking{grid-column:1/-1;border:1px solid var(--border,#c9cbea);border-radius:14px;padding:16px;background:rgba(255,255,255,.06);min-width:0}.public-booking p{margin:0 0 12px;line-height:1.6}.public-booking label{display:grid;gap:8px}.public-booking select{width:100%;min-width:0}.public-booking .booking-help{font-size:.85rem;margin:12px 0 0}.booking-page{max-width:720px;margin:32px auto;padding:24px;background:#fff;border:1px solid var(--border,#c9cbea);border-radius:18px}.booking-page h1{font-size:2rem}.booking-page label{display:grid;gap:8px;margin:16px 0}.booking-page input{font:inherit;padding:12px;max-width:100%;border:1px solid #c9cbea;border-radius:8px}.booking-page button,.booking-page .booking-pay{display:inline-block;padding:12px 18px;border:0;border-radius:10px;background:var(--brand,#454caf);color:#fff;font:inherit;text-decoration:none}.booking-page p{line-height:1.6}.booking-page .booking-error{color:#a32929}.booking-page .booking-instructions{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:760px){.booking-page{margin:12px;padding:18px}.public-booking{padding:12px}}

.booking-page h1,.booking-page h2{margin:20px 0 14px}.booking-page h2{font-size:1.5rem}.booking-page p{margin:12px 0}.booking-page{font-family:system-ui,sans-serif}

/* Keep the complete contact card visible below the desktop header. */
@media(min-width:981px){
  #contacto.hero{padding:96px 0 12px;align-items:center}
  #contacto .hero-grid{gap:28px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  #contact-form{padding:16px 20px}
  #contact-form h2{font-size:2rem;line-height:1.05}
  #contact-form>p{margin:4px 0 10px;font-size:.8rem;line-height:1.35}
  #contact-form .lead-form{gap:8px 12px}
  #contact-form .lead-form>label:has([name="request_intent"]){grid-column:1!important;grid-row:1}
  #contact-form .lead-form>label:has([name="preferred_date"]){grid-column:2;grid-row:1}
  #contact-form .lead-form label{line-height:1.3}
  #contact-form .lead-form input,#contact-form .lead-form select{height:36px;margin-top:3px;padding:0 9px}
  #contact-form .lead-form textarea{height:44px;min-height:44px;padding:7px 9px}
  #contact-form .public-booking{padding:10px 12px}
  #contact-form .public-booking p{font-size:.8rem;line-height:1.4;margin:0 0 8px}
  #contact-form .public-booking label{gap:0}
  #contact-form .public-booking .booking-help{font-size:.75rem;line-height:1.35;margin:8px 0 0}
  #contact-form .lead-form>button{min-height:38px;padding:9px 16px;line-height:1.25}
  #contact-form .lead-form>small{line-height:1.3}
}
@media(min-width:981px) and (max-height:740px){
  #contacto .hero-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
  #contacto .hero-copy h1{font-size:clamp(2.3rem,3.5vw,3.4rem)}
  #contacto .hero-copy>p{margin:12px 0}
  #contact-form{padding:12px 18px}
  #contact-form .lead-form{gap:4px 12px}
  #contact-form .lead-form input,#contact-form .lead-form select{height:34px}
  #contact-form .lead-form textarea{display:block;height:36px;min-height:36px}
  #contact-form .public-booking{padding:8px 10px}
  #contact-form .public-booking p{margin-bottom:6px}
  #contact-form .public-booking .booking-help{margin-top:6px}
}
