.booking-page{color:#101828;background:#fff;min-height:100vh}.booking-hero{background:#fff;padding:2rem 0 1rem}.booking-hero-inner{text-align:center;max-width:720px}.booking-hero h1{color:#101828;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:760;line-height:1.08}.booking-hero p{color:#667085;max-width:620px;margin:.6rem auto 0;font-size:.92rem;line-height:1.6}.booking-main-section{background:#fff;padding:.5rem 0 clamp(4rem,8vw,6rem)}.booking-container{max-width:900px}.booking-flow-card,.booking-success{background:#fff;border:1px solid #e4e7ec;border-radius:1.1rem;overflow:hidden;box-shadow:0 10px 30px #1018280d}.booking-card-head{background:#fff;border-bottom:1px solid #eef2f6;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.25rem;display:flex}.booking-card-head h2{color:#101828;letter-spacing:-.015em;margin:0;font-size:1.08rem;font-weight:750;line-height:1.25}.booking-card-head p{color:#667085;max-width:580px;margin:.3rem 0 0;font-size:.75rem;line-height:1.5}.booking-va-link{color:#5145cd;background:#fafaff;border:1px solid #e4e7ec;border-radius:.65rem;flex:none;padding:.45rem .65rem;font-size:.69rem;font-weight:720;text-decoration:none}.booking-va-link:hover{background:#f5f3ff;border-color:#c7d2fe}.booking-client-form>.hp{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.booking-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:.75rem;margin:1rem 1.25rem 0;padding:.75rem .85rem;font-size:.78rem}.booking-section{border-bottom:1px solid #eef2f6;padding:1.25rem}.booking-section:last-child{border-bottom:0}.booking-section-title{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.booking-section-title>span{color:#344054;font-size:.75rem;font-weight:760}.booking-section-title>p{color:#98a2b3;margin:0;font-size:.69rem}.booking-calendar-shell{background:#fafbff;border:1px solid #e7eaf0;border-radius:.9rem;padding:.85rem}.booking-date-tabs{scrollbar-width:thin;gap:.42rem;padding:0 0 .75rem;display:flex;overflow-x:auto}.booking-date-tabs button{color:#475467;cursor:pointer;background:#fff;border:1px solid #e1e5ec;border-radius:.65rem;flex:none;align-items:center;gap:.32rem;min-height:36px;padding:0 .68rem;font-size:.7rem;font-weight:680;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.booking-date-tabs button:hover{background:#f8f7ff;border-color:#c7d2fe}.booking-date-tabs button.is-active{color:#4338ca;background:#eef2ff;border-color:#a5b4fc}.booking-time-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;display:grid}.booking-time-grid button{color:#344054;cursor:pointer;background:#fff;border:1px solid #dfe3ea;border-radius:.62rem;min-height:40px;padding:.5rem .3rem;font-size:.74rem;font-weight:720;transition:transform .12s,border-color .15s,background .15s,color .15s}.booking-time-grid button:hover{background:#f8f7ff;border-color:#a5b4fc}.booking-time-grid button:active{transform:translateY(1px)}.booking-time-grid button.is-selected{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 5px 12px #4f46e529}.booking-selected-slot{color:#027a48;background:#f0fdf4;border:1px solid #abefc6;border-radius:.7rem;align-items:center;gap:.6rem;margin-top:.75rem;padding:.65rem .75rem;display:flex}.booking-selected-slot small,.booking-selected-slot strong{display:block}.booking-selected-slot small{color:#039855;letter-spacing:.06em;text-transform:uppercase;font-size:.58rem;font-weight:800}.booking-selected-slot strong{color:#065f46;margin-top:.08rem;font-size:.78rem}.booking-slot-hint{color:#98a2b3;margin:.65rem 0 0;font-size:.68rem}.booking-details-section{background:#fff}.booking-question-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.booking-question-grid .span-2{grid-column:1/-1}.booking-question-grid .field label{color:#475467;margin-bottom:.32rem;font-size:.7rem;font-weight:680;display:block}.booking-question-grid .field label span{color:#98a2b3;font-weight:500}.booking-question-grid .field input,.booking-question-grid .field textarea{color:#101828;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:.68rem;outline:none;padding:.68rem .75rem;font-size:.79rem;transition:border-color .15s,box-shadow .15s}.booking-question-grid .field textarea{resize:vertical;min-height:82px}.booking-question-grid .field input::placeholder,.booking-question-grid .field textarea::placeholder{color:#98a2b3}.booking-question-grid .field input:focus,.booking-question-grid .field textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px #6366f114}.booking-submit{width:100%;min-height:46px;box-shadow:none;background:#4f46e5;border-radius:.72rem;justify-content:center;margin-top:.9rem;font-size:.82rem}.booking-submit:hover:not(:disabled){background:#4338ca}.booking-submit:disabled{cursor:not-allowed;opacity:.48}.booking-consent{color:#98a2b3;text-align:center;margin:.55rem 0 0;font-size:.65rem}.booking-loading-times{color:#667085;background:#f8fafc;border:1px solid #e4e7ec;border-radius:.75rem;padding:.9rem;font-size:.76rem}.booking-no-slots{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:.75rem;padding:.9rem;font-size:.76rem}.booking-no-slots a{color:inherit;font-weight:750}.booking-success{background:#f6fef9;border-color:#d1fae5;grid-template-columns:auto 1fr;gap:1rem;padding:clamp(1.35rem,4vw,2rem);display:grid}.booking-success>span{color:#047857;background:#d1fae5;border-radius:999px;place-items:center;width:3rem;height:3rem;display:grid}.booking-success h2{color:#064e3b;margin:.2rem 0 .45rem;font-size:clamp(1.3rem,3vw,1.8rem)}.booking-success p{color:#40675a;margin:0;line-height:1.6}.booking-success-actions{flex-wrap:wrap;gap:.6rem;margin-top:.9rem;display:flex}@media (max-width:760px){.booking-hero{padding:1.45rem 0 .85rem}.booking-hero h1{font-size:clamp(1.75rem,8vw,2.2rem)}.booking-hero p{font-size:.84rem}.booking-card-head{flex-direction:column;padding:1rem}.booking-section{padding:1rem}.booking-section-title{flex-direction:column;align-items:flex-start;gap:.5rem}.booking-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-question-grid{grid-template-columns:1fr}.booking-question-grid .span-2{grid-column:auto}}@media (max-width:430px){.booking-main-section{padding-top:.35rem}.booking-flow-card,.booking-success{border-radius:.85rem}.booking-calendar-shell{padding:.7rem}.booking-time-grid{gap:.38rem}.booking-time-grid button{min-height:38px;font-size:.71rem}.booking-success{grid-template-columns:1fr}}
