.booking-page{padding:3rem 2rem 5rem;background:var(--color-cream)}.booking-layout{display:grid;grid-template-columns:minmax(0,310px) minmax(0,1fr);gap:clamp(2.5rem,5vw,5rem);max-width:1200px;margin-inline:auto;align-items:start}.booking-intro,.booking-main{min-width:0}.booking-eyebrow{color:var(--color-slate-teal);font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.25rem}.booking-intro h1{font-family:var(--font-heading);font-weight:500;font-size:3.5rem;line-height:1.05;margin-bottom:1.25rem}.booking-intro-copy{color:var(--color-charcoal-light);font-size:1rem;line-height:1.75}.booking-reviews{margin-top:1.5rem}.booking-reviews [data-review-count]{color:var(--color-charcoal-light)}.booking-photo{display:block;width:100%;height:300px;object-fit:cover;margin-top:2rem}.booking-help{border-top:1px solid var(--color-taupe);margin-top:2rem;padding-top:1.25rem;font-size:.9375rem}.booking-help summary,.booking-records summary{cursor:pointer;color:var(--color-slate-teal-dark);padding-block:.5rem;font-weight:500}.booking-help-content{padding-top:1rem}.booking-help-content select{width:100%;font-size:1rem}.booking-help-content a{display:inline-block;margin-right:1rem}#booking-form{padding:2.5rem;background:var(--color-warm-white);color:var(--color-charcoal)}#booking-form fieldset{min-width:0}#booking-form legend{float:left;width:100%;font-size:1.875rem;line-height:1.15;margin-bottom:.75rem}#booking-form legend+*{clear:both}#booking-form p{line-height:1.65}#booking-form .text-xs{font-size:.8125rem;line-height:1.6}#booking-form label.block{margin-bottom:.5rem}#booking-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){max-width:100%;min-width:0;border:1px solid var(--color-taupe);border-radius:0;background:#fff;font-family:var(--font-body);font-size:1rem;line-height:1.5;padding:.8rem .875rem;min-height:3.125rem;scroll-margin-top:7rem}#booking-form textarea{resize:vertical}#booking-form .grid:has(>div>:is(#zip,#c_zip)){grid-template-columns:minmax(0,2fr) minmax(0,1.25fr) minmax(6.5rem,1fr)}#booking-form .grid>div:has(>:is(#address1,#address2,#c_address1,#c_address2)){grid-column:1 / -1}#booking-form .grid>div:has(>:is(#city,#stateRegion,#zip,#c_city,#c_stateRegion,#c_zip)){grid-column:auto}#booking-form input::placeholder,#booking-form textarea::placeholder{color:#73716e}#booking-form :is(input[type=radio],input[type=checkbox]){width:1.125rem;height:1.125rem;flex-shrink:0;accent-color:var(--color-slate-teal)}#booking-form :is(input,select,textarea):focus-visible,.booking-page :is(summary,a,button,select):focus-visible{outline:2px solid var(--color-slate-teal);outline-offset:3px}#cleaning-type-grid{gap:0 1.5rem}#cleaning-type-grid>label{border:0;border-bottom:1px solid var(--color-taupe-light);padding:1rem .625rem;line-height:1.45}#cleaning-type-grid>label:has(input:checked){background:#e8efec;box-shadow:inset 3px 0 var(--color-slate-teal)}#cleaning-type-grid>label:hover{background:#f0f2ed}#cleaning-type-grid>label>span>span:first-child{font-size:.9375rem}#cleaning-type-grid>label>span>span:last-child{font-size:.8125rem}#booking-form label:has(input[name=conditions]),#booking-form label:has(input[name=hasPets]),#booking-form label:has(input[name=contactPreference]){min-height:2.75rem;line-height:1.45}.booking-records{margin-top:1.25rem;border-bottom:1px solid var(--color-taupe-light);padding-bottom:.75rem;font-size:.875rem}.booking-records-content{padding:1rem 0}#booking-form #addons-grid>label{padding:1rem}#booking-form #addons-grid>label:has(input:checked){background:#e8efec}#booking-form #post-construction-ack{background:var(--color-cream)}#booking-form #post-construction-ack .pc-scope>div>div{padding:1.25rem;border:0}#booking-form #submit-btn{width:100%;min-height:3.5rem;padding-inline:1rem}.booking-next{background:var(--color-warm-white)}.quote-name-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.quote-marketing-choice{margin-block:1.5rem;padding-block:1.25rem;border-block:1px solid var(--color-taupe-light)}#booking-form .quote-fine-print{font-size:.8125rem;line-height:1.6;color:var(--color-charcoal-light)}.quote-policy-links{font-size:.8125rem;margin-top:.5rem}.quote-policy-links a{color:var(--color-slate-teal-dark);text-decoration:underline;text-underline-offset:3px}.quote-start-button{display:flex;align-items:center;justify-content:center;gap:1.5rem;width:100%;min-height:3.5rem;margin-top:1.5rem;padding:1rem;background:var(--color-slate-teal);color:var(--color-warm-white);text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;font-weight:500;cursor:pointer}.quote-start-button:hover{background:var(--color-slate-teal-dark)}.quote-start-button:disabled{opacity:.65;cursor:wait}.quote-saved-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:.5rem}#quote-contact-summary{clear:both}.quote-saved-row>div{min-width:0}#quote-saved-contact{overflow-wrap:anywhere}.quote-edit-button{padding:.5rem;color:var(--color-slate-teal-dark);text-decoration:underline;text-underline-offset:3px;font-size:.875rem;cursor:pointer}.quote-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#contact-section{scroll-margin-top:7rem}#booking-form legend,#thank-you h2{scroll-margin-block:7rem 1.5rem}@media(max-width:1023px){.booking-layout{display:block;max-width:800px}.booking-intro h1{font-size:3rem}.booking-intro-copy{max-width:36rem}.booking-photo{display:none}.booking-main{margin-top:2rem}.booking-page #booking-form{padding:1.75rem}}@media(max-width:767px){.booking-page{padding:2rem 1.25rem 3rem}.booking-layout{display:block}.booking-eyebrow{margin-bottom:1rem;font-size:.6875rem}.booking-intro h1{font-size:2.625rem;margin-bottom:.875rem}.booking-intro-copy{max-width:32rem}.booking-reviews{margin-top:1.25rem}.booking-photo{display:none}.booking-help{margin-top:1.25rem;padding-top:.5rem}.booking-main{margin-top:2rem}.booking-page #booking-form{padding:1.75rem 1.25rem}#booking-form legend{font-size:1.75rem}#cleaning-type-grid{grid-template-columns:minmax(0,1fr)}#booking-form fieldset,#booking-form>div{scroll-margin-top:6rem}#booking-form .grid:has(input[name=conditions]){grid-template-columns:minmax(0,1fr)}#booking-form .grid:has(>div>:is(#zip,#c_zip)){grid-template-columns:minmax(0,1fr)}#booking-form #post-construction-ack{padding:1rem}#booking-form #post-construction-ack .pc-scope>div>div{padding:1rem}#booking-form #partial-details{padding-left:0}}@media(max-width:359px){.booking-page,.booking-page #booking-form{padding-inline:1rem}.booking-intro h1{font-size:2.375rem}}.field-error-flash{outline:2px solid #b91c1c;outline-offset:2px}
