.pricing-guide .pricing-card,.pricing-guide .pricing-details{border:1px solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper)}.pricing-guide .pricing-card{min-width:0;padding:var(--spacing-lg)}.pricing-guide .pricing-card h3{margin-bottom:var(--spacing-md);color:var(--color-ink);font-family:var(--font-display);font-size:1.25rem;font-weight:750}.pricing-guide .table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.pricing-guide table{width:100%;min-width:32rem;border-collapse:collapse;color:var(--color-ink-soft);font-size:.83rem}.pricing-guide th,.pricing-guide td{padding:.72rem .6rem;border-bottom:1px solid var(--color-rule);text-align:left;white-space:nowrap}.pricing-guide thead th,.pricing-guide tbody th{color:var(--color-ink);font-family:var(--font-display);font-weight:700}.pricing-guide .pricing-included{margin-top:var(--spacing-md);border-radius:var(--radius-md);background:var(--color-action-soft);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-action);font-size:.85rem;font-weight:650}.pricing-guide .pricing-details{padding:var(--spacing-md) var(--spacing-lg)}.pricing-guide .pricing-details summary{cursor:pointer;color:var(--color-ink);font-family:var(--font-display);font-weight:750}.pricing-guide .pricing-details ul{display:grid;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-left:1.1rem;color:var(--color-ink-soft);font-size:.9rem;list-style:disc}.quote-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-xs)}.quote-progress li{display:flex;min-width:0;align-items:center;gap:var(--spacing-xs);color:var(--color-mute);font-family:var(--font-display);font-size:.75rem;font-weight:650}.quote-progress li span:first-child{display:grid;width:1.8rem;height:1.8rem;flex:0 0 auto;place-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper)}.quote-progress li[aria-current=step]{color:var(--color-action)}.quote-progress li[aria-current=step] span:first-child,.quote-progress li[data-complete] span:first-child{border-color:var(--color-action);background:var(--color-action);color:var(--color-on-dark)}.live-estimate{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-lg);border-radius:var(--radius-lg);background:var(--color-nav);padding:var(--spacing-md);color:var(--color-on-dark)}.live-estimate>p{color:var(--color-accent);font-family:var(--font-display);font-size:.72rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.live-estimate>strong{font-family:var(--font-display);font-size:1.1rem;line-height:1.2}.live-estimate>span,.live-estimate li{color:color-mix(in srgb,var(--color-on-dark) 78%,transparent);font-size:.76rem;line-height:1.45}.live-estimate ul{display:grid;gap:var(--spacing-2xs);padding-left:1rem;list-style:disc}.quote-form{scroll-margin-top:7rem}.quote-form .form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quote-step{margin:0;padding:0;border:0}.quote-step[hidden],.quote-success[hidden],.quote-form [hidden]{display:none}.quote-step>legend{display:flex;flex-direction:column;gap:var(--spacing-2xs);color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.65rem,5vw,2.25rem);font-weight:750;line-height:1.15;outline:none}.quote-step>legend span{color:var(--color-action);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.quote-form .step-intro{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xl);color:var(--color-mute)}.quote-form .form-grid{display:grid;gap:var(--spacing-lg)}.quote-form .form-grid+.form-field,.quote-form .form-grid+.step-actions{margin-top:var(--spacing-lg)}.quote-form .form-field{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-xs);margin-inline:0;padding:0;border:0}.quote-form label,.quote-form .form-field>legend{color:var(--color-ink);font-family:var(--font-display);font-size:.9rem;font-weight:650}.quote-form label span[aria-hidden=true],.quote-form label strong[aria-hidden=true],.quote-form legend span[aria-hidden=true]{color:var(--color-error)}.quote-form input:not([type=checkbox]):not([type=radio]),.quote-form select,.quote-form textarea{width:100%;min-height:3.15rem;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-cream);color:var(--color-ink);padding:.8rem .95rem;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.quote-form textarea{min-height:7rem;resize:vertical}.quote-form input:not([type=checkbox]):not([type=radio]):focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--color-focus);background:var(--color-paper);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.quote-form .field-help{color:var(--color-mute);font-size:.8rem}.quote-form .choice-card.is-disabled{cursor:not-allowed;opacity:.62}.quote-form .choice-card small{display:block;margin-left:auto;color:var(--color-mute);font-family:var(--font-body);font-size:.72rem;font-weight:500;text-align:right}.quote-form .choice-grid{display:grid;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.quote-form .choice-card{display:flex;align-items:center;gap:var(--spacing-sm);min-height:3.1rem;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-warm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer}.quote-form .choice-card:has(input:checked){border-color:var(--color-action);background:var(--color-action-soft);color:var(--color-action)}.quote-form input[type=radio]{width:1.05rem;height:1.05rem;flex:0 0 auto;accent-color:var(--color-action)}.quote-form .str-fields{border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-warm);padding:var(--spacing-lg)}.quote-form .str-heading{display:flex;flex-direction:column;gap:var(--spacing-2xs);margin-bottom:var(--spacing-lg)}.quote-form .str-heading strong{color:var(--color-ink);font-family:var(--font-display);font-size:1.05rem}.quote-form .str-heading span{color:var(--color-mute);font-size:.82rem}.quote-form .checkbox-fieldset{margin-bottom:var(--spacing-xl)}.quote-form .checkbox-grid{display:grid;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.quote-form .checkbox-grid label{display:flex;align-items:center;gap:var(--spacing-sm);min-height:3.1rem;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-warm);cursor:pointer}.quote-form .checkbox-grid label:has(input:checked){border-color:var(--color-action);background:var(--color-action-soft);color:var(--color-action)}.quote-form .checkbox-grid label>span{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.quote-form .checkbox-grid label>span strong{color:var(--color-action);font-size:.76rem;white-space:nowrap}.quote-form input[type=checkbox]{width:1.1rem;height:1.1rem;flex:0 0 auto;accent-color:var(--color-action)}.quote-form .photo-note{padding:var(--spacing-md);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-warm)}.quote-form .photo-note p{color:var(--color-mute);font-size:.82rem}.quote-form .consent-card{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-top:var(--spacing-xl);padding:var(--spacing-md);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-warm);cursor:pointer}.quote-form .consent-card:focus-within{outline:3px solid var(--color-accent-soft);outline-offset:2px}.quote-form .estimate-note{display:flex;flex-direction:column;gap:var(--spacing-2xs);margin-top:var(--spacing-lg);padding:var(--spacing-md);border-left:4px solid var(--color-action);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-action-soft);color:var(--color-ink-soft);font-size:.9rem}.quote-form .estimate-note strong{color:var(--color-action)}.quote-form .step-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-rule)}.quote-form .step-next,.quote-form .step-submit,.quote-form .step-back{min-height:3.1rem;border-radius:var(--radius-md);padding:.75rem 1.1rem;font-family:var(--font-display);font-weight:700}.quote-form .step-next,.quote-form .step-submit{border:1px solid var(--color-action);background:var(--color-action);color:var(--color-on-dark)}.quote-form .step-back{border:1px solid var(--color-rule);background:transparent;color:var(--color-ink)}.quote-form .step-next:hover:not(:disabled),.quote-form .step-submit:hover:not(:disabled){background:var(--color-action-hover)}.quote-form .step-back:hover{border-color:var(--color-accent);color:var(--color-accent)}.quote-form button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.quote-form button:disabled{cursor:wait;opacity:.65}.quote-form .form-status{min-height:1.5rem;margin-top:var(--spacing-md);color:var(--color-mute);font-weight:650;outline:none}.quote-form .form-status.is-error{color:var(--color-error)}.quote-success{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-md);padding-block:var(--spacing-xl);outline:none}.quote-success>span{display:grid;width:3rem;height:3rem;place-items:center;border-radius:var(--radius-pill);background:var(--color-action-soft);color:var(--color-action);font-size:1.5rem;font-weight:800}.quote-success h2{font-size:2rem}.quote-success p{max-width:var(--container-prose);color:var(--color-ink-soft)}.quote-success .submitted-estimate{border-radius:var(--radius-md);background:var(--color-action-soft);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-action);font-family:var(--font-display);font-weight:750}.quote-success a,.form-unavailable a{color:var(--color-accent);font-weight:700;text-decoration:underline;text-underline-offset:.25rem}.quote-received-toast{position:fixed;z-index:80;top:1rem;right:1rem;display:grid;width:min(29rem,calc(100vw - 2rem));grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--spacing-sm);border:1px solid color-mix(in srgb,var(--color-action) 35%,var(--color-rule));border-radius:var(--radius-lg);background:var(--color-paper);padding:var(--spacing-md);color:var(--color-ink);box-shadow:0 22px 65px #15334a3d;opacity:0;transform:translateY(-.75rem);transition:opacity .18s ease,transform .18s ease}.quote-received-toast[hidden]{display:none}.quote-received-toast.is-visible{opacity:1;transform:translateY(0)}.quote-received-toast__icon{display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:var(--radius-pill);background:var(--color-action);color:var(--color-on-dark);font-size:1.15rem;font-weight:800}.quote-received-toast strong{color:var(--color-action);font-family:var(--font-display);font-size:1.05rem}.quote-received-toast p{margin-top:var(--spacing-2xs);color:var(--color-ink-soft);font-size:.86rem;line-height:1.45}.quote-received-toast button{border:0;background:transparent;color:var(--color-mute);font-size:1.45rem;line-height:1;cursor:pointer}.quote-received-toast button:focus-visible{border-radius:var(--radius-sm);outline:3px solid var(--color-focus);outline-offset:2px}.form-unavailable{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xl);border:1px solid var(--color-error);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-error) 6%,var(--color-paper))}@media(min-width:640px){.quote-form .form-grid.two-col,.quote-form .checkbox-grid,.quote-form .choice-grid.two-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-form .span-two{grid-column:1 / -1}}@media(min-width:1024px){.quote-progress{grid-template-columns:1fr;gap:var(--spacing-md)}.quote-progress li{font-size:.82rem}}@media(max-width:639px){.quote-progress li{flex-direction:column;align-items:flex-start;font-size:.65rem;line-height:1.25}.quote-form .step-actions{align-items:stretch;flex-direction:column-reverse}.quote-form .step-actions>span{display:none}.quote-form .step-actions button{width:100%}}@media(prefers-reduced-motion:reduce){.quote-form *,.quote-form *:before,.quote-form *:after{scroll-behavior:auto!important;transition:none!important}}
