@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap";@font-face{font-family:Cabinet Grotesk;src:url(/assets/CabinetGrotesk-Bold-BAQZSB8G.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cabinet Grotesk;src:url(/assets/CabinetGrotesk-Extrabold-eFfhzJI9.otf)format("opentype");font-weight:800;font-style:normal;font-display:swap}:root{color:#25333a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:Montserrat,sans-serif}*{box-sizing:border-box}html{background:#fff}body{background:#fff;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}:root{--blue:#3e9ad6;--green:#2da942;--green-dark:#238c36;--ink:#25333a;--muted:#5d6a70;--line:#dbe3e5;--pale:#eef7fb;--pale-green:#effaf1;--danger:#b42318;--cabinet:"Cabinet Grotesk","Montserrat",sans-serif;--summary-width:246px;--stage-gap:18px;--contact-width:690px}.calculator{width:min(100%,800px);color:var(--ink);margin:0 auto;padding:30px 20px 42px}.calculator--compact{background:0 0;align-items:center;width:100%;max-width:none;min-height:100vh;padding:0;display:grid}.calculator-header{margin-bottom:24px}.eyebrow{color:var(--blue);letter-spacing:.12em;margin:0 0 8px;font-size:.72rem;font-weight:800;line-height:1.25}h1,h2{font-family:var(--cabinet);color:var(--ink);text-transform:uppercase;letter-spacing:.01em;margin:0;font-weight:800}h1{max-width:700px;font-size:clamp(1.8rem,5vw,3rem);line-height:1.04}h2{font-size:clamp(1.35rem,4vw,1.8rem);line-height:1.1}.intro{max-width:620px;color:var(--muted);margin:11px 0 0;font-size:.98rem;line-height:1.55}.stepper{width:calc(100% - var(--summary-width) - var(--stage-gap));border:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#f8fbfc 100%);border-radius:13px;align-items:flex-start;gap:0;margin:24px 0 18px;padding:15px 17px;list-style:none;display:flex;box-shadow:0 8px 22px #25333a09}.stepper--contact{width:min(100%,var(--contact-width));margin-bottom:22px}.stepper li{color:#8d999f;white-space:nowrap;align-items:center;min-width:0;font-size:.78rem;font-weight:700;display:flex}.stepper li:not(:last-child):after{content:"";background:#d8dee1;width:clamp(18px,7vw,76px);height:2px;margin:0 9px}.stepper span{aspect-ratio:1;background:#fff;border:2px solid #cbd4d9;border-radius:50%;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:.75rem;display:grid}.stepper b{margin-left:7px}.stepper .is-current,.stepper .is-complete{color:var(--ink)}.stepper .is-current span,.stepper .is-complete span{border-color:var(--green);background:var(--green);color:#fff}.stepper .is-complete:not(:last-child):after{background:var(--green)}.calculator-stage{grid-template-columns:minmax(0, 1fr) var(--summary-width);gap:var(--stage-gap);align-items:start;display:grid}.mobile-price-summary{display:none}.desktop-price-summary{display:block}.panel,.price-summary{border:1px solid var(--line);background:#fff;border-radius:13px;box-shadow:0 10px 28px #25333a0e}.calculator-form,.contact-form{padding:25px}.field,fieldset{color:var(--ink);border:0;margin:0 0 19px;padding:0;font-size:.9rem;font-weight:700;display:block}.required-marker{color:var(--danger)}.field>input,.field>select,.field>textarea{margin-top:7px}input,select,textarea{width:100%;min-width:0;max-width:100%;min-inline-size:0;box-sizing:border-box;min-height:46px;color:var(--ink);background:#fff;border:1px solid #b8c6ca;border-radius:9px;outline:0;padding:11px 13px;font-size:16px;transition:border-color .18s,box-shadow .18s}input[type=date]{appearance:none;inline-size:100%}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m1 1 7 7 7-7' fill='none' stroke='%2325333a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px 10px;border-radius:9px;height:46px;min-height:46px;padding:11px 46px 11px 13px;font-weight:500;line-height:1.35}textarea{resize:vertical;min-height:92px}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3e9ad629}input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);margin:6px 0 0;font-size:.78rem;font-weight:600;line-height:1.35;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.info-disclosure{vertical-align:middle;display:inline-block;position:relative}.info-disclosure summary{color:#4f859e;width:19px;height:19px;font-family:var(--cabinet);cursor:pointer;border:1px solid #9db4be;border-radius:50%;place-items:center;font-size:.73rem;font-weight:800;line-height:1;list-style:none;transition:border-color .16s,background .16s,color .16s;display:grid}.info-disclosure summary::-webkit-details-marker{display:none}.info-disclosure summary:hover,.info-disclosure[open] summary{border-color:var(--blue);background:var(--blue);color:#fff}.info-disclosure summary:focus-visible{outline-offset:2px;outline:3px solid #3e9ad64d}.info-disclosure__content{z-index:10;top:calc(100% + 8px);left:var(--info-panel-left,0px);width:var(--info-panel-width,min(275px,calc(100vw - 32px)));box-sizing:border-box;color:var(--muted);background:#f1f9fd;border:1px solid #c9e1ee;border-radius:9px;padding:11px 12px;font-size:.76rem;font-weight:500;line-height:1.42;position:absolute;box-shadow:0 10px 24px #25333a21}.field-heading{align-items:center;gap:7px;display:inline-flex}.occupancy-desktop{margin-top:14px;display:block}.occupancy-mobile{display:none}.occupancy-options{grid-template-columns:1fr;gap:7px;margin-top:11px;display:grid}.occupancy-range{appearance:none;cursor:pointer;border:0;border-radius:99px;outline:0;width:100%;min-height:30px;margin:0;padding:0}.occupancy-range::-webkit-slider-runnable-track{background:0 0;border-radius:99px;height:8px}.occupancy-range::-moz-range-track{background:0 0;border-radius:99px;height:8px}.occupancy-range::-webkit-slider-thumb{background:var(--green);appearance:none;border:3px solid #fff;border-radius:50%;width:24px;height:24px;margin-top:-8px;box-shadow:0 2px 7px #238c3647}.occupancy-range::-moz-range-thumb{background:var(--green);border:3px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 7px #238c3647}.occupancy-range:focus-visible{box-shadow:0 0 0 4px #3e9ad638}.occupancy-scale{color:#718087;text-align:center;justify-content:space-between;gap:5px;margin-top:5px;font-size:.62rem;font-weight:700;line-height:1.2;display:flex}.occupancy-scale span{flex:1}.occupancy-scale span:first-child{text-align:left}.occupancy-scale span:last-child{text-align:right}.occupancy-slider-selection{background:var(--pale-green);border:1px solid #bfe3c6;border-radius:10px;margin-top:16px;padding:13px 15px}.occupancy-slider-selection strong{color:var(--green-dark);font-size:.9rem;display:block}.occupancy-slider-selection p{color:var(--muted);margin:3px 0 0;font-size:.79rem;font-weight:500;line-height:1.4}.occupancy-full-slider{height:34px;position:relative}.occupancy-full-slider__track{background:#d8e3e6;border-radius:99px;height:30px;position:absolute;top:4px;left:0;right:0;overflow:hidden}.occupancy-full-slider__track span{background:var(--green);border-radius:99px 0 0 99px;height:100%;display:block}.occupancy-full-slider__track span.is-complete{border-radius:inherit}.occupancy-range--full{z-index:2;opacity:0;width:100%;min-height:34px;position:absolute;inset:0}.occupancy-full-slider__thumb{z-index:1;box-sizing:border-box;background:var(--green);pointer-events:none;border:3px solid #fff;border-radius:50%;width:24px;height:24px;position:absolute;top:7px;transform:translate(-50%);box-shadow:0 2px 7px #238c3647}.occupancy-range--full:focus-visible{box-shadow:none}.occupancy-range--full:focus-visible+.occupancy-full-slider__thumb{outline-offset:3px;outline:3px solid #3e9ad64d}.occupancy-desktop--full .occupancy-scale{color:#718087;white-space:nowrap;justify-content:space-between;gap:0;height:25px;margin:5px 0 0;font-size:.62rem;font-weight:700;line-height:1.2;display:flex}.occupancy-desktop--full .occupancy-scale span{text-align:left;flex:none;display:block;position:static;transform:none}.occupancy-desktop--full .occupancy-scale span:last-child{text-align:right}.occupancy-option{position:relative}.occupancy-options button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:9px;align-items:center;gap:10px;padding:12px 39px 12px 11px;transition:border-color .16s,background .16s,box-shadow .16s;display:flex}.occupancy-options button:hover{border-color:#9dbeca}.occupancy-options button.is-selected{border-color:var(--green);background:var(--pale-green);box-shadow:inset 0 0 0 1px var(--green)}.occupancy-option>.info-disclosure{position:absolute;top:11px;right:11px}.occupancy-dot{background:#fff;border:2px solid #a9b6bb;border-radius:50%;flex:none;width:15px;height:15px;margin-top:2px}.is-selected .occupancy-dot{border:4px solid var(--green)}.occupancy-options strong{font-size:.85rem}.toggle-row{align-items:center;gap:9px;margin:4px 0 18px;display:flex}.toggle{cursor:pointer;flex:1;align-items:center;gap:11px;margin:0;display:flex}.toggle input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.toggle>span:first-of-type{background:#cdd5d9;border-radius:99px;flex:none;width:39px;height:23px;margin-top:0;transition:background .16s;position:relative}.toggle>span:first-of-type:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle input:checked+span{background:var(--green)}.toggle input:checked+span:after{transform:translate(16px)}.toggle input:focus-visible+span{outline-offset:2px;outline:3px solid #3e9ad64d}.toggle strong{font-size:.86rem;line-height:1.25;display:block}.promo{border-top:1px solid var(--line);margin:0 0 19px;padding-top:14px}.promo-disclosure{color:#718087;background:0 0;border:0;align-items:center;gap:9px;min-height:24px;padding:0;font-size:.81rem;font-weight:600;line-height:1;display:inline-flex}.promo-disclosure span{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .16s;display:block;transform:rotate(45deg)translate(-1px,-1px)}.promo-disclosure[aria-expanded=true] span{transform:rotate(225deg)translate(-1px,-1px)}.promo-entry{margin-top:11px}.promo-entry>div{gap:7px;display:flex}.promo-entry input{min-width:0}.promo-entry button{border:1px solid var(--blue);min-height:46px;color:var(--blue);font-family:var(--cabinet);text-transform:uppercase;background:#fff;border-radius:9px;flex:none;padding:0 13px;font-size:.76rem;font-weight:700}.promo-message{color:var(--danger);margin:7px 0 0;font-size:.76rem;font-weight:600}.promo-message.is-valid{color:var(--green-dark)}.cta{background:var(--green);color:#fff;width:100%;min-height:51px;font-family:var(--cabinet);letter-spacing:.01em;text-transform:none;border:0;border-radius:12px;justify-content:center;align-items:center;gap:11px;padding:13px 18px;font-size:.93rem;font-weight:700;transition:transform .15s,background .15s;display:flex;box-shadow:0 7px 14px #2da9422e}.cta:hover{background:var(--green-dark);transform:translateY(-1px)}.cta:focus-visible{outline-offset:3px;outline:3px solid #3e9ad659}.cta:disabled{background:#91b99a;transform:none}.price-summary{border-top:5px solid var(--blue);background:var(--pale);min-height:220px;padding:20px 18px 17px;position:sticky;top:14px;overflow:visible}.price-summary>strong{color:var(--green);font-family:var(--cabinet);letter-spacing:-.03em;margin:4px 0 9px;font-size:clamp(2rem,5vw,2.45rem);font-weight:800;line-height:.96;display:block}.price-summary>strong small{letter-spacing:0;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:700}.hours{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.hours b{color:var(--ink);margin-top:2px;display:block}.price-empty-state{color:var(--muted);margin:18px 0 0;font-size:.82rem;font-weight:500;line-height:1.45}.price-breakdown{border-top:1px solid #25333a1f;margin:14px 0 0;padding-top:10px}.price-breakdown p{color:var(--muted);justify-content:space-between;gap:6px;margin:0 0 7px;font-size:.74rem;line-height:1.35;display:flex}.price-breakdown .discount{color:var(--green-dark)}.price-summary>.info-disclosure{margin-top:14px}.calculator-logo{width:min(100%,240px);height:auto;margin:0 auto 26px;display:block}.calculator--compact .calculator-stage{width:100%}.calculator--compact .calculator-form{min-height:var(--compact-card-height,350px);box-sizing:border-box;padding:30px 45px}.calculator--compact .field{margin-bottom:18px}.calculator--compact .occupancy{margin-bottom:20px}.calculator--compact .occupancy-options button{padding:9px 10px}.calculator--compact .occupancy-range{background-repeat:no-repeat;padding:0}.calculator--compact .occupancy-scale{letter-spacing:0;height:25px;margin:5px 0 0;padding:0;font-size:.54rem;position:relative}.calculator--compact .occupancy-scale span{text-align:center;min-width:auto;position:absolute;top:0;left:0;transform:translate(-50%)}.calculator--compact .occupancy-scale span:first-child{text-align:left;transform:none}.calculator--compact .occupancy-scale span:nth-child(2){left:25%}.calculator--compact .occupancy-scale span:nth-child(3){left:50%}.calculator--compact .occupancy-scale span:nth-child(4){left:75%}.calculator--compact .occupancy-scale span:nth-child(5){text-align:right;white-space:nowrap;left:100%;transform:translate(-100%)}.contact-stage{max-width:690px;margin:0}.back-button{border:1px solid var(--green);min-height:51px;color:var(--green);font-family:var(--cabinet);text-transform:none;background:#fff;border-radius:12px;padding:0 18px;font-size:.83rem;font-weight:700}.back-button:hover{background:var(--pale-green)}.contact-form{padding:27px}.form-heading{margin-bottom:22px}.heading-with-info{align-items:center;gap:8px;display:flex}.form-grid{grid-template-columns:1fr 1fr;column-gap:14px;display:grid}.form-grid .full{grid-column:1/-1}.privacy{color:var(--muted);align-items:flex-start;gap:9px;margin:1px 0 15px;font-size:.76rem;font-weight:500;line-height:1.45;display:flex}.privacy input{width:17px;height:17px;min-height:0;accent-color:var(--green);flex:none;margin:2px 0 0}.privacy a,.error-message a{color:var(--blue);font-weight:700}.error-message{color:var(--danger);margin:0 0 15px;font-size:.82rem;font-weight:600;line-height:1.45}.form-actions{grid-template-columns:auto 1fr;gap:10px;display:grid}.form-actions .cta{min-width:0}.calculator--success{max-width:670px}.confirmation{padding:32px}.success-mark{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:18px;font-size:1.55rem;font-weight:800;display:grid}.confirmation .price-summary{margin:25px 0;position:static}.submitted-details{border-top:1px solid var(--line);padding-top:19px}.submitted-details h2{font-size:1.08rem}.submitted-details dl{margin:13px 0 0}.submitted-details dl div{border-bottom:1px solid #edf1f2;justify-content:space-between;gap:18px;padding:8px 0;font-size:.83rem;display:flex}.submitted-details dt{color:var(--muted)}.submitted-details dd{text-align:right;margin:0;font-weight:700}.calculator-stage{max-width:690px;margin:0 auto;display:block}.contact-stage{margin:0 auto}.stepper{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,690px);display:grid}.stepper li{justify-content:center;position:relative}.stepper li:not(:last-child):after{width:auto;min-width:0;margin:0;position:absolute;top:calc(50% - 1px);left:calc(50% + 39px);right:calc(39px - 50%)}.request-price-summary{margin:0 0 18px}.request-price-summary .price-summary{min-height:0;position:static}.appointment-calendar{border:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#f8fbfc 100%);border-radius:12px;margin:0 0 19px;padding:15px}.appointment-calendar__heading{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px;font-size:.9rem;font-weight:700;display:flex}.appointment-calendar__notice{color:#9a5a08;background:#fff4e5;border-radius:99px;padding:4px 8px;font-size:.67rem;font-weight:700}.appointment-calendar__toolbar{text-align:center;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:10px;display:grid}.appointment-calendar__toolbar strong{color:var(--ink);text-transform:capitalize;font-size:.86rem}.calendar-nav{border:1px solid var(--line);width:32px;height:32px;color:var(--blue);cursor:pointer;background:#fff;border-radius:8px;place-items:center;font-size:1.4rem;line-height:1;display:grid}.calendar-nav:last-child{justify-self:end}.calendar-nav:disabled{opacity:.35;cursor:not-allowed}.appointment-calendar__weekdays,.appointment-calendar__days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.appointment-calendar__weekdays{color:#7d8b91;margin-bottom:4px;font-size:.64rem;font-weight:700}.appointment-calendar__days button{aspect-ratio:1;min-height:34px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;font-size:.76rem;font-weight:600;position:relative}.appointment-calendar__days button:hover:not(:disabled){background:var(--pale-green);border-color:#a5d6ae}.appointment-calendar__days button:focus-visible{outline-offset:1px;outline:3px solid #3e9ad64d}.appointment-calendar__days button:disabled{color:#bdc6c9;cursor:not-allowed}.appointment-calendar__days button.is-selected{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 3px 8px #2da94238}.appointment-calendar__days button.is-short-notice:not(.is-selected){color:#a96010;background:#fff7ed}.appointment-calendar__days button.has-surcharge:after{background:var(--blue);content:"";border-radius:50%;width:4px;height:4px;position:absolute;top:5px;right:5px}.appointment-calendar__selection{color:var(--muted);margin:13px 0 0;font-size:.76rem}.appointment-calendar__warning{color:#8b510f;background:#fff7ed;border-left:3px solid #d57915;margin:10px 0 0;padding:8px 10px;font-size:.76rem;font-weight:600;line-height:1.42}@media (width>=680px){.occupancy-options{grid-template-columns:1fr 1fr}.occupancy-options button:last-child{grid-column:1/-1}}@media (width<=500px){.occupancy-desktop{display:none}.occupancy-mobile{display:block}}@media (width<=650px){.calculator{padding:24px 16px 34px}.calculator--compact,.calculator--compact .calculator-stage,.calculator--compact .calculator-form{min-height:0}.calculator--compact{height:auto;padding:0;display:block}.calculator-stage{grid-template-columns:1fr}.price-summary{order:2;position:static}.calculator-form,.contact-form,.confirmation,.calculator--compact .calculator-form{padding:20px}.calculator-logo{width:190px;margin-bottom:22px}.stepper{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;margin:20px 0 25px;padding:0;display:grid;position:relative}.stepper:before,.stepper:after{content:"";width:calc(66.666% - 34px);height:3px;position:absolute;top:16px;left:calc(16.667% + 17px)}.stepper:before{background:#d8dee1}.stepper:after{background:var(--green);transform-origin:0;transition:transform .2s}.stepper[data-step="1"]:after{transform:scaleX(0)}.stepper[data-step="2"]:after{transform:scaleX(.5)}.stepper[data-step="3"]:after{transform:scaleX(1)}.stepper li{z-index:1;color:#8d999f;text-align:center;white-space:normal;flex-direction:column;justify-content:flex-start;gap:6px;font-size:.7rem;line-height:1.1;position:relative}.stepper li:first-child{text-align:left;align-items:flex-start}.stepper li:nth-child(2){align-items:center}.stepper li:nth-child(3){text-align:right;align-items:flex-end}.stepper li:not(:last-child):after{display:none}.stepper span{border-width:2px;width:34px;height:34px;font-size:.85rem}.stepper b{margin:0;display:block}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.occupancy-options button{padding:9px 10px}.promo-entry>div{grid-template-columns:1fr auto;display:grid}.form-actions{grid-template-columns:1fr}.confirmation h1{font-size:1.72rem}.desktop-price-summary{display:none}.mobile-price-summary{margin:0 0 18px;display:block}.mobile-price-summary .price-summary{min-height:0}.stepper li,.stepper li:first-child,.stepper li:nth-child(2),.stepper li:nth-child(3){text-align:center;align-items:center}.stepper b{width:100%}.appointment-calendar{padding:13px}.appointment-calendar__days{gap:3px}.appointment-calendar__days button{min-height:31px}.appointment-calendar__notice{text-align:center;width:100%}.request-price-summary{margin-bottom:18px}}@media (width>=651px){.stepper{justify-content:center;margin-left:auto;margin-right:auto;display:flex}.stepper li{flex:none;justify-content:flex-start;position:static}.stepper li:not(:last-child):after{width:clamp(42px,7vw,132px);min-width:42px;margin:0 18px;position:static}}
