.contact-overview{display:grid;grid-template-columns:.85fr 1.2fr;gap:clamp(35px,6vw,90px);align-items:start;padding-top:20px;padding-bottom:65px}.contact-details{background:var(--navy);color:white;border-radius:20px;padding:36px}.contact-details h2,.contact-form-panel h2{font-size:32px;line-height:1.14;margin-bottom:25px}.contact-details>a{display:flex;width:fit-content;max-width:100%;margin-bottom:17px;text-decoration:none;overflow-wrap:anywhere}.contact-phone{color:var(--accent);font-size:27px;font-weight:700;line-height:1.3}.contact-email{font-size:17px}.contact-details .contact-whatsapp{background:var(--accent);color:var(--navy);margin:26px 0}.contact-details p{color:white;font-size:16px;line-height:1.7;margin:0 0 20px}.contact-details .contact-rate{margin-bottom:0}.contact-rate strong{white-space:nowrap}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.contact-form-panel input,.contact-form-panel textarea{width:100%;font-size:16px;padding:12px;min-height:48px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.8);color:var(--navy)}.contact-form-panel textarea{resize:vertical;min-height:150px}.contact-form-panel .field{margin-bottom:20px}.contact-form-panel label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.contact-form-note{font-size:12px;color:var(--muted);margin-top:18px}.contact-status{padding:16px;border-radius:12px;background:white;line-height:1.6;color:var(--navy);margin-top:20px}.contact-status[data-error=true]{color:var(--error,#AD172B);border:1px solid currentColor}.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.appointment-section{padding-top:15px;padding-bottom:60px;scroll-margin-top:120px}.appointment-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:25px}.appointment-heading h2{font-size:clamp(34px,4vw,48px);line-height:1.1;margin-bottom:18px}.appointment-heading p{font-size:17px;max-width:46ch;color:var(--muted);margin:0}.appointment-heading .text-link{flex:none}@media(max-width:760px){.contact-overview{grid-template-columns:1fr;gap:38px;padding-top:5px;padding-bottom:40px}.contact-details{padding:26px 22px}.contact-details h2,.contact-form-panel h2{font-size:28px}.contact-phone{font-size:26px}.contact-fields{grid-template-columns:1fr}.contact-form-panel button{width:100%}.appointment-heading{display:block}.appointment-heading .text-link{margin-top:15px}.appointment-heading p{font-size:16px}.booking-calendar{min-height:900px;border-radius:14px}.booking-calendar iframe{height:1000px}}

.appointment-form{padding:34px;background:white;border-radius:20px;max-width:880px}.appointment-time{display:grid;grid-template-columns:1fr 1fr;gap:20px}.appointment-form .field{margin-bottom:20px}.appointment-form label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}.appointment-form label span{font-weight:400;color:var(--muted)}.appointment-form input:not([type=hidden]),.appointment-form textarea{width:100%;min-width:0;max-width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:16px;color:var(--navy);background:var(--surface)}.appointment-time input{font-weight:600}.appointment-form textarea{min-height:100px;resize:vertical}.appointment-zone{font-size:13px;color:var(--muted);margin:-8px 0 25px}.appointment-time input::-webkit-date-and-time-value{text-align:left}
@media(max-width:760px){.appointment-form{padding:24px 18px}.appointment-time{gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.appointment-form button{width:100%}.appointment-time input{padding:10px 8px;min-height:52px}}
/* One onboard appointment card, with its payment step at the end. */
.appointment-panel{min-width:0;scroll-margin-top:120px}.appointment-panel .appointment-form{max-width:none}.appointment-form h2{font-size:32px;line-height:1.12;margin-bottom:28px}.appointment-payment{margin-top:30px;padding:24px;background:var(--accent);border-radius:14px;color:var(--navy)}.appointment-payment h3{font-size:18px;line-height:1.3;margin:0 0 14px}.appointment-payment .appointment-amount{font-size:42px;line-height:1.1;font-weight:700;margin-bottom:16px}.appointment-payment p{font-size:14px;line-height:1.6;color:var(--navy)}.appointment-payment .button{background:white;color:var(--navy);font-size:14px;justify-content:space-between;width:100%}.appointment-payment .payment-time-note{font-size:12px;line-height:1.5;margin:15px 0 0}.appointment-payment [aria-disabled=true]{opacity:.6;pointer-events:none}
@media(max-width:760px){.appointment-form h2{font-size:28px}.appointment-panel .appointment-form{padding:24px 18px}.appointment-payment{margin-inline:-3px;padding:20px 16px}.appointment-payment .button{font-size:13px;gap:12px}}
