.quote-panel{scroll-margin-top:30px;display:grid;grid-template-columns:1fr 1.1fr;gap:40px;background:#f2f5f9;padding:36px;border-radius:20px;margin:45px 0}.quote-panel h2{font-size:32px;letter-spacing:-.8px}.quote-panel p,.quote-panel li{font-size:16px;line-height:1.65}.quote-panel form{background:white;border:1px solid #dfe5ee;padding:26px;border-radius:14px;min-width:0}.quote-panel label{display:block;font-weight:650;font-size:15px;margin-bottom:16px}.quote-panel input,.quote-panel textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #91a0b3;border-radius:7px;padding:12px;margin-top:7px;font:inherit;font-size:16px;color:#122b49;background:#fff;min-width:0}.quote-panel input:focus,.quote-panel textarea:focus{outline:3px solid #bfd3ed;outline-offset:2px}.quote-panel small{display:block;font-size:13px;font-weight:400;margin-top:5px}.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-panel summary,.price-guide>summary{cursor:pointer;font-weight:700;padding:12px 0}.quote-panel .quote-privacy{font-size:13px}.quote-panel button{width:100%;cursor:pointer;border:0}.quote-panel button:disabled{opacity:.7}.quote-status:empty{display:none}.quote-status{color:#8a2020}.price-examples-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-examples article{padding:22px;background:#f2f5f9;border-radius:12px}.price-guide{padding:16px 22px;border:1px solid #dfe5ee;border-radius:14px}.quote-primary{background:#122b49;color:white}@media(max-width:800px){.quote-panel{grid-template-columns:1fr;padding:22px;gap:15px}.price-examples-grid{grid-template-columns:1fr}.quote-panel h2{font-size:28px}}@media(max-width:480px){.quote-panel{padding:16px;margin:30px 0}.quote-panel form{padding:17px}.quote-fields{grid-template-columns:1fr;gap:0}.price-guide{padding:12px}.quote-panel input[type=file]{font-size:14px}}
.quote-photos{border:0;padding:0;margin:0;min-width:0}.quote-photos legend{font-weight:700}.quote-photos p{font-size:13px}.quote-photos label{font-size:14px}

/* Branded, accessible native photo upload controls. */
.quote-photos{margin:8px 0 20px;padding:20px;background:#f6f8fb;border:1px solid #dfe5ee;border-radius:16px}.quote-photos legend{padding:0 8px;color:#122b49}.quote-photos label{margin-bottom:14px;color:#122b49}.quote-photos label:last-child{margin-bottom:0}.quote-panel .quote-photos input[type=file]{padding:6px;border:1px solid #d5deea;border-radius:12px;background:#fff;font-size:13px;font-weight:400;color:#53667e;cursor:pointer;overflow:hidden}.quote-photos input[type=file]::file-selector-button{appearance:none;border:0;border-radius:8px;background:#122b49;color:#fff;padding:12px 16px;margin:0 12px 0 0;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .15s ease}.quote-photos input[type=file]:hover::file-selector-button{background:#234565}.quote-photos input[type=file]:focus-visible{outline:3px solid #9fbadd;outline-offset:3px}.quote-photos input[type=file]::file-selector-button:active{background:#0c2038}@media(max-width:480px){.quote-photos{padding:14px}.quote-photos input[type=file]::file-selector-button{padding:12px;margin-right:8px}}
