.quote-page main{background:#f3f7fa;color:#102b43}
.quote-page .quote{padding:64px 0 80px}
.quote-heading{max-width:760px;margin-bottom:32px}
.quote-heading .eyebrow{color:#087bad}
.quote-heading h1{font-family:'Archivo Black',Arial,sans-serif;font-size:clamp(2.25rem,4.4vw,3.6rem);line-height:1.12;letter-spacing:-.035em;margin:12px 0 18px}
.quote-heading p{font-size:1.125rem;line-height:1.65;color:#4e6575;margin:0;max-width:660px}
.quote-heading .quote-mobile-contact{display:none}
.quote-page .quote-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:40px}
.quote-page .form{min-width:0;padding:32px;border:1px solid #d8e4eb;border-radius:12px;box-shadow:0 8px 30px #133b5610}
.quote-page [hidden]{display:none!important}
.quote-page .form-intro{margin:0 0 24px;color:#526b79;font-size:.9375rem}
.quote-page .fields{gap:22px 20px}
.quote-page .field label{font-size:.9375rem;color:#17354c}
.quote-page .field label span{font-weight:400;color:#536b7b}
.quote-page .field input,.quote-page .field select,.quote-page .field textarea{background:#fff;border:1px solid #9db5c4;border-radius:6px;min-height:48px;font-size:1rem;padding:12px;line-height:1.5}
.quote-page .field textarea{min-height:128px;resize:vertical}
.quote-page .field input:focus,.quote-page .field select:focus,.quote-page .field textarea:focus{outline:3px solid #8ad5ee;outline-offset:2px;border-color:#087bad}
.quote-page .field small{color:#536b7b;line-height:1.5;font-size:.875rem}
.quote-page .optional-details{margin-top:26px;padding:20px 0;border-top:1px solid #d8e4eb;border-bottom:1px solid #d8e4eb}
.quote-page .optional-details>summary{cursor:pointer;color:#12658b;font-weight:700;min-height:28px}
.quote-page .optional-details .fields{margin-top:22px}
.quote-page .btn{border-radius:6px}
.quote-page .form .btn{background:#087bad;color:#fff;margin-top:24px;min-height:50px}
.quote-page .form .btn:hover{background:#075d86}
.quote-page .form .btn.secondary{background:#fff;border-color:#9db5c4;color:#17354c}
.quote-page .form .btn.secondary:hover{background:#edf5f9}
.quote-page .form-help{font-size:.875rem;color:#536b7b;line-height:1.6;margin:14px 0 0}
.quote-sidebar{padding:6px 0;color:#536b7b}
.quote-sidebar h2{font-size:1.3rem;line-height:1.3;margin:0 0 12px;color:#102b43}
.quote-sidebar p{font-size:.9375rem;margin:0 0 16px}
.quote-sidebar .contact-direct{margin:20px 0 28px;border:0;border-left:3px solid #22a8d5;padding:0 0 0 18px}
.quote-sidebar .contact-direct a{display:block;color:#075f88;font-weight:600;line-height:1.5;margin:10px 0;overflow-wrap:anywhere}
.quote-sidebar .service-area{padding-top:24px;border-top:1px solid #ccdde7}
.quote-sidebar .service-area h3{font-size:1rem;color:#102b43;margin:0 0 10px}
.quote-page .quote-review h2{font-size:1.65rem;line-height:1.25;margin:0 0 12px}
.quote-page .quote-review>p{color:#536b7b;margin:0 0 22px}
.quote-page .review-summary{margin:0;padding:20px;background:#f3f7fa;border-radius:8px}
.quote-page .review-summary dt{font-size:.8125rem;font-weight:700;color:#536b7b;margin-top:16px}
.quote-page .review-summary dt:first-child{margin-top:0}
.quote-page .review-summary dd{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#102b43}
.quote-page .review-actions{display:flex;gap:12px;flex-wrap:wrap}
.quote-page .review-actions .btn{width:auto;flex:1;white-space:nowrap}
.quote-page .review-fallback{margin-top:24px;padding-top:20px;border-top:1px solid #d8e4eb}
.quote-page .review-fallback p{font-size:.875rem;color:#536b7b;margin:0 0 8px}
.quote-page .text-button{border:0;background:none;color:#075f88;padding:10px 12px 10px 0;text-decoration:underline;text-underline-offset:3px;font-weight:600;min-height:44px}
.quote-page .notice{display:block;border-radius:6px;background:#e9f4fa;color:#194f6b;padding:16px;margin-top:18px}
.quote-page .privacy{max-width:680px;margin:24px 0 0;font-size:.875rem}
.quote-page .privacy summary{padding:4px 0}
.quote-page .no-script{padding:24px;background:#fff;border:1px solid #d8e4eb;border-radius:8px}
.quote-page .no-script a{display:block;color:#075f88;text-decoration:underline;margin-top:10px}
.quote-page .spam-trap{display:none!important}
.quote-page .photo-uploads{min-width:0}
.quote-page .photo-uploads h3{margin:0;font-size:1.2rem}
.quote-page .photo-uploads h3 span{font-weight:400}
.quote-page .photo-uploads #uploadHelp{margin:8px 0 20px}
.quote-page .photo-input{margin-bottom:16px;min-width:0}
.quote-page .photo-input input{display:block;max-width:100%;width:100%;box-sizing:border-box}
.quote-page .photo-input input::file-selector-button{padding:8px 12px;margin-right:12px;border:1px solid #9db5c4;border-radius:4px;background:#edf5f9;color:#17354c;cursor:pointer}
.quote-page main .upload-error{color:#a32121!important;font-weight:600}
.quote-page .btn:disabled{opacity:.65;cursor:wait}
.quote-page .confirmation-card{max-width:760px;background:white}
.quote-page .confirmation-card .contact-direct a{display:block;margin:10px 0;color:#075f88;overflow-wrap:anywhere}
@media(max-width:1000px){.quote-page .quote-grid{grid-template-columns:minmax(0,1fr) 250px;gap:28px}.quote-page .form{padding:26px}}
@media(max-width:820px){.quote-page .quote-grid{grid-template-columns:1fr;gap:32px}.quote-sidebar{border-top:1px solid #ccdde7;padding-top:28px}.quote-page .quote{padding-top:42px}}
@media(max-width:820px){.quote-heading .quote-mobile-contact{display:block;margin-top:16px;font-size:.95rem}.quote-mobile-contact a{display:inline-flex;align-items:center;min-height:44px;color:#075f88;font-weight:600;text-decoration:underline;text-underline-offset:4px}}
@media(max-width:600px){.quote-page .quote .wrap{width:calc(100% - 32px)}.quote-page .form{padding:22px 18px}.quote-heading{margin-bottom:26px}.quote-heading h1{font-size:2.25rem}.quote-heading p{font-size:1rem}.quote-page .fields{grid-template-columns:1fr;gap:20px}.quote-page .review-actions{display:block}.quote-page .review-actions .btn{width:100%}.quote-page .review-actions .btn.secondary{margin-top:12px}.quote-page .review-summary{padding:16px}.quote-page .quote{padding-bottom:48px}}
