/* Compact, touch-first estimate experience. */
.estimate{position:relative;display:block;overflow:visible;background:linear-gradient(180deg,#f8fbfc 0%,#eef5f7 100%)}
.estimate>div{max-width:780px;margin:0 auto 34px;text-align:center}.estimate>div h2{font-size:clamp(43px,5vw,66px)}
.estimate form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:15px;width:min(980px,100%);margin:0 auto;padding:clamp(22px,3.5vw,38px);border:1px solid #c9d8df;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(8,29,51,.13)}
.estimate .full,.estimate form>small{grid-column:1/-1}
.form-section-title{display:flex;align-items:center;gap:12px;margin:2px 0;padding-bottom:13px;border-bottom:1px solid #e0e9ed}
.form-section-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,var(--lime),#73c62c);color:#071421;font-size:15px;font-weight:950;box-shadow:0 7px 18px rgba(110,178,45,.24)}
.form-section-title>div{display:grid;gap:1px}.form-section-title strong{color:var(--navy);font-size:17px;line-height:1.2}.form-section-title small{color:#587080;font-size:12px;font-weight:650;text-transform:none;letter-spacing:0}
.estimate .input-card{display:block;padding:13px 15px 11px;border:1px solid #d3dfe4;border-radius:15px;background:#f9fcfd;color:#17344a;box-shadow:0 5px 15px rgba(8,29,51,.04);transition:border-color .18s ease,box-shadow .18s ease}
.estimate .input-card:focus-within{border-color:#559928;box-shadow:0 0 0 4px rgba(158,234,67,.14)}
.estimate .input-card input,.estimate .input-card textarea{width:100%;margin-top:5px;padding:4px 0 2px;border:0;border-radius:0;background:transparent;color:#102b40;font:inherit;font-size:16px;line-height:1.4;outline:0}
.estimate .input-card input::placeholder,.estimate .input-card textarea::placeholder{color:#7b8e99;opacity:1}.estimate .details-card textarea{min-height:108px;resize:vertical}.optional-field{color:#536c79;font-size:.83em;font-weight:750;text-transform:none;letter-spacing:0}
.choice-select,.schedule-select{position:relative;min-width:0;margin:0;padding:0;border:0;border-radius:15px;background:#f8fbfc;box-shadow:0 5px 15px rgba(8,29,51,.04)}
.choice-select>summary,.schedule-select>summary{display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:10px;min-height:62px;padding:10px 14px;border:1px solid #c9d8df;border-radius:15px;background:#f8fbfc;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.choice-select>summary::-webkit-details-marker,.schedule-select>summary::-webkit-details-marker{display:none}.choice-select>summary>span,.schedule-select>summary>span{color:#526b7a;font-size:10px;font-weight:950;letter-spacing:.8px;text-transform:uppercase}.choice-select>summary>strong,.schedule-select>summary>strong{overflow:hidden;max-width:300px;color:#17344a;font-size:13px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.choice-select>summary svg,.schedule-select>summary svg{width:20px;height:20px;fill:var(--green);transition:transform .18s ease}.choice-select[open]>summary,.schedule-select[open]>summary{border-color:#559928;background:#f2fce9;box-shadow:0 0 0 4px rgba(158,234,67,.13)}.choice-select[open]>summary svg,.schedule-select[open]>summary svg{transform:rotate(180deg)}
.choice-field,.schedule-picker{min-width:0;margin:0;border:0}.choice-select>.choice-field{position:absolute;top:calc(100% + 7px);left:0;z-index:12;width:min(540px,90vw);padding:16px;border:1px solid #adc3cc;border-radius:16px;background:#fff;box-shadow:0 24px 56px rgba(5,25,40,.24)}.choice-select.align-right>.choice-field{right:0;left:auto}.choice-select>.choice-field legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.choice-grid{display:flex;flex-wrap:wrap;gap:8px}.choice-chip{position:relative;display:inline-flex;cursor:pointer;-webkit-tap-highlight-color:transparent}.choice-chip input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.choice-chip span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border:1px solid #c5d3da;border-radius:999px;background:#f7fafb;color:#25465d;font-size:13px;font-weight:850;line-height:1.2;text-align:center;box-shadow:0 4px 12px rgba(8,29,51,.045);transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.choice-chip span::before{content:"";width:7px;height:7px;margin-right:8px;border:2px solid #77909e;border-radius:50%;background:#fff}.choice-chip:hover span{transform:translateY(-1px);border-color:#7fa063}.choice-chip input:checked+span{border-color:#4c8f23;background:linear-gradient(145deg,#efffdf,#dcfac0);color:#12331c}.choice-chip input:checked+span::before{border-color:#286e3f;background:var(--lime);box-shadow:inset 0 0 0 2px #fff}.choice-chip input:focus-visible+span{outline:3px solid var(--lime);outline-offset:2px}.choice-chip.emergency-choice input:checked+span{border-color:#b45530;background:#fff0e8;color:#642b19}.choice-chip.emergency-choice input:checked+span::before{border-color:#a34727;background:#ff8b5e}
.estimate form.was-validated .choice-select:has(input:invalid)>summary{border-color:#c65336;background:#fff8f5}.estimate form.was-validated .choice-select:has(input:invalid)>summary>span{color:#9f321d}
.address-field{position:relative;z-index:6}.address-combobox{position:relative;display:block}.estimate .address-combobox input{padding-right:31px}.address-pin{position:absolute;top:8px;right:0;width:21px;height:21px;color:var(--green);pointer-events:none}.address-pin svg{display:block;width:100%;height:100%;fill:currentColor}.field-help{display:block!important;margin-top:5px;color:#536c79!important;font-size:11px!important;font-weight:650!important;line-height:1.35!important;text-transform:none;letter-spacing:0}.field-help a{color:#315f79;text-underline-offset:2px}.address-suggestions{position:absolute;top:calc(100% + 10px);left:-15px;right:-15px;z-index:20;max-height:min(280px,42vh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;border:1px solid #aac1cb;border-radius:14px;background:#fff;box-shadow:0 24px 56px rgba(5,25,40,.24);scrollbar-color:#7ca45f #e8efeb}.address-suggestions[hidden]{display:none}.address-suggestion{display:grid;width:100%;gap:2px;padding:11px 14px;border:0;border-bottom:1px solid #e3ebef;background:#fff;color:#18384f;font:inherit;text-align:left;cursor:pointer}.address-suggestion:last-child{border-bottom:0}.address-suggestion:hover,.address-suggestion[aria-selected="true"]{background:#ecf8e8}.address-suggestion strong{font-size:13px}.address-suggestion small{color:#5d7380;font-size:11px}.address-empty{display:block;padding:12px 14px;color:#5d7380;font-size:12px;font-weight:700;text-transform:none;letter-spacing:0}
#turnstile-container{min-height:70px;display:flex;align-items:center}.turnstile-placeholder{display:block;color:#536c79;font-size:12px;font-weight:700;line-height:1.4}
body>header{z-index:50}
.schedule-select[open]>summary{border-radius:15px 15px 0 0}.schedule-picker{padding:16px;border:1px solid #c9d9df;border-top:0;border-radius:0 0 15px 15px;background:linear-gradient(145deg,#f8fbfc,#f0f7f8)}.schedule-picker legend{width:100%;margin-bottom:7px;color:#17344a;font-size:13px;font-weight:950;letter-spacing:1px;text-transform:uppercase}.schedule-picker>p{margin:-1px 0 13px;color:#587080;font-size:12px;line-height:1.45}.schedule-step{display:grid;gap:7px;margin-top:11px}.schedule-step>span{color:#29495d;font-size:10px;font-weight:950;letter-spacing:.8px;text-transform:uppercase}.date-bubbles,.time-bubbles{display:flex;flex-wrap:wrap;gap:7px}.date-bubble,.time-bubble{min-width:70px;min-height:45px;padding:7px 10px;border:1px solid #c4d3da;border-radius:12px;background:#fff;color:#24475e;font:inherit;font-weight:850;cursor:pointer;box-shadow:0 4px 11px rgba(8,29,51,.045)}.date-bubble{display:grid;gap:0}.date-bubble span{font-size:10px;letter-spacing:.6px;text-transform:uppercase}.date-bubble strong{font-size:13px}.time-bubble{min-width:105px;min-height:39px;border-radius:999px;font-size:12px}.date-bubble[aria-pressed="true"],.time-bubble[aria-pressed="true"]{border-color:#478424;background:#eaffd7;color:#12331c}.time-bubble:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.date-bubble:focus-visible,.time-bubble:focus-visible{outline:3px solid var(--lime);outline-offset:2px}.schedule-summary{display:flex;align-items:center;gap:9px;margin-top:13px;padding:10px 12px;border-radius:11px;background:#0d2b45;color:#fff}.schedule-summary svg{width:18px;height:18px;fill:var(--lime);flex:0 0 auto}.schedule-summary output{font-size:12px;font-weight:800}.schedule-summary button{margin-left:auto;padding:4px 7px;border:0;background:transparent;color:var(--lime);font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.social-links a{border-radius:999px;background:rgba(255,255,255,.055);transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.social-links a:hover{transform:translateY(-2px);background:rgba(158,234,67,.09)}.social-links svg{width:20px;height:20px}
@media(max-width:700px){.estimate>div{margin-bottom:25px}.estimate form{grid-template-columns:1fr;gap:13px;padding:18px 13px;border-radius:20px}.estimate .full,.estimate form>small{grid-column:auto}.form-section-title strong{font-size:16px}.form-section-title small{font-size:11px}.choice-select>summary,.schedule-select>summary{grid-template-columns:1fr 20px;gap:2px 8px;min-height:58px}.choice-select>summary>span,.schedule-select>summary>span{grid-column:1}.choice-select>summary>strong,.schedule-select>summary>strong{grid-column:1;max-width:none;text-align:left}.choice-select>summary svg,.schedule-select>summary svg{grid-column:2;grid-row:1/3}.choice-select>.choice-field{position:static;width:auto;margin-top:6px;padding:12px;box-shadow:none}.choice-chip{flex:1 1 calc(50% - 6px)}.choice-chip span{justify-content:flex-start;width:100%;min-height:42px;padding:8px 11px;text-align:left}.schedule-picker{padding:13px 10px}.address-suggestions{left:-10px;right:-10px;max-height:min(240px,38vh)}.date-bubbles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.date-bubble{min-width:0}.time-bubbles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.time-bubble{min-width:0}.social-links a{width:46px;height:46px;justify-content:center;padding:0}.social-links a span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.social-links .privacy-link{width:auto;height:auto;padding:10px 5px}}
@media(max-width:420px){.choice-chip{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.estimate .input-card,.choice-select>summary,.schedule-select>summary,.choice-chip span,.social-links a{transition:none}.choice-chip:hover span,.social-links a:hover{transform:none}}

/* Broad availability without a wall of controls: two compact, horizontally scrollable date rows. */
.date-bubbles{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:76px;gap:7px;overflow-x:auto;padding:2px 2px 9px;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-color:#7ca45f #dfe9e2}
.time-bubbles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.date-bubble{min-width:0;scroll-snap-align:start}.time-bubble{min-width:0;font-size:11px}
@media(max-width:700px){.date-bubbles{grid-template-columns:none;grid-auto-columns:72px}.time-bubbles{grid-template-columns:repeat(2,minmax(0,1fr))}}
