.booking-heading{padding-top:40px;padding-bottom:26px}.booking-heading h1{font-size:clamp(2.2rem,5vw,4rem);margin:10px 0 14px;line-height:1.05}.booking-heading>p{max-width:720px;font-size:1.0625rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;padding-bottom:70px;align-items:start}.booking-layout>div{grid-column:1;grid-row:1}.request-summary{grid-column:2;grid-row:1;background:#153e58;color:#fff;padding:26px;border-radius:18px;position:sticky;top:125px}.request-summary h2{font-size:1.7rem;line-height:1.1;margin:12px 0 24px}.request-summary .eyebrow{color:#9fe7dc}.request-summary .fine{color:#d6e9ec}.request-summary dl{margin:0}.request-summary dl>div,.final-summary>div{position:relative;padding:14px 45px 14px 0;border-bottom:1px solid #ffffff30}.request-summary dt{font-size:.875rem;color:#bce8e7}.request-summary dd{margin:6px 0;font-size:1rem;line-height:1.45;overflow-wrap:anywhere}.summary-edit{background:none;border:0;color:inherit;text-decoration:underline;position:absolute;right:0;top:16px;font-size:.875rem;cursor:pointer}.summary-contact{display:grid;gap:9px;border-top:1px solid #ffffff30;margin-top:24px;padding-top:20px}.summary-contact a{font-size:.95rem;color:#fff}.booking-progress{display:flex;list-style:none;padding:0;gap:12px;margin:12px 0 24px}.booking-progress li{border-bottom:3px solid #b5c7c7;padding:12px 0;flex:1;font-size:.875rem;line-height:1.3;color:#465867}.booking-progress [aria-current=step]{border-color:#125d82;color:#123e59;font-weight:700}.booking-progress span{display:inline-block;margin-left:5px}.booking-layout fieldset{margin-top:12px}.booking-layout legend{font-size:1.8rem;line-height:1.2}.request-type{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:22px}.check-label{display:flex!important;align-items:center;gap:10px;font-size:1rem!important;cursor:pointer}.check-label input{width:20px!important;min-height:20px!important;margin:0!important;accent-color:#126789}.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 28px}.service-choice{position:relative;display:flex!important;align-items:flex-start;gap:12px;min-height:135px;background:#d9ece9;border:2px solid #a8c6c4;border-radius:12px;padding:20px 16px!important;cursor:pointer;margin:0!important}.service-choice:nth-child(2){background:#f7ddbd}.service-choice:nth-child(3){background:#dae7f5}.service-choice:nth-child(4){background:#d0e5dc}.service-choice:nth-child(5){background:#e7e7d4}.service-choice:has(input:checked){border-color:#164f83;box-shadow:0 0 0 2px #164f83}.service-choice:has(input:focus-visible){outline:3px solid #de672b;outline-offset:4px}.service-choice input{position:absolute;opacity:0;width:1px!important;height:1px;min-height:1px!important}.service-choice strong{display:block;font-size:1.1rem;line-height:1.2;padding-right:10px}.service-choice small{display:block;font-size:.875rem;line-height:1.45;margin-top:9px;color:#344858}.service-number{color:#486074;font-size:.875rem}.service-tick{margin-left:auto;opacity:0;color:#164f83;font-weight:bold}.service-choice:has(input:checked) .service-tick{opacity:1}.enhanced-booking .service-fallback{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.booking-layout input,.booking-layout textarea,.booking-layout select{font-size:1rem}.booking-layout h2{font-size:1.5rem;line-height:1.2;margin:26px 0 14px}.visit-preference,.photo-picker{padding:4px 0 22px;border-top:1px solid #728a9250;margin-top:22px}.calendar{max-width:440px;background:#dcecf0;border:1px solid #94b5c3;border-radius:14px;padding:18px;margin:18px 0}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-heading button{background:#fff8;border:1px solid #90b0bf;border-radius:7px;min-width:44px;min-height:44px;font-size:1.5rem}.calendar-days,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.calendar-week{font-size:.875rem;color:#365265;margin-bottom:9px}.calendar-days button{border:1px solid transparent;background:transparent;border-radius:7px;min-height:44px;font-size:1rem;cursor:pointer}.calendar-days button:hover:not(:disabled){background:#c0d7e2}.calendar-days button[aria-pressed=true]{background:#18578a;color:#fff}.calendar-days button:disabled{opacity:.35;cursor:default}.calendar button:focus-visible,.summary-edit:focus-visible{outline:3px solid #cb5a22;outline-offset:2px}.booking-actions{border-top:1px solid #728a9250;padding-top:24px;margin-top:16px}.final-summary{background:#d9ebe7;padding:8px 20px;border-radius:14px;margin-bottom:25px}.final-summary>div{border-color:#22495b30}.final-summary p{margin:4px 0}.final-summary strong{font-size:.875rem;color:#335568}.optional-tag{font-size:.875rem;font-weight:400}.booking-layout [hidden],.quote-review [hidden],.quote-card [hidden]{display:none!important}#quote-status:not(:empty){background:#dae9e8;padding:20px;border-left:4px solid #18578a;font-size:1rem}.quote-review{max-width:850px}.quote-review h2{font-size:1.7rem;line-height:1.2}.quote-total{font-size:2.7rem;font-weight:750;margin:16px 0}.quote-scope{white-space:pre-wrap;overflow-wrap:anywhere}.quote-state{display:inline-block;padding:8px 14px;background:#174e70;color:white;border-radius:6px;font-size:1rem}.quote-review form{padding:24px;background:#d3e8e1;border-radius:14px;margin-top:24px}.quote-review .actions{flex-wrap:wrap}.owner-editor{background:#e0ebea;padding:22px;border-radius:12px;margin-top:20px}.owner-editor label{display:block;margin:12px 0}.owner-editor input,.owner-editor textarea{width:100%;font:inherit;padding:10px;border:1px solid #718898;border-radius:6px}.owner-editor textarea{min-height:130px}.owner-editor input[type=checkbox]{width:auto}.owner-editor .check-label{font-weight:400}.owner-editor summary{cursor:pointer;font-weight:700;font-size:1.2rem}.owner-link{display:block;overflow-wrap:anywhere;padding:12px;background:#fff8}.photo-links{display:flex;gap:15px;flex-wrap:wrap}.owner-flow-state{font-weight:700;color:#164f72}.owner-action-status{white-space:pre-wrap}.nav .appointment-link{font-weight:700;text-decoration:underline;text-underline-offset:5px}.service-details-extra{padding:28px;background:#d5e8e4;border-radius:14px;margin:26px 0}.service-details-extra h3{font-size:1.4rem}.service-details-extra p{max-width:70ch}.business-callout{background:#16475d;color:white;padding:34px;border-radius:16px;margin-top:32px}.business-callout h3{color:white}.business-callout a{color:white}.business-callout p{color:#e0eff0}.utility .quote-card h2{font-size:1.7rem}.utility .quote-card{background:#f2e5ca}
@media(max-width:1100px){.nav{gap:14px!important}.nav .small{display:none}.booking-layout{gap:24px;grid-template-columns:minmax(0,1fr) 280px}.request-summary{padding:20px;top:100px}}
@media(max-width:760px){.booking-heading{padding-top:25px}.booking-heading h1{font-size:2.5rem}.booking-layout{display:flex;flex-direction:column;gap:26px}.booking-layout>div{width:100%;order:0}.request-summary{position:static;width:100%;order:1}.service-choices{gap:10px}.service-choice{padding:16px 12px!important;min-height:145px}.service-number{display:none}.service-choice strong{font-size:1rem}.booking-progress{gap:8px}.booking-progress li{font-size:.875rem}.booking-progress span{margin-left:0;display:block}.calendar{max-width:none;padding:12px}.booking-actions .button{flex:1;justify-content:center}.quote-total{font-size:2.3rem}.owner-editor{padding:16px}.mobile-bar .button{font-size:.875rem;padding:12px 10px}.quote-review form{padding:18px}}
.booking-layout label,.owner-editor label,.quote-review label{font-size:1rem}.booking-layout .fine,.quote-review .fine{font-size:.875rem}.booking-layout .button,.quote-review .button,.owner-editor .button{font-size:.9375rem}.booking-layout .eyebrow,.quote-review .eyebrow{font-size:.875rem;letter-spacing:.1em}.booking-layout #step-status{font-size:.875rem}.quote-review label{display:block;margin:16px 0}.quote-review .check-label{display:flex}.quote-review input,.quote-review textarea{font-size:1rem}.quote-review input[type=checkbox]{width:20px;min-height:20px}.quote-review .check-label{align-items:flex-start}.quote-review .check-label input{flex-shrink:0;margin-top:4px!important}.nav .appointment-link{font-size:.875rem}
@media(max-width:760px){.mobile-bar{grid-template-columns:.6fr .6fr 1.8fr}.mobile-bar a{white-space:normal;text-align:center}.nav.open .small{display:inline-flex}.booking-layout .form-row{grid-template-columns:1fr}}
@media(max-width:380px){.service-choices{grid-template-columns:1fr}.service-choice{min-height:100px}}
