.quote-experience{grid-template-columns:minmax(0,1fr) 320px;gap:65px;align-items:start;padding-top:65px}.quote-main{min-width:0}.quote-wizard{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:0 16px 70px #17365305}.quote-wizard [hidden]{display:none!important}.quote-progress{margin-bottom:42px;border-bottom:1px solid var(--line);padding-bottom:26px}.quote-progress-caption{display:flex;justify-content:space-between;gap:12px;font-size:.72rem;color:var(--muted);margin:0 0 18px}.quote-progress-caption span:first-child{font-weight:700;color:var(--forest)}.quote-step-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;gap:12px}.quote-step-list li{display:flex;align-items:center;gap:10px;font-size:.78rem;color:var(--muted);font-weight:600;position:relative}.quote-step-list li>span{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--stone);color:var(--muted);font-size:.68rem;border:1px solid var(--line)}.quote-step-list [aria-current=step]{color:var(--ink)}.quote-step-list [aria-current=step]>span{background:#0073e6;color:#fff;border-color:#0073e6;box-shadow:0 0 0 4px #0073e610}.quote-step-list li.is-complete>span{background:var(--brand-green);color:var(--surface);border-color:var(--brand-green)}.quote-step-heading h2{font-size:clamp(1.6rem,2.5vw,2.15rem);letter-spacing:-.045em;line-height:1.2;margin:0 0 14px;scroll-margin-top:150px}.quote-step-heading h2:focus{outline:none}.quote-step-heading p:last-child{font-size:.91rem;color:var(--muted);line-height:1.75;margin-bottom:0}.quote-step-heading .eyebrow{font-size:.62rem;letter-spacing:.12em;margin-bottom:12px}.quote-step{min-width:0}.quote-step:not(:last-of-type){padding-bottom:20px}.quote-wizard.is-enhanced .quote-step{padding-bottom:0}.quote-wizard fieldset{margin:29px 0}.quote-wizard legend{font-family:var(--sans);font-size:.91rem;margin-bottom:13px;color:var(--ink);font-weight:600;letter-spacing:0}.quote-wizard .field label{font-size:.79rem}.quote-wizard .check-label{border-radius:8px;min-height:54px;padding:12px;font-size:.78rem;gap:10px;transition:background .2s,border-color .2s,box-shadow .2s;line-height:1.45;cursor:pointer}.quote-wizard .check-label:hover{border-color:var(--forest)}.quote-wizard .check-label:has(input:checked){background:var(--stone);border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}.quote-wizard .check-label:has(input:focus-visible){outline:3px solid var(--forest);outline-offset:2px}.quote-wizard .check-label input{width:17px;height:17px}.quote-size-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-wizard .field input,.quote-wizard .field textarea{border-radius:8px;line-height:1.6;font-size:.9rem}.quote-wizard textarea{resize:vertical;min-height:130px}.quote-wizard .help-text{font-size:.74rem;line-height:1.65}.quote-wizard fieldset>.help-text{margin-top:10px}.quote-step-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.quote-step-actions .button{font-size:.8rem;gap:18px;min-height:49px;padding:14px 22px}.quote-step-actions .button span{font-size:1.1rem}.quote-back-button,.quote-text-button{border:0;background:transparent;color:var(--forest);cursor:pointer;font-family:var(--sans);font-size:.79rem;font-weight:600;padding:10px 0;min-height:44px}.quote-back-button{color:var(--ink);display:flex;align-items:center;gap:10px}.quote-text-button{text-decoration:underline;text-underline-offset:4px}.quote-back-button:hover,.quote-text-button:hover{color:var(--forest)}.quote-prefill-note{margin-top:20px;background:var(--stone);padding:13px 16px;border-radius:8px;border-left:3px solid var(--brand-green);font-size:.78rem;color:var(--ink)}.quote-upload-box{border:1px dashed var(--forest);background:var(--stone);border-radius:12px;padding:25px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:19px}.quote-upload-box>svg{width:40px;height:40px;fill:none;stroke:var(--forest);stroke-width:1.5;margin-top:5px}.quote-wizard input[type=file]{padding:9px;font-size:.75rem;border-color:var(--line);min-width:0}.quote-wizard input[type=file]::file-selector-button{border:0;padding:9px 10px;background:var(--stone);color:var(--ink);border-radius:5px;margin-right:10px;cursor:pointer;font:inherit;font-weight:600}.quote-photo-status{font-size:.79rem;color:var(--muted);line-height:1.6;margin:15px 0}.quote-photo-status:empty{display:none}.quote-photo-status.is-error{color:#a82e24;background:#fff1ed;padding:12px 15px;border-radius:7px}.quote-photo-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.quote-photo-previews:empty{display:none}.quote-photo-preview{margin:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--paper);min-width:0}.quote-photo-preview img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover}.quote-photo-preview figcaption{padding:10px 11px 0;display:flex;flex-direction:column;gap:4px;min-width:0}.quote-photo-preview figcaption>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem;font-weight:600}.quote-photo-preview small{font-size:.66rem;color:var(--muted)}.quote-photo-remove{min-height:44px;padding:8px 11px;color:var(--forest);font-family:var(--sans);font-size:.73rem;text-decoration:underline;background:transparent;border:0;cursor:pointer}.quote-photo-guidance{padding-top:18px;border-top:1px solid var(--line);margin-top:22px!important}.quote-review{border-radius:10px;border:1px solid var(--line);padding:18px 20px;margin-top:25px;background:var(--stone)}.quote-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-review h3{font-size:.87rem;font-weight:600;margin:0;letter-spacing:-.02em}.quote-review .quote-text-button{font-size:.73rem;flex-shrink:0;padding:5px 0}.quote-review dl{margin:7px 0 0;font-size:.77rem}.quote-review dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;padding:9px 0;border-top:1px solid var(--line)}.quote-review dt{font-weight:600;color:var(--ink)}.quote-review dd{margin:0;color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap}.quote-review dd[data-quote-summary=message]{max-height:180px;overflow:auto}.quote-wizard .form-consent{font-size:.78rem;line-height:1.7}.quote-wizard .form-consent input{margin-top:3px;accent-color:#0073e6}.quote-note{font-size:.74rem;line-height:1.7;color:var(--muted);margin:17px 0 0}.quote-help-card{padding:30px;border:1px solid var(--line);border-radius:15px;background:var(--stone)}.quote-help-card h2{font-size:1.7rem;line-height:1.25;margin-bottom:20px}.quote-help-card>.eyebrow{font-size:.63rem}.quote-help-card>p:not(.eyebrow){font-size:.84rem;line-height:1.8}.quote-help-mark{font-family:var(--serif);font-weight:700;color:var(--forest);font-size:2.1rem;line-height:1;display:block;margin-bottom:25px}.quote-next-steps{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:20px}.quote-next-steps li{display:flex;gap:14px}.quote-next-steps li>span{flex-shrink:0;font-size:.65rem;color:var(--forest);padding-top:3px;font-weight:600}.quote-next-steps strong{display:block;font-size:.76rem;font-weight:600;line-height:1.7}.quote-next-steps p{font-size:.74rem;margin:6px 0 0;line-height:1.75}.quote-call{margin-top:27px;padding-top:22px;border-top:1px solid var(--line)}.quote-call .text-link{display:inline-block;font-size:1rem;margin-top:10px}.quote-main .error-summary{border-radius:12px;font-size:.88rem}.quote-main .error-summary h2{font-size:1.4rem}.quote-main .field-error{margin-top:8px;line-height:1.6}.quote-main .error-summary a{overflow-wrap:anywhere}:root[data-theme=dark] .quote-photo-status.is-error{color:#ffb1a8;background:#39252a}:root[data-theme=dark] .quote-step-list li.is-complete>span{background:#1f7a3a;color:#fff;border-color:#1f7a3a}
@media(max-width:1150px){.quote-experience{gap:30px;grid-template-columns:minmax(0,1fr) 280px}.quote-wizard{padding:27px}.quote-size-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-step-list li{font-size:.69rem;gap:7px}.quote-help-card{padding:25px}.quote-upload-box{padding:20px;grid-template-columns:1fr}.quote-upload-box>svg{display:none}}
@media(max-width:900px){.quote-experience{grid-template-columns:minmax(0,1fr);max-width:760px;padding-top:45px}.quote-help-card{position:static;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.quote-help-mark{display:none}.quote-help-card>.eyebrow,.quote-help-card>h2,.quote-help-card>p{grid-column:1}.quote-next-steps{grid-column:2;grid-row:1/5;margin:0}.quote-call{grid-column:1;margin-top:5px}.quote-step-list li{font-size:.79rem}.quote-size-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:520px){.quote-experience{padding-top:30px;gap:25px}.quote-wizard{padding:22px 17px;border-radius:12px}.quote-progress{margin-bottom:30px;padding-bottom:20px}.quote-progress-caption{font-size:.65rem}.quote-step-list{gap:7px}.quote-step-list li{flex-direction:column;align-items:flex-start;gap:7px;font-size:.64rem;line-height:1.4}.quote-step-list li>span{height:30px;width:30px;font-size:.62rem}.quote-step-heading h2{font-size:1.7rem;scroll-margin-top:115px}.quote-step-heading p:last-child{font-size:.83rem}.quote-wizard .check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quote-wizard .check-label{padding:10px 8px;font-size:.72rem;gap:7px;min-height:57px}.quote-wizard .check-label input{width:16px;height:16px}.quote-wizard .form-grid{gap:18px}.quote-step-actions{gap:12px;flex-wrap:wrap}.quote-step-actions>.help-text{width:100%;font-size:.7rem}.quote-step-actions>.help-text+.button{margin-left:auto}.quote-step-actions .button{font-size:.74rem;padding:13px 16px;gap:12px}.quote-final-actions .button{width:100%;justify-content:center}.quote-final-actions{row-gap:8px}.quote-upload-box{padding:16px 12px}.quote-photo-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quote-review{padding:13px}.quote-review h3{font-size:.8rem}.quote-review dl>div{grid-template-columns:1fr;gap:3px}.quote-review-heading{align-items:center;gap:10px}.quote-help-card{display:block;padding:25px}.quote-next-steps{margin-top:25px}.quote-call{margin-top:25px}.quote-help-card h2{font-size:1.7rem}.quote-help-card p{font-size:.8rem}.quote-wizard .field input,.quote-wizard .field textarea{font-size:1rem}.quote-wizard input[type=file]{font-size:.68rem;padding:7px}.quote-note{font-size:.69rem}}
@media(max-width:350px){.quote-wizard{padding:19px 13px}.quote-wizard .quote-service-choices{grid-template-columns:1fr}.quote-step-list li{font-size:.59rem}.quote-step-heading h2{font-size:1.55rem}.quote-progress-caption{font-size:.6rem}.quote-review-heading{flex-wrap:wrap;gap:0}}
@media(prefers-reduced-motion:no-preference){.quote-wizard.is-enhanced .quote-step:not([hidden]){animation:quote-step-appear .25s ease-out}@keyframes quote-step-appear{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}}
.quote-photo-status{overflow-wrap:anywhere}.quote-wizard input,.quote-wizard textarea{scroll-margin-top:140px}
:root:not([data-theme=dark]) .quote-next-steps li>span,:root:not([data-theme=dark]) .quote-text-button,:root:not([data-theme=dark]) .quote-photo-remove{color:#0067ce}
@media(max-width:520px){.quote-wizard input,.quote-wizard textarea{scroll-margin-top:110px}}
@media print{.quote-step[hidden]{display:block!important}.quote-progress,.quote-step-actions{display:none}.quote-wizard{border:0;padding:0;box-shadow:none}.quote-help-card{display:none}}
