/* Quote journey shares the HomeScan palette and type system. */
.quote-page{background:var(--mist)}
.quote-preview-note{padding:12px var(--pad);background:#e9f3f8;display:flex;gap:24px;align-items:center;border-bottom:1px solid #cbdfe9;font-size:12px}
.quote-preview-note>span{font-size:9px;letter-spacing:.11em;font-weight:600;flex-shrink:0;color:var(--blue-deep)}.quote-preview-note a{text-decoration:underline;text-underline-offset:3px}
.quote-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(45px,6vw,100px);padding:65px var(--pad) 80px;max-width:1600px;margin:auto;align-items:start}
.quote-introduction h1{font-size:clamp(47px,4.6vw,69px);margin:22px 0 25px;line-height:1.08}.quote-introduction h1 span{color:var(--blue-deep)}
.quote-introduction>p:not(.eyebrow){color:var(--muted);max-width:425px;font-size:16px}.quote-introduction .quote-lead{font-size:21px!important;color:var(--ink)!important;margin-bottom:12px}
.quote-service{border-left:2px solid var(--blue);padding-left:18px;margin-top:24px}.quote-service>span{font-size:10px;letter-spacing:.1em;color:var(--blue-deep);font-weight:600}.quote-service p{font-size:14px;margin-top:6px;color:var(--muted)}
.quote-review{margin:30px 0}.quote-review .stars{font-size:16px;letter-spacing:3px;margin:0 0 10px}.quote-review blockquote{font:500 20px/1.45 var(--display);letter-spacing:-.025em;margin:0;max-width:385px}.quote-review figcaption{font-size:11px;margin-top:12px}.quote-review figcaption span{color:var(--muted);margin-left:10px}
.quote-architecture{margin:0}.quote-architecture img{width:100%;height:auto;aspect-ratio:2.2;object-fit:cover;object-position:center 51%}.quote-architecture figcaption{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;font-size:9px;letter-spacing:.06em}.quote-architecture figcaption span+span{letter-spacing:0;color:var(--muted)}
.quote-call{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:13px}.quote-call strong{font-weight:500}.quote-call:hover strong{text-decoration:underline}
.quote-form-panel{background:white;border-top:3px solid var(--blue);padding:36px 40px 32px;box-shadow:0 20px 70px rgba(17,43,57,.05)}
.quote-form-heading .eyebrow{font-size:10px;color:var(--blue-deep)}.quote-form-heading h2{font-size:35px;line-height:1.15;margin:15px 0}.quote-form-heading>p:last-child{font-size:11px;color:var(--muted)}
.quote-form-panel fieldset{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:26px 0 0;min-width:0}.quote-form-panel legend{font:500 19px/1.5 var(--display);letter-spacing:-.035em;padding:0 20px 0 0}.quote-form-panel legend span{color:var(--blue-deep);font:400 12px var(--body);margin-right:13px;letter-spacing:0}
.quote-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.quote-field{margin-bottom:17px;min-width:0}.quote-field label{display:flex;align-items:center;gap:5px;font-size:13px;line-height:1.5;margin-bottom:8px}.quote-field label>span[aria-hidden]{color:var(--blue-deep)}.field-optional{font-size:10px;color:var(--muted);margin-left:auto}
.quote-field input,.quote-field textarea{display:block;width:100%;font:400 16px/1.5 var(--body);background:#fbfdfe;border:1px solid #b6cbd7;border-radius:0;color:var(--ink);padding:11px 13px;min-height:49px;transition:border-color .2s,box-shadow .2s}.quote-field textarea{resize:vertical;min-height:82px}.quote-field input:focus,.quote-field textarea:focus{outline:0;border-color:var(--blue-deep);box-shadow:0 0 0 3px rgba(74,175,227,.2)}.quote-field [aria-invalid=true]{border-color:#9e3232}.field-help{font-size:11px;color:var(--muted);margin-top:7px}.price-input{position:relative}.price-input>span{position:absolute;top:12px;left:13px;color:var(--muted)}.price-input input{padding-left:30px}
.quote-form-end{border-top:1px solid var(--line);padding-top:24px;margin-top:10px}.quote-submit{width:100%;justify-content:space-between;cursor:pointer}.quote-submit>span{font-size:20px}.quote-form-end>p{font-size:11px;color:var(--muted);margin-top:12px}.quote-privacy a{text-decoration:underline;text-underline-offset:3px}
.quote-errors{background:#fff4f3;border-left:3px solid #9e3232;padding:15px 18px;margin:20px 0;font-size:13px}.quote-errors ul{padding-left:18px;margin:8px 0 0}.quote-errors a{text-decoration:underline;text-underline-offset:3px}.quote-errors[hidden],.quote-review-panel[hidden],#quote-form[hidden]{display:none}
.quote-review-panel{padding-top:30px;outline:0}.quote-review-panel>.eyebrow{font-size:10px;color:var(--blue-deep)}.quote-review-panel h3{font-size:30px;margin:15px 0}.quote-review-panel>p{font-size:14px;color:var(--muted)}.quote-review-panel dl{margin:25px 0}.quote-review-panel dl>div{padding:14px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:125px minmax(0,1fr);gap:20px;font-size:13px}.quote-review-panel dt{color:var(--muted)}.quote-review-panel dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.quote-review-actions{display:flex;gap:25px}.quote-review-actions button{border:0;border-bottom:1px solid var(--blue);background:transparent;cursor:pointer;padding:8px 0}.quote-live-handoff{background:var(--mist);padding:22px;margin-top:24px}.quote-live-handoff h4{font:500 20px/1.4 var(--display);letter-spacing:-.035em;margin:0 0 10px}.quote-live-handoff p{font-size:13px;color:var(--muted);margin-bottom:20px}.quote-live-handoff .button{font-size:12px;justify-content:space-between;gap:20px;width:100%;white-space:normal}
.quote-next{background:var(--ink);color:#fff;padding:65px var(--pad)}.quote-next>.eyebrow{color:var(--blue)}.quote-next h2{font-size:38px;margin-top:20px}.quote-next ol{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin:40px 0 0}.quote-next li{border-top:1px solid #426171;padding-top:20px}.quote-next li>span{font-size:12px;color:var(--blue)}.quote-next h3{font-size:24px;line-height:1.2;margin:16px 0}.quote-next li>p{font-size:15px;color:#bdccd5;max-width:320px}
@media(max-width:1100px){.quote-layout{gap:35px;grid-template-columns:.85fr 1.25fr}.quote-form-panel{padding:30px}.quote-introduction h1{font-size:52px}.quote-field-row{gap:15px}.quote-review figcaption span{display:block;margin-left:0}.quote-form-heading h2{font-size:31px}}
@media(max-width:800px){.quote-preview-note{padding:12px 24px;display:block}.quote-preview-note>span{display:block;margin-bottom:5px}.quote-layout{display:flex;flex-direction:column;gap:28px;padding:40px 24px 50px}.quote-introduction{width:100%}.quote-introduction h1{font-size:38px;margin:18px 0}.quote-introduction>p:not(.eyebrow){font-size:16px}.quote-service{margin-top:20px}.quote-review{margin:22px 0 0}.quote-review blockquote{font-size:17px}.quote-review figcaption span{display:inline;margin-left:7px}.quote-architecture,.quote-call{display:none}.quote-form-panel{padding:25px 22px;width:100%}.quote-form-heading h2{font-size:29px}.quote-form-panel fieldset{margin-top:24px;padding-top:18px}.quote-field-row{grid-template-columns:1fr;gap:0}.quote-field label{font-size:14px}.quote-field input,.quote-field textarea{min-height:51px}.quote-field textarea{min-height:96px}.quote-form-end>p,.field-help{font-size:12px}.quote-review-panel dl>div{grid-template-columns:1fr;gap:5px}.quote-next{padding:45px 24px}.quote-next h2{font-size:33px}.quote-next ol{grid-template-columns:1fr;gap:25px;margin-top:30px}.quote-next h3{font-size:24px}.quote-next li>p{font-size:16px;max-width:none}.quote-introduction .quote-lead{font-size:19px!important}}

.quote-service p{font-size:15px;margin-top:0}.quote-preview-note p{font-size:14px}.quote-architecture figcaption{font-size:13px;letter-spacing:0}
