/* ═══════════ Quote form (CTA bands) — markup: src/quote-form.js ═══════════ */
.ctabox__in--form{align-items:flex-start}
.ctabox__lead{flex:1 1 320px;min-width:0;max-width:520px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.ctabox__lead .ctanote{margin-top:-6px}
.ctabox__sub{margin:0;color:#DCE4EF;font-size:17px;line-height:27px;max-width:40ch}

.qform{
  position:relative;flex:1 1 440px;min-width:0;max-width:600px;background:#fff;border-radius:14px;
  padding:28px;box-shadow:0 18px 50px rgba(0,0,0,.28);color:var(--dark)
}
.qform__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.qform__f{display:flex;flex-direction:column;gap:6px;min-width:0}
.qform__f--full{grid-column:1/-1}
.qform label{font-family:var(--f-head);font-size:13px;line-height:16px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--dark)}
.qform label span{font-weight:500;text-transform:none;letter-spacing:0;color:var(--body)}

.qform input[type=text],.qform input[type=tel],.qform input[type=email],.qform select,.qform textarea{
  width:100%;min-width:0;max-width:100%;font:inherit;font-size:16px;line-height:22px;color:var(--dark);   /* 16px stops iOS zooming on focus */
  background:var(--cream);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;
  transition:border-color .15s,background .15s
}
.qform textarea{resize:vertical;min-height:84px}
.qform select{
  appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2301377B' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center
}
.qform select:invalid{color:#8A94A6}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:none;border-color:var(--navy);background:#fff}
.qform .is-bad{border-color:var(--red)!important;background:#FFF5F5}
.qform__help{margin:0;font-size:13px;line-height:18px;color:var(--body)}
.qform__err{margin:0;font-size:13px;line-height:18px;color:var(--red);min-height:0}
.qform__err:empty{display:none}

.qform__drop{
  display:flex;flex-direction:column;gap:4px;cursor:pointer;text-transform:none!important;letter-spacing:0!important;
  border:1.5px dashed #B9C6D8;border-radius:10px;padding:14px 16px;background:var(--cream);transition:border-color .15s
}
.qform__drop:hover,.qform__drop:focus-within{border-color:var(--navy)}
.qform__drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.qform__drop-t{font-family:var(--f-head);font-size:15px;font-weight:600;color:var(--navy)}
.qform__drop-t span{font-weight:500;color:var(--body)}
.qform__drop-s{font-family:var(--f-body);font-size:14px;font-weight:400;line-height:20px;color:var(--body)}
.qform__files{margin:0;font-size:14px;line-height:20px;color:var(--dark)}
.qform__files:empty{display:none}

/* honeypot — off-screen for people, still in the DOM for bots */
.qform__hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

.qform__btn{margin-top:20px;width:100%;justify-content:center;border:0;cursor:pointer}
.qform__btn[disabled]{opacity:.65;cursor:progress}
.qform__status{margin:12px 0 0;font-size:15px;line-height:22px;color:var(--red)}
.qform__status:empty{display:none}
.qform__fine{margin:12px 0 0;font-size:13px;line-height:19px;color:var(--body)}
.qform__fine a{color:var(--navy);text-decoration:underline}

.qform__done{text-align:left;padding:8px 4px}
.qform__done h3{font-size:28px;line-height:36px;color:var(--dark);margin:0 0 10px}
.qform__done p{margin:0 0 10px;font-size:17px;line-height:27px;color:var(--body)}
.qform__done a{color:var(--navy);font-weight:600}
.qform__tick{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:26px;margin-bottom:16px}

@media (max-width:720px){.qform{padding:20px}}
@media (max-width:560px){.qform__grid{grid-template-columns:minmax(0,1fr)}.ctabox__lead .btn{white-space:normal}.ctabox__in--form{padding:32px 14px}.qform{padding:18px 16px}}
