/* EVO quote request: scoped styles preserve the existing site. */
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:48px;align-items:start;margin-top:30px}
.contact-layout .contact-intro{position:sticky;top:125px}
.contact-intro h2{font-size:clamp(2rem,3vw,2.8rem)}
.contact-hours{color:#d6e9f6;margin:24px 0}
.contact-hours strong{color:var(--gold)}
.quote-panel{min-width:0;background:#0a2337;border:1px solid #41718d;border-top:4px solid var(--gold);border-radius:9px;padding:30px;box-shadow:0 14px 35px #0003}
.quote-panel h3{font-size:1.65rem;line-height:1.2;margin:0 0 10px;color:var(--blue)}
.quote-panel .quote-intro,.quote-hint,.quote-note{color:#c5d9e8;font-size:.92rem}
.quote-panel .quote-intro{margin:0 0 24px}
.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-field{min-width:0}.quote-wide{grid-column:1/-1}
.quote-field label{display:block;color:#fff;font-size:.95rem;font-weight:700;margin-bottom:6px}
.quote-required{color:var(--gold)}
.quote-field input,.quote-field select,.quote-field textarea{display:block;width:100%;min-height:46px;background:#f5f9fc;color:#061827;border:1px solid #8ba9bc;border-radius:4px;font:inherit;padding:10px 12px}
.quote-field textarea{resize:vertical;min-height:120px}
.quote-field input:focus-visible,.quote-field select:focus-visible,.quote-field textarea:focus-visible,.quote-address summary:focus-visible,.quote-actions button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.quote-field input::placeholder,.quote-field textarea::placeholder{color:#4e6575;opacity:1}
.quote-hint{margin:5px 0 0;font-size:.83rem}
.quote-address{margin:24px 0 0;border-top:1px solid #345c75;padding-top:18px}
.quote-address summary{cursor:pointer;color:var(--blue);font-weight:700;padding:4px 0}
.quote-address .quote-fields{margin-top:18px}
.quote-actions{display:flex;align-items:center;gap:18px;margin-top:24px;flex-wrap:wrap}
.quote-actions .button{font:inherit;font-weight:800;border:0;cursor:pointer;min-height:48px}
.quote-actions .button:hover{background:#ffd04a}
.quote-actions .button:disabled{opacity:.65;cursor:wait}
.quote-reset{background:transparent;color:#d6e9f6;border:0;text-decoration:underline;font:inherit;cursor:pointer;padding:10px 0}
.quote-note{font-size:.83rem;margin:18px 0 0}
.quote-status{margin:18px 0 0;padding:14px 16px;border:1px solid #83c8a6;border-radius:5px;background:#103d32;color:#e0fff0;overflow-wrap:anywhere}
.quote-status[data-kind=error]{background:#49251e;border-color:#f1aa90;color:#fff0e9}
.quote-status[hidden]{display:none}
@media(max-width:950px){.contact-layout{grid-template-columns:1fr;gap:28px}.contact-layout .contact-intro{position:static}}
@media(max-width:520px){.quote-panel{padding:22px 18px}.quote-fields{grid-template-columns:1fr;gap:16px}.quote-actions .button{width:100%}.quote-actions{gap:10px}.quote-panel h3{font-size:1.5rem}}
