.nearest-appointments{margin:1.5rem 0}.nearest-appointments h2{margin:0;font-size:1.25rem}.nearest-days{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;min-height:16rem;margin:.75rem 0;display:grid}.nearest-day{border:1px solid var(--border);background:#f7f9fc;border-radius:.65rem;min-width:0;padding:.65rem}.nearest-day h3{font:700 1rem/1.4 var(--font-body,sans-serif);margin:0 0 .65rem}.nearest-day-slots{scrollbar-gutter:stable;gap:.4rem;max-height:12rem;display:grid;overflow-y:auto}.nearest-day .choice-card{min-height:44px;padding:.55rem .4rem;font-size:.85rem;line-height:1.4}.nearest-day .choice-card input{flex-shrink:0}.slot-clocks{flex-wrap:wrap;justify-content:center;column-gap:.25em;display:flex}.slot-clock{white-space:nowrap}.nearest-days[aria-busy=true] .nearest-day{opacity:.6}[data-selection-status]{min-height:3em}@media (width<=540px){.nearest-days{grid-template-columns:1fr;min-height:32rem}.nearest-day-slots{grid-template-columns:repeat(2,minmax(0,1fr));max-height:8.8rem}}.choice-card:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:3px}.booking-fields input,.booking-fields textarea,.booking-fields select{font-weight:400}.booking-fields label{font-weight:600}.booking-title{letter-spacing:-.03em;margin:0 0 1.25rem;font-size:clamp(1.7rem,4vw,2.1rem)}.noscript-notice{border:1px solid var(--border);color:var(--ink);background:#fff;padding:1rem;line-height:1.6}.booking-shell{width:100%;max-width:1200px;min-height:calc(100svh - 4.75rem);margin:0 auto;padding:2rem 1.25rem 4rem}.preview-notice{color:#735312;background:#fff8e8;border:1px solid #e5bd6266;border-radius:.65rem;align-items:flex-start;gap:.7rem;margin-bottom:1.5rem;padding:.8rem 1rem;font-size:.875rem;line-height:1.5;display:flex}.preview-notice p{margin:0}.booking-grid{gap:1.5rem;display:grid}.booking-phone{text-align:center;min-width:0}.booking-phone-note{max-width:30rem;color:var(--ink);margin:0 auto .75rem;font-size:.875rem;line-height:1.5}.booking-shell .booking-phone-link{border-color:var(--blue);width:100%;min-height:3.25rem;color:var(--blue);padding:.8rem 1rem}.booking-phone-link>svg{flex:none}.booking-phone-link>span{flex-wrap:wrap;justify-content:center;gap:.2rem .55rem;display:flex}.booking-phone-number{white-space:nowrap}.booking-phone .field-note{margin-top:.5rem}.booking-card,.booking-summary,.booking-complete{background:#fff;border:1px solid #3037441a;border-radius:1rem;box-shadow:0 18px 60px #0b17330f}.booking-card{padding:1.25rem}.booking-progress{margin-bottom:2rem}.booking-progress>div{justify-content:space-between;gap:1rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.booking-progress span{color:var(--muted)}.booking-progress progress{width:100%;height:.35rem;color:var(--blue);background:#eef2f7;border:0;border-radius:99px;display:block;overflow:hidden}.booking-progress progress::-webkit-progress-bar{background:#eef2f7}.booking-progress progress::-webkit-progress-value{background:var(--blue)}.booking-progress progress::-moz-progress-bar{background:var(--blue)}.form-error{color:#a51e14;background:#eb2b1d14;border-radius:.55rem;margin:0 0 1rem;padding:.7rem .85rem;font-size:.85rem;font-weight:700}.booking-step{border:0;min-width:0;margin:0;padding:0}.booking-step>legend{color:var(--ink);letter-spacing:-.035em;padding:0;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:700}.step-copy{color:var(--muted);margin:.7rem 0 1.6rem;line-height:1.65}.choice-grid{gap:.55rem;display:grid}.choice-grid.two,.choice-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{min-height:3.5rem;color:var(--ink);text-align:center;background:#fff;border:1px solid #30374424;border-radius:.65rem;justify-content:center;align-items:center;gap:.65rem;padding:.7rem .85rem;font-size:.82rem;font-weight:700;transition:all .12s;display:flex;position:relative}.choice-card:hover{border-color:#1351b273}.choice-card:has(input:checked){border-color:var(--blue);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#1351b212}.choice-card input{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.choice-card.compact{min-height:3rem;padding:.55rem .65rem}.field-note{color:var(--muted);margin:.7rem 0 0;font-size:.75rem;line-height:1.6}.booking-shell [data-auth-note]{min-height:3.2em}.booking-fields{gap:1.15rem;margin-top:1.6rem;display:grid}.field-icon{align-items:center;gap:.45rem;display:inline-flex}.info-box{color:var(--blue);background:#1351b20f;border-radius:.7rem;align-items:flex-start;gap:.75rem;margin-top:1.4rem;padding:1rem;display:flex}.info-box p{color:var(--ink);margin:0;font-size:.84rem;line-height:1.65}.booking-offer-actions{flex-wrap:wrap;gap:.5rem;display:flex}.info-box .booking-offer-status{margin-bottom:.65rem}.booking-offer-details{margin-top:.25rem}.booking-offer-details>summary{width:fit-content;max-width:100%;min-height:44px;color:var(--muted);cursor:pointer;padding:.75rem 0;font-size:.8rem;line-height:1.5}.booking-offer-details>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.review-list{border:1px solid #3037441a;border-radius:.75rem;margin:1.5rem 0 0;overflow:hidden}.review-list>div{grid-template-columns:minmax(6rem,.35fr) minmax(0,1fr);gap:1rem;padding:.8rem 1rem;display:grid}.review-list>div+div{border-top:1px solid #30374414}.review-list dt{color:var(--muted);font-size:.75rem;font-weight:700}.review-list dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.85rem;font-weight:600}.consent-field{color:var(--ink);align-items:flex-start;gap:.7rem;margin-top:1.2rem;font-size:.84rem;font-weight:700;line-height:1.5;display:flex}.consent-field input{flex:none;width:1.1rem;height:1.1rem;min-height:0;margin-top:.15rem}.secure-note{color:var(--muted);align-items:center;gap:.45rem;margin-top:1rem;font-size:.73rem;display:flex}.booking-nav{border-top:1px solid #30374414;justify-content:flex-end;gap:.7rem;margin-top:2rem;padding-top:1.2rem;display:flex}.booking-summary{color:var(--blue);align-self:start;padding:1.4rem}.booking-summary .eyebrow{margin-top:1rem}.booking-summary h2{color:var(--ink);letter-spacing:-.035em;margin:.55rem 0 0;font-size:1.6rem}.booking-summary ul{color:var(--muted);gap:.75rem;margin:1.4rem 0 0;padding:0;font-size:.82rem;list-style:none;display:grid}.booking-summary li{align-items:flex-start;gap:.5rem;display:flex}.booking-summary li svg{color:var(--blue);flex:none}.summary-progress{color:var(--ink);border-top:1px solid #30374414;margin:1.5rem 0 0;padding-top:1rem;font-size:.75rem;font-weight:700}.booking-complete{max-width:48rem;margin:1rem auto 0;padding:2rem}.booking-complete>span{width:3.5rem;height:3.5rem;color:var(--blue);background:#1351b21a;border-radius:.75rem;place-items:center;display:grid}.booking-complete .eyebrow{margin-top:1.8rem}.booking-complete h2{letter-spacing:-.045em;margin:.7rem 0 0;font-size:clamp(2rem,7vw,3.4rem);line-height:1}.booking-complete>p:not(.eyebrow){color:var(--muted);line-height:1.7}@media (width>=640px){.booking-shell{padding:2.5rem 2rem 5rem}.booking-card{padding:2rem}.booking-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-fields .span-all{grid-column:1/-1}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=768px){.booking-grid{grid-template-columns:minmax(0,1fr) 18rem;align-items:start}.booking-summary{position:sticky;top:1rem}}.booking-shell .booking-grid{grid-template-columns:minmax(0,1fr)}.booking-shell .booking-card{min-width:0;padding:clamp(1rem,3vw,2rem)}.booking-shell .field input,.booking-shell .field textarea,.booking-shell .field select{font-size:max(1rem,16px)}.booking-shell .booking-summary{min-width:0;position:static}.booking-shell .preview-notice>svg,.booking-shell .info-box>svg{flex:none;margin-top:.15rem}.booking-shell .booking-question{border:0;min-width:0;margin:1.5rem 0 0;padding:0}.booking-shell .booking-question>legend{margin-bottom:.65rem;padding:0;font-size:.9rem;font-weight:600}.booking-shell .booking-question:first-of-type{margin-top:0}.booking-shell .booking-question.slot-question,.booking-shell .booking-question.payment-question{margin-top:1.5rem}.booking-shell .choice-card{border-radius:.35rem;min-width:0;font-weight:600}.booking-shell .provider-options{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-shell .age-options{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-shell .provider-choice{flex-direction:column;gap:.6rem;padding:.9rem .4rem}.booking-shell .age-options .choice-card{padding-inline:.2rem;font-size:.8rem}.booking-shell .service-options{grid-template-columns:minmax(0,1fr)}.booking-shell .service-option{flex-direction:column;gap:.5rem;min-width:0;display:flex}.booking-shell .service-choice{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:.25rem;min-height:5.25rem;padding:.85rem 1rem}.booking-shell .service-choice-heading{width:100%;color:var(--ink);align-items:baseline;display:flex}.booking-shell .service-choice-heading strong{font-size:1rem}.booking-shell .service-choice>span{color:var(--muted);font-size:.83rem;font-weight:400;line-height:1.5}.booking-shell .service-more{border:1px solid var(--border);color:var(--ink);background:#fbfcfe;border-radius:.35rem;overflow:hidden}.booking-shell .service-more summary{min-height:44px;color:var(--blue);cursor:pointer;align-items:center;padding:.65rem .8rem;font-size:.8rem;font-weight:600;display:flex}.booking-shell .service-more summary:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.booking-shell .service-more-body{color:var(--muted);padding:0 .9rem .9rem;font-size:.84rem;line-height:1.6}.booking-shell .service-more-body p{margin:0}.booking-shell .service-more-body p+p{margin-top:.7rem}.booking-shell .maintenance-scope,.booking-shell .supported-systems{color:var(--muted);margin:.7rem 0 0;padding-left:1.15rem;font-size:.8rem;font-weight:400;line-height:1.55}.booking-shell .maintenance-scope li+li,.booking-shell .supported-systems li+li{margin-top:.25rem}.booking-shell .repair-questions{border:0;border-top:1px solid var(--border);min-width:0;margin:1.5rem 0 0;padding:1.5rem 0 0}.booking-shell .repair-questions .booking-question{margin-top:1.5rem}.booking-shell .equipment-exclusions{border-top:1px solid var(--border);color:var(--muted);margin-top:1.5rem;padding-top:1rem;font-size:.8rem;line-height:1.6}.booking-shell .equipment-exclusions strong{color:var(--ink);font-weight:600}.booking-shell .equipment-exclusions p{margin:.25rem 0 0}.booking-shell .booking-date-field{max-width:24rem}.booking-shell .booking-price-summary{background:#f4f7fc;border:1px solid #c9d9f1;border-radius:.5rem;margin:1.25rem 0;padding:1rem}.booking-shell .booking-price-summary strong{color:var(--blue);font-size:1rem}.booking-shell .booking-price-summary p{color:var(--muted);margin:.35rem 0 0;font-size:.83rem;line-height:1.55}.booking-shell .arrival-options{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.booking-shell .arrival-options .choice-card{font-variant-numeric:tabular-nums;min-height:3.5rem;padding-inline:.45rem;font-size:.8rem}.booking-shell .booking-payment{background:#f4f7fc;border:1px solid #c9d9f1;border-radius:.5rem;margin:1.25rem 0 0;padding:1.1rem}.booking-shell .booking-payment>div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.booking-shell .booking-payment>div>span{font-size:.95rem;font-weight:600}.booking-shell .booking-payment strong{color:var(--blue);font-size:1.9rem;font-weight:600}.booking-shell .booking-payment p{color:var(--muted);margin:.4rem 0 0;font-size:.83rem;line-height:1.6}.booking-shell .payment-question>legend{align-items:center;gap:.5rem;display:flex}.booking-shell .demo-payment-choice{text-align:left;justify-content:flex-start;gap:.8rem}.booking-shell .demo-payment-choice>svg{flex:none}.booking-shell .demo-payment-choice>svg:last-child{opacity:0;margin-left:auto}.booking-shell .demo-payment-choice:has(input:checked)>svg:last-child{opacity:1}.booking-shell .demo-payment-choice strong{font-size:.9rem;font-weight:600;display:block}.booking-shell .demo-payment-choice small{color:var(--muted);margin-top:.2rem;font-weight:400;line-height:1.5;display:block}.booking-shell .booking-terms{border:1px solid var(--border);border-radius:.4rem;margin-top:1.5rem}.booking-shell .booking-terms summary{min-height:44px;color:var(--blue);cursor:pointer;padding:1rem;font-size:.9rem;font-weight:600}.booking-shell .booking-terms>div{color:var(--muted);padding:0 1rem 1rem;font-size:.84rem;line-height:1.7}.booking-shell .booking-terms>.terms-plain{white-space:pre-line}.booking-shell .booking-terms section+section{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.booking-shell .booking-terms h3{color:var(--ink);margin:0;font-size:.9rem}.booking-shell .booking-terms p{margin:.55rem 0 0}.booking-shell .booking-terms a{color:var(--blue);text-underline-offset:3px;font-weight:700;text-decoration:underline}.booking-shell .booking-terms ul{padding-left:1.2rem}.booking-shell .booking-terms li+li{margin-top:.45rem}.booking-shell .booking-terms>p{color:var(--muted);padding:0 1rem 1rem;font-size:.84rem}.booking-shell .consent-field{cursor:pointer;align-items:flex-start;min-height:44px;font-weight:400}.booking-shell .consent-field strong{font-weight:600}.booking-shell .consent-field input{accent-color:var(--blue)}.booking-shell .optional-consent{color:var(--muted)}.booking-shell .secure-note{align-items:flex-start;line-height:1.5}.booking-shell .secure-note>svg{flex:none}.booking-shell .booking-step-list{gap:.65rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.booking-shell .booking-step-list>li{color:var(--muted);align-items:center;gap:.6rem;font-size:.88rem;display:flex}.booking-shell .booking-step-list>li>span{border:1px solid var(--border);border-radius:.3rem;flex:none;place-items:center;width:1.7rem;height:1.7rem;font-size:.78rem;display:grid}.booking-shell .booking-step-list>li[aria-current=step]{color:var(--blue);font-weight:600}.booking-shell .booking-step-list>li[aria-current=step]>span{background:var(--blue);color:#fff;border-color:var(--blue)}.booking-shell .confirmation-next{border:1px solid var(--border);border-radius:.5rem;margin:1.5rem 0;padding:1.25rem}.booking-shell .confirmation-next h3{margin:0;font-size:1rem}.booking-shell .confirmation-next ul{color:var(--ink);overflow-wrap:anywhere;margin:1rem 0 0;padding-left:1.2rem;font-size:.9rem;line-height:1.7}.booking-shell .confirmation-next li+li{margin-top:.65rem}.booking-shell .confirmation-next p{color:var(--muted);margin-bottom:0;font-size:.8rem;line-height:1.6}.booking-shell .booking-nav .button-primary{min-width:0}.booking-shell .booking-nav .button-primary>span{overflow-wrap:anywhere}@media (width>=600px){.booking-shell .provider-choice{flex-direction:row}.booking-shell .service-options{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-shell .service-option{align-self:start}}@media (width>=1024px){.booking-shell .booking-grid{grid-template-columns:minmax(0,1fr) 17rem;align-items:start}.booking-shell .booking-card{grid-area:1/1}.booking-shell .booking-phone{grid-area:2/1}.booking-shell .booking-summary{grid-area:1/2/3;position:sticky;top:1rem}}@media (width<=389px){.booking-shell{padding-inline:.85rem}.booking-shell .arrival-options{grid-template-columns:minmax(0,1fr)}.booking-shell .booking-complete{padding:1.25rem}.booking-shell .review-list>div{grid-template-columns:minmax(0,1fr);gap:.25rem}}.provider-choice:disabled{opacity:.55;cursor:not-allowed}.booking-promo{margin:1rem 0}.booking-promo>summary{cursor:pointer;color:var(--blue);padding:.6rem 0}.booking-promo-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.booking-promo-controls input{text-transform:uppercase;flex:10rem;min-width:0}.booking-promo-controls button{flex:none}[data-email-sign-in]{gap:1rem;margin-block:1rem;display:grid}[data-email-sign-in][hidden]{display:none}[data-code-entry]{gap:1rem;display:grid}[data-code-entry][hidden]{display:none}[data-approved-terms]{white-space:pre-line}.address-combobox{position:relative}.address-suggestions{z-index:12;background:#fff;border:1px solid #c5d2df;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 20px #19344f1a}.address-suggestions[hidden]{display:none}.address-suggestions ul{max-height:15rem;margin:0;padding:0;list-style:none;overflow-y:auto}.address-suggestions [role=option]{cursor:pointer;overflow-wrap:anywhere;border-bottom:1px solid #e2e8ef;min-height:44px;padding:12px 14px;font-size:1rem;line-height:1.4}.address-suggestions [role=option]:hover,.address-suggestions [aria-selected=true]{color:#194c7c;background:#edf4fa}.address-suggestions .field-note{margin:0;padding:8px 12px;font-size:.75rem}.address-suggestions a{color:inherit;text-decoration:underline}
