/* An element with the hidden attribute must stay hidden even when a later
   rule gives it display:flex or display:grid. */
[hidden]{display:none !important}

*{box-sizing:border-box}body{margin:0;background:#fff;color:#233445;font:17px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}a{color:inherit;text-underline-offset:4px}.quote-header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;gap:16px}.logo{text-decoration:none;font:700 23px Georgia,serif;letter-spacing:.06em;color:#153653}.logo span{display:block;font:600 9px Arial,sans-serif;letter-spacing:.25em;margin-left:29px}.quote-header>a:last-child{font-size:14px}.progress{display:flex;gap:10px;margin:0 12px}.progress span{height:4px;border-radius:4px;background:#e9edef;flex:1}.progress span.current{background:#3288ca}.quote-main{max-width:820px;margin:76px auto 64px;padding:0 24px;min-height:60vh}.back{display:inline-block;color:#647580;text-decoration:none;font-size:14px;margin-bottom:30px}.step-count{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#687784;margin:0 0 12px}h1{font-size:clamp(28px,4vw,39px);line-height:1.2;letter-spacing:-.02em;text-align:center;margin:0 0 18px;font-weight:800}.intro{color:#64717c;text-align:center;margin:0 0 36px}label{display:grid;gap:8px;margin-bottom:22px;font-size:14px;font-weight:600}input,select,textarea{width:100%;padding:14px 16px;border:1px solid #cbd2d7;border-radius:10px;box-shadow:0 2px 3px #0000000c;font:16px/1.4 inherit;font-family:inherit;font-size:16px;color:#233445;background:white;min-height:50px}input:focus,select:focus,textarea:focus{outline:3px solid #d6eafb;border-color:#3388c9}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}fieldset{border:0;padding:0;margin:0 0 22px}legend{font-size:14px;font-weight:600;margin-bottom:10px}.choices{display:grid;gap:12px}.choice{display:flex;gap:14px;align-items:center;border:1px solid #ccd5dc;border-radius:12px;padding:17px 20px;cursor:pointer;margin:0;font-size:17px;font-weight:500}.choice:hover{background:#f5f9fc}.choice:has(input:checked){background:#eaf5ff;border-color:#368bce}.choice input{width:20px;height:20px;min-height:0;margin:0;box-shadow:none;accent-color:#267ac0;flex:none}.help{font-size:14px;color:#6b7882;margin:24px 0}.next{display:inline-block;border:0;border-radius:10px;background:#1d6eb0;color:white;padding:15px 28px;font-size:15px;font-weight:700;letter-spacing:.04em;cursor:pointer;text-decoration:none;margin-top:16px}.next:hover{background:#14568b}.next:disabled{opacity:.6;cursor:wait}footer{text-align:center;font-size:13px;color:#71808b;padding:30px 20px 40px}#summary{border:1px solid #dce3e8;border-radius:16px;padding:24px;overflow-wrap:anywhere}#summary div{padding:12px 0;border-bottom:1px solid #e9eef2}#summary div:last-child{border:0}dt{font-size:12px;text-transform:uppercase;color:#6b7985;letter-spacing:.05em}dd{margin:5px 0 0}#quoteStatus,#fallback{padding:16px;border-radius:10px;background:#eef6fc;line-height:1.6}.trap,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}:focus-visible{outline:3px solid #458bc5;outline-offset:4px}h1:focus{outline:none}#success{text-align:center}#success p{margin-bottom:25px}@media(max-width:600px){.quote-main{margin-top:38px;padding:0 22px}.quote-header{padding:20px}.quote-header>a:last-child{font-size:12px}.logo{font-size:19px}.two{grid-template-columns:1fr;gap:0}h1{font-size:28px}.intro{font-size:15px;margin-bottom:26px}.next{width:100%;text-align:center}.back{margin-bottom:24px}.choice{padding:16px}.service-choices .choice{font-size:15px}}

/* Comfortable phone form controls and safe-area spacing. */
@media(max-width:720px){
 .quote-header{padding:18px 20px;flex-wrap:wrap;gap:10px}
 .quote-header>a:last-child{display:flex;align-items:center;min-height:44px;font-size:14px}
 .quote-main{margin:30px auto 36px;padding-inline:20px;min-height:0}
 .back{min-height:44px;display:inline-flex;align-items:center;margin-bottom:16px}
 h1{font-size:clamp(25px,7vw,32px);line-height:1.2}
 .intro{font-size:16px;line-height:1.6;margin-bottom:26px}
 label,legend{font-size:15px}input,select,textarea{font-size:16px;min-height:52px}
 .two{grid-template-columns:1fr;gap:0}.choice{min-height:56px;padding:15px}
 .next{width:100%;min-height:54px;text-align:center;padding:17px 18px}
 #summary{padding:18px}.help{font-size:14px;line-height:1.6}
 footer{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
}

/* Keep the final form actions and contact links clear of the hosting badge. */
footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
@media(max-width:720px){.quote-main{margin-top:22px;padding-inline:18px}h1{font-size:26px}.intro{font-size:15px;margin-bottom:22px}label{margin-bottom:18px}.help{margin-block:18px}.quote-header{padding:12px 18px}}

.upsell{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;
  background:#EDF4FD;border:1px solid #DCE6F3;border-left:3px solid #1C6FC9;
  border-radius:10px;padding:13px 15px;
}
.upsell p{font-size:15px;line-height:1.45;color:#3C4F6E;flex:1 1 220px;margin:0}
.upsell-add{
  font-weight:700;font-size:13.5px;background:#1C6FC9;color:#fff;border:0;
  border-radius:8px;padding:10px 15px;cursor:pointer;white-space:nowrap;
}
.upsell-add:hover{background:#1257A3}
