.quote-inner{max-width: 820px}.quote-lead{text-align: center;
max-width: 520px;
margin: 0 auto 1.75rem;
color: rgba(255,255,255,0.6);
font-size: 0.92rem;
line-height: 1.5}.quote-step-progress{display: none;
text-align: center;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.03em;
text-transform: uppercase;
color: rgb(137,210,217);
margin: -1.5rem 0 2rem}.quote-stepper{display: flex;
align-items: flex-start;
justify-content: center;
list-style: none;
padding: 0;
margin: 0 0 2rem}.quote-step-indicator{display: flex;
flex-direction: column;
align-items: center;
gap: 0.4rem;
width: 92px;
cursor: default;
flex-shrink: 0}.quote-step-indicator.is-reachable{cursor: pointer}.quote-step-circle{display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
background: rgba(255,255,255,0.05);
border: 1.5px solid rgba(137,210,217,0.25);
color: rgba(255,255,255,0.55);
font-weight: 700;
font-size: 0.85rem;
transition: all 0.3s}.quote-step-indicator.is-current .quote-step-circle{background: linear-gradient(135deg,var(--deep-teal),var(--teal-green));
border-color: transparent;
color: var(--white);
box-shadow: 0 4px 16px rgba(20,109,104,0.45)}.quote-step-indicator.is-complete .quote-step-circle{background: rgba(137,210,217,0.15);
border-color: rgb(137,210,217);
color: rgb(137,210,217)}.quote-step-indicator.is-complete .quote-step-circle::before{content: ''}.quote-step-label{font-size: 0.66rem;
font-weight: 600;
text-align: center;
letter-spacing: 0.01em;
color: rgba(255,255,255,0.72);
line-height: 1.25}.quote-step-indicator.is-current .quote-step-label{color: var(--white)}.quote-step-indicator.is-complete .quote-step-label{color: rgba(137,210,217,0.9)}.quote-step-line{flex: 1 1 auto;
height: 1.5px;
background: rgba(137,210,217,0.2);
margin-top: 16px;
min-width: 12px;
max-width: 44px}.quote-form{position: relative}.quote-panel{display: block;
scroll-margin-top: 100px;
padding: 1.9rem 2.1rem 2.1rem;
margin-top: 1.5rem;
border-radius: 18px;
border: 1px solid rgba(137,210,217,0.14);
background:
radial-gradient(circle at 12% 0%,rgba(137,210,217,0.05),transparent 55%),
rgba(255,255,255,0.025);
box-shadow: 0 14px 34px rgba(0,0,0,0.2);
transition: border-color 0.25s}.quote-panel:first-of-type{margin-top: 2rem}.quote-panel:focus-within{border-color: rgba(137,210,217,0.35)}.quote-panel-head{margin-bottom: 1.1rem;text-align: center}.quote-panel-head h3{font-size: 1.15rem;
font-weight: 700;
color: var(--white);
margin-bottom: 0.3rem}.quote-panel-head p{font-size: 0.82rem;
color: rgba(255,255,255,0.55)}.quote-service-grid{display: grid;
grid-template-columns: repeat(3,1fr);
gap: 0.9rem;
margin-bottom: 0.5rem}.quote-service-card{display: flex;
align-items: center;
gap: 0.7rem;
padding: 0.9rem 1rem;
border-radius: 12px;
border: 1.5px solid rgba(137,210,217,0.16);
background: rgba(255,255,255,0.03);
cursor: pointer;
transition: border-color 0.25s,background 0.25s}.quote-service-card:hover{border-color: rgba(137,210,217,0.4)}.quote-service-card input{position: absolute;opacity: 0;width: 0;height: 0}.quote-service-check{flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border-radius: 6px;
border: 1.5px solid rgba(255,255,255,0.25);
transition: all 0.2s}.quote-service-check svg{width: 13px;height: 13px;
stroke: var(--white);
fill: none;
stroke-width: 3;
opacity: 0;
transform: scale(0.6);
transition: all 0.2s}.quote-service-label{font-size: 0.85rem;
font-weight: 600;
color: rgba(255,255,255,0.8);
line-height: 1.35}.quote-service-card:has(input:checked),
.quote-service-card.is-checked{border-color: transparent;
background: rgba(137,210,217,0.1);
box-shadow: 0 0 0 1.5px rgb(137,210,217) inset}.quote-service-card:has(input:checked) .quote-service-check,
.quote-service-card.is-checked .quote-service-check{background: linear-gradient(135deg,var(--deep-teal),var(--teal-green));
border-color: transparent}.quote-service-card:has(input:checked) .quote-service-check svg,
.quote-service-card.is-checked .quote-service-check svg{opacity: 1;transform: scale(1)}.quote-service-card:has(input:checked) .quote-service-label,
.quote-service-card.is-checked .quote-service-label{color: var(--white)}.quote-service-card:has(input:focus-visible){outline: 2px solid rgb(137,210,217);outline-offset: 2px}.quote-service-item{display: flex;flex-direction: column}.quote-service-item:has(.quote-subservice-list:not([hidden])){grid-column: 1 / -1}.quote-subservice-panel{margin-top: 0.5rem;
padding: 0 0.2rem}.quote-subservice-toggle{display: flex;
align-items: center;
gap: 0.4rem;
width: 100%;
padding: 0.5rem 0.2rem;
background: none;
border: none;
font-family: inherit;
font-size: 0.78rem;
font-weight: 700;
color: rgb(137,210,217);
cursor: pointer}.quote-subservice-toggle svg{width: 12px;height: 12px;
stroke: currentColor;fill: none;stroke-width: 2.5;
transition: transform 0.25s}.quote-subservice-toggle.is-open svg{transform: rotate(180deg)}.quote-subservice-list{display: grid;
grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
gap: 1.1rem 2rem;
max-height: 400px;
overflow-y: auto;
padding: 1rem 1.1rem;
border-radius: 10px;
border: 1px solid rgba(137,210,217,0.14);
background: rgba(255,255,255,0.02)}.quote-subservice-group{break-inside: avoid}.quote-subservice-group-title{font-size: 0.66rem;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
color: rgba(255,255,255,0.4);
margin-bottom: 0.4rem}.quote-subservice-option{display: flex;
align-items: flex-start;
gap: 0.55rem;
padding: 0.32rem 0.1rem;
cursor: pointer;
font-size: 0.82rem;
color: rgba(255,255,255,0.72);
line-height: 1.4}.quote-subservice-option input{margin-top: 0.2rem;
width: 15px;
height: 15px;
accent-color: var(--teal-accent);
flex-shrink: 0}.quote-subservice-option:hover{color: var(--white)}.quote-subservice-option:has(input:checked){color: var(--white);font-weight: 600}.quote-review-sub{font-weight: 400;
color: rgba(255,255,255,0.55);
font-size: 0.85em}.cta-actions.cta-actions-flex{display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
gap: 1.75rem 2.25rem}.cta-actions.cta-actions-flex .cta-phone-link:first-child,
.cta-actions.cta-actions-flex .cta-phone-link:last-child{justify-self: unset}@media (max-width: 560px){.cta-actions.cta-actions-flex{flex-direction: column;gap: 1rem}}.cta-final .cta-desc{text-align-last: center}.svc-select{position: relative}.svc-select-trigger{width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.6rem;
padding: 0.7rem 0.95rem;
border-radius: 10px;
border: 1.5px solid rgba(137,210,217,0.22);
background: rgba(255,255,255,0.04);
color: rgba(255,255,255,0.4);
font-family: inherit;
font-size: 0.85rem;
font-weight: 600;
cursor: pointer;
text-align: left;
transition: border-color 0.2s,background 0.2s}.svc-select-trigger.has-val{color: var(--white)}.svc-select-trigger:hover,.svc-select.open .svc-select-trigger{border-color: rgb(137,210,217)}.svc-select-caret{width: 15px;height: 15px;
stroke: currentColor;fill: none;stroke-width: 2;
flex-shrink: 0;
transition: transform 0.2s}.svc-select.open .svc-select-caret{transform: rotate(180deg)}.svc-select-panel{position: absolute;
top: calc(100% + 6px);
left: 0;
right: 0;
z-index: 40;
background: #232a2d;
border: 1px solid rgba(137,210,217,0.25);
border-radius: 10px;
box-shadow: 0 16px 40px rgba(0,0,0,0.4);
overflow: hidden}.svc-select-search{width: 100%;
padding: 0.65rem 0.9rem;
border: none;
border-bottom: 1px solid rgba(255,255,255,0.08);
background: rgba(255,255,255,0.02);
color: var(--white);
font-family: inherit;
font-size: 0.82rem}.svc-select-search::placeholder{color: rgba(255,255,255,0.35)}.svc-select-search:focus{outline: none;background: rgba(255,255,255,0.05)}.svc-select-options{max-height: 380px;overflow-y: auto;padding: 0.35rem}.svc-select-columns{column-count: 2;
column-gap: 0.5rem}@media (min-width: 640px){.svc-select-columns{column-count: 3}}.svc-select-notsure{column-span: all;
margin-bottom: 0.3rem;
padding-bottom: 0.55rem !important;
border-bottom: 1px solid rgba(255,255,255,0.08)}.svc-select-group{break-inside: avoid;
-webkit-column-break-inside: avoid;
page-break-inside: avoid}.svc-select-group-opt{display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.32rem 0.5rem;
font-size: 0.8rem;
font-weight: 700;
color: var(--white);
cursor: pointer;
border-radius: 7px}.svc-select-group-opt:hover{background: rgba(255,255,255,0.06)}.svc-select-sub-opt{display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.2rem 0.5rem 0.2rem 1.5rem;
font-size: 0.75rem;
line-height: 1.3;
color: rgba(255,255,255,0.65);
cursor: pointer;
border-radius: 7px}.svc-select-sub-opt:hover{background: rgba(255,255,255,0.06);color: var(--white)}.svc-select-group-opt input,.svc-select-sub-opt input{width: 13px;height: 13px;
accent-color: var(--teal-accent);
flex-shrink: 0}.svc-select-empty{padding: 1.2rem;
text-align: center;
font-size: 0.78rem;
color: rgba(255,255,255,0.4)}.svc-select-chips{display: flex;
flex-wrap: wrap;
gap: 0.45rem;
margin-top: 0.65rem}.svc-chip{display: inline-flex;
align-items: center;
gap: 0.35rem;
padding: 0.3rem 0.35rem 0.3rem 0.65rem;
border-radius: 100px;
background: rgba(137,210,217,0.12);
border: 1px solid rgba(137,210,217,0.3);
font-size: 0.74rem;
font-weight: 600;
color: var(--white)}.svc-chip button{display: flex;
align-items: center;
justify-content: center;
width: 15px;height: 15px;
border-radius: 50%;
border: none;
background: rgba(255,255,255,0.12);
color: var(--white);
font-size: 0.75rem;
line-height: 1;
cursor: pointer;
padding: 0}.svc-chip button:hover{background: rgba(230,140,120,0.6)}.quote-more-toggle{display: flex;
align-items: center;
gap: 0.4rem;
padding: 0.4rem 0;
background: none;
border: none;
font-family: inherit;
font-size: 0.78rem;
font-weight: 700;
color: rgb(137,210,217);
cursor: pointer}.quote-more-toggle svg{width: 12px;height: 12px;
stroke: currentColor;fill: none;stroke-width: 2.5;
transition: transform 0.25s;
flex-shrink: 0}.quote-more-toggle.is-open svg{transform: rotate(180deg)}.quote-more-panel{margin-top: 0.6rem;
padding-top: 0.6rem;
border-top: 1px dashed rgba(255,255,255,0.08)}.form-row{display: grid;
grid-template-columns: repeat(2,1fr);
gap: 0.9rem}.form-row-3{grid-template-columns: repeat(3,1fr)}.form-field{margin-bottom: 0.9rem}.form-label{display: block;
font-size: 0.76rem;
font-weight: 700;
color: rgba(255,255,255,0.8);
margin-bottom: 0.35rem}.form-label .req,.req{color: rgb(230,140,120);margin-left: 0.15rem}.optional{font-weight: 500;color: rgba(255,255,255,0.35);text-transform: none;letter-spacing: 0}.form-input,.form-textarea{width: 100%;
padding: 0.6rem 0.8rem;
border-radius: 8px;
border: 1.5px solid rgba(137,210,217,0.18);
background: rgba(255,255,255,0.04);
color: var(--white);
font-family: inherit;
font-size: 0.83rem;
transition: border-color 0.25s,background 0.25s}.form-input::placeholder,.form-textarea::placeholder{color: rgba(255,255,255,0.32)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline: none;
border-color: rgb(137,210,217);
background: rgba(255,255,255,0.06);
box-shadow: 0 0 0 3px rgba(43,179,163,0.45)}.svc-select-search:focus-visible{box-shadow: 0 0 0 3px rgba(43,179,163,0.45)}.form-textarea{resize: vertical;min-height: 66px;line-height: 1.5}.form-select{appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389D2D9' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 1rem center;
background-size: 16px;
padding-right: 2.6rem}.form-select option{background: var(--charcoal);color: var(--white)}.form-input.is-invalid,.form-textarea.is-invalid,.form-select.is-invalid{border-color: rgb(230,120,120);
background: rgba(230,120,120,0.06)}.form-input[type="date"],.form-input[type="time"]{color-scheme: dark}.quote-datetime-row{margin-bottom: 0.9rem}.quote-datetime-row .form-field{margin-bottom: 0}.quote-upload-note{font-size: 0.78rem;
line-height: 1.5;
color: rgba(255,255,255,0.45);
margin: -0.15rem 0 0.6rem}.quote-upload-note a{color: rgb(137,210,217)}.quote-upload-zone{display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.45rem;
padding: 1.1rem 1.25rem;
border-radius: 12px;
border: 1.5px dashed rgba(137,210,217,0.3);
background: rgba(255,255,255,0.02);
text-align: center;
cursor: pointer;
transition: border-color 0.25s,background 0.25s}.quote-upload-zone:hover,.quote-upload-zone.is-dragover{border-color: rgb(137,210,217);
background: rgba(137,210,217,0.06)}.quote-upload-zone svg{width: 26px;height: 26px;
stroke: rgb(137,210,217);
fill: none;
stroke-width: 1.8}.quote-upload-zone span{font-size: 0.85rem;
color: rgba(255,255,255,0.6)}.quote-upload-zone strong{color: var(--white)}.quote-file-chip-list{display: flex;
flex-wrap: wrap;
gap: 0.5rem;
margin-top: 0.7rem}.quote-file-chip{display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 0.7rem;
border-radius: 10px;
border: 1px solid rgba(137,210,217,0.2);
background: rgba(255,255,255,0.04);
font-size: 0.78rem;
color: rgba(255,255,255,0.75)}.quote-file-chip svg{width: 15px;height: 15px;
stroke: rgb(137,210,217);
fill: none;
stroke-width: 2;
flex-shrink: 0}.quote-file-chip-name{font-weight: 600;color: var(--white);max-width: 220px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.quote-file-chip-size{color: rgba(255,255,255,0.4)}.quote-file-chip-remove{background: none;
border: none;
color: rgba(255,255,255,0.5);
font-size: 1.1rem;
line-height: 1;
cursor: pointer;
padding: 0 0.15rem}.quote-file-chip-remove:hover{color: rgb(230,140,120)}.addr-field{position: relative}.addr-suggest-list{position: absolute;
top: calc(100% + 4px);
left: 0;
right: 0;
z-index: 40;
background: #232a2d;
border: 1px solid rgba(137,210,217,0.25);
border-radius: 10px;
box-shadow: 0 16px 40px rgba(0,0,0,0.4);
overflow: hidden;
padding: 0.3rem}.addr-suggest-item{display: flex;
align-items: center;
gap: 0.6rem;
width: 100%;
padding: 0.55rem 0.6rem;
background: none;
border: none;
border-radius: 7px;
font-family: inherit;
font-size: 0.8rem;
line-height: 1.35;
color: rgba(255,255,255,0.85);
text-align: left;
cursor: pointer}.addr-suggest-item:hover,.addr-suggest-item:focus-visible{background: rgba(255,255,255,0.06);color: var(--white);outline: none}.addr-suggest-item svg{width: 15px;height: 15px;
flex-shrink: 0;
stroke: rgb(137,210,217);
fill: none;
stroke-width: 2}.quote-map-actions{display: flex;
align-items: center;
gap: 0.9rem;
flex-wrap: wrap;
margin-bottom: 0.7rem}.quote-map-actions .btn{padding: 0.55rem 1rem;font-size: 0.78rem}.quote-map-actions .btn svg{width: 14px;height: 14px;stroke: currentColor;fill: none;stroke-width: 2;margin-right: 0.35rem}.quote-map-status{font-size: 0.78rem;
font-weight: 600;
color: rgba(255,255,255,0.5)}.quote-map-wrap{border-radius: 12px;
overflow: hidden;
border: 1px solid rgba(137,210,217,0.18);
margin: 0 0 0.9rem}.quote-map{width: 100%;
height: 280px;
background: rgba(255,255,255,0.03)}.pill-group{display: flex;
flex-wrap: wrap;
gap: 0.6rem}.pill-group.is-invalid{box-shadow: 0 0 0 1.5px rgba(230,120,120,0.6);border-radius: 100px;padding: 0.3rem;margin: -0.3rem}.pill-option{position: relative;cursor: pointer}.pill-option input{position: absolute;opacity: 0;width: 0;height: 0}.pill-option span{display: inline-flex;
padding: 0.6rem 1.15rem;
border-radius: 100px;
border: 1.5px solid rgba(137,210,217,0.22);
background: rgba(255,255,255,0.03);
color: rgba(255,255,255,0.72);
font-size: 0.83rem;
font-weight: 600;
transition: all 0.2s}.pill-option:hover span{border-color: rgba(137,210,217,0.5)}.pill-option input:checked + span{background: linear-gradient(135deg,var(--deep-teal),var(--teal-green));
border-color: transparent;
color: var(--white);
box-shadow: 0 4px 14px rgba(20,109,104,0.4)}.pill-option input:focus-visible + span{outline: 2px solid rgb(137,210,217);outline-offset: 2px}.quote-error{display: none;
font-size: 0.85rem;
font-weight: 600;
color: rgb(230,140,120);
margin: -0.5rem 0 1rem}.quote-error.is-visible{display: block}.quote-error-summary{text-align: center;
margin: 0.5rem 0 0}.quote-submit-row{display: flex;
justify-content: center;
margin-top: 1.25rem;
padding-top: 1.1rem;
border-top: 1px solid rgba(255,255,255,0.07)}.quote-submit-row .btn{padding: 0.85rem 2.25rem}.quote-consent-field{margin-bottom: 0.4rem}.quote-consent{display: flex;
align-items: flex-start;
gap: 0.6rem;
cursor: pointer;
font-size: 0.82rem;
color: rgba(255,255,255,0.7);
line-height: 1.45}.quote-consent input{margin-top: 0.15rem;
width: 16px;
height: 16px;
accent-color: var(--teal-accent);
flex-shrink: 0}.quote-review-placeholder{text-align: center;
font-size: 0.85rem;
color: rgba(255,255,255,0.4);
padding: 1.5rem 0}.quote-review-group{border: 1px solid rgba(137,210,217,0.14);
border-radius: 12px;
padding: 0.9rem 1.1rem;
margin-bottom: 0.7rem;
background: rgba(255,255,255,0.02)}.quote-review-group-head{display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0.6rem}.quote-review-group-head h4{font-size: 0.7rem;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
color: rgba(137,210,217,0.85)}.quote-review-edit{background: none;
border: none;
font-family: inherit;
font-size: 0.72rem;
font-weight: 700;
color: rgb(137,210,217);
cursor: pointer;
padding: 0.1rem 0.4rem}.quote-review-edit:hover{text-decoration: underline}.quote-review-rows{display: flex;flex-direction: column;gap: 0.4rem}.quote-review-row{display: grid;
grid-template-columns: 130px 1fr;
gap: 0.8rem}.quote-review-label{font-size: 0.76rem;
font-weight: 600;
color: rgba(255,255,255,0.45)}.quote-review-value{font-size: 0.82rem;
color: var(--white);
line-height: 1.45}.quote-success{text-align: center;
max-width: 480px;
margin: 0 auto;
padding: 2rem 0}.quote-success-icon{display: inline-flex;
align-items: center;
justify-content: center;
width: 68px;
height: 68px;
border-radius: 50%;
background: linear-gradient(135deg,var(--deep-teal),var(--teal-green));
margin-bottom: 1.5rem;
box-shadow: 0 8px 28px rgba(20,109,104,0.45)}.quote-success-icon svg{width: 32px;height: 32px;
stroke: var(--white);
fill: none;
stroke-width: 2.5}.quote-success h3{font-size: 1.5rem;
font-weight: 800;
color: var(--white);
margin-bottom: 0.75rem}.quote-success p{font-size: 0.95rem;
line-height: 1.65;
color: rgba(255,255,255,0.62);
margin-bottom: 2rem}.quote-success-actions{display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
flex-wrap: wrap}.quick-contact-grid{display: grid;
grid-template-columns: repeat(4,1fr);
gap: 1.25rem;
margin-top: 2.5rem}.quick-contact-card{display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 0.75rem;
padding: 2rem 1.25rem;
border-radius: 16px;
border: 1px solid rgba(137,210,217,0.14);
background: rgba(255,255,255,0.03);
text-decoration: none;
transition: border-color 0.3s,transform 0.3s}.quick-contact-card:hover{border-color: rgba(137,210,217,0.4);transform: translateY(-3px)}.quick-contact-icon{display: flex;
align-items: center;
justify-content: center;
width: 52px;
height: 52px;
border-radius: 50%;
background: rgba(137,210,217,0.1)}.quick-contact-icon svg{width: 22px;height: 22px;
stroke: rgb(137,210,217);
fill: none;
stroke-width: 2}.quick-contact-icon svg[viewBox="0 0 448 512"]{width: 20px;height: 20px;fill: rgb(137,210,217);stroke: none}.quick-contact-label{font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
color: rgba(255,255,255,0.4)}.quick-contact-value{font-size: 0.95rem;
font-weight: 700;
color: var(--white)}@media (max-width: 900px){.quote-service-grid{grid-template-columns: repeat(2,1fr)}.form-row{grid-template-columns: 1fr;gap: 0}.quote-datetime-row{grid-template-columns: repeat(2,1fr)}.quick-contact-grid{grid-template-columns: repeat(2,1fr)}.quote-review-row{grid-template-columns: 1fr;gap: 0.2rem}.form-input,.form-textarea{font-size: 16px}}@media (max-width: 720px){.quote-stepper{display: none}.quote-step-progress{display: block}.quote-service-grid{grid-template-columns: 1fr}.quote-map{height: 260px}.quote-map-actions{flex-direction: column;align-items: flex-start;gap: 0.6rem}.quote-panel{padding: 1.5rem 1.25rem 1.65rem;border-radius: 14px}}@media (max-width: 560px){.quote-submit-row .btn{width: 100%;justify-content: center}.quick-contact-grid{grid-template-columns: 1fr}.quote-file-chip-name{max-width: 130px}}
