/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */.scope-step{border:0;flex-direction:column;min-width:0;min-height:0;margin:0;padding:0;display:flex}.scope-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;min-height:280px;display:grid}.scope-option{cursor:pointer;min-width:0;display:flex;position:relative}.scope-radio{z-index:2;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.estimate-dialog .scope-card,.scope-card{isolation:isolate;background:var(--site-inverse-accent);color:#fff;border:0;border-radius:16px;align-items:flex-end;width:100%;height:100%;min-height:0;padding:1.5rem;transition:box-shadow .25s,transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.scope-photo{object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}.scope-shade{background:linear-gradient(#101c1610 10%,#101c1626 35%,#101c16ed);position:absolute;inset:0}.scope-copy{z-index:1;display:block;position:relative}.estimate-dialog .scope-label,.scope-label{font:400 clamp(1.65rem,3vw,2.5rem)/1.15 var(--font-serif,Georgia,serif);letter-spacing:-.02em;display:block}.scope-hint{color:#fff;max-width:25ch;margin-top:.65rem;font-size:.875rem;line-height:1.5;display:block}.scope-check{z-index:1;color:#243c2e;background:#fff2;border:1px solid #fffc;border-radius:50%;place-items:center;width:32px;height:32px;transition:background .25s,transform .35s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:1rem;right:1rem}.scope-check svg{opacity:0;width:20px;height:20px;transition:opacity .2s,transform .35s cubic-bezier(.16,1,.3,1);transform:scale(.7)}.scope-radio:checked+.scope-card{box-shadow:0 0 0 3px var(--site-accent)}.scope-radio:checked+.scope-card .scope-check{background:#fff;transform:scale(1.05)}.scope-radio:checked+.scope-card .scope-check svg{opacity:1;transform:scale(1)}.scope-radio:focus-visible+.scope-card{outline:3px solid var(--site-accent);outline-offset:4px}.scope-legend{color:var(--site-ink);margin-bottom:.625rem;font-size:.875rem;font-weight:500}.scope-optional{color:var(--site-ink-muted);font-weight:400}.scope-error{color:var(--site-negative-surface-ink);margin-top:.75rem;font-size:.875rem}.scope-step[data-compact] .scope-grid{gap:.75rem;min-height:100px}.scope-step[data-compact] .scope-card{border-radius:12px;padding:1rem}.scope-step[data-compact] .scope-label{font-size:1.4rem}.scope-step[data-compact] .scope-hint{display:none}.scope-step[data-compact] .scope-check{width:24px;height:24px;top:.65rem;right:.65rem}.scope-step[data-compact] .scope-check svg{width:16px;height:16px}@media (hover:hover) and (prefers-reduced-motion:no-preference){.scope-option:hover .scope-photo{transform:scale(1.06)}.scope-option:hover .scope-check{transform:translateY(-2px)}}@media (max-width:639px){.scope-grid{grid-template-rows:repeat(3,minmax(112px,1fr));grid-template-columns:minmax(0,1fr);gap:.75rem;min-height:360px}.estimate-dialog .scope-card{padding:1rem 3.5rem 1rem 1.25rem}.scope-photo{object-position:center 55%}.scope-shade{background:linear-gradient(90deg,#101c16ed,#101c1666 70%,#101c1633)}.scope-hint{max-width:32ch;margin-top:.35rem;font-size:.75rem}.scope-step[data-compact] .scope-grid{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;min-height:86px}.scope-step[data-compact] .scope-card{padding:.75rem}.scope-step[data-compact] .scope-label{font-size:1.15rem}.scope-step[data-compact] .scope-check{width:20px;height:20px;top:.5rem;right:.5rem}}@media (prefers-reduced-motion:reduce){.scope-card,.scope-check,.scope-check svg,.scope-photo{transition:none}}.estimate-dialog :is(button,a,input,textarea,select){-webkit-tap-highlight-color:transparent}.estimate-dialog :is(input,textarea){caret-color:var(--site-accent)}.estimate-dialog ::selection{background:var(--site-inverse-accent);color:#fff}.estimate-dialog :is(.wizard-content,.estimate-quick-fields){scrollbar-width:thin;scrollbar-color:var(--site-line-strong) transparent}.estimate-dialog :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--site-accent);outline-offset:3px}.estimate-dialog :is(input:not([type=checkbox]):not([type=radio]),textarea,select){border-color:var(--site-ink-faint);background-color:var(--site-surface);color:var(--site-ink);border-radius:12px}.estimate-dialog :is(.quote-primary,.estimate-submit){background:var(--site-inverse-accent);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;min-height:48px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;line-height:1.5;transition:background .2s,box-shadow .2s;display:inline-flex}.estimate-dialog :is(.quote-primary,.estimate-submit):hover{background:var(--site-inverse)}.estimate-dialog :is(.quote-primary,.estimate-submit):disabled{cursor:wait;opacity:.65}.estimate-dialog .quote-primary svg{width:20px;height:20px;transition:transform .3s}.estimate-dialog .quote-primary:hover svg{transform:translate(3px)}.estimate-dialog .quote-back{min-height:48px;color:var(--site-ink-muted);border-radius:8px;align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.875rem;display:inline-flex}.estimate-dialog .quote-back svg{width:20px;height:20px}.estimate-dialog .quote-back:disabled{visibility:hidden}.estimate-dialog .wizard-choice{border:1px solid var(--site-ink-faint);text-align:left;min-height:120px;color:var(--site-ink);background:var(--site-surface);border-radius:12px;padding:1.25rem;transition:background .2s,border-color .2s}.estimate-dialog .wizard-choice[aria-pressed=true]{background:var(--site-surface-warm);border-color:var(--site-accent);box-shadow:inset 0 0 0 1px var(--site-accent)}.estimate-dialog .wizard-choice:hover{border-color:var(--site-accent)}.estimate-dialog .wizard-photos label:focus-within{outline:2px solid var(--site-accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.estimate-dialog *,.estimate-dialog :after,.estimate-dialog :before{transition:none!important;animation:none!important}.estimate-dialog .quote-primary:hover svg{transform:none}}.estimate-dialog .booking-open{min-height:44px;color:var(--site-accent);text-underline-offset:3px;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.375rem;margin-top:-.5rem;font-size:.75rem;text-decoration:underline;display:flex}.estimate-dialog .booking-open svg{width:18px;height:18px}.quote-next-steps{text-align:left;gap:.75rem;margin-top:1.5rem;display:grid}.quote-booking-summary{text-align:left;flex:1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.quote-entry,.quote-entry-body,.quote-project-setup{flex-direction:column;flex:auto;min-height:0;display:flex}.quote-entry-body[hidden]{display:none}.quote-project-summary{color:var(--site-ink-muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.estimate-entry{text-align:center;background:var(--site-surface-warm);justify-items:center;gap:1rem;padding:4rem 1.25rem;display:grid}.estimate-entry-button{background:var(--site-inverse-accent);color:#fff;border-radius:999px;align-items:center;gap:1.5rem;min-height:48px;padding:.875rem 1.75rem;font-weight:600;display:inline-flex}.estimate-dialog{--dlg-border:var(--site-line-strong);--dlg-surface:var(--site-surface-sunken);--dlg-divider:var(--site-line);--dlg-muted:var(--site-ink-muted);--dlg-close-border:var(--site-line-strong);--dlg-close-bg:var(--site-surface);--dlg-close-hover:var(--site-surface-warm);--dlg-grab:var(--site-line-strong)}.estimate-dialog .surface-dialog-panel{contain:layout style;border-radius:24px;width:min(100%,1080px);height:min(860px,100dvh - 3rem)}.estimate-dialog .surface-dialog-header{padding:1.5rem 2rem 1.25rem}.estimate-dialog .surface-dialog-description{font-size:.875rem}.estimate-dialog .estimate-fill,.estimate-dialog .estimate-fill .estimate-body,.estimate-dialog .estimate-fill .estimate-main,.estimate-dialog .estimate-panel:not([hidden]),.estimate-dialog .surface-dialog-body{flex-direction:column;flex:auto;min-height:0;display:flex}.estimate-dialog .estimate-fill{--page-bottom-bar:0px;background:0 0;height:auto;padding:1.25rem 2rem 1.5rem}.estimate-dialog .estimate-fill .estimate-body{align-items:stretch;width:100%;max-width:none;height:auto}.estimate-dialog .estimate-footnote{display:none}.estimate-dialog .estimate-panel:not([hidden]){margin:0;padding:0;overflow:hidden}.estimate-dialog .estimate-modes{background:var(--site-surface-warm);width:100%;max-width:none;box-shadow:none;border:0;border-radius:16px;flex-shrink:0;margin-bottom:1.5rem;padding:4px}.estimate-dialog .estimate-modes button{border-radius:12px;min-height:64px}.estimate-dialog .estimate-modes button>span[aria-hidden=true]{border-radius:12px}.estimate-dialog .estimate-quick{flex-direction:column;flex:auto;gap:1rem;width:min(100%,760px);min-height:0;margin-inline:auto;display:flex}.estimate-dialog .estimate-quick>*{margin-block:0}.estimate-dialog .estimate-quick-fields{overscroll-behavior:contain;flex:auto;min-height:0;margin-inline:-5px;padding:3px 5px 8px;overflow-y:auto}.estimate-dialog .estimate-quick-fields>*+*{margin-top:1.25rem}.estimate-dialog .estimate-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.estimate-dialog .estimate-message{resize:vertical;height:84px;min-height:84px}.estimate-dialog .estimate-submit{flex-shrink:0;width:100%;min-height:52px}.estimate-dialog .estimate-quick label{color:var(--site-ink)}.estimate-dialog .wizard{min-height:0;box-shadow:none;background:0 0;border:0;flex-direction:column;flex:auto;padding:0;display:flex}.estimate-dialog .wizard-progress{color:var(--site-ink);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;font-size:.75rem;font-weight:500;display:flex}.estimate-dialog .wizard-progress [role=progressbar]{gap:5px;width:min(40%,240px);display:flex}.estimate-dialog .wizard-progress [role=progressbar] span{background:var(--site-line-strong);border-radius:4px;flex:1;height:3px;transition:background .3s}.estimate-dialog .wizard-progress span[data-complete=true]{background:var(--site-accent)}.estimate-dialog .wizard-title{font:400 clamp(1.6rem,3vw,2.25rem)/1.15 var(--font-serif,Georgia,serif);letter-spacing:-.025em;color:var(--site-ink);outline:none;margin:0}.estimate-dialog .wizard-description{max-width:65ch;color:var(--site-ink-muted);flex-shrink:0;margin:.5rem 0 1.25rem;font-size:.875rem;line-height:1.6}.estimate-dialog .wizard-content{overscroll-behavior:contain;flex-direction:column;flex:auto;justify-content:flex-start;min-height:0;margin:-4px;padding:4px;display:flex;overflow-y:auto}.estimate-dialog .wizard-content>*{flex-shrink:0}.estimate-dialog .wizard-content[data-step=scope]>.scope-step{flex:1 0 auto}.estimate-dialog .wizard-nav{border-top:1px solid var(--site-line-strong);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;display:flex}.estimate-dialog .wizard-success{overflow-y:auto}.estimate-dialog .estimate-booking-active .estimate-body{height:auto;padding:0;position:static}.estimate-dialog .booking-panel{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex:auto;padding:0}.estimate-dialog .booking-intro{text-align:left;justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:1.25rem;display:flex}.estimate-dialog .booking-intro h3{flex:1;font-size:1.6rem;line-height:1.2}.estimate-dialog .booking-description{flex:1;max-width:50ch;font-size:.8rem}.estimate-dialog .booking-calendar{color-scheme:light;background:#fff;border-radius:16px;flex:auto;width:100%;max-width:none;min-height:0;max-height:none;overflow:hidden}.estimate-dialog .estimate-fill .estimate-main{grid-column:auto;width:100%}.estimate-dialog .estimate-quick>:not(.estimate-quick-fields){flex-shrink:0}.estimate-dialog{--quote-height:min(var(--quote-viewport-height,100dvh),100dvh);height:var(--quote-height)}.estimate-dialog .surface-dialog-panel{height:min(860px,calc(var(--quote-height) - 3rem));position:relative}.estimate-dialog .surface-dialog-header{align-items:center;padding:.75rem 1.5rem}.estimate-dialog .surface-dialog-header h2{font-size:1.25rem}.estimate-dialog .surface-dialog-close{width:44px;height:44px}.estimate-dialog .estimate-fill{padding:.75rem 1.5rem 1rem}.estimate-dialog .estimate-fill .estimate-body{z-index:0}.estimate-dialog .estimate-modes{margin-bottom:.75rem}.estimate-dialog .estimate-fill .estimate-modes button{min-height:44px;padding:.5rem .25rem}.estimate-dialog .wizard-progress{margin-bottom:.5rem}.estimate-dialog .wizard-title{font-size:clamp(1.25rem,2.5vw,1.75rem)}.estimate-dialog .wizard-description{margin:.35rem 0 .75rem;font-size:.8125rem}.estimate-dialog .wizard-nav{margin-top:.5rem;padding-top:.5rem}.estimate-dialog .quote-project-summary{margin-bottom:.375rem;font-size:.75rem}.estimate-dialog .quote-project-summary p{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.estimate-dialog .quote-project-summary button{flex-shrink:0;font-size:.75rem}.estimate-dialog .quote-optional{color:var(--site-ink);font-size:.875rem}.estimate-dialog .quote-optional>summary{cursor:pointer;min-height:44px;padding:.75rem .25rem;display:list-item}.estimate-dialog .quote-optional>summary:focus-visible{outline:2px solid var(--site-accent);outline-offset:-2px}.estimate-dialog .estimate-quick-fields>*+*,.estimate-dialog .wizard-photos{margin-top:.75rem}.estimate-dialog .estimate-quick{gap:.5rem}.estimate-dialog .estimate-fields{gap:.75rem}.estimate-dialog .booking-intro{gap:.5rem;margin-bottom:.25rem}.estimate-dialog .booking-intro h3{flex:none;font-size:1.125rem}.estimate-dialog .booking-description{font-size:.75rem}.estimate-dialog .booking-open{margin:0}.estimate-dialog .quote-booking-summary{font-size:.75rem}.estimate-dialog .quote-project-select{display:none}.estimate-dialog :is(label[for=contactAcknowledged],.sms-consent label){align-items:center;min-height:44px;display:flex}@media (max-height:650px),(max-width:639px){.estimate-dialog{padding:0}.estimate-dialog .surface-dialog-panel{height:var(--quote-height);max-height:var(--quote-height);border:0;border-radius:0}.estimate-dialog .surface-dialog-grab{display:none}.estimate-dialog .surface-dialog-header{top:max(.5rem,env(safe-area-inset-top));z-index:3;border:0;padding:0;position:absolute;right:.75rem}.estimate-dialog .surface-dialog-header>div{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.estimate-dialog .estimate-fill{padding:max(.5rem,env(safe-area-inset-top)) .75rem max(.5rem,env(safe-area-inset-bottom))}.estimate-dialog .estimate-modes{border-radius:10px;width:calc(100% - 52px);margin:0 52px .5rem 0;padding:0}.estimate-dialog .estimate-fill .estimate-modes button{border-radius:10px}.estimate-dialog .estimate-fill .estimate-modes button>span[aria-hidden=true]{box-shadow:none;border-radius:10px}.estimate-dialog .estimate-fill .estimate-modes button>span:not([aria-hidden]){font-size:.75rem}.estimate-dialog .wizard-description{display:none}.estimate-dialog .wizard-title{margin-bottom:.75rem;font-size:1.375rem}.estimate-dialog .wizard-choice{min-height:80px;padding:.75rem}.estimate-dialog .wizard-choice ul{display:none}.estimate-dialog .wizard-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem}.estimate-dialog .wizard-choice-grid .wizard-choice{min-height:96px;padding:.5rem;font-size:.875rem}.estimate-dialog .wizard-choice-grid .wizard-choice span+span{margin-top:.375rem;font-size:.6875rem}.estimate-dialog .wizard-content[data-step=contact] .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.estimate-dialog .wizard-content[data-step=contact] .grid>:nth-child(n+3){grid-column:1/-1}.estimate-dialog .scope-grid{grid-template-rows:repeat(3,minmax(88px,1fr));gap:.5rem;min-height:0}.estimate-dialog .wizard-content[data-step=scope]>.scope-step{flex:auto;min-height:280px}.estimate-dialog .scope-card{padding:.75rem 3rem .75rem 1rem}.estimate-dialog .scope-label{font-size:1.5rem}.estimate-dialog .scope-hint{margin-top:.25rem;line-height:1.3}.estimate-dialog .wizard-project-grid{gap:.5rem}.estimate-dialog [data-many-projects] .quote-project-select{display:block}.estimate-dialog [data-many-projects] .wizard-project-grid{display:none}.estimate-dialog .wizard-project-grid button{min-height:68px;padding:.5rem;font-size:.75rem}.estimate-dialog .estimate-quick-fields{padding-bottom:0}.estimate-dialog .estimate-quick-fields label{font-size:.8125rem}.estimate-dialog .estimate-fields>:last-child{grid-column:1/-1}.estimate-dialog :is(input:not([type=checkbox]):not([type=radio]),textarea){min-height:44px;padding:.625rem .75rem;font-size:16px}.estimate-dialog .estimate-message{height:64px;min-height:64px}.estimate-dialog .quote-back{min-height:44px}.estimate-dialog :is(.quote-primary,.estimate-submit){min-height:48px}.estimate-dialog .booking-intro{display:block}.estimate-dialog .booking-description,.estimate-dialog .booking-intro h3:has(+.quote-booking-summary){display:none}.estimate-dialog .quote-booking-summary{gap:.375rem}.estimate-dialog .quote-booking-summary p>span:last-child{display:none}}@media (max-width:360px){.estimate-dialog .estimate-fill{padding-inline:.5rem}.estimate-dialog .wizard-photos>[data-action=turnstile-spin-v1]{background:0 0;border:0;padding:0}}@media (min-width:640px) and (max-height:500px){.estimate-dialog .wizard{position:relative}.estimate-dialog .wizard-progress{width:11rem;height:26px;position:absolute;top:0;right:0}.estimate-dialog .wizard-title{padding-right:12rem}.estimate-dialog .wizard-photos{margin-top:0}.estimate-dialog .wizard-content[data-step=contact] .grid>:nth-child(n+3){grid-column:auto}.estimate-dialog .wizard-content[data-step=contact] .grid{gap:.5rem}.estimate-dialog .scope-grid{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr))}.estimate-dialog .wizard-content[data-step=scope]>.scope-step{min-height:140px}}@media (max-height:700px),(max-width:767px){.estimate-dialog .wizard-project-options>.wizard-quality-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem}.estimate-dialog .wizard-project-options>.wizard-quality-grid .wizard-choice{min-height:80px;padding:.5rem}.estimate-dialog .wizard-project-options>.wizard-quality-grid .wizard-choice span{font-size:.875rem}.estimate-dialog .wizard-project-options>.wizard-quality-grid .wizard-choice>span{display:none}}