.quote-modal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}.quote-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75)}.quote-modal-panel{position:relative;z-index:1;width:100%;max-width:720px;max-height:calc(100vh - 2rem);margin:auto;display:flex;flex-direction:column;background:#ffffff;border-radius:0;box-shadow:0 24px 80px rgba(0,0,0,.45);overflow:hidden}.quote-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;padding:1.25rem 1.5rem;background:var(--color-navy);color:#ffffff;border-bottom:3px solid var(--color-link)}.quote-modal-header h2{margin:0;font-size:1.125rem;letter-spacing:.02em}.quote-modal-close,.quote-modal-header h2{font-family:var(--font-mulish),"Mulish",sans-serif;font-weight:600;text-transform:uppercase}.quote-modal-close{flex-shrink:0;background:var(--color-accent);border:none;color:#ffffff;font-size:12px;letter-spacing:.08em;padding:10px 16px;border-radius:0;cursor:pointer;transition:background .2s,color .2s}.quote-modal-close:hover{background:var(--color-link-hover);color:var(--color-white)}.quote-modal-body{flex:1 1;min-height:0;padding:1.5rem 1.5rem 2rem;overflow-y:auto;font-family:var(--font-mulish),"Mulish",sans-serif;color:var(--color-navy)}.quote-modal-intro{margin:0 0 1.5rem;font-size:15px;font-weight:300;color:var(--color-muted);line-height:1.6}.quote-form-section{margin-bottom:2rem}.quote-form-section:last-of-type{margin-bottom:1.5rem}.quote-form-section h3{font-family:var(--font-mulish),"Mulish",sans-serif;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-navy);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #eeeeee}.quote-form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem 1.25rem;gap:1rem 1.25rem}.quote-form-grid .full-width{grid-column:1/-1}.quote-form-field{display:flex;flex-direction:column;gap:.35rem}.quote-form-field>label{font-family:var(--font-mulish),"Mulish",sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-navy)}.quote-form-field label .required{color:var(--color-link)}.quote-form-field input,.quote-form-field select,.quote-form-field textarea{padding:10px 12px;border:1px solid #dddddd;border-radius:0;font-size:15px;font-weight:400;font-family:var(--font-mulish),"Mulish",sans-serif;color:var(--color-navy);background:#ffffff;width:100%}.quote-form-field input::placeholder{color:#888888}.quote-form-field input:focus,.quote-form-field select:focus,.quote-form-field textarea:focus{outline:none;border-color:var(--color-link);box-shadow:0 0 0 2px rgba(0,90,159,.2)}.quote-form-radios{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;padding-top:.25rem}.quote-form-radios label{display:flex;align-items:center;gap:.4rem;font-family:var(--font-mulish),"Mulish",sans-serif;font-weight:400;font-size:15px;text-transform:none;letter-spacing:normal;color:var(--color-navy);cursor:pointer}.quote-form-tcpa{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:1.5rem}.quote-form-tcpa input[type=checkbox]{margin-top:.25rem;flex-shrink:0;width:16px;height:16px;accent-color:var(--color-accent)}.quote-form-tcpa label{font-size:12px;line-height:1.55;color:var(--color-muted);font-weight:300}.quote-form-tcpa a{color:var(--color-link);text-decoration:underline}.quote-form-tcpa a:hover{color:#cc3d1c}.quote-form-submit{width:100%;max-width:none;margin-top:0}.quote-form-submit:disabled{opacity:.7;cursor:not-allowed}.quote-form-success{text-align:center;padding:2rem 1rem}.quote-form-success h3{font-family:var(--font-mulish),"Mulish",sans-serif;font-size:1.5rem;color:var(--color-navy);margin:0 0 .75rem}.quote-form-success p{color:var(--color-muted);font-weight:300;margin:0 0 1.5rem}.quote-form-success .quote-form-submit{width:auto;min-width:200px;margin:0 auto}@media (max-width:600px){.quote-modal-overlay{padding:.5rem;align-items:flex-start}.quote-modal-panel{max-height:calc(100vh - 1rem)}.quote-modal-header{padding:1rem}.quote-modal-header h2{font-size:1rem}.quote-form-grid{grid-template-columns:1fr}}