/* Quote dialog inherits the site's type and palette; only the focused task is visible. */
.kd-quote-dialog{width:min(720px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:16px;color:#122f40;background:#fff;box-shadow:0 24px 80px rgb(9 29 42 / .24);overflow:hidden}
.kd-quote-dialog::backdrop{background:rgb(5 23 36 / .62)}
.kd-quote-dialog[open]{display:block}
.kd-quote-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}
.kd-quote-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px 18px;border-bottom:1px solid #dce4e8;flex:none}
.kd-quote-header h2{font:inherit;font-size:28px;font-weight:650;line-height:1.14;letter-spacing:-.025em;margin:5px 0 0}
.kd-quote-progress{font-size:13px;line-height:1.4;color:#4a6270;margin:0}
.kd-quote-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #d3dfe5;border-radius:50%;padding:10px;background:#fff;color:#122f40;cursor:pointer}
.kd-quote-close svg{display:block;width:22px;height:22px}
.kd-quote-scroll{overflow:auto;overscroll-behavior:contain;padding:22px 28px 28px;scrollbar-color:#a9bac4 #f0f4f6;scrollbar-width:thin}
.kd-quote-intro{font-size:15px;line-height:1.55;color:#435d6b;margin:0 0 24px;max-width:60ch}
.kd-quote-dialog fieldset{border:0;padding:0;margin:0;min-width:0}
.kd-quote-dialog legend{font-size:20px;line-height:1.3;font-weight:650;margin:0 0 18px;padding:0;letter-spacing:-.015em}
.kd-quote-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kd-quote-choice{display:flex;align-items:center;gap:12px;border:1px solid #c5d3dc;border-radius:10px;padding:16px;min-height:64px;font-size:15px;line-height:1.4;cursor:pointer;background:#fff}
.kd-quote-choice:hover{border-color:#496e86;background:#f8fafb}
.kd-quote-choice:has(input:checked){border-color:#1265a0;background:#edf6fc}
.kd-quote-choice input{flex:none;accent-color:#146399;width:18px;height:18px;margin:0}
.kd-quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kd-quote-fields label{display:grid;gap:8px;font-size:14px;line-height:1.4;font-weight:550;min-width:0}
.kd-quote-fields input,.kd-quote-fields select{min-width:0;width:100%;min-height:50px;padding:12px;border:1px solid #b4c5d0;border-radius:8px;background:#fff;color:#122f40;font:inherit;font-size:16px;caret-color:#145f93}
.kd-quote-fields input::placeholder{color:#647782}
.kd-quote-help{font-size:13px;line-height:1.6;color:#49616e;margin:12px 0 20px}
.kd-quote-error{font-size:14px;line-height:1.5;color:#9e2e23;min-height:0;margin:16px 0}
.kd-quote-error:empty{display:none}
.kd-quote-controls{display:flex;gap:12px;justify-content:flex-end;margin-top:26px}
.kd-quote-controls button{min-height:48px;gap:12px}
.kd-quote-controls svg{width:20px;height:20px;flex:none}
.kd-quote-final h3{font-size:24px;line-height:1.2;margin:0 0 18px;letter-spacing:-.02em}
.kd-quote-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 14px;padding:18px 0;border-block:1px solid #dce4e8;font-variant-numeric:tabular-nums}
.kd-quote-summary div{min-width:0}.kd-quote-summary dt{font-size:12px;color:#526974;margin:0 0 4px}.kd-quote-summary dd{font-size:15px;line-height:1.45;margin:0;overflow-wrap:anywhere}
.kd-quote-edit{border:0;background:none;padding:8px 0;color:#145f93;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.kd-quote-dialog .request-form{padding:0;background:none;border:0;box-shadow:none;width:100%;max-width:none}
.kd-quote-dialog .form-context{font-size:13px;line-height:1.55;overflow-wrap:anywhere;margin-bottom:16px}
.kd-quote-dialog .request-form .form-grid{gap:16px}
.kd-quote-dialog .request-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.kd-quote-dialog .request-form select,.kd-quote-dialog .request-form textarea{font-size:16px;max-width:100%}
.kd-quote-dialog .request-form [type=submit]{width:100%;min-height:50px}
.kd-quote-dialog .form-status{margin-bottom:0;overflow-wrap:anywhere}
.kd-quote-dialog [hidden]{display:none!important}
.kd-quote-dialog :focus-visible{outline:3px solid #2377ad;outline-offset:3px}
.kd-quote-dialog [aria-invalid=true]{border-color:#a9362a}
html.kd-quote-lock{overflow:hidden;scrollbar-gutter:stable}
.kd-quote-lock body{position:fixed;top:var(--kd-quote-scroll-y,0);left:0;width:100%;overflow:hidden}
.kd-quote-lock .mobile-actions,.kd-quote-lock .rf-mobile-actions{visibility:hidden}
@media(max-width:600px){.kd-quote-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.kd-quote-shell{max-height:calc(100dvh - 16px)}.kd-quote-header{padding:18px 18px 14px;gap:12px}.kd-quote-header h2{font-size:23px}.kd-quote-scroll{padding:18px}.kd-quote-intro{font-size:14px;margin-bottom:20px}.kd-quote-dialog legend{font-size:19px}.kd-quote-choices,.kd-quote-fields{grid-template-columns:1fr}.kd-quote-choice{min-height:52px;padding:12px;font-size:15px}.kd-quote-controls{position:sticky;bottom:-18px;background:#fff;padding:16px 0 18px;margin-bottom:-18px}.kd-quote-controls .button{flex:1;padding-inline:16px}.kd-quote-final h3{font-size:21px}.kd-quote-dialog .request-form .form-grid{grid-template-columns:1fr}.kd-quote-summary{gap:12px}.kd-quote-summary dd{font-size:14px}.kd-quote-dialog .request-form .wide{grid-column:auto}}
@media(prefers-reduced-motion:no-preference){.kd-quote-dialog[open]{animation:kd-quote-enter .2s cubic-bezier(.16,1,.3,1)}@keyframes kd-quote-enter{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media print{.kd-quote-dialog{display:none!important}}
/* A committed calculation asks only for a contact; the original form remains intact. */
.kd-quote-dialog[data-quote-stage=contact] .kd-quote-progress,.kd-quote-dialog[data-quote-stage=contact] .kd-quote-final>h3,.kd-quote-dialog[data-quote-stage=contact] .kd-quote-final>.kd-quote-help,.kd-quote-dialog .kd-quote-compact .form-context,.kd-quote-compact label:has(>[name=requestCategory]){display:none}
.kd-quote-dialog[data-quote-stage=contact] .kd-quote-intro{margin-bottom:16px}
.kd-quote-dialog[data-quote-stage=contact] .kd-quote-summary{display:flex;flex-direction:column;gap:7px;padding:14px 0;margin-bottom:0}
.kd-quote-summary>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}
.kd-quote-summary dt{margin:0;line-height:1.5}
.kd-quote-dialog .kd-quote-edit{min-height:44px;margin-bottom:12px}
.kd-quote-dialog .kd-quote-compact .form-grid{grid-template-columns:1fr;gap:6px}
.kd-quote-details{min-width:0}
.kd-quote-details>summary{display:list-item;cursor:pointer;color:#145f93;min-height:44px;align-content:center;padding:9px 0;font-size:14px;line-height:1.5;text-underline-offset:4px}
.kd-quote-details>summary:hover{text-decoration:underline}
.kd-quote-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px 0}
.kd-quote-detail-fields label{min-width:0}
.kd-quote-detail-fields>.wide{grid-column:1/-1}
.kd-quote-detail-fields>.lead-attachments{padding-top:16px}
.kd-quote-detail-fields>.lead-attachments>summary{display:none}
.kd-quote-dialog .kd-quote-compact #phone-help{margin:0 0 14px;font-size:13px;color:#49616e}
.kd-quote-dialog .kd-quote-compact .consent{font-size:13px;line-height:1.5;margin-block:14px}
.kd-quote-dialog ::selection{background:#c9e2f7;color:#0b2939}
.kd-quote-dialog :is(input,textarea){caret-color:#145f93}
@media(max-width:600px){.kd-quote-summary>div{grid-template-columns:70px minmax(0,1fr);gap:10px}.kd-quote-detail-fields{grid-template-columns:1fr;gap:14px}.kd-quote-dialog .kd-quote-edit{margin-bottom:8px}.kd-quote-dialog[data-quote-stage=contact] .kd-quote-scroll{padding-top:14px}}
