.fit-form{max-width:900px;margin:38px auto 24px;text-align:left}
.fit-form fieldset{margin:0;border:2px solid var(--ink);padding:clamp(22px,4vw,42px);background:var(--cream);box-shadow:12px 12px 0 var(--ink)}
.fit-form legend{padding:0 10px;font-size:.8rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.form-field-wide{grid-column:1/-1}
.form-grid label{display:block;margin:0 0 8px;font-size:.9rem;font-weight:800}
.form-grid input,.form-grid select{display:block;width:100%;min-height:50px;border:2px solid var(--ink);background:#fff;padding:13px 14px;color:var(--ink);font:inherit;font-size:1rem;border-radius:0}
.form-grid input::placeholder{color:#666}
.form-grid input:user-invalid,.form-grid select:user-invalid{border-color:#a72b12;box-shadow:inset 5px 0 0 #a72b12}
.form-hint{max-width:72ch;margin:22px 0 0;font-size:.85rem;line-height:1.5;color:#41443e}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.form-actions .button{margin:0;border:2px solid var(--ink);cursor:pointer;min-height:50px}
.button.secondary{background:transparent;color:var(--ink)}
.form-status{display:block;min-height:26px;margin-top:14px;font-weight:800;font-size:.9rem}
.next-step{max-width:900px;margin:30px auto;display:grid;grid-template-columns:.35fr 1fr;gap:24px;padding-top:22px;border-top:1px solid rgba(21,23,20,.55);text-align:left}
.next-step strong{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.next-step span{line-height:1.55}
.apply>p{max-width:720px}
.booking-direct{max-width:900px;margin:28px auto 6px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.booking-direct .button{margin:0}
.booking-direct span{font-size:.88rem;font-weight:800}
.button{display:inline-flex;align-items:center;min-height:48px}
:where(a:any-link,button,input,select):focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 7px var(--acid)}
.estimate-consent{display:grid;grid-template-columns:26px 1fr;column-gap:12px;align-items:start;border:2px solid var(--ink);padding:18px;background:#fff}
.estimate-consent[hidden]{display:none}
.estimate-consent input{width:22px;min-height:22px;margin:2px 0 0;accent-color:var(--orange)}
.estimate-consent label{margin:0;font-size:.95rem;line-height:1.4;cursor:pointer}
.estimate-consent span,.estimate-consent small{grid-column:2;float:none;display:block;margin-top:6px;line-height:1.45}
.estimate-consent span{font-size:.88rem;font-weight:800;color:#343730}
.estimate-consent small{font-size:.8rem;color:#555}
@media(max-width:760px){.form-grid,.next-step{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.fit-form fieldset{box-shadow:7px 7px 0 var(--ink)}.form-actions{flex-direction:column}.form-actions .button,.booking-direct .button{width:100%;justify-content:center}}
